[Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue

Jiaming Zhang posted 1 patch 2 weeks, 5 days ago
[Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Jiaming Zhang 2 weeks, 5 days ago
Dear Linux kernel developers and maintainers,

We are writing to report a general protection fault discovered in the
xfs subsystem with our generated syzkaller specifications. This issue
is reproducible on the latest version of linux (v6.19-rc6, commit
24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
kernel is listed below (formatted by syz-symbolize):

---

loop0: detected capacity change from 0 to 32768
XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
XFS (loop0): Ending clean mount
XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
309, on filesystem "loop0"
Oops: general protection fault, probably for non-canonical address
0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
PKRU: 55555554
Call Trace:
 <TASK>
 xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
 xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
 xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
 xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
 xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x45a879
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
PKRU: 55555554
----------------
Code disassembly (best guess):
   0: f2 00 66 43          repnz add %ah,0x43(%rsi)
   4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
   b: c6
   c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
  12: 44 39 fe              cmp    %r15d,%esi
  15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
  1a: 48 83 c3 48          add    $0x48,%rbx
  1e: 48 89 d8              mov    %rbx,%rax
  21: 48 c1 e8 03          shr    $0x3,%rax
  25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
* 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
  2f: 84 c0                test   %al,%al
  31: 0f 85 d6 11 00 00    jne    0x120d
  37: 44 0f b6 33          movzbl (%rbx),%r14d
  3b: 41 ff ce              dec    %r14d
  3e: bf                    .byte 0xbf
  3f: 53                    push   %rbx

---

The root cause of this issue is that in xchk_btree(), where the
argument cur can be NULL but the function assume cur is not NULL,
leading to a NULL pointer dereference when accessing member
(https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).

We can add a NULL check at the beginning of xchk_btree() to fix this issue:
```
--- a/fs/xfs/scrub/btree.c
+++ b/fs/xfs/scrub/btree.c
@@ -693,6 +693,9 @@ xchk_btree(
  int level;
  int error = 0;

+ if (!cur)
+ return -EINVAL;
+
  /*
  * Allocate the btree scrub context from the heap, because this
  * structure can get rather large.  Don't let a caller feed us a
```

After applying changes above and re-running reproducer, another issues
is triggered:

---
TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner

XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
XFS (loop6): Ending clean mount
==================================================================
BUG: KASAN: slab-use-after-free in
xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096

CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
#30 PREEMPT(full)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0x17e/0x810 mm/kasan/report.c:482
 kasan_report+0x147/0x180 mm/kasan/report.c:595
 xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
 xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
 xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
 xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
 xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
 xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
 xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f71bddb459d
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
 </TASK>

Allocated by task 14096:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 unpoison_slab_object mm/kasan/common.c:340 [inline]
 __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
 kasan_slab_alloc include/linux/kasan.h:253 [inline]
 slab_post_alloc_hook mm/slub.c:4953 [inline]
 slab_alloc_node mm/slub.c:5263 [inline]
 kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
 xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
 xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
 xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
 xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
 xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
 xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
 xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
 xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
 xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Freed by task 14096:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
 poison_slab_object mm/kasan/common.c:253 [inline]
 __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
 kasan_slab_free include/linux/kasan.h:235 [inline]
 slab_free_hook mm/slub.c:2540 [inline]
 slab_free mm/slub.c:6670 [inline]
 kmem_cache_free+0x197/0x620 mm/slub.c:6781
 xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
 xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
 xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
 xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
 xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
 xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
 xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
 xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
 xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

The buggy address belongs to the object at ffff88806af035c8
 which belongs to the cache xfs_bnobt_cur of size 232
The buggy address is located 16 bytes inside of
 freed 232-byte region [ffff88806af035c8, ffff88806af036b0)

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask
0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
 prep_new_page mm/page_alloc.c:1892 [inline]
 get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
 __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
 alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
 alloc_slab_page mm/slub.c:3075 [inline]
 allocate_slab+0x86/0x3b0 mm/slub.c:3248
 new_slab mm/slub.c:3302 [inline]
 ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
 __slab_alloc+0x65/0x100 mm/slub.c:4779
 __slab_alloc_node mm/slub.c:4855 [inline]
 slab_alloc_node mm/slub.c:5251 [inline]
 kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
 xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
 xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
 xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
 __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
 xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
 xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
 xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
 xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
 xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
page last free pid 785 tgid 785 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 free_pages_prepare mm/page_alloc.c:1433 [inline]
 __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
 vfree+0x25a/0x400 mm/vmalloc.c:3466
 delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
 process_one_work kernel/workqueue.c:3257 [inline]
 process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
 kthread+0x711/0x8a0 kernel/kthread.c:463
 ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246

Memory state around the buggy address:
 ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
 ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
                                                    ^
 ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
==================================================================
---

I also analyzed the root cause of this issue. In
xchk_btree_check_block_owner(), bs->cur is an alias for
bs->sc->sa.bnocur (or rmap_cur,
https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
The issue occurs when error injection triggers a failure path:

1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
non-zero error due to error injection
3. Non-zero error causes xchk_should_check_xref() to free curpp (which
points to bs->sc->sa.bnocur).
4. Memory pointed to by bs->cur is freed.

Control returns to xchk_btree_check_block_owner(), which subsequently
accesses bs->cur->bc_ops, triggering the UAF.

P.S. this issue can also be triggered independently by syzkaller using
our generated specs.

To fix this issue, we can cache values of
xfs_btree_is_bno(bs->cur->bc_ops) and
xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
```
--- a/fs/xfs/scrub/btree.c
+++ b/fs/xfs/scrub/btree.c
@@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
  xfs_agnumber_t agno;
  xfs_agblock_t agbno;
  bool init_sa;
+ bool is_bno;
+ bool is_rmap;
  int error = 0;

  if (!bs->cur)
@@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
  agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
  agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);

+ is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
+ is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
+
  /*
  * If the btree being examined is not itself a per-AG btree, initialize
  * sc->sa so that we can check for the presence of an ownership record
@@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
  * have to nullify it (to shut down further block owner checks) if
  * self-xref encounters problems.
  */
- if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
+ if (!bs->sc->sa.bno_cur && is_bno)
  bs->cur = NULL;

  xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
- if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
+ if (!bs->sc->sa.rmap_cur && is_rmap)
  bs->cur = NULL;

 out_free:
```

After applying above changes, reproducer ran for ~35 minutes without
triggering any issues.

If above solutions are acceptable, we are happy to submit patches :)

The kernel console output, kernel config, syzkaller reproducer, and C
reproducer are also attached to help with analysis.

Please let me know if any further information is required.

Best Regards,
Jiaming Zhang
// autogenerated by syzkaller (https://github.com/google/syzkaller)

#define _GNU_SOURCE

#include <arpa/inet.h>
#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <net/if.h>
#include <netinet/in.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>

#include <linux/genetlink.h>
#include <linux/if_addr.h>
#include <linux/if_link.h>
#include <linux/in6.h>
#include <linux/loop.h>
#include <linux/neighbour.h>
#include <linux/net.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/veth.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

static __thread int clone_ongoing;
static __thread int skip_segv;
static __thread jmp_buf segv_env;

static void segv_handler(int sig, siginfo_t* info, void* ctx)
{
  if (__atomic_load_n(&clone_ongoing, __ATOMIC_RELAXED) != 0) {
    exit(sig);
  }
  uintptr_t addr = (uintptr_t)info->si_addr;
  const uintptr_t prog_start = 1 << 20;
  const uintptr_t prog_end = 100 << 20;
  int skip = __atomic_load_n(&skip_segv, __ATOMIC_RELAXED) != 0;
  int valid = addr < prog_start || addr > prog_end;
  if (skip && valid) {
    _longjmp(segv_env, 1);
  }
  exit(sig);
}

static void install_segv_handler(void)
{
  struct sigaction sa;
  memset(&sa, 0, sizeof(sa));
  sa.sa_handler = SIG_IGN;
  syscall(SYS_rt_sigaction, 0x20, &sa, NULL, 8);
  syscall(SYS_rt_sigaction, 0x21, &sa, NULL, 8);
  memset(&sa, 0, sizeof(sa));
  sa.sa_sigaction = segv_handler;
  sa.sa_flags = SA_NODEFER | SA_SIGINFO;
  sigaction(SIGSEGV, &sa, NULL);
  sigaction(SIGBUS, &sa, NULL);
}

#define NONFAILING(...)                                                        \
  ({                                                                           \
    int ok = 1;                                                                \
    __atomic_fetch_add(&skip_segv, 1, __ATOMIC_SEQ_CST);                       \
    if (_setjmp(segv_env) == 0) {                                              \
      __VA_ARGS__;                                                             \
    } else                                                                     \
      ok = 0;                                                                  \
    __atomic_fetch_sub(&skip_segv, 1, __ATOMIC_SEQ_CST);                       \
    ok;                                                                        \
  })

static void sleep_ms(uint64_t ms)
{
  usleep(ms * 1000);
}

static uint64_t current_time_ms(void)
{
  struct timespec ts;
  if (clock_gettime(CLOCK_MONOTONIC, &ts))
    exit(1);
  return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}

static void use_temporary_dir(void)
{
  char tmpdir_template[] = "./syzkaller.XXXXXX";
  char* tmpdir = mkdtemp(tmpdir_template);
  if (!tmpdir)
    exit(1);
  if (chmod(tmpdir, 0777))
    exit(1);
  if (chdir(tmpdir))
    exit(1);
}

static bool write_file(const char* file, const char* what, ...)
{
  char buf[1024];
  va_list args;
  va_start(args, what);
  vsnprintf(buf, sizeof(buf), what, args);
  va_end(args);
  buf[sizeof(buf) - 1] = 0;
  int len = strlen(buf);
  int fd = open(file, O_WRONLY | O_CLOEXEC);
  if (fd == -1)
    return false;
  if (write(fd, buf, len) != len) {
    int err = errno;
    close(fd);
    errno = err;
    return false;
  }
  close(fd);
  return true;
}

struct nlmsg {
  char* pos;
  int nesting;
  struct nlattr* nested[8];
  char buf[4096];
};

static void netlink_init(struct nlmsg* nlmsg, int typ, int flags,
                         const void* data, int size)
{
  memset(nlmsg, 0, sizeof(*nlmsg));
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_type = typ;
  hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags;
  memcpy(hdr + 1, data, size);
  nlmsg->pos = (char*)(hdr + 1) + NLMSG_ALIGN(size);
}

static void netlink_attr(struct nlmsg* nlmsg, int typ, const void* data,
                         int size)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_len = sizeof(*attr) + size;
  attr->nla_type = typ;
  if (size > 0)
    memcpy(attr + 1, data, size);
  nlmsg->pos += NLMSG_ALIGN(attr->nla_len);
}

static void netlink_nest(struct nlmsg* nlmsg, int typ)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_type = typ;
  nlmsg->pos += sizeof(*attr);
  nlmsg->nested[nlmsg->nesting++] = attr;
}

static void netlink_done(struct nlmsg* nlmsg)
{
  struct nlattr* attr = nlmsg->nested[--nlmsg->nesting];
  attr->nla_len = nlmsg->pos - (char*)attr;
}

static int netlink_send_ext(struct nlmsg* nlmsg, int sock, uint16_t reply_type,
                            int* reply_len, bool dofail)
{
  if (nlmsg->pos > nlmsg->buf + sizeof(nlmsg->buf) || nlmsg->nesting)
    exit(1);
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_len = nlmsg->pos - nlmsg->buf;
  struct sockaddr_nl addr;
  memset(&addr, 0, sizeof(addr));
  addr.nl_family = AF_NETLINK;
  ssize_t n = sendto(sock, nlmsg->buf, hdr->nlmsg_len, 0,
                     (struct sockaddr*)&addr, sizeof(addr));
  if (n != (ssize_t)hdr->nlmsg_len) {
    if (dofail)
      exit(1);
    return -1;
  }
  n = recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  if (reply_len)
    *reply_len = 0;
  if (n < 0) {
    if (dofail)
      exit(1);
    return -1;
  }
  if (n < (ssize_t)sizeof(struct nlmsghdr)) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type == NLMSG_DONE)
    return 0;
  if (reply_len && hdr->nlmsg_type == reply_type) {
    *reply_len = n;
    return 0;
  }
  if (n < (ssize_t)(sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr))) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type != NLMSG_ERROR) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  errno = -((struct nlmsgerr*)(hdr + 1))->error;
  return -errno;
}

static int netlink_send(struct nlmsg* nlmsg, int sock)
{
  return netlink_send_ext(nlmsg, sock, 0, NULL, true);
}

static int netlink_query_family_id(struct nlmsg* nlmsg, int sock,
                                   const char* family_name, bool dofail)
{
  struct genlmsghdr genlhdr;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = CTRL_CMD_GETFAMILY;
  netlink_init(nlmsg, GENL_ID_CTRL, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(nlmsg, CTRL_ATTR_FAMILY_NAME, family_name,
               strnlen(family_name, GENL_NAMSIZ - 1) + 1);
  int n = 0;
  int err = netlink_send_ext(nlmsg, sock, GENL_ID_CTRL, &n, dofail);
  if (err < 0) {
    return -1;
  }
  uint16_t id = 0;
  struct nlattr* attr = (struct nlattr*)(nlmsg->buf + NLMSG_HDRLEN +
                                         NLMSG_ALIGN(sizeof(genlhdr)));
  for (; (char*)attr < nlmsg->buf + n;
       attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
    if (attr->nla_type == CTRL_ATTR_FAMILY_ID) {
      id = *(uint16_t*)(attr + 1);
      break;
    }
  }
  if (!id) {
    errno = EINVAL;
    return -1;
  }
  recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  return id;
}

static unsigned int queue_count = 2;

static void netlink_add_device_impl(struct nlmsg* nlmsg, const char* type,
                                    const char* name, bool up)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  netlink_init(nlmsg, RTM_NEWLINK, NLM_F_EXCL | NLM_F_CREATE, &hdr,
               sizeof(hdr));
  if (name)
    netlink_attr(nlmsg, IFLA_IFNAME, name, strlen(name));
  netlink_attr(nlmsg, IFLA_NUM_TX_QUEUES, &queue_count, sizeof(queue_count));
  netlink_attr(nlmsg, IFLA_NUM_RX_QUEUES, &queue_count, sizeof(queue_count));
  netlink_nest(nlmsg, IFLA_LINKINFO);
  netlink_attr(nlmsg, IFLA_INFO_KIND, type, strlen(type));
}

static void netlink_device_change(struct nlmsg* nlmsg, int sock,
                                  const char* name, bool up, const char* master,
                                  const void* mac, int macsize,
                                  const char* new_name)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  hdr.ifi_index = if_nametoindex(name);
  netlink_init(nlmsg, RTM_NEWLINK, 0, &hdr, sizeof(hdr));
  if (new_name)
    netlink_attr(nlmsg, IFLA_IFNAME, new_name, strlen(new_name));
  if (master) {
    int ifindex = if_nametoindex(master);
    netlink_attr(nlmsg, IFLA_MASTER, &ifindex, sizeof(ifindex));
  }
  if (macsize)
    netlink_attr(nlmsg, IFLA_ADDRESS, mac, macsize);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static struct nlmsg nlmsg;

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  } else if (strncmp(fs, "gfs2", 4) == 0 &&
             (strstr(opts, "errors=panic") || strstr(opts, "debug"))) {
    strcat(opts, ",errors=withdraw");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

#define FS_IOC_SETFLAGS _IOW('f', 2, long)
static void remove_dir(const char* dir)
{
  int iter = 0;
  DIR* dp = 0;
  const int umount_flags = MNT_FORCE | UMOUNT_NOFOLLOW;

retry:
  while (umount2(dir, umount_flags) == 0) {
  }
  dp = opendir(dir);
  if (dp == NULL) {
    if (errno == EMFILE) {
      exit(1);
    }
    exit(1);
  }
  struct dirent* ep = 0;
  while ((ep = readdir(dp))) {
    if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0)
      continue;
    char filename[FILENAME_MAX];
    snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name);
    while (umount2(filename, umount_flags) == 0) {
    }
    struct stat st;
    if (lstat(filename, &st))
      exit(1);
    if (S_ISDIR(st.st_mode)) {
      remove_dir(filename);
      continue;
    }
    int i;
    for (i = 0;; i++) {
      if (unlink(filename) == 0)
        break;
      if (errno == EPERM) {
        int fd = open(filename, O_RDONLY);
        if (fd != -1) {
          long flags = 0;
          if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
          }
          close(fd);
          continue;
        }
      }
      if (errno == EROFS) {
        break;
      }
      if (errno != EBUSY || i > 100)
        exit(1);
      if (umount2(filename, umount_flags))
        exit(1);
    }
  }
  closedir(dp);
  for (int i = 0;; i++) {
    if (rmdir(dir) == 0)
      break;
    if (i < 100) {
      if (errno == EPERM) {
        int fd = open(dir, O_RDONLY);
        if (fd != -1) {
          long flags = 0;
          if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
          }
          close(fd);
          continue;
        }
      }
      if (errno == EROFS) {
        break;
      }
      if (errno == EBUSY) {
        if (umount2(dir, umount_flags))
          exit(1);
        continue;
      }
      if (errno == ENOTEMPTY) {
        if (iter < 100) {
          iter++;
          goto retry;
        }
      }
    }
    exit(1);
  }
}

static void kill_and_wait(int pid, int* status)
{
  kill(-pid, SIGKILL);
  kill(pid, SIGKILL);
  for (int i = 0; i < 100; i++) {
    if (waitpid(-1, status, WNOHANG | __WALL) == pid)
      return;
    usleep(1000);
  }
  DIR* dir = opendir("/sys/fs/fuse/connections");
  if (dir) {
    for (;;) {
      struct dirent* ent = readdir(dir);
      if (!ent)
        break;
      if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
        continue;
      char abort[300];
      snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort",
               ent->d_name);
      int fd = open(abort, O_WRONLY);
      if (fd == -1) {
        continue;
      }
      if (write(fd, abort, 1) < 0) {
      }
      close(fd);
    }
    closedir(dir);
  } else {
  }
  while (waitpid(-1, status, __WALL) != pid) {
  }
}

static void reset_loop()
{
  char buf[64];
  snprintf(buf, sizeof(buf), "/dev/loop%llu", procid);
  int loopfd = open(buf, O_RDWR);
  if (loopfd != -1) {
    ioctl(loopfd, LOOP_CLR_FD, 0);
    close(loopfd);
  }
}

static void setup_test()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setpgrp();
  write_file("/proc/self/oom_score_adj", "1000");
  if (symlink("/dev/binderfs", "./binderfs")) {
  }
}

static void setup_sysctl()
{
  int cad_pid = fork();
  if (cad_pid < 0)
    exit(1);
  if (cad_pid == 0) {
    for (;;)
      sleep(100);
  }
  char tmppid[32];
  snprintf(tmppid, sizeof(tmppid), "%d", cad_pid);
  struct {
    const char* name;
    const char* data;
  } files[] = {
      {"/sys/kernel/debug/x86/nmi_longest_ns", "10000000000"},
      {"/proc/sys/kernel/hung_task_check_interval_secs", "20"},
      {"/proc/sys/net/core/bpf_jit_kallsyms", "1"},
      {"/proc/sys/net/core/bpf_jit_harden", "0"},
      {"/proc/sys/kernel/kptr_restrict", "0"},
      {"/proc/sys/kernel/softlockup_all_cpu_backtrace", "1"},
      {"/proc/sys/fs/mount-max", "100"},
      {"/proc/sys/vm/oom_dump_tasks", "0"},
      {"/proc/sys/debug/exception-trace", "0"},
      {"/proc/sys/kernel/printk", "7 4 1 3"},
      {"/proc/sys/kernel/keys/gc_delay", "1"},
      {"/proc/sys/vm/oom_kill_allocating_task", "1"},
      {"/proc/sys/kernel/ctrl-alt-del", "0"},
      {"/proc/sys/kernel/cad_pid", tmppid},
  };
  for (size_t i = 0; i < sizeof(files) / sizeof(files[0]); i++) {
    if (!write_file(files[i].name, files[i].data)) {
    }
  }
  kill(cad_pid, SIGKILL);
  while (waitpid(cad_pid, NULL, 0) != cad_pid)
    ;
}

#define NL802154_CMD_SET_SHORT_ADDR 11
#define NL802154_ATTR_IFINDEX 3
#define NL802154_ATTR_SHORT_ADDR 10

static const char* setup_802154()
{
  const char* error = NULL;
  int sock_generic = -1;
  int sock_route = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock_route == -1) {
    error = "socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE) failed";
    goto fail;
  }
  sock_generic = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock_generic == -1) {
    error = "socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC) failed";
    goto fail;
  }
  {
    int nl802154_family_id =
        netlink_query_family_id(&nlmsg, sock_generic, "nl802154", true);
    if (nl802154_family_id < 0) {
      error = "netlink_query_family_id failed";
      goto fail;
    }
    for (int i = 0; i < 2; i++) {
      char devname[] = "wpan0";
      devname[strlen(devname) - 1] += i;
      uint64_t hwaddr = 0xaaaaaaaaaaaa0002 + (i << 8);
      uint16_t shortaddr = 0xaaa0 + i;
      int ifindex = if_nametoindex(devname);
      struct genlmsghdr genlhdr;
      memset(&genlhdr, 0, sizeof(genlhdr));
      genlhdr.cmd = NL802154_CMD_SET_SHORT_ADDR;
      netlink_init(&nlmsg, nl802154_family_id, 0, &genlhdr, sizeof(genlhdr));
      netlink_attr(&nlmsg, NL802154_ATTR_IFINDEX, &ifindex, sizeof(ifindex));
      netlink_attr(&nlmsg, NL802154_ATTR_SHORT_ADDR, &shortaddr,
                   sizeof(shortaddr));
      if (netlink_send(&nlmsg, sock_generic) < 0) {
        error = "NL802154_CMD_SET_SHORT_ADDR failed";
        goto fail;
      }
      netlink_device_change(&nlmsg, sock_route, devname, true, 0, &hwaddr,
                            sizeof(hwaddr), 0);
      if (i == 0) {
        netlink_add_device_impl(&nlmsg, "lowpan", "lowpan0", false);
        netlink_done(&nlmsg);
        netlink_attr(&nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
        if (netlink_send(&nlmsg, sock_route) < 0) {
          error = "netlink: adding device lowpan0 type lowpan link wpan0";
          goto fail;
        }
      }
    }
  }
fail:
  close(sock_route);
  close(sock_generic);
  return error;
}

static void execute_one(void);

#define WAIT_FLAGS __WALL

static void loop(void)
{
  int iter = 0;
  for (;; iter++) {
    char cwdbuf[32];
    sprintf(cwdbuf, "./%d", iter);
    if (mkdir(cwdbuf, 0777))
      exit(1);
    reset_loop();
    int pid = fork();
    if (pid < 0)
      exit(1);
    if (pid == 0) {
      if (chdir(cwdbuf))
        exit(1);
      setup_test();
      execute_one();
      exit(0);
    }
    int status = 0;
    uint64_t start = current_time_ms();
    for (;;) {
      sleep_ms(10);
      if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
        break;
      if (current_time_ms() - start < 5000)
        continue;
      kill_and_wait(pid, &status);
      break;
    }
    remove_dir(cwdbuf);
  }
}

uint64_t r[2] = {0xffffffffffffffff, 0xffffffffffffffff};

void execute_one(void)
{
  intptr_t res = 0;
  if (write(1, "executing program\n", sizeof("executing program\n") - 1)) {
  }
  //  syz_mount_image$xfs arguments: [
  //    fs: ptr[in, buffer] {
  //      buffer: {78 66 73 00} (length 0x4)
  //    }
  //    dir: ptr[in, buffer] {
  //      buffer: {2e 2f 66 69 6c 65 30 00} (length 0x8)
  //    }
  //    flags: mount_flags = 0x0 (8 bytes)
  //    opts: ptr[in, fs_options[xfs_options]] {
  //      fs_options[xfs_options] {
  //        elems: array[fs_opt_elem[xfs_options]] {
  //        }
  //        common: array[fs_opt_elem[fs_options_common]] {
  //        }
  //        null: const = 0x0 (1 bytes)
  //      }
  //    }
  //    chdir: int8 = 0x1 (1 bytes)
  //    size: len = 0x965c (8 bytes)
  //    img: ptr[in, buffer] {
  //      buffer: (compressed buffer with length 0x965c)
  //    }
  //  ]
  //  returns fd_dir
  NONFAILING(memcpy((void*)0x200000009680, "xfs\000", 4));
  NONFAILING(memcpy((void*)0x2000000096c0, "./file0\000", 8));
  NONFAILING(*(uint8_t*)0x200000009700 = 0);
  NONFAILING(memcpy(
      (void*)0x200000009740,
      "\x78\x9c\xec\xfd\x07\xb8\x1d\x75\xa1\x78\x7f\x9f\x90\x42\x0f\x5d\x01\x89"
      "\x20\x45\x7a\xef\x45\xa5\xf7\xde\xbb\xf4\x26\x4d\x40\xa5\x57\x51\x04\x94"
      "\x66\xc1\x42\x55\xa4\xa9\x20\x02\x0a\x22\x22\xa8\x08\x82\x14\xb1\xa2\x82"
      "\x08\x4a\xef\xbd\xbe\x4f\x48\x22\x31\x2e\xb8\x7a\xff\xf7\xf7\x72\xbd\x6b"
      "\xad\xe7\x39\xd9\x67\xcf\x9e\x99\xfd\x3d\xdf\xcf\xec\x99\x93\xe8\xc3\x6c"
      "\xba\xf2\x06\xcb\x0f\x0c\x4c\x30\x30\xaa\x99\x06\xc6\xed\x8c\x93\x8e\x9a"
      "\x6b\xe9\x03\x56\xba\xee\xb4\x3d\x1e\x99\xf8\xfa\x45\x0f\xbb\x77\xf4\xe2"
      "\xc9\x47\x3d\x8c\x18\xfd\x74\xc4\xa0\xd1\x8f\xe3\x0d\x0c\x0c\x8c\x37\x7a"
      "\x3f\xa3\x97\x0d\xdf\xfb\xd2\xcb\xc6\x1b\x18\xf2\xfa\xf2\x37\x9a\x78\xc2"
      "\x89\x06\x4d\x3a\x30\xb0\xd0\xe8\xa7\xcb\x8e\x7e\x5c\x7c\xd4\xc3\x14\xdb"
      "\x8e\x59\xef\xb5\x71\x1a\x77\xa0\xa3\xde\xe4\xf0\x91\xdf\x1d\x3b\xea\xeb"
      "\xf5\x26\x1b\xf9\x16\x23\xbf\xd9\x76\xb7\x6b\x46\x2e\x9b\x7c\xac\xed\x47"
      "\x6e\x72\xcd\x3f\xfd\xa0\xd2\x36\x5d\x6e\x95\x95\xdf\xb0\xfa\xbb\xdb\x48"
      "\xab\xa1\xa3\xbf\x1f\xfb\x6b\xd8\xa8\xaf\x29\xb6\x18\x18\x98\x62\xd3\x01"
      "\x3e\x3e\xc6\x5e\x77\xd0\xdb\xf0\x23\x8d\x7c\xcf\x65\xf7\x3f\xfd\x9a\xab"
      "\xde\x86\xf7\xfe\x8f\x6b\xd3\xe5\x56\x59\x6d\x1c\xff\x91\x9f\xc5\xc1\xa3"
      "\x97\x2d\x3e\xf2\x33\x3e\xee\x67\xd0\xd8\xb8\xc7\xf9\x73\x27\x5f\x75\xd2"
      "\xe8\x29\x1c\x34\x7a\xce\x86\x8c\xf3\x59\xf9\x8f\x68\xd3\xe5\x56\x5e\x73"
      "\xe0\xcd\xcf\xf3\x03\x93\x1e\xbf\xf5\xe0\xd7\x46\x9d\x37\xc7\x1f\x18\x75"
      "\xa1\x98\x70\x60\x60\x60\xa2\xd1\xe7\xd7\x49\xde\x6e\x97\xfa\xff\xd6\x72"
      "\xcb\x2f\xbc\xfc\xc8\xf3\xfd\x98\xe7\xa3\xd9\xc7\x1c\xcb\xcb\xd2\x71\x31"
      "\xdb\x2a\x37\x1d\x31\xf2\xd0\x18\x75\x9e\x18\x7e\xde\x98\x6b\x41\x55\x55"
      "\x55\xfd\x67\xb4\xdc\xf2\x0b\xaf\x00\xd7\xff\x09\xde\xea\xfa\xbf\xe4\xf9"
      "\x07\x5c\xdf\xf5\xbf\xaa\xaa\xea\x3f\xb7\xd5\x96\x5b\x7e\xe1\x91\xd7\xfa"
      "\x71\xae\xff\x93\xbc\xd5\xf5\xff\x80\xdb\xd7\xd8\x7a\xd4\xbf\xfd\x2f\xbb"
      "\xf8\xa8\xad\x5e\x7d\x7b\x7f\x88\xaa\xaa\xaa\xfa\xb7\x5a\x79\x35\xbc\xfe"
      "\x4f\xfe\x56\xd7\xff\x65\x8e\x5b\xeb\xc4\xae\xff\x55\x55\x55\xff\xb9\xad"
      "\xbf\xd6\xeb\xd7\xff\x49\xc6\xb9\xfe\x4f\xfd\x56\xd7\xff\x59\x1e\xda\xf3"
      "\xb2\xd1\xeb\x8d\xf9\xbd\xe1\x95\xb1\x76\x39\x68\xac\xff\x3d\xe1\xa5\xb1"
      "\x96\x0f\x1e\x6b\xf9\x8b\x63\x2d\x1f\x3a\xd6\x7e\xc6\x5e\x7f\xd8\x58\xcb"
      "\x9f\x1f\x6b\xf9\xf8\x23\x5f\x83\xf5\x27\x1f\x18\x18\xbe\xf7\xe8\xe5\x2f"
      "\xbf\xb1\x78\xf8\xe1\x03\x03\x03\x33\x8d\x5e\xfe\xc2\x58\xcb\xcf\x7c\xe3"
      "\xff\xa7\x33\x62\xc8\x58\xcb\xcf\x1a\x6b\xf9\xb0\xb1\x96\x9f\x3d\x7a\xac"
      "\x23\x97\x8f\x3f\xd6\xf2\x73\xc7\x5a\x7f\x82\xb7\x98\xea\xaa\xaa\xaa\xff"
      "\x35\xad\xbf\xf0\xca\x2b\x0c\x8c\xf5\xff\xb3\x1f\xbd\x78\xda\x31\xaf\xd3"
      "\xf5\xff\xe0\x2b\x6e\x9e\xfe\xed\x1a\x6f\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\xd5\x7f\x62\xaf\x3e\x72"
      "\xe5\xd5\x6f\xdc\xf3\xfd\xd0\x81\xb1\xee\x5d\xfd\xf7\x7b\x58\x8f\xfe\xef"
      "\x02\x0e\xba\xf8\x9a\x5b\x6f\x7d\xdb\x06\xfa\xbf\xa3\x41\xff\xfc\xdf\x43"
      "\x3c\xfc\xed\x1e\xd3\xff\xd7\x46\x3a\x4f\x70\xc1\x4c\x03\x03\x7b\x6e\xf4"
      "\x76\x0f\xa5\xde\x86\xfe\x63\xee\x55\x5f\xff\x4f\xca\xdf\x5d\xfe\xee\xf2"
      "\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee"
      "\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe"
      "\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d"
      "\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf"
      "\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb"
      "\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb"
      "\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9"
      "\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xc5\xbd\xc9\xfd\xff\x97"
      "\x1d\xf3\xb8\xd5\xdd\xbb\x6e\x35\x7a\xd5\x25\x97\xbf\x76\xe8\x3d\x6f\x6c"
      "\x39\x62\x60\xd7\xd1\xdf\x9d\x71\xd2\x51\x73\xed\xfa\x36\x8c\xfd\x6d\xe8"
      "\xff\xea\xfd\xff\x07\x76\x1d\x34\x30\x30\xda\x77\xf2\x91\x96\x6b\x2f\xb7"
      "\xfe\x86\x73\x0c\x0c\x0c\xdc\x33\xf4\xda\xe5\x17\x1b\xf8\xfb\x6b\x4b\x8c"
      "\x7c\x6d\xe9\x29\x07\x0f\x0c\x7e\x7d\xd3\x39\x5e\xff\x73\xe8\x88\x37\xd9"
      "\xf3\x52\xa3\x1e\x46\x1e\x4c\x03\x53\xff\x7d\x1f\x17\xbf\xbe\xff\xd5\x5e"
      "\x3b\x6b\xf0\xa0\x71\x06\x31\x56\x53\x5c\x7e\xce\x39\xbb\x6c\xfa\xdc\x22"
      "\xe3\x3e\xce\xfe\xe6\x3f\xc7\x78\x63\xbe\x79\xf1\xce\x83\x1e\x79\xed\xb5"
      "\xd7\x5e\xfb\x87\x85\xa3\x9b\xe0\x4d\x36\x1e\xb3\xff\x31\x3f\xcb\xb8\xce"
      "\xa3\xc7\x3e\xc7\xc8\xb1\xcf\xbf\xdf\x1e\x7b\xcf\xbf\xef\x01\x07\xce\xbb"
      "\xeb\x1e\xdb\xee\xbc\xe3\xce\x3b\xee\xb9\xd0\x22\x8b\x2d\xbe\xd8\x42\x4b"
      "\x2c\xb9\xf0\xa2\xf3\xef\xb4\xeb\xee\x3b\x2e\x30\xea\xcf\x37\x99\xb3\x99"
      "\x5e\xff\x73\xf0\xbf\x32\x67\x93\x8c\x3b\x67\x8f\x2c\x37\xf6\x9c\x8d\xfb"
      "\xb3\xbd\xd9\x9c\xcd\xf4\xd6\x73\xf6\xfa\x1e\x27\xb8\x71\xfe\x79\xc7\xcc"
      "\xd9\x90\x7f\x73\xce\x06\xbf\xf5\x9c\xcd\xb4\xeb\xe8\x37\x1a\x31\x30\x74"
      "\x60\x9b\xd7\xa7\x66\xd0\xc0\xc0\x88\x21\x43\x07\xf6\x1f\xf9\x64\xc1\xf1"
      "\x07\x06\x46\x0c\x1d\xbd\xee\xb4\x23\xd7\x5d\x66\xca\xf1\x06\x06\x4e\x7c"
      "\xe3\x07\x1d\xf9\xdd\xf8\x7f\x3f\x06\x07\x1d\x3e\x72\x9d\x4d\x57\xde\x60"
      "\xf9\x37\x46\xf6\xcf\x3f\xe1\x3f\x7f\x4e\x5f\x6f\xf2\x51\x0f\x63\x26\x7f"
      "\xc4\xe8\x37\x19\x31\xde\xa8\x21\xce\x34\xf0\xc6\xa1\x38\x7c\xef\x4b\x2f"
      "\x1b\x6f\xe4\x5c\xfc\xc3\x34\x4f\x3c\xe1\x44\x83\x26\x1d\x18\x58\x68\xf4"
      "\xd3\x65\x47\x3f\x2e\x39\xea\x61\xb2\x49\xc7\xac\xf7\xda\x38\x8d\x3b\xd0"
      "\x51\x6f\x32\xf2\xdc\x31\xe8\xd8\x51\x5f\xa3\x76\x30\xf2\x2d\x46\x7e\xf3"
      "\xec\x54\xf7\xcf\x3a\x72\xbc\xe3\x6c\xff\xff\xa2\xff\xd6\xf5\xff\x9f\xbc"
      "\x96\x18\xf4\xf7\x89\x1a\x34\xfa\x6b\xf4\x3a\xa3\xbc\x96\x5b\x65\xb5\x37"
      "\xde\xeb\xf5\x69\x18\x39\x77\x83\x47\x2f\x5b\x7c\xa4\xc9\xb8\x73\xf6\x3f"
      "\xd9\x3f\x8d\x77\xa6\x21\x63\x0e\x06\x1c\xef\xca\xab\x2d\xbf\xf0\xc8\xc5"
      "\xe3\xcc\xff\x98\x4d\xf0\xf8\x3a\xf6\xa0\x39\x6f\x18\x75\x6c\x2d\xbb\xf8"
      "\xa8\xad\x5e\xfd\x6f\xa3\xd0\x78\x27\x79\x8b\xf1\xae\xb6\x1c\x8e\x77\x92"
      "\xb7\x1a\xef\x2d\x33\xcf\x3f\xfe\xa8\x5d\xfd\x8f\x8d\x77\x9c\x73\xdd\x9a"
      "\xa3\x5e\xfc\x57\xce\x75\x03\x6f\x7d\xae\x1b\x4c\xdb\xef\x78\xf3\x88\x71"
      "\xcf\x75\x6b\xbc\xf9\x10\xff\xe1\x73\x3c\x66\x8e\xc6\x1f\x67\xa5\x37\x3b"
      "\xd7\x4d\x3e\xe3\xd5\x87\x8d\xdc\xff\xc0\x5b\x9f\xeb\xd6\x1c\x39\xf6\xa1"
      "\xff\x70\xae\x1b\x6f\x60\x60\xc4\xe0\x31\xe7\xba\x91\x27\xbe\x61\x43\x07"
      "\x4e\x1c\xf9\x64\xa1\x91\x4f\xc6\x1f\x3a\x70\xde\xc8\x27\x0b\xbf\xfe\x64"
      "\xc2\x81\x6b\x46\x3e\x99\x6f\xfb\xbd\x76\xdf\x61\xe4\x82\x09\xc6\xcc\xc9"
      "\x02\x23\xf7\xbb\xec\x94\x83\x5e\x77\x9f\x63\xde\x13\xce\x7d\xed\x94\xd7"
      "\x5e\x1b\x32\x7a\x2c\x67\x0e\xff\xc7\xb1\x8e\x3e\x3e\x66\x1a\xfb\x7a\xbe"
      "\xdc\x94\xa3\x26\x73\xcc\xb6\x63\xf6\x3b\x72\xd5\x31\xfb\x5d\x76\x9a\x51"
      "\xaf\x0d\x1b\xbd\xdf\xb3\xfe\x8d\xfd\x8e\xd9\x96\xc6\xbb\xea\xa4\xa3\x5e"
      "\x1b\x7f\xf4\x7e\xcf\x1e\x67\xbf\x43\xdf\x62\xbf\x63\xb6\xfd\xa7\xcf\xc3"
      "\x1c\x83\xfe\x7e\xe2\x7a\x93\xf3\xcd\xca\xe3\x9c\x6f\x46\xff\x8e\x3b\xe6"
      "\xed\xfe\xe1\x6b\xd8\xa8\xaf\x29\xb6\x18\x18\x98\x62\x53\xf2\x1d\x67\xdd"
      "\xff\xf2\x9c\x49\x9f\xdf\x09\xde\x62\xbc\xcb\x2d\xbf\xf0\x0a\x23\xc7\x37"
      "\xce\xe7\xf7\xef\x87\x23\x7d\x7e\x87\x6e\xb7\xc8\x21\x03\x03\x03\x93\x8e"
      "\xfa\x78\x0c\x3f\x6f\xcc\xd8\xff\xcd\x06\xbd\xd9\x78\x87\xbc\xf5\x78\x97"
      "\x87\xf1\x0e\x79\xab\xf1\x4e\x77\xfc\x11\x4b\xff\x0f\x8c\x77\x60\xac\xf1"
      "\xfe\xc3\x71\xb6\xc4\x88\x51\xc7\xca\x04\xa3\x8f\xb3\x73\xff\x8d\xe3\x77"
      "\xcc\xb6\xe3\x9e\xc7\x86\xbe\xfe\xea\xa8\xd3\xfe\x04\xff\xca\x79\x6c\xa6"
      "\x7f\x3a\x8f\x1d\x31\x78\xbc\x71\x26\x7b\xac\xde\xec\x77\xb6\x1d\x60\xfd"
      "\x51\xdf\x4f\xfb\xf7\xbd\x3d\x3a\x7c\xad\x07\xc7\xcc\xfd\xd0\x71\xf6\xfb"
      "\x5f\xfd\xce\x36\xd6\xcf\x32\x08\xce\x63\x93\x8f\xf3\xf7\xb9\x41\x77\xdc"
      "\x3d\x30\x88\xe6\x7c\x81\x73\x06\x6d\xf7\xea\x7f\x31\xe7\x43\x07\xfe\xf1"
      "\xef\x16\x63\xe6\x7c\xcc\xb6\x6f\x35\xe7\xe3\xff\x2b\x73\x3e\xc3\x5b\xcf"
      "\xf9\xbf\xfa\x7b\xf2\x1c\xb3\x8c\x7a\x7d\xe8\x38\xe3\x1f\x7b\xce\xb7\x59"
      "\x74\xef\xb9\xc7\xcc\xf9\xb0\x71\xf6\xfb\x5f\xcd\xf9\xf8\x6f\x7d\xed\xf8"
      "\xe7\x39\x5f\x76\x60\x28\xcd\xf9\xba\x47\x8f\x9a\xb7\xb7\x3a\x9f\xbe\xd9"
      "\x9c\x8f\xd9\x76\xcc\x9c\xbf\xee\x3f\xe5\x90\x81\x95\x06\x06\x06\x66\x1d"
      "\x3d\xe7\xc3\xfe\x95\x39\x9f\xf6\x7f\xe6\x38\x9f\x08\xd6\x1f\xf5\xfd\x8e"
      "\x7f\x5f\x74\xcc\x06\x8f\xcd\x33\x66\xce\xc7\x9d\xe3\xff\x6a\xce\x87\xfd"
      "\xbb\x73\x3e\xd3\xdf\x8f\xf3\x59\x5f\x7f\x6d\xe6\xf1\x06\x86\x0d\x1b\xd8"
      "\x7f\xdb\xfd\xf6\xdb\x67\xc1\x51\x7f\x8e\x79\xba\xd0\xa8\x3f\xf9\x5c\x74"
      "\xde\x91\xa3\xe6\xf9\xad\xae\xa5\x6f\x66\x34\x66\xdb\xb7\xfa\x5c\x0c\xf9"
      "\x57\x8c\x26\xff\x97\x8c\x06\xfd\x57\x46\xd3\x0f\x79\x33\xa3\x37\x3e\x5a"
      "\x5b\xdf\xf5\xf4\x81\xff\xdd\x73\xd1\x90\x7f\xd7\x68\x80\xcf\x45\xb7\x5e"
      "\x34\x6a\xde\xde\xea\xf7\xa2\x37\x9b\xf3\x31\xdb\xd2\x75\x70\xea\xb1\xb6"
      "\x1f\xf7\xef\xa1\xeb\xaf\xf5\xfa\xef\xdd\x93\x8c\x73\x1d\x1c\xb3\x09\x5e"
      "\x07\x6f\x5f\x6b\xb6\xed\xc7\xec\x72\xf4\x66\xaf\x8c\x33\xcc\x31\xd7\xd5"
      "\x97\xc6\x5a\x3e\x78\xac\xe5\x2f\x8e\xb5\x7c\xe8\x58\xfb\x19\x7b\xfd\x61"
      "\x63\x2d\x7f\x7e\xac\xe5\x23\x7f\x84\x61\x63\xad\x3f\x86\x75\xf2\x91\x7f"
      "\xe7\x1d\xbd\xfc\xe5\x37\x56\x1f\x3e\xf2\x2f\xa9\x33\x8d\x5e\xfe\xc2\x58"
      "\xcb\xcf\x7c\x63\xdb\x11\x63\xfd\x93\xc1\xf0\xb3\xc6\x5a\x3e\xd6\x29\x72"
      "\xf8\xd9\x6f\x1c\x1a\x23\xc6\xfa\xb5\x7b\xf8\xb9\x63\xad\xff\x66\x87\xca"
      "\x9b\x36\xe6\xdf\x24\x77\x1d\xf7\x24\x5f\xff\x6a\xfd\xfb\xbf\xbb\xfc\xdd"
      "\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc"
      "\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb"
      "\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf"
      "\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97"
      "\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77"
      "\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2"
      "\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\x8b\x7b\x93\xfb\xff\x1f"
      "\x3e\xfa\x71\xd9\xf3\xb7\xdd\x7a\xfb\xd1\xb7\x93\x1b\x7a\xdf\xf1\xc3\x4f"
      "\x7d\xbb\xc7\xfb\x36\xf7\x7f\xfa\xfe\xff\xa3\x7d\xff\xe1\xfe\xff\xa7\x0e"
      "\x3f\xfe\xbe\xf1\x06\xfe\xfe\xda\x5b\xde\x9f\x7d\xd4\x3a\xff\x2b\xef\xcf"
      "\xbe\xf8\xa8\x87\x29\xb6\x1d\xb3\xde\xb8\xf7\x07\x1f\x77\xa0\xa3\xde\xe4"
      "\xcd\xef\xcf\xbe\xf3\x2d\x57\xef\xf1\xff\xa7\xfb\xb3\xff\xb7\x1a\xf3\x59"
      "\xfd\x17\xee\x8b\xd7\xf9\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5"
      "\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xdd"
      "\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb\xfc"
      "\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb"
      "\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf"
      "\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97"
      "\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77"
      "\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2"
      "\x77\x97\xbf\xbb\xfc\xdd\xe5\x2f\xee\x4d\xee\xff\x7f\xcd\xe8\xc7\xc3\x4f"
      "\x9c\xf2\xd2\x61\xa3\x6f\x84\x3e\x74\xda\x5b\xa7\x78\xf1\xed\x1e\xef\xdb"
      "\xdc\xff\xe9\xfb\xff\x8f\xf6\xfd\x87\xfb\xff\xbf\x38\xc5\xad\xd3\x8e\x37"
      "\xf0\xf7\xd7\xde\xf2\xfe\xff\xa3\xd6\x71\xdc\xff\xff\xd8\x33\xa6\x1f\xfe"
      "\xbf\xf9\xfe\xff\x63\x3e\xab\xdd\xff\xbf\xfe\x8b\xf2\x77\x97\xbf\xbb\xfc"
      "\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb"
      "\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf"
      "\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97"
      "\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77"
      "\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2"
      "\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee"
      "\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe"
      "\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x71\x7c\xff\xff\x41\xa3"
      "\x1f\x07\xae\x59\x65\xd8\x25\xb7\x8d\x7c\x1c\xf9\xfc\xc2\x7d\x5e\x3e\xe7"
      "\xed\x1e\xef\xdb\xdc\xff\xd5\xfb\xff\x4f\x70\xc1\x4c\x03\x03\x7b\x6e\xf4"
      "\x76\x0f\xa5\xde\x86\x3a\xff\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf\xbb"
      "\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97\xbf"
      "\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77\x97"
      "\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2\x77"
      "\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee\xf2"
      "\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe\xee"
      "\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d\xfe"
      "\xee\xf2\x77\x97\xbf\xbb\xfc\xdd\xe5\xef\x2e\x7f\x77\xf9\xbb\xcb\xdf\x5d"
      "\xfe\xee\xf2\x77\x97\xbf\xbb\xfc\xc5\x8d\xbe\xff\xff\xc0\xa8\xfb\xff\x8f"
      "\x69\xd0\xb2\x1d\x17\x18\xdc\xff\xff\x3f\xbb\x37\xf1\x5f\x2e\x7f\xcc\xe2"
      "\xbf\x7c\xfe\x98\xc5\x7f\x85\xfc\x31\x8b\xff\x8a\xf9\x63\x16\xff\x95\xf2"
      "\xc7\x2c\xfe\x2b\xe7\x8f\x59\xfc\x57\xc9\x1f\xb3\xf8\xaf\x9a\x3f\x66\xf1"
      "\x5f\x2d\x7f\xcc\xe2\xbf\x7a\xfe\x98\xc5\x7f\x8d\xfc\x31\x8b\xff\x9a\xf9"
      "\x63\x16\xff\xb5\xf2\xc7\x2c\xfe\x6b\xe7\x8f\x59\xfc\xd7\xc9\x1f\xb3\xf8"
      "\xaf\x9b\x3f\x66\xf1\x5f\x2f\x7f\xcc\xe2\xbf\x7e\xfe\x98\xc5\x7f\x83\xfc"
      "\x31\x8b\xff\x86\xf9\x63\x16\xff\x8d\xf2\xc7\x2c\xfe\x1b\xe7\x8f\x59\xfc"
      "\x37\xc9\x1f\xb3\xf8\x6f\x9a\x3f\x66\xf1\xdf\x2c\x7f\xcc\xe2\xbf\x79\xfe"
      "\x98\xc5\x7f\x8b\xfc\x31\x8b\xff\x96\xf9\x63\x16\xff\xad\xf2\xc7\x2c\xfe"
      "\x5b\xe7\x8f\x59\xfc\x3f\x98\x3f\x66\xf1\xdf\x26\x7f\xcc\xe2\xbf\x6d\xfe"
      "\x98\xc5\x7f\xbb\xfc\x31\x8b\xff\xf6\xf9\x63\x16\xff\x1d\xf2\xc7\x2c\xfe"
      "\x3b\xe6\x8f\x59\xfc\x77\xca\x1f\xb3\xf8\xef\x9c\x3f\x66\xf1\xdf\x25\x7f"
      "\xcc\xe2\xbf\x6b\xfe\x98\xc5\x7f\xb7\xfc\x31\x8b\xff\x87\xf2\xc7\x2c\xfe"
      "\xbb\xe7\x8f\x59\xfc\xf7\xc8\x1f\xb3\xf8\xef\x99\x3f\x66\xf1\xdf\x2b\x7f"
      "\xcc\xe2\xbf\x77\xfe\x98\xc5\xff\xc3\xf9\x63\x16\xff\x7d\xf2\xc7\x2c\xfe"
      "\xfb\xe6\x8f\x59\xfc\xf7\xcb\x1f\xb3\xf8\x7f\x24\x7f\xcc\xe2\xff\xd1\xfc"
      "\x31\x8b\xff\xc7\xf2\xc7\x2c\xfe\xfb\xe7\x8f\x59\xfc\x0f\xc8\x1f\xb3\xf8"
      "\x1f\x98\x3f\x66\xf1\x3f\x28\x7f\xcc\xe2\x7f\x70\xfe\x98\xc5\xff\x90\xfc"
      "\x31\x8b\xff\xa1\xf9\x63\x16\xff\xc3\xf2\xc7\x2c\xfe\x87\xe7\x8f\x59\xfc"
      "\x8f\xc8\x1f\xb3\xf8\x1f\x99\x3f\x66\xf1\x3f\x2a\x7f\xcc\xe2\xff\xf1\xfc"
      "\x31\x8b\xff\xd1\xf9\x63\x16\xff\x4f\xe4\x8f\x59\xfc\x3f\x99\x3f\x66\xf1"
      "\x3f\x26\x7f\xcc\xe2\xff\xa9\xfc\x31\x8b\xff\xb1\xf9\x63\x16\xff\xe3\xf2"
      "\xc7\x2c\xfe\xc7\xe7\x8f\x59\xfc\x3f\x9d\x3f\x66\xf1\xff\x4c\xfe\x98\xc5"
      "\xff\x84\xfc\x31\x8b\xff\x89\xf9\x63\x16\xff\x93\xf2\xc7\x2c\xfe\x27\xe7"
      "\x8f\x59\xfc\x4f\xc9\x1f\xb3\xf8\x7f\x36\x7f\xcc\xe2\xff\xb9\xfc\x31\x8b"
      "\xff\xe7\xf3\xc7\x2c\xfe\x5f\xc8\x1f\xb3\xf8\x9f\x9a\x3f\x66\xf1\xff\x62"
      "\xfe\x98\xc5\xff\x4b\xf9\x63\x16\xff\x2f\xe7\x8f\x59\xfc\xbf\x92\x3f\x66"
      "\xf1\x3f\x2d\x7f\xcc\xe2\x7f\x7a\xfe\x98\xc5\xff\x8c\xfc\x31\x8b\xff\x99"
      "\xf9\x63\x16\xff\xb3\xf2\xc7\x2c\xfe\x67\xe7\x8f\x59\xfc\xbf\x9a\x3f\x66"
      "\xf1\xff\x5a\xfe\x98\xc5\xff\x9c\xfc\x31\x8b\xff\xd7\xf3\xc7\x2c\xfe\xe7"
      "\xe6\x8f\x59\xfc\xcf\xcb\x1f\xb3\xf8\x9f\x9f\x3f\x66\xf1\xbf\x20\x7f\xcc"
      "\xe2\x7f\x61\xfe\x98\xc5\xff\x1b\xf9\x63\x16\xff\x6f\xe6\x8f\x59\xfc\xbf"
      "\x95\x3f\x66\xf1\xbf\x28\x7f\xcc\xe2\x7f\x71\xfe\x98\xc5\xff\xdb\xf9\x63"
      "\x16\xff\x4b\xf2\xc7\x2c\xfe\xdf\xc9\x1f\xb3\xf8\x5f\x9a\x3f\x66\xf1\xbf"
      "\x2c\x7f\xcc\xe2\x7f\x79\xfe\x98\xc5\xff\xbb\xf9\x63\x16\xff\xef\xe5\x8f"
      "\x59\xfc\xaf\xc8\x1f\xb3\xf8\x5f\x99\x3f\x66\xf1\xff\x7e\xfe\x98\xc5\xff"
      "\xaa\xfc\x31\x8b\xff\x0f\xf2\xc7\x2c\xfe\x57\xe7\x8f\x59\xfc\x7f\x98\x3f"
      "\x66\xf1\xbf\x26\x7f\xcc\xe2\xff\xa3\xfc\x31\x8b\xff\xb5\xf9\x63\x16\xff"
      "\xeb\xf2\xc7\x2c\xfe\x3f\xce\x1f\xb3\xf8\xff\x24\x7f\xcc\xe2\xff\xd3\xfc"
      "\x31\x8b\xff\xf5\xf9\x63\x16\xff\x9f\xe5\x8f\x59\xfc\x6f\xc8\x1f\xb3\xf8"
      "\xdf\x98\x3f\x66\xf1\xff\x79\xfe\x98\xc5\xff\xa6\xfc\x31\x8b\xff\xcd\xf9"
      "\x63\x16\xff\x5f\xe4\x8f\x59\xfc\x6f\xc9\x1f\xb3\xf8\xdf\x9a\x3f\x66\xf1"
      "\xbf\x2d\x7f\xcc\xe2\x7f\x7b\xfe\x98\xc5\xff\x97\xf9\x63\x16\xff\x3b\xf2"
      "\xc7\x2c\xfe\xbf\xca\x1f\xb3\xf8\xff\x3a\x7f\xcc\xe2\xff\x9b\xfc\x31\x8b"
      "\xff\x6f\xf3\xc7\x2c\xfe\xbf\xcb\x1f\xb3\xf8\xff\x3e\x7f\xcc\xe2\x7f\x67"
      "\xfe\x98\xc5\xff\x0f\xf9\x63\x16\xff\x3f\xe6\x8f\x59\xfc\xff\x94\x3f\x66"
      "\xf1\xbf\x2b\x7f\xcc\xe2\x7f\x77\xfe\x98\xc5\xff\xcf\xf9\x63\x16\xff\x7b"
      "\xf2\xc7\x2c\xfe\x7f\xc9\x1f\xb3\xf8\xdf\x9b\x3f\x66\xf1\xbf\x2f\x7f\xcc"
      "\xe2\xff\xd7\xfc\x31\x8b\xff\xdf\xf2\xc7\x2c\xfe\xf7\xe7\x8f\x59\xfc\x1f"
      "\xc8\x1f\xb3\xf8\x3f\x98\x3f\x66\xf1\x7f\x28\x7f\xcc\xe2\xff\x70\xfe\x98"
      "\xc5\xff\x91\xfc\x31\x8b\xff\xa3\xf9\x63\x16\xff\xc7\xf2\xc7\x2c\xfe\x8f"
      "\xe7\x8f\x59\xfc\x9f\xc8\x1f\xb3\xf8\x3f\x99\x3f\x66\xf1\x7f\x2a\x7f\xcc"
      "\xe2\xff\x74\xfe\x98\xc5\xff\x99\xfc\x31\x8b\xff\xb3\xf9\x63\x16\xff\xe7"
      "\xf2\xc7\x2c\xfe\xcf\xe7\x8f\x59\xfc\x5f\xc8\x1f\xb3\xf8\xbf\x98\x3f\x66"
      "\xf1\x7f\x29\x7f\xcc\xe2\xff\x72\xfe\x98\xc5\xff\x95\xfc\x31\x8b\xff\xab"
      "\xf9\x63\x16\xff\xd7\xf2\xc7\x24\xfe\xaf\x7f\x9b\xff\x3f\x67\xf1\x1f\x94"
      "\x3f\x66\xf1\x1f\x2f\x7f\xcc\xe2\x3f\x38\x7f\xcc\xe2\x3f\x24\x7f\xcc\xe2"
      "\x3f\x34\x7f\xcc\xe2\x3f\x2c\x7f\xcc\xe2\x3f\x7e\xfe\x98\xc5\x7f\x82\xfc"
      "\x31\x8b\xff\x84\xf9\x63\x16\xff\x89\xf2\xc7\x2c\xfe\x13\xe7\x8f\x59\xfc"
      "\x27\xc9\x1f\xb3\xf8\x4f\x9a\x3f\x66\xf1\x1f\x9e\x3f\x66\xf1\x9f\x2c\x7f"
      "\xcc\xe2\x3f\x79\xfe\x98\xc5\x7f\x8a\xfc\x31\x8b\xff\x94\xf9\x63\x16\xff"
      "\xa9\xf2\xc7\x2c\xfe\x53\xe7\x8f\x59\xfc\xa7\xc9\x1f\xb3\xf8\xbf\x23\x7f"
      "\xcc\xe2\xff\xce\xfc\x31\x8b\xff\xb4\xf9\x63\x16\xff\xe9\xf2\xc7\x2c\xfe"
      "\xd3\xe7\x8f\x59\xfc\xdf\x95\x3f\x66\xf1\x9f\x21\x7f\xcc\xe2\x3f\x22\x7f"
      "\xcc\xe2\xff\xee\xfc\x31\x8b\xff\x8c\xf9\x63\x16\xff\x99\xf2\xc7\x2c\xfe"
      "\xef\xc9\x1f\xb3\xf8\xcf\x9c\x3f\x66\xf1\x9f\x25\x7f\xcc\xe2\x3f\x6b\xfe"
      "\x98\xc5\x7f\xb6\xfc\x31\x8b\xff\x7b\xf3\xc7\x2c\xfe\xb3\xe7\x8f\x59\xfc"
      "\xe7\xc8\x1f\xb3\xf8\xcf\x99\x3f\x66\xf1\x9f\x2b\x7f\xcc\xe2\x3f\x77\xfe"
      "\x98\xc5\x7f\x9e\xfc\x31\x8b\xff\xbc\xf9\x63\x16\xff\xf9\xf2\xc7\x2c\xfe"
      "\xf3\xe7\x8f\x59\xfc\x17\xc8\x1f\xb3\xf8\x2f\x98\x3f\x66\xf1\x5f\x28\x7f"
      "\xcc\xe2\xbf\x70\xfe\x98\xc5\x7f\x91\xfc\x31\x8b\xff\xa2\xf9\x63\x16\xff"
      "\xc5\xf2\xc7\x2c\xfe\x8b\xe7\x8f\x59\xfc\x97\xc8\x1f\xb3\xf8\x2f\x99\x3f"
      "\x66\xf1\x5f\x2a\x7f\xcc\xe2\xbf\x74\xfe\x98\xc5\x7f\x99\xfc\x31\x8b\xff"
      "\xfb\xf2\xc7\x2c\xfe\xef\xcf\x1f\xb3\xf8\x7f\x20\x7f\xcc\xe2\xbf\x6c\xfe"
      "\x98\xc5\x7f\xb9\xfc\x31\x8b\xff\xf2\xf9\x63\x16\xff\x15\xf2\xc7\x2c\xfe"
      "\x2b\xe6\x8f\x59\xfc\x57\xca\x1f\xb3\xf8\xaf\x9c\x3f\x66\xf1\x5f\x25\x7f"
      "\xcc\xe2\xbf\x6a\xfe\x98\xc5\x7f\xb5\xfc\x31\x8b\xff\xea\xf9\x63\x16\xff"
      "\x35\xf2\xc7\x2c\xfe\x6b\xe6\x8f\x59\xfc\xd7\xca\x1f\xb3\xf8\xaf\x9d\x3f"
      "\x66\xf1\x5f\x27\x7f\xcc\xe2\xbf\x6e\xfe\x98\xc5\x7f\xbd\xfc\x31\x8b\xff"
      "\xfa\xf9\x63\x16\xff\x0d\xf2\xc7\x2c\xfe\x1b\xe6\x8f\x59\xfc\x37\xca\x1f"
      "\xb3\xf8\x6f\x9c\x3f\x66\xf1\xdf\x24\x7f\xcc\xe2\xbf\x69\xfe\x98\xc5\x7f"
      "\xb3\xfc\x31\x8b\xff\xe6\xf9\x63\x16\xff\x2d\xf2\xc7\x2c\xfe\x5b\xe6\x8f"
      "\x59\xfc\xb7\xca\x1f\xb3\xf8\x6f\x9d\x3f\x66\xf1\xff\x60\xfe\x98\xc5\x7f"
      "\x9b\xfc\x31\x8b\xff\xb6\xf9\x63\x16\xff\xed\xf2\xc7\x2c\xfe\xdb\xe7\x8f"
      "\x59\xfc\x77\xc8\x1f\xb3\xf8\xef\x98\x3f\x66\xf1\xdf\x29\x7f\xcc\xe2\xbf"
      "\x73\xfe\x98\xc5\x7f\x97\xfc\x31\x8b\xff\xae\xf9\x63\x16\xff\xdd\xf2\xc7"
      "\x2c\xfe\x1f\xca\x1f\xb3\xf8\xef\x9e\x3f\x66\xf1\xdf\x23\x7f\xcc\xe2\xbf"
      "\x67\xfe\x98\xc5\x7f\xaf\xfc\x31\x8b\xff\xde\xf9\x63\x16\xff\x0f\xe7\x8f"
      "\x59\xfc\xf7\xc9\x1f\xb3\xf8\xef\x9b\x3f\x66\xf1\xdf\x2f\x7f\xcc\xe2\xff"
      "\x91\xfc\x31\x8b\xff\x47\xf3\xc7\x2c\xfe\x1f\xcb\x1f\xb3\xf8\xef\x9f\x3f"
      "\x66\xf1\x3f\x20\x7f\xcc\xe2\x7f\x60\xfe\x98\xc5\xff\xa0\xfc\x31\x8b\xff"
      "\xc1\xf9\x63\x16\xff\x43\xf2\xc7\x2c\xfe\x87\xe6\x8f\x59\xfc\x0f\xcb\x1f"
      "\xb3\xf8\x1f\x9e\x3f\x66\xf1\x3f\x22\x7f\xcc\xe2\x7f\x64\xfe\x98\xc5\xff"
      "\xa8\xfc\x31\x8b\xff\xc7\xf3\xc7\x2c\xfe\x47\xe7\x8f\x59\xfc\x3f\x91\x3f"
      "\x66\xf1\xff\x64\xfe\x98\xc5\xff\x98\xfc\x31\x8b\xff\xa7\xf2\xc7\x2c\xfe"
      "\xc7\xe6\x8f\x59\xfc\x8f\xcb\x1f\xb3\xf8\x1f\x9f\x3f\x66\xf1\xff\x74\xfe"
      "\x98\xc5\xff\x33\xf9\x63\x16\xff\x13\xf2\xc7\x2c\xfe\x27\xe6\x8f\x59\xfc"
      "\x4f\xca\x1f\xb3\xf8\x9f\x9c\x3f\x66\xf1\x3f\x25\x7f\xcc\xe2\xff\xd9\xfc"
      "\x31\x8b\xff\xe7\xf2\xc7\x2c\xfe\x9f\xcf\x1f\xb3\xf8\x7f\x21\x7f\xcc\xe2"
      "\x7f\x6a\xfe\x98\xc5\xff\x8b\xf9\x63\x16\xff\x2f\xe5\x8f\x59\xfc\xbf\x9c"
      "\x3f\x66\xf1\xff\x4a\xfe\x98\xc5\xff\xb4\xfc\x31\x8b\xff\xe9\xf9\x63\x16"
      "\xff\x33\xf2\xc7\x2c\xfe\x67\xe6\x8f\x59\xfc\xcf\xca\x1f\xb3\xf8\x9f\x9d"
      "\x3f\x66\xf1\xff\x6a\xfe\x98\xc5\xff\x6b\xf9\x63\x16\xff\x73\xf2\xc7\x2c"
      "\xfe\x5f\xcf\x1f\xb3\xf8\x9f\x9b\x3f\x66\xf1\x3f\x2f\x7f\xcc\xe2\x7f\x7e"
      "\xfe\x98\xc5\xff\x82\xfc\x31\x8b\xff\x85\xf9\x63\x16\xff\x6f\xe4\x8f\x59"
      "\xfc\xbf\x99\x3f\x66\xf1\xff\x56\xfe\x98\xc5\xff\xa2\xfc\x31\x8b\xff\xc5"
      "\xf9\x63\x16\xff\x6f\xe7\x8f\x59\xfc\x2f\xc9\x1f\xb3\xf8\x7f\x27\x7f\xcc"
      "\xe2\x7f\x69\xfe\x98\xc5\xff\xb2\xfc\x31\x8b\xff\xe5\xf9\x63\x16\xff\xef"
      "\xe6\x8f\x59\xfc\xbf\x97\x3f\x66\xf1\xbf\x22\x7f\xcc\xe2\x7f\x65\xfe\x98"
      "\xc5\xff\xfb\xf9\x63\x16\xff\xab\xf2\xc7\x2c\xfe\x3f\xc8\x1f\xb3\xf8\x5f"
      "\x9d\x3f\x66\xf1\xff\x61\xfe\x98\xc5\xff\x9a\xfc\x31\x8b\xff\x8f\xf2\xc7"
      "\x2c\xfe\xd7\xe6\x8f\x59\xfc\xaf\xcb\x1f\xb3\xf8\xff\x38\x7f\xcc\xe2\xff"
      "\x93\xfc\x31\x8b\xff\x4f\xf3\xc7\x2c\xfe\xd7\xe7\x8f\x59\xfc\x7f\x96\x3f"
      "\x66\xf1\xbf\x21\x7f\xcc\xe2\x7f\x63\xfe\x98\xc5\xff\xe7\xf9\x63\x16\xff"
      "\x9b\xf2\xc7\x2c\xfe\x37\xe7\x8f\x59\xfc\x7f\x91\x3f\x66\xf1\xbf\x25\x7f"
      "\xcc\xe2\x7f\x6b\xfe\x98\xc5\xff\xb6\xfc\x31\x8b\xff\xed\xf9\x63\x16\xff"
      "\x5f\xe6\x8f\x59\xfc\xef\xc8\x1f\xb3\xf8\xff\x2a\x7f\xcc\xe2\xff\xeb\xfc"
      "\x31\x8b\xff\x6f\xf2\xc7\x2c\xfe\xbf\xcd\x1f\xb3\xf8\xff\x2e\x7f\xcc\xe2"
      "\xff\xfb\xfc\x31\x8b\xff\x9d\xf9\x63\x16\xff\x3f\xe4\x8f\x59\xfc\xff\x98"
      "\x3f\x66\xf1\xff\x53\xfe\x98\xc5\xff\xae\xfc\x31\x8b\xff\xdd\xf9\x63\x16"
      "\xff\x3f\xe7\x8f\x59\xfc\xef\xc9\x1f\xb3\xf8\xff\x25\x7f\xcc\xe2\x7f\x6f"
      "\xfe\x98\xc5\xff\xbe\xfc\x31\x8b\xff\x5f\xf3\xc7\x2c\xfe\x7f\xcb\x1f\xb3"
      "\xf8\xdf\x9f\x3f\x66\xf1\x7f\x20\x7f\xcc\xe2\xff\x60\xfe\x98\xc5\xff\xa1"
      "\xfc\x31\x8b\xff\xc3\xf9\x63\x16\xff\x47\xf2\xc7\x2c\xfe\x8f\xe6\x8f\x59"
      "\xfc\x1f\xcb\x1f\xb3\xf8\x3f\x9e\x3f\x66\xf1\x7f\x22\x7f\xcc\xe2\xff\x64"
      "\xfe\x98\xc5\xff\xa9\xfc\x31\x8b\xff\xd3\xf9\x63\x16\xff\x67\xf2\xc7\x2c"
      "\xfe\xcf\xe6\x8f\x59\xfc\x9f\xcb\x1f\xb3\xf8\x3f\x9f\x3f\x66\xf1\x7f\x21"
      "\x7f\xcc\xe2\xff\x62\xfe\x98\xc5\xff\xa5\xfc\x31\x8b\xff\xcb\xf9\x63\x16"
      "\xff\x57\xf2\xc7\x2c\xfe\xaf\xe6\x8f\x59\xfc\x5f\xcb\x1f\x93\xf8\x0f\x1e"
      "\xc8\x1f\xb3\xf8\x0f\xca\x1f\xb3\xf8\x8f\x97\x3f\x66\xf1\x1f\x9c\x3f\x66"
      "\xf1\x1f\x92\x3f\x66\xf1\x1f\x9a\x3f\x66\xf1\x1f\x96\x3f\x66\xf1\x1f\x3f"
      "\x7f\xcc\xe2\x3f\x41\xfe\x98\xc5\x7f\xc2\xfc\x31\x8b\xff\x44\xf9\x63\x16"
      "\xff\x89\xf3\xc7\x2c\xfe\x93\xe4\x8f\x59\xfc\x27\xcd\x1f\xb3\xf8\x0f\xcf"
      "\x1f\xb3\xf8\x4f\x96\x3f\x66\xf1\x9f\x3c\x7f\xcc\xe2\x3f\x45\xfe\x98\xc5"
      "\x7f\xca\xfc\x31\x8b\xff\x54\xf9\x63\x16\xff\xa9\xf3\xc7\x2c\xfe\xd3\xe4"
      "\x8f\x59\xfc\xdf\x91\x3f\x66\xf1\x7f\x67\xfe\x98\xc5\x7f\xda\xfc\x31\x8b"
      "\xff\x74\xf9\x63\x16\xff\xe9\xf3\xc7\x2c\xfe\xef\xca\x1f\xb3\xf8\xcf\x90"
      "\x3f\x66\xf1\x1f\x91\x3f\x66\xf1\x7f\x77\xfe\x98\xc5\x7f\xc6\xfc\x31\x8b"
      "\xff\x4c\xf9\x63\x16\xff\xf7\xe4\x8f\x59\xfc\x67\xce\x1f\xb3\xf8\xcf\x92"
      "\x3f\x66\xf1\x9f\x35\x7f\xcc\xe2\x3f\x5b\xfe\x98\xc5\xff\xbd\xf9\x63\x16"
      "\xff\xd9\xf3\xc7\x2c\xfe\x73\xe4\x8f\x59\xfc\xe7\xcc\x1f\xb3\xf8\xcf\x95"
      "\x3f\x66\xf1\x9f\x3b\x7f\xcc\xe2\x3f\x4f\xfe\x98\xc5\x7f\xde\xfc\x31\x8b"
      "\xff\x7c\xf9\x63\x16\xff\xf9\xf3\xc7\x2c\xfe\x0b\xe4\x8f\x59\xfc\x17\xcc"
      "\x1f\xb3\xf8\x2f\x94\x3f\x66\xf1\x5f\x38\x7f\xcc\xe2\xbf\x48\xfe\x98\xc5"
      "\x7f\xd1\xfc\x31\x8b\xff\x62\xf9\x63\x16\xff\xc5\xf3\xc7\x2c\xfe\x4b\xe4"
      "\x8f\x59\xfc\x97\xcc\x1f\xb3\xf8\x2f\x95\x3f\x66\xf1\x5f\x3a\x7f\xcc\xe2"
      "\xbf\x4c\xfe\x98\xc5\xff\x7d\xf9\x63\x16\xff\xf7\xe7\x8f\x59\xfc\x3f\x90"
      "\x3f\x66\xf1\x5f\x36\x7f\xcc\xe2\xbf\x5c\xfe\x98\xc5\x7f\xf9\xfc\x31\x8b"
      "\xff\x0a\xf9\x63\x16\xff\x15\xf3\xc7\x2c\xfe\x2b\xe5\x8f\x59\xfc\x57\xce"
      "\x1f\xb3\xf8\xaf\x92\x3f\x66\xf1\x5f\x35\x7f\xcc\xe2\xbf\x5a\xfe\x98\xc5"
      "\x7f\xf5\xfc\x31\x8b\xff\x1a\xf9\x63\x16\xff\x35\xf3\xc7\x2c\xfe\x6b\xe5"
      "\x8f\x59\xfc\xd7\xce\x1f\xb3\xf8\xaf\x93\x3f\x66\xf1\x5f\x37\x7f\xcc\xe2"
      "\xbf\x5e\xfe\x98\xc5\x7f\xfd\xfc\x31\x8b\xff\x06\xf9\x63\x16\xff\x0d\xf3"
      "\xc7\x2c\xfe\x1b\xe5\x8f\x59\xfc\x37\xce\x1f\xb3\xf8\x6f\x92\x3f\x66\xf1"
      "\xdf\x34\x7f\xcc\xe2\xbf\x59\xfe\x98\xc5\x7f\xf3\xfc\x31\x8b\xff\x16\xf9"
      "\x63\x16\xff\x2d\xf3\xc7\x2c\xfe\x5b\xe5\x8f\x59\xfc\xb7\xce\x1f\xb3\xf8"
      "\x7f\x30\x7f\xcc\xe2\xbf\x4d\xfe\x98\xc5\x7f\xdb\xfc\x31\x8b\xff\x76\xf9"
      "\x63\x16\xff\xed\xf3\xc7\x2c\xfe\x3b\xe4\x8f\x59\xfc\x77\xcc\x1f\xb3\xf8"
      "\xef\x94\x3f\x66\xf1\xdf\x39\x7f\xcc\xe2\xbf\x4b\xfe\x98\xc5\x7f\xd7\xfc"
      "\x31\x8b\xff\x6e\xf9\x63\x16\xff\x0f\xe5\x8f\x59\xfc\x77\xcf\x1f\xb3\xf8"
      "\xef\x91\x3f\x66\xf1\xdf\x33\x7f\xcc\xe2\xbf\x57\xfe\x98\xc5\x7f\xef\xfc"
      "\x31\x8b\xff\x87\xf3\xc7\x2c\xfe\xfb\xe4\x8f\x59\xfc\xf7\xcd\x1f\xb3\xf8"
      "\xef\x97\x3f\x66\xf1\xff\x48\xfe\x98\xc5\xff\xa3\xf9\x63\x16\xff\x8f\xe5"
      "\x8f\x59\xfc\xf7\xcf\x1f\xb3\xf8\x1f\x90\x3f\x66\xf1\x3f\x30\x7f\xcc\xe2"
      "\x7f\x50\xfe\x98\xc5\xff\xe0\xfc\x31\x8b\xff\x21\xf9\x63\x16\xff\x43\xf3"
      "\xc7\x2c\xfe\x87\xe5\x8f\x59\xfc\x0f\xcf\x1f\xb3\xf8\x1f\x91\x3f\x66\xf1"
      "\x3f\x32\x7f\xcc\xe2\x7f\x54\xfe\x98\xc5\xff\xe3\xf9\x63\x16\xff\xa3\xf3"
      "\xc7\x2c\xfe\x9f\xc8\x1f\xb3\xf8\x7f\x32\x7f\xcc\xe2\x7f\x4c\xfe\x98\xc5"
      "\xff\x53\xf9\x63\x16\xff\x63\xf3\xc7\x2c\xfe\xc7\xe5\x8f\x59\xfc\x8f\xcf"
      "\x1f\xb3\xf8\x7f\x3a\x7f\xcc\xe2\xff\x99\xfc\x31\x8b\xff\x09\xf9\x63\x16"
      "\xff\x13\xf3\xc7\x2c\xfe\x27\xe5\x8f\x59\xfc\x4f\xce\x1f\xb3\xf8\x9f\x92"
      "\x3f\x66\xf1\xff\x6c\xfe\x98\xc5\xff\x73\xf9\x63\x16\xff\xcf\xe7\x8f\x59"
      "\xfc\xbf\x90\x3f\x66\xf1\x3f\x35\x7f\xcc\xe2\xff\xc5\xfc\x31\x8b\xff\x97"
      "\xf2\xc7\x2c\xfe\x5f\xce\x1f\xb3\xf8\x7f\x25\x7f\xcc\xe2\x7f\x5a\xfe\x98"
      "\xc5\xff\xf4\xfc\x31\x8b\xff\x19\xf9\x63\x16\xff\x33\xf3\xc7\x2c\xfe\x67"
      "\xe5\x8f\x59\xfc\xcf\xce\x1f\xb3\xf8\x7f\x35\x7f\xcc\xe2\xff\xb5\xfc\x31"
      "\x8b\xff\x39\xf9\x63\x16\xff\xaf\xe7\x8f\x59\xfc\xcf\xcd\x1f\xb3\xf8\x9f"
      "\x97\x3f\x66\xf1\x3f\x3f\x7f\xcc\xe2\x7f\x41\xfe\x98\xc5\xff\xc2\xfc\x31"
      "\x8b\xff\x37\xf2\xc7\x2c\xfe\xdf\xcc\x1f\xb3\xf8\x7f\x2b\x7f\xcc\xe2\x7f"
      "\x51\xfe\x98\xc5\xff\xe2\xfc\x31\x8b\xff\xb7\xf3\xc7\x2c\xfe\x97\xe4\x8f"
      "\x59\xfc\xbf\x93\x3f\x66\xf1\xbf\x34\x7f\xcc\xe2\x7f\x59\xfe\x98\xc5\xff"
      "\xf2\xfc\x31\x8b\xff\x77\xf3\xc7\x2c\xfe\xdf\xcb\x1f\xb3\xf8\x5f\x91\x3f"
      "\x66\xf1\xbf\x32\x7f\xcc\xe2\xff\xfd\xfc\x31\x8b\xff\x55\xf9\x63\x16\xff"
      "\x1f\xe4\x8f\x59\xfc\xaf\xce\x1f\xb3\xf8\xff\x30\x7f\xcc\xe2\x7f\x4d\xfe"
      "\x98\xc5\xff\x47\xf9\x63\x16\xff\x6b\xf3\xc7\x2c\xfe\xd7\xe5\x8f\x59\xfc"
      "\x7f\x9c\x3f\x66\xf1\xff\x49\xfe\x98\xc5\xff\xa7\xf9\x63\x16\xff\xeb\xf3"
      "\xc7\x2c\xfe\x3f\xcb\x1f\xb3\xf8\xdf\x90\x3f\x66\xf1\xbf\x31\x7f\xcc\xe2"
      "\xff\xf3\xfc\x31\x8b\xff\x4d\xf9\x63\x16\xff\x9b\xf3\xc7\x2c\xfe\xbf\xc8"
      "\x1f\xb3\xf8\xdf\x92\x3f\x66\xf1\xbf\x35\x7f\xcc\xe2\x7f\x5b\xfe\x98\xc5"
      "\xff\xf6\xfc\x31\x8b\xff\x2f\xf3\xc7\x2c\xfe\x77\xe4\x8f\x59\xfc\x7f\x95"
      "\x3f\x66\xf1\xff\x75\xfe\x98\xc5\xff\x37\xf9\x63\x16\xff\xdf\xe6\x8f\x59"
      "\xfc\x7f\x97\x3f\x66\xf1\xff\x7d\xfe\x98\xc5\xff\xce\xfc\x31\x8b\xff\x1f"
      "\xf2\xc7\x2c\xfe\x7f\xcc\x1f\xb3\xf8\xff\x29\x7f\xcc\xe2\x7f\x57\xfe\x98"
      "\xc5\xff\xee\xfc\x31\x8b\xff\x9f\xf3\xc7\x2c\xfe\xf7\xe4\x8f\x59\xfc\xff"
      "\x92\x3f\x66\xf1\xbf\x37\x7f\xcc\xe2\x7f\x5f\xfe\x98\xc5\xff\xaf\xf9\x63"
      "\x16\xff\xbf\xe5\x8f\x59\xfc\xef\xcf\x1f\xb3\xf8\x3f\x90\x3f\x66\xf1\x7f"
      "\x30\x7f\xcc\xe2\xff\x50\xfe\x98\xc5\xff\xe1\xfc\x31\x8b\xff\x23\xf9\x63"
      "\x16\xff\x47\xf3\xc7\x2c\xfe\x8f\xe5\x8f\x59\xfc\x1f\xcf\x1f\xb3\xf8\x3f"
      "\x91\x3f\x66\xf1\x7f\x32\x7f\xcc\xe2\xff\x54\xfe\x98\xc5\xff\xe9\xfc\x31"
      "\x8b\xff\x33\xf9\x63\x16\xff\x67\xf3\xc7\x2c\xfe\xcf\xe5\x8f\x59\xfc\x9f"
      "\xcf\x1f\xb3\xf8\xbf\x90\x3f\x66\xf1\x7f\x31\x7f\xcc\xe2\xff\x52\xfe\x98"
      "\xc5\xff\xe5\xfc\x31\x8b\xff\x2b\xf9\x63\x16\xff\x57\xf3\xc7\x2c\xfe\xaf"
      "\xe5\x8f\x49\xfc\x87\x0c\xe4\x8f\x59\xfc\x07\xe5\x8f\x59\xfc\xc7\xcb\x1f"
      "\xb3\xf8\x0f\xce\x1f\xb3\xf8\x0f\xc9\x1f\xb3\xf8\x0f\xcd\x1f\xb3\xf8\x0f"
      "\xcb\x1f\xb3\xf8\x8f\x9f\x3f\x66\xf1\x9f\x20\x7f\xcc\xe2\x3f\x61\xfe\x98"
      "\xc5\x7f\xa2\xfc\x31\x8b\xff\xc4\xf9\x63\x16\xff\x49\xf2\xc7\x2c\xfe\x93"
      "\xe6\x8f\x59\xfc\x87\xe7\x8f\x59\xfc\x27\xcb\x1f\xb3\xf8\x4f\x9e\x3f\x66"
      "\xf1\x9f\x22\x7f\xcc\xe2\x3f\x65\xfe\x98\xc5\x7f\xaa\xfc\x31\x8b\xff\xd4"
      "\xf9\x63\x16\xff\x69\xf2\xc7\x2c\xfe\xef\xc8\x1f\xb3\xf8\xbf\x33\x7f\xcc"
      "\xe2\x3f\x6d\xfe\x98\xc5\x7f\xba\xfc\x31\x8b\xff\xf4\xf9\x63\x16\xff\x77"
      "\xe5\x8f\x59\xfc\x67\xc8\x1f\xb3\xf8\x8f\xc8\x1f\xb3\xf8\xbf\x3b\x7f\xcc"
      "\xe2\x3f\x63\xfe\x98\xc5\x7f\xa6\xfc\x31\x8b\xff\x7b\xf2\xc7\x2c\xfe\x33"
      "\xe7\x8f\x59\xfc\x67\xc9\x1f\xb3\xf8\xcf\x9a\x3f\x66\xf1\x9f\x2d\x7f\xcc"
      "\xe2\xff\xde\xfc\x31\x8b\xff\xec\xf9\x63\x16\xff\x39\xf2\xc7\x2c\xfe\x73"
      "\xe6\x8f\x59\xfc\xe7\xca\x1f\xb3\xf8\xcf\x9d\x3f\x66\xf1\x9f\x27\x7f\xcc"
      "\xe2\x3f\x6f\xfe\x98\xc5\x7f\xbe\xfc\x31\x8b\xff\xfc\xf9\x63\x16\xff\x05"
      "\xf2\xc7\x2c\xfe\x0b\xe6\x8f\x59\xfc\x17\xca\x1f\xb3\xf8\x2f\x9c\x3f\x66"
      "\xf1\x5f\x24\x7f\xcc\xe2\xbf\x68\xfe\x98\xc5\x7f\xb1\xfc\x31\x8b\xff\xe2"
      "\xf9\x63\x16\xff\x25\xf2\xc7\x2c\xfe\x4b\xe6\x8f\x59\xfc\x97\xca\x1f\xb3"
      "\xf8\x2f\x9d\x3f\x66\xf1\x5f\x26\x7f\xcc\xe2\xff\xbe\xfc\x31\x8b\xff\xfb"
      "\xf3\xc7\x2c\xfe\x1f\xc8\x1f\xb3\xf8\x2f\x9b\x3f\x66\xf1\x5f\x2e\x7f\xcc"
      "\xe2\xbf\x7c\xfe\x98\xc5\x7f\x85\xfc\x31\x8b\xff\x8a\xf9\x63\x16\xff\x95"
      "\xf2\xc7\x2c\xfe\x2b\xe7\x8f\x59\xfc\x57\xc9\x1f\xb3\xf8\xaf\x9a\x3f\x66"
      "\xf1\x5f\x2d\x7f\xcc\xe2\xbf\x7a\xfe\x98\xc5\x7f\x8d\xfc\x31\x8b\xff\x9a"
      "\xf9\x63\x16\xff\xb5\xf2\xc7\x2c\xfe\x6b\xe7\x8f\x59\xfc\xd7\xc9\x1f\xb3"
      "\xf8\xaf\x9b\x3f\x66\xf1\x5f\x2f\x7f\xcc\xe2\xbf\x7e\xfe\x98\xc5\x7f\x83"
      "\xfc\x31\x8b\xff\x86\xf9\x63\x16\xff\x8d\xf2\xc7\x2c\xfe\x1b\xe7\x8f\x59"
      "\xfc\x37\xc9\x1f\xb3\xf8\x6f\x9a\x3f\x66\xf1\xdf\x2c\x7f\xcc\xe2\xbf\x79"
      "\xfe\x98\xc5\x7f\x8b\xfc\x31\x8b\xff\x96\xf9\x63\x16\xff\xad\xf2\xc7\x2c"
      "\xfe\x5b\xe7\x8f\x59\xfc\x3f\x98\x3f\x66\xf1\xdf\x26\x7f\xcc\xe2\xbf\x6d"
      "\xfe\x98\xc5\x7f\xbb\xfc\x31\x8b\xff\xf6\xf9\x63\x16\xff\x1d\xf2\xc7\x2c"
      "\xfe\x3b\xe6\x8f\x59\xfc\x77\xca\x1f\xb3\xf8\xef\x9c\x3f\x66\xf1\xdf\x25"
      "\x7f\xcc\xe2\xbf\x6b\xfe\x98\xc5\x7f\xb7\xfc\x31\x8b\xff\x87\xf2\xc7\x2c"
      "\xfe\xbb\xe7\x8f\x59\xfc\xf7\xc8\x1f\xb3\xf8\xef\x99\x3f\x66\xf1\xdf\x2b"
      "\x7f\xcc\xe2\xbf\x77\xfe\x98\xc5\xff\xc3\xf9\x63\x16\xff\x7d\xf2\xc7\x2c"
      "\xfe\xfb\xe6\x8f\x59\xfc\xf7\xcb\x1f\xb3\xf8\x7f\x24\x7f\xcc\xe2\xff\xd1"
      "\xfc\x31\x8b\xff\xc7\xf2\xc7\x2c\xfe\xfb\xe7\x8f\x59\xfc\x0f\xc8\x1f\xb3"
      "\xf8\x1f\x98\x3f\x66\xf1\x3f\x28\x7f\xcc\xe2\x7f\x70\xfe\x98\xc5\xff\x90"
      "\xfc\x31\x8b\xff\xa1\xf9\x63\x16\xff\xc3\xf2\xc7\x2c\xfe\x87\xe7\x8f\x59"
      "\xfc\x8f\xc8\x1f\xb3\xf8\x1f\x99\x3f\x66\xf1\x3f\x2a\x7f\xcc\xe2\xff\xf1"
      "\xfc\x31\x8b\xff\xd1\xf9\x63\x16\xff\x4f\xe4\x8f\x59\xfc\x3f\x99\x3f\x66"
      "\xf1\x3f\x26\x7f\xcc\xe2\xff\xa9\xfc\x31\x8b\xff\xb1\xf9\x63\x16\xff\xe3"
      "\xf2\xc7\x2c\xfe\xc7\xe7\x8f\x59\xfc\x3f\x9d\x3f\x66\xf1\xff\x4c\xfe\x98"
      "\xc5\xff\x84\xfc\x31\x8b\xff\x89\xf9\x63\x16\xff\x93\xf2\xc7\x2c\xfe\x27"
      "\xe7\x8f\x59\xfc\x4f\xc9\x1f\xb3\xf8\x7f\x36\x7f\xcc\xe2\xff\xb9\xfc\x31"
      "\x8b\xff\xe7\xf3\xc7\x2c\xfe\x5f\xc8\x1f\xb3\xf8\x9f\x9a\x3f\x66\xf1\xff"
      "\x62\xfe\x98\xc5\xff\x4b\xf9\x63\x16\xff\x2f\xe7\x8f\x59\xfc\xbf\x92\x3f"
      "\x66\xf1\x3f\x2d\x7f\xcc\xe2\x7f\x7a\xfe\x98\xc5\xff\x8c\xfc\x31\x8b\xff"
      "\x99\xf9\x63\x16\xff\xb3\xf2\xc7\x2c\xfe\x67\xe7\x8f\x59\xfc\xbf\x9a\x3f"
      "\x66\xf1\xff\x5a\xfe\x98\xc5\xff\x9c\xfc\x31\x8b\xff\xd7\xf3\xc7\x2c\xfe"
      "\xe7\xe6\x8f\x59\xfc\xcf\xcb\x1f\xb3\xf8\x9f\x9f\x3f\x66\xf1\xbf\x20\x7f"
      "\xcc\xe2\x7f\x61\xfe\x98\xc5\xff\x1b\xf9\x63\x16\xff\x6f\xe6\x8f\x59\xfc"
      "\xbf\x95\x3f\x66\xf1\xbf\x28\x7f\xcc\xe2\x7f\x71\xfe\x98\xc5\xff\xdb\xf9"
      "\x63\x16\xff\x4b\xf2\xc7\x2c\xfe\xdf\xc9\x1f\xb3\xf8\x5f\x9a\x3f\x66\xf1"
      "\xbf\x2c\x7f\xcc\xe2\x7f\x79\xfe\x98\xc5\xff\xbb\xf9\x63\x16\xff\xef\xe5"
      "\x8f\x59\xfc\xaf\xc8\x1f\xb3\xf8\x5f\x99\x3f\x66\xf1\xff\x7e\xfe\x98\xc5"
      "\xff\xaa\xfc\x31\x8b\xff\x0f\xf2\xc7\x2c\xfe\x57\xe7\x8f\x59\xfc\x7f\x98"
      "\x3f\x66\xf1\xbf\x26\x7f\xcc\xe2\xff\xa3\xfc\x31\x8b\xff\xb5\xf9\x63\x16"
      "\xff\xeb\xf2\xc7\x2c\xfe\x3f\xce\x1f\xb3\xf8\xff\x24\x7f\xcc\xe2\xff\xd3"
      "\xfc\x31\x8b\xff\xf5\xf9\x63\x16\xff\x9f\xe5\x8f\x59\xfc\x6f\xc8\x1f\xb3"
      "\xf8\xdf\x98\x3f\x66\xf1\xff\x79\xfe\x98\xc5\xff\xa6\xfc\x31\x8b\xff\xcd"
      "\xf9\x63\x16\xff\x5f\xe4\x8f\x59\xfc\x6f\xc9\x1f\xb3\xf8\xdf\x9a\x3f\x66"
      "\xf1\xbf\x2d\x7f\xcc\xe2\x7f\x7b\xfe\x98\xc5\xff\x97\xf9\x63\x16\xff\x3b"
      "\xf2\xc7\x2c\xfe\xbf\xca\x1f\xb3\xf8\xff\x3a\x7f\xcc\xe2\xff\x9b\xfc\x31"
      "\x8b\xff\x6f\xf3\xc7\x2c\xfe\xbf\xcb\x1f\xb3\xf8\xff\x3e\x7f\xcc\xe2\x7f"
      "\x67\xfe\x98\xc5\xff\x0f\xf9\x63\x16\xff\x3f\xe6\x8f\x59\xfc\xff\x94\x3f"
      "\x66\xf1\xbf\x2b\x7f\xcc\xe2\x7f\x77\xfe\x98\xc5\xff\xcf\xf9\x63\x16\xff"
      "\x7b\xf2\xc7\x2c\xfe\x7f\xc9\x1f\xb3\xf8\xdf\x9b\x3f\x66\xf1\xbf\x2f\x7f"
      "\xcc\xe2\xff\xd7\xfc\x31\x8b\xff\xdf\xf2\xc7\x2c\xfe\xf7\xe7\x8f\x59\xfc"
      "\x1f\xc8\x1f\xb3\xf8\x3f\x98\x3f\x66\xf1\x7f\x28\x7f\xcc\xe2\xff\x70\xfe"
      "\x98\xc5\xff\x91\xfc\x31\x8b\xff\xa3\xf9\x63\x16\xff\xc7\xf2\xc7\x2c\xfe"
      "\x8f\xe7\x8f\x59\xfc\x9f\xc8\x1f\xb3\xf8\x3f\x99\x3f\x66\xf1\x7f\x2a\x7f"
      "\xcc\xe2\xff\x74\xfe\x98\xc5\xff\x99\xfc\x31\x8b\xff\xb3\xf9\x63\x16\xff"
      "\xe7\xf2\xc7\x2c\xfe\xcf\xe7\x8f\x59\xfc\x5f\xc8\x1f\xb3\xf8\xbf\x98\x3f"
      "\x66\xf1\x7f\x29\x7f\xcc\xe2\xff\x72\xfe\x98\xc5\xff\x95\xfc\x31\x8b\xff"
      "\xab\xf9\x63\x16\xff\xd7\xf2\xc7\x24\xfe\x43\x07\xf2\xc7\x2c\xfe\x83\xf2"
      "\xc7\x2c\xfe\xe3\xe5\x8f\x59\xfc\x07\xe7\x8f\x59\xfc\x87\xe4\x8f\x59\xfc"
      "\x87\xe6\x8f\x59\xfc\x87\xe5\x8f\x59\xfc\xc7\xcf\x1f\xb3\xf8\x4f\x90\x3f"
      "\x66\xf1\x9f\x30\x7f\xcc\xe2\x3f\x51\xfe\x98\xc5\x7f\xe2\xfc\x31\x8b\xff"
      "\x24\xf9\x63\x16\xff\x49\xf3\xc7\x2c\xfe\xc3\xf3\xc7\x2c\xfe\x93\xe5\x8f"
      "\x59\xfc\x27\xcf\x1f\xb3\xf8\x4f\x91\x3f\x66\xf1\x9f\x32\x7f\xcc\xe2\x3f"
      "\x55\xfe\x98\xc5\x7f\xea\xfc\x31\x8b\xff\x34\xf9\x63\x16\xff\x77\xe4\x8f"
      "\x59\xfc\xdf\x99\x3f\x66\xf1\x9f\x36\x7f\xcc\xe2\x3f\x5d\xfe\x98\xc5\x7f"
      "\xfa\xfc\x31\x8b\xff\xbb\xf2\xc7\x2c\xfe\x33\xe4\x8f\x59\xfc\x47\xe4\x8f"
      "\x59\xfc\xdf\x9d\x3f\x66\xf1\x9f\x31\x7f\xcc\xe2\x3f\x53\xfe\x98\xc5\xff"
      "\x3d\xf9\x63\x16\xff\x99\xf3\xc7\x2c\xfe\xb3\xe4\x8f\x59\xfc\x67\xcd\x1f"
      "\xb3\xf8\xcf\x96\x3f\x66\xf1\x7f\x6f\xfe\x98\xc5\x7f\xf6\xfc\x31\x8b\xff"
      "\x1c\xf9\x63\x16\xff\x39\xf3\xc7\x2c\xfe\x73\xe5\x8f\x59\xfc\xe7\xce\x1f"
      "\xb3\xf8\xcf\x93\x3f\x66\xf1\x9f\x37\x7f\xcc\xe2\x3f\x5f\xfe\x98\xc5\x7f"
      "\xfe\xfc\x31\x8b\xff\x02\xf9\x63\x16\xff\x05\xf3\xc7\x2c\xfe\x0b\xe5\x8f"
      "\x59\xfc\x17\xce\x1f\xb3\xf8\x2f\x92\x3f\x66\xf1\x5f\x34\x7f\xcc\xe2\xbf"
      "\x58\xfe\x98\xc5\x7f\xf1\xfc\x31\x8b\xff\x12\xf9\x63\x16\xff\x25\xf3\xc7"
      "\x2c\xfe\x4b\xe5\x8f\x59\xfc\x97\xce\x1f\xb3\xf8\x2f\x93\x3f\x66\xf1\x7f"
      "\x5f\xfe\x98\xc5\xff\xfd\xf9\x63\x16\xff\x0f\xe4\x8f\x59\xfc\x97\xcd\x1f"
      "\xb3\xf8\x2f\x97\x3f\x66\xf1\x5f\x3e\x7f\xcc\xe2\xbf\x42\xfe\x98\xc5\x7f"
      "\xc5\xfc\x31\x8b\xff\x4a\xf9\x63\x16\xff\x95\xf3\xc7\x2c\xfe\xab\xe4\x8f"
      "\x59\xfc\x57\xcd\x1f\xb3\xf8\xaf\x96\x3f\x66\xf1\x5f\x3d\x7f\xcc\xe2\xbf"
      "\x46\xfe\x98\xc5\x7f\xcd\xfc\x31\x8b\xff\x5a\xf9\x63\x16\xff\xb5\xf3\xc7"
      "\x2c\xfe\xeb\xe4\x8f\x59\xfc\xd7\xcd\x1f\xb3\xf8\xaf\x97\x3f\x66\xf1\x5f"
      "\x3f\x7f\xcc\xe2\xbf\x41\xfe\x98\xc5\x7f\xc3\xfc\x31\x8b\xff\x46\xf9\x63"
      "\x16\xff\x8d\xf3\xc7\x2c\xfe\x9b\xe4\x8f\x59\xfc\x37\xcd\x1f\xb3\xf8\x6f"
      "\x96\x3f\x66\xf1\xdf\x3c\x7f\xcc\xe2\xbf\x45\xfe\x98\xc5\x7f\xcb\xfc\x31"
      "\x8b\xff\x56\xf9\x63\x16\xff\xad\xf3\xc7\x2c\xfe\x1f\xcc\x1f\xb3\xf8\x6f"
      "\x93\x3f\x66\xf1\xdf\x36\x7f\xcc\xe2\xbf\x5d\xfe\x98\xc5\x7f\xfb\xfc\x31"
      "\x8b\xff\x0e\xf9\x63\x16\xff\x1d\xf3\xc7\x2c\xfe\x3b\xe5\x8f\x59\xfc\x77"
      "\xce\x1f\xb3\xf8\xef\x92\x3f\x66\xf1\xdf\x35\x7f\xcc\xe2\xbf\x5b\xfe\x98"
      "\xc5\xff\x43\xf9\x63\x16\xff\xdd\xf3\xc7\x2c\xfe\x7b\xe4\x8f\x59\xfc\xf7"
      "\xcc\x1f\xb3\xf8\xef\x95\x3f\x66\xf1\xdf\x3b\x7f\xcc\xe2\xff\xe1\xfc\x31"
      "\x8b\xff\x3e\xf9\x63\x16\xff\x7d\xf3\xc7\x2c\xfe\xfb\xe5\x8f\x59\xfc\x3f"
      "\x92\x3f\x66\xf1\xff\x68\xfe\x98\xc5\xff\x63\xf9\x63\x16\xff\xfd\xf3\xc7"
      "\x2c\xfe\x07\xe4\x8f\x59\xfc\x0f\xcc\x1f\xb3\xf8\x1f\x94\x3f\x66\xf1\x3f"
      "\x38\x7f\xcc\xe2\x7f\x48\xfe\x98\xc5\xff\xd0\xfc\x31\x8b\xff\x61\xf9\x63"
      "\x16\xff\xc3\xf3\xc7\x2c\xfe\x47\xe4\x8f\x59\xfc\x8f\xcc\x1f\xb3\xf8\x1f"
      "\x95\x3f\x66\xf1\xff\x78\xfe\x98\xc5\xff\xe8\xfc\x31\x8b\xff\x27\xf2\xc7"
      "\x2c\xfe\x9f\xcc\x1f\xb3\xf8\x1f\x93\x3f\x66\xf1\xff\x54\xfe\x98\xc5\xff"
      "\xd8\xfc\x31\x8b\xff\x71\xf9\x63\x16\xff\xe3\xf3\xc7\x2c\xfe\x9f\xce\x1f"
      "\xb3\xf8\x7f\x26\x7f\xcc\xe2\x7f\x42\xfe\x98\xc5\xff\xc4\xfc\x31\x8b\xff"
      "\x49\xf9\x63\x16\xff\x93\xf3\xc7\x2c\xfe\xa7\xe4\x8f\x59\xfc\x3f\x9b\x3f"
      "\x66\xf1\xff\x5c\xfe\x98\xc5\xff\xf3\xf9\x63\x16\xff\x2f\xe4\x8f\x59\xfc"
      "\x4f\xcd\x1f\xb3\xf8\x7f\x31\x7f\xcc\xe2\xff\xa5\xfc\x31\x8b\xff\x97\xf3"
      "\xc7\x2c\xfe\x5f\xc9\x1f\xb3\xf8\x9f\x96\x3f\x66\xf1\x3f\x3d\x7f\xcc\xe2"
      "\x7f\x46\xfe\x98\xc5\xff\xcc\xfc\x31\x8b\xff\x59\xf9\x63\x16\xff\xb3\xf3"
      "\xc7\x2c\xfe\x5f\xcd\x1f\xb3\xf8\x7f\x2d\x7f\xcc\xe2\x7f\x4e\xfe\x98\xc5"
      "\xff\xeb\xf9\x63\x16\xff\x73\xf3\xc7\x2c\xfe\xe7\xe5\x8f\x59\xfc\xcf\xcf"
      "\x1f\xb3\xf8\x5f\x90\x3f\x66\xf1\xbf\x30\x7f\xcc\xe2\xff\x8d\xfc\x31\x8b"
      "\xff\x37\xf3\xc7\x2c\xfe\xdf\xca\x1f\xb3\xf8\x5f\x94\x3f\x66\xf1\xbf\x38"
      "\x7f\xcc\xe2\xff\xed\xfc\x31\x8b\xff\x25\xf9\x63\x16\xff\xef\xe4\x8f\x59"
      "\xfc\x2f\xcd\x1f\xb3\xf8\x5f\x96\x3f\x66\xf1\xbf\x3c\x7f\xcc\xe2\xff\xdd"
      "\xfc\x31\x8b\xff\xf7\xf2\xc7\x2c\xfe\x57\xe4\x8f\x59\xfc\xaf\xcc\x1f\xb3"
      "\xf8\x7f\x3f\x7f\xcc\xe2\x7f\x55\xfe\x98\xc5\xff\x07\xf9\x63\x16\xff\xab"
      "\xf3\xc7\x2c\xfe\x3f\xcc\x1f\xb3\xf8\x5f\x93\x3f\x66\xf1\xff\x51\xfe\x98"
      "\xc5\xff\xda\xfc\x31\x8b\xff\x75\xf9\x63\x16\xff\x1f\xe7\x8f\x59\xfc\x7f"
      "\x92\x3f\x66\xf1\xff\x69\xfe\x98\xc5\xff\xfa\xfc\x31\x8b\xff\xcf\xf2\xc7"
      "\x2c\xfe\x37\xe4\x8f\x59\xfc\x6f\xcc\x1f\xb3\xf8\xff\x3c\x7f\xcc\xe2\x7f"
      "\x53\xfe\x98\xc5\xff\xe6\xfc\x31\x8b\xff\x2f\xf2\xc7\x2c\xfe\xb7\xe4\x8f"
      "\x59\xfc\x6f\xcd\x1f\xb3\xf8\xdf\x96\x3f\x66\xf1\xbf\x3d\x7f\xcc\xe2\xff"
      "\xcb\xfc\x31\x8b\xff\x1d\xf9\x63\x16\xff\x5f\xe5\x8f\x59\xfc\x7f\x9d\x3f"
      "\x66\xf1\xff\x4d\xfe\x98\xc5\xff\xb7\xf9\x63\x16\xff\xdf\xe5\x8f\x59\xfc"
      "\x7f\x9f\x3f\x66\xf1\xbf\x33\x7f\xcc\xe2\xff\x87\xfc\x31\x8b\xff\x1f\xf3"
      "\xc7\x2c\xfe\x7f\xca\x1f\xb3\xf8\xdf\x95\x3f\x66\xf1\xbf\x3b\x7f\xcc\xe2"
      "\xff\xe7\xfc\x31\x8b\xff\x3d\xf9\x63\x16\xff\xbf\xe4\x8f\x59\xfc\xef\xcd"
      "\x1f\xb3\xf8\xdf\x97\x3f\x66\xf1\xff\x6b\xfe\x98\xc5\xff\x6f\xf9\x63\x16"
      "\xff\xfb\xf3\xc7\x2c\xfe\x0f\xe4\x8f\x59\xfc\x1f\xcc\x1f\xb3\xf8\x3f\x94"
      "\x3f\x66\xf1\x7f\x38\x7f\xcc\xe2\xff\x48\xfe\x98\xc5\xff\xd1\xfc\x31\x8b"
      "\xff\x63\xf9\x63\x16\xff\xc7\xf3\xc7\x2c\xfe\x4f\xe4\x8f\x59\xfc\x9f\xcc"
      "\x1f\xb3\xf8\x3f\x95\x3f\x66\xf1\x7f\x3a\x7f\xcc\xe2\xff\x4c\xfe\x98\xc5"
      "\xff\xd9\xfc\x31\x8b\xff\x73\xf9\x63\x16\xff\xe7\xf3\xc7\x2c\xfe\x2f\xe4"
      "\x8f\x59\xfc\x5f\xcc\x1f\xb3\xf8\xbf\x94\x3f\x66\xf1\x7f\x39\x7f\xcc\xe2"
      "\xff\x4a\xfe\x98\xc5\xff\xd5\xfc\x31\x8b\xff\x6b\xf9\x63\x12\xff\x61\x03"
      "\xf9\x63\x16\xff\x41\xf9\x63\x16\xff\xf1\xf2\xc7\x2c\xfe\x83\xf3\xc7\x2c"
      "\xfe\x43\xf2\xc7\x2c\xfe\x43\xf3\xc7\x2c\xfe\xc3\xf2\xc7\x2c\xfe\xe3\xe7"
      "\x8f\x59\xfc\x27\xc8\x1f\xb3\xf8\x4f\x98\x3f\x66\xf1\x9f\x28\x7f\xcc\xe2"
      "\x3f\x71\xfe\x98\xc5\x7f\x92\xfc\x31\x8b\xff\xa4\xf9\x63\x16\xff\xe1\xf9"
      "\x63\x16\xff\xc9\xf2\xc7\x2c\xfe\x93\xe7\x8f\x59\xfc\xa7\xc8\x1f\xb3\xf8"
      "\x4f\x99\x3f\x66\xf1\x9f\x2a\x7f\xcc\xe2\x3f\x75\xfe\x98\xc5\x7f\x9a\xfc"
      "\x31\x8b\xff\x3b\xf2\xc7\x2c\xfe\xef\xcc\x1f\xb3\xf8\x4f\x9b\x3f\x66\xf1"
      "\x9f\x2e\x7f\xcc\xe2\x3f\x7d\xfe\x98\xc5\xff\x5d\xf9\x63\x16\xff\x19\xf2"
      "\xc7\x2c\xfe\x23\xf2\xc7\x2c\xfe\xef\xce\x1f\xb3\xf8\xcf\x98\x3f\x66\xf1"
      "\x9f\x29\x7f\xcc\xe2\xff\x9e\xfc\x31\x8b\xff\xcc\xf9\x63\x16\xff\x59\xf2"
      "\xc7\x2c\xfe\xb3\xe6\x8f\x59\xfc\x67\xcb\x1f\xb3\xf8\xbf\x37\x7f\xcc\xe2"
      "\x3f\x7b\xfe\x98\xc5\x7f\x8e\xfc\x31\x8b\xff\x9c\xf9\x63\x16\xff\xb9\xf2"
      "\xc7\x2c\xfe\x73\xe7\x8f\x59\xfc\xe7\xc9\x1f\xb3\xf8\xcf\x9b\x3f\x66\xf1"
      "\x9f\x2f\x7f\xcc\xe2\x3f\x7f\xfe\x98\xc5\x7f\x81\xfc\x31\x8b\xff\x82\xf9"
      "\x63\x16\xff\x85\xf2\xc7\x2c\xfe\x0b\xe7\x8f\x59\xfc\x17\xc9\x1f\xb3\xf8"
      "\x2f\x9a\x3f\x66\xf1\x5f\x2c\x7f\xcc\xe2\xbf\x78\xfe\x98\xc5\x7f\x89\xfc"
      "\x31\x8b\xff\x92\xf9\x63\x16\xff\xa5\xf2\xc7\x2c\xfe\x4b\xe7\x8f\x59\xfc"
      "\x97\xc9\x1f\xb3\xf8\xbf\x2f\x7f\xcc\xe2\xff\xfe\xfc\x31\x8b\xff\x07\xf2"
      "\xc7\x2c\xfe\xcb\xe6\x8f\x59\xfc\x97\xcb\x1f\xb3\xf8\x2f\x9f\x3f\x66\xf1"
      "\x5f\x21\x7f\xcc\xe2\xbf\x62\xfe\x98\xc5\x7f\xa5\xfc\x31\x8b\xff\xca\xf9"
      "\x63\x16\xff\x55\xf2\xc7\x2c\xfe\xab\xe6\x8f\x59\xfc\x57\xcb\x1f\xb3\xf8"
      "\xaf\x9e\x3f\x66\xf1\x5f\x23\x7f\xcc\xe2\xbf\x66\xfe\x98\xc5\x7f\xad\xfc"
      "\x31\x8b\xff\xda\xf9\x63\x16\xff\x75\xf2\xc7\x2c\xfe\xeb\xe6\x8f\x59\xfc"
      "\xd7\xcb\x1f\xb3\xf8\xaf\x9f\x3f\x66\xf1\xdf\x20\x7f\xcc\xe2\xbf\x61\xfe"
      "\x98\xc5\x7f\xa3\xfc\x31\x8b\xff\xc6\xf9\x63\x16\xff\x4d\xf2\xc7\x2c\xfe"
      "\x9b\xe6\x8f\x59\xfc\x37\xcb\x1f\xb3\xf8\x6f\x9e\x3f\x66\xf1\xdf\x22\x7f"
      "\xcc\xe2\xbf\x65\xfe\x98\xc5\x7f\xab\xfc\x31\x8b\xff\xd6\xf9\x63\x16\xff"
      "\x0f\xe6\x8f\x59\xfc\xb7\xc9\x1f\xb3\xf8\x6f\x9b\x3f\x66\xf1\xdf\x2e\x7f"
      "\xcc\xe2\xbf\x7d\xfe\x98\xc5\x7f\x87\xfc\x31\x8b\xff\x8e\xf9\x63\x16\xff"
      "\x9d\xf2\xc7\x2c\xfe\x3b\xe7\x8f\x59\xfc\x77\xc9\x1f\xb3\xf8\xef\x9a\x3f"
      "\x66\xf1\xdf\x2d\x7f\xcc\xe2\xff\xa1\xfc\x31\x8b\xff\xee\xf9\x63\x16\xff"
      "\x3d\xf2\xc7\x2c\xfe\x7b\xe6\x8f\x59\xfc\xf7\xca\x1f\xb3\xf8\xef\x9d\x3f"
      "\x66\xf1\xff\x70\xfe\x98\xc5\x7f\x9f\xfc\x31\x8b\xff\xbe\xf9\x63\x16\xff"
      "\xfd\xf2\xc7\x2c\xfe\x1f\xc9\x1f\xb3\xf8\x7f\x34\x7f\xcc\xe2\xff\xb1\xfc"
      "\x31\x8b\xff\xfe\xf9\x63\x16\xff\x03\xf2\xc7\x2c\xfe\x07\xe6\x8f\x59\xfc"
      "\x0f\xca\x1f\xb3\xf8\x1f\x9c\x3f\x66\xf1\x3f\x24\x7f\xcc\xe2\x7f\x68\xfe"
      "\x98\xc5\xff\xb0\xfc\x31\x8b\xff\xe1\xf9\x63\x16\xff\x23\xf2\xc7\x2c\xfe"
      "\x47\xe6\x8f\x59\xfc\x8f\xca\x1f\xb3\xf8\x7f\x3c\x7f\xcc\xe2\x7f\x74\xfe"
      "\x98\xc5\xff\x13\xf9\x63\x16\xff\x4f\xe6\x8f\x59\xfc\x8f\xc9\x1f\xb3\xf8"
      "\x7f\x2a\x7f\xcc\xe2\x7f\x6c\xfe\x98\xc5\xff\xb8\xfc\x31\x8b\xff\xf1\xf9"
      "\x63\x16\xff\x4f\xe7\x8f\x59\xfc\x3f\x93\x3f\x66\xf1\x3f\x21\x7f\xcc\xe2"
      "\x7f\x62\xfe\x98\xc5\xff\xa4\xfc\x31\x8b\xff\xc9\xf9\x63\x16\xff\x53\xf2"
      "\xc7\x2c\xfe\x9f\xcd\x1f\xb3\xf8\x7f\x2e\x7f\xcc\xe2\xff\xf9\xfc\x31\x8b"
      "\xff\x17\xf2\xc7\x2c\xfe\xa7\xe6\x8f\x59\xfc\xbf\x98\x3f\x66\xf1\xff\x52"
      "\xfe\x98\xc5\xff\xcb\xf9\x63\x16\xff\xaf\xe4\x8f\x59\xfc\x4f\xcb\x1f\xb3"
      "\xf8\x9f\x9e\x3f\x66\xf1\x3f\x23\x7f\xcc\xe2\x7f\x66\xfe\x98\xc5\xff\xac"
      "\xfc\x31\x8b\xff\xd9\xf9\x63\x16\xff\xaf\xe6\x8f\x59\xfc\xbf\x96\x3f\x66"
      "\xf1\x3f\x27\x7f\xcc\xe2\xff\xf5\xfc\x31\x8b\xff\xb9\xf9\x63\x16\xff\xf3"
      "\xf2\xc7\x2c\xfe\xe7\xe7\x8f\x59\xfc\x2f\xc8\x1f\xb3\xf8\x5f\x98\x3f\x66"
      "\xf1\xff\x46\xfe\x98\xc5\xff\x9b\xf9\x63\x16\xff\x6f\xe5\x8f\x59\xfc\x2f"
      "\xca\x1f\xb3\xf8\x5f\x9c\x3f\x66\xf1\xff\x76\xfe\x98\xc5\xff\x92\xfc\x31"
      "\x8b\xff\x77\xf2\xc7\x2c\xfe\x97\xe6\x8f\x59\xfc\x2f\xcb\x1f\xb3\xf8\x5f"
      "\x9e\x3f\x66\xf1\xff\x6e\xfe\x98\xc5\xff\x7b\xf9\x63\x16\xff\x2b\xf2\xc7"
      "\x2c\xfe\x57\xe6\x8f\x59\xfc\xbf\x9f\x3f\x66\xf1\xbf\x2a\x7f\xcc\xe2\xff"
      "\x83\xfc\x31\x8b\xff\xd5\xf9\x63\x16\xff\x1f\xe6\x8f\x59\xfc\xaf\xc9\x1f"
      "\xb3\xf8\xff\x28\x7f\xcc\xe2\x7f\x6d\xfe\x98\xc5\xff\xba\xfc\x31\x8b\xff"
      "\x8f\xf3\xc7\x2c\xfe\x3f\xc9\x1f\xb3\xf8\xff\x34\x7f\xcc\xe2\x7f\x7d\xfe"
      "\x98\xc5\xff\x67\xf9\x63\x16\xff\x1b\xf2\xc7\x2c\xfe\x37\xe6\x8f\x59\xfc"
      "\x7f\x9e\x3f\x66\xf1\xbf\x29\x7f\xcc\xe2\x7f\x73\xfe\x98\xc5\xff\x17\xf9"
      "\x63\x16\xff\x5b\xf2\xc7\x2c\xfe\xb7\xe6\x8f\x59\xfc\x6f\xcb\x1f\xb3\xf8"
      "\xdf\x9e\x3f\x66\xf1\xff\x65\xfe\x98\xc5\xff\x8e\xfc\x31\x8b\xff\xaf\xf2"
      "\xc7\x2c\xfe\xbf\xce\x1f\xb3\xf8\xff\x26\x7f\xcc\xe2\xff\xdb\xfc\x31\x8b"
      "\xff\xef\xf2\xc7\x2c\xfe\xbf\xcf\x1f\xb3\xf8\xdf\x99\x3f\x66\xf1\xff\x43"
      "\xfe\x98\xc5\xff\x8f\xf9\x63\x16\xff\x3f\xe5\x8f\x59\xfc\xef\xca\x1f\xb3"
      "\xf8\xdf\x9d\x3f\x66\xf1\xff\x73\xfe\x98\xc5\xff\x9e\xfc\x31\x8b\xff\x5f"
      "\xf2\xc7\x2c\xfe\xf7\xe6\x8f\x59\xfc\xef\xcb\x1f\xb3\xf8\xff\x35\x7f\xcc"
      "\xe2\xff\xb7\xfc\x31\x8b\xff\xfd\xf9\x63\x16\xff\x07\xf2\xc7\x2c\xfe\x0f"
      "\xe6\x8f\x59\xfc\x1f\xca\x1f\xb3\xf8\x3f\x9c\x3f\x66\xf1\x7f\x24\x7f\xcc"
      "\xe2\xff\x68\xfe\x98\xc5\xff\xb1\xfc\x31\x8b\xff\xe3\xf9\x63\x16\xff\x27"
      "\xf2\xc7\x2c\xfe\x4f\xe6\x8f\x59\xfc\x9f\xca\x1f\xb3\xf8\x3f\x9d\x3f\x66"
      "\xf1\x7f\x26\x7f\xcc\xe2\xff\x6c\xfe\x98\xc5\xff\xb9\xfc\x31\x8b\xff\xf3"
      "\xf9\x63\x16\xff\x17\xf2\xc7\x2c\xfe\x2f\xe6\x8f\x59\xfc\x5f\xca\x1f\xb3"
      "\xf8\xbf\x9c\x3f\x66\xf1\x7f\x25\x7f\xcc\xe2\xff\x6a\xfe\x98\xc5\xff\xb5"
      "\xfc\x31\x89\xff\xf8\x03\xf9\x63\x16\xff\x41\xf9\x63\x16\xff\xf1\xf2\xc7"
      "\x2c\xfe\x83\xf3\xc7\x2c\xfe\x43\xf2\xc7\x2c\xfe\x43\xf3\xc7\x2c\xfe\xc3"
      "\xf2\xc7\x2c\xfe\xe3\xe7\x8f\x59\xfc\x27\xc8\x1f\xb3\xf8\x4f\x98\x3f\x66"
      "\xf1\x9f\x28\x7f\xcc\xe2\x3f\x71\xfe\x98\xc5\x7f\x92\xfc\x31\x8b\xff\xa4"
      "\xf9\x63\x16\xff\xe1\xf9\x63\x16\xff\xc9\xf2\xc7\x2c\xfe\x93\xe7\x8f\x59"
      "\xfc\xa7\xc8\x1f\xb3\xf8\x4f\x99\x3f\x66\xf1\x9f\x2a\x7f\xcc\xe2\x3f\x75"
      "\xfe\x98\xc5\x7f\x9a\xfc\x31\x8b\xff\x3b\xf2\xc7\x2c\xfe\xef\xcc\x1f\xb3"
      "\xf8\x4f\x9b\x3f\x66\xf1\x9f\x2e\x7f\xcc\xe2\x3f\x7d\xfe\x98\xc5\xff\x5d"
      "\xf9\x63\x16\xff\x19\xf2\xc7\x2c\xfe\x23\xf2\xc7\x2c\xfe\xef\xce\x1f\xb3"
      "\xf8\xcf\x98\x3f\x66\xf1\x9f\x29\x7f\xcc\xe2\xff\x9e\xfc\x31\x8b\xff\xcc"
      "\xf9\x63\x16\xff\x59\xf2\xc7\x2c\xfe\xb3\xe6\x8f\x59\xfc\x67\xcb\x1f\xb3"
      "\xf8\xbf\x37\x7f\xcc\xe2\x3f\x7b\xfe\x98\xc5\x7f\x8e\xfc\x31\x8b\xff\x9c"
      "\xf9\x63\x16\xff\xb9\xf2\xc7\x2c\xfe\x73\xe7\x8f\x59\xfc\xe7\xc9\x1f\xb3"
      "\xf8\xcf\x9b\x3f\x66\xf1\x9f\x2f\x7f\xcc\xe2\x3f\x7f\xfe\x98\xc5\x7f\x81"
      "\xfc\x31\x8b\xff\x82\xf9\x63\x16\xff\x85\xf2\xc7\x2c\xfe\x0b\xe7\x8f\x59"
      "\xfc\x17\xc9\x1f\xb3\xf8\x2f\x9a\x3f\x66\xf1\x5f\x2c\x7f\xcc\xe2\xbf\x78"
      "\xfe\x98\xc5\x7f\x89\xfc\x31\x8b\xff\x92\xf9\x63\x16\xff\xa5\xf2\xc7\x2c"
      "\xfe\x4b\xe7\x8f\x59\xfc\x97\xc9\x1f\xb3\xf8\xbf\x2f\x7f\xcc\xe2\xff\xfe"
      "\xfc\x31\x8b\xff\x07\xf2\xc7\x2c\xfe\xcb\xe6\x8f\x59\xfc\x97\xcb\x1f\xb3"
      "\xf8\x2f\x9f\x3f\x66\xf1\x5f\x21\x7f\xcc\xe2\xbf\x62\xfe\x98\xc5\x7f\xa5"
      "\xfc\x31\x8b\xff\xca\xf9\x63\x16\xff\x55\xf2\xc7\x2c\xfe\xab\xe6\x8f\x59"
      "\xfc\x57\xcb\x1f\xb3\xf8\xaf\x9e\x3f\x66\xf1\x5f\x23\x7f\xcc\xe2\xbf\x66"
      "\xfe\x98\xc5\x7f\xad\xfc\x31\x8b\xff\xda\xf9\x63\x16\xff\x75\xf2\xc7\x2c"
      "\xfe\xeb\xe6\x8f\x59\xfc\xd7\xcb\x1f\xb3\xf8\xaf\x9f\x3f\x66\xf1\xdf\x20"
      "\x7f\xcc\xe2\xbf\x61\xfe\x98\xc5\x7f\xa3\xfc\x31\x8b\xff\xc6\xf9\x63\x16"
      "\xff\x4d\xf2\xc7\x2c\xfe\x9b\xe6\x8f\x59\xfc\x37\xcb\x1f\xb3\xf8\x6f\x9e"
      "\x3f\x66\xf1\xdf\x22\x7f\xcc\xe2\xbf\x65\xfe\x98\xc5\x7f\xab\xfc\x31\x8b"
      "\xff\xd6\xf9\x63\x16\xff\x0f\xe6\x8f\x59\xfc\xb7\xc9\x1f\xb3\xf8\x6f\x9b"
      "\x3f\x66\xf1\xdf\x2e\x7f\xcc\xe2\xbf\x7d\xfe\x98\xc5\x7f\x87\xfc\x31\x8b"
      "\xff\x8e\xf9\x63\x16\xff\x9d\xf2\xc7\x2c\xfe\x3b\xe7\x8f\x59\xfc\x77\xc9"
      "\x1f\xb3\xf8\xef\x9a\x3f\x66\xf1\xdf\x2d\x7f\xcc\xe2\xff\xa1\xfc\x31\x8b"
      "\xff\xee\xf9\x63\x16\xff\x3d\xf2\xc7\x2c\xfe\x7b\xe6\x8f\x59\xfc\xf7\xca"
      "\x1f\xb3\xf8\xef\x9d\x3f\x66\xf1\xff\x70\xfe\x98\xc5\x7f\x9f\xfc\x31\x8b"
      "\xff\xbe\xf9\x63\x16\xff\xfd\xf2\xc7\x2c\xfe\x1f\xc9\x1f\xb3\xf8\x7f\x34"
      "\x7f\xcc\xe2\xff\xb1\xfc\x31\x8b\xff\xfe\xf9\x63\x16\xff\x03\xf2\xc7\x2c"
      "\xfe\x07\xe6\x8f\x59\xfc\x0f\xca\x1f\xb3\xf8\x1f\x9c\x3f\x66\xf1\x3f\x24"
      "\x7f\xcc\xe2\x7f\x68\xfe\x98\xc5\xff\xb0\xfc\x31\x8b\xff\xe1\xf9\x63\x16"
      "\xff\x23\xf2\xc7\x2c\xfe\x47\xe6\x8f\x59\xfc\x8f\xca\x1f\xb3\xf8\x7f\x3c"
      "\x7f\xcc\xe2\x7f\x74\xfe\x98\xc5\xff\x13\xf9\x63\x16\xff\x4f\xe6\x8f\x59"
      "\xfc\x8f\xc9\x1f\xb3\xf8\x7f\x2a\x7f\xcc\xe2\x7f\x6c\xfe\x98\xc5\xff\xb8"
      "\xfc\x31\x8b\xff\xf1\xf9\x63\x16\xff\x4f\xe7\x8f\x59\xfc\x3f\x93\x3f\x66"
      "\xf1\x3f\x21\x7f\xcc\xe2\x7f\x62\xfe\x98\xc5\xff\xa4\xfc\x31\x8b\xff\xc9"
      "\xf9\x63\x16\xff\x53\xf2\xc7\x2c\xfe\x9f\xcd\x1f\xb3\xf8\x7f\x2e\x7f\xcc"
      "\xe2\xff\xf9\xfc\x31\x8b\xff\x17\xf2\xc7\x2c\xfe\xa7\xe6\x8f\x59\xfc\xbf"
      "\x98\x3f\x66\xf1\xff\x52\xfe\x98\xc5\xff\xcb\xf9\x63\x16\xff\xaf\xe4\x8f"
      "\x59\xfc\x4f\xcb\x1f\xb3\xf8\x9f\x9e\x3f\x66\xf1\x3f\x23\x7f\xcc\xe2\x7f"
      "\x66\xfe\x98\xc5\xff\xac\xfc\x31\x8b\xff\xd9\xf9\x63\x16\xff\xaf\xe6\x8f"
      "\x59\xfc\xbf\x96\x3f\x66\xf1\x3f\x27\x7f\xcc\xe2\xff\xf5\xfc\x31\x8b\xff"
      "\xb9\xf9\x63\x16\xff\xf3\xf2\xc7\x2c\xfe\xe7\xe7\x8f\x59\xfc\x2f\xc8\x1f"
      "\xb3\xf8\x5f\x98\x3f\x66\xf1\xff\x46\xfe\x98\xc5\xff\x9b\xf9\x63\x16\xff"
      "\x6f\xe5\x8f\x59\xfc\x2f\xca\x1f\xb3\xf8\x5f\x9c\x3f\x66\xf1\xff\x76\xfe"
      "\x98\xc5\xff\x92\xfc\x31\x8b\xff\x77\xf2\xc7\x2c\xfe\x97\xe6\x8f\x59\xfc"
      "\x2f\xcb\x1f\xb3\xf8\x5f\x9e\x3f\x66\xf1\xff\x6e\xfe\x98\xc5\xff\x7b\xf9"
      "\x63\x16\xff\x2b\xf2\xc7\x2c\xfe\x57\xe6\x8f\x59\xfc\xbf\x9f\x3f\x66\xf1"
      "\xbf\x2a\x7f\xcc\xe2\xff\x83\xfc\x31\x8b\xff\xd5\xf9\x63\x16\xff\x1f\xe6"
      "\x8f\x59\xfc\xaf\xc9\x1f\xb3\xf8\xff\x28\x7f\xcc\xe2\x7f\x6d\xfe\x98\xc5"
      "\xff\xba\xfc\x31\x8b\xff\x8f\xf3\xc7\x2c\xfe\x3f\xc9\x1f\xb3\xf8\xff\x34"
      "\x7f\xcc\xe2\x7f\x7d\xfe\x98\xc5\xff\x67\xf9\x63\x16\xff\x1b\xf2\xc7\x2c"
      "\xfe\x37\xe6\x8f\x59\xfc\x7f\x9e\x3f\x66\xf1\xbf\x29\x7f\xcc\xe2\x7f\x73"
      "\xfe\x98\xc5\xff\x17\xf9\x63\x16\xff\x5b\xf2\xc7\x2c\xfe\xb7\xe6\x8f\x59"
      "\xfc\x6f\xcb\x1f\xb3\xf8\xdf\x9e\x3f\x66\xf1\xff\x65\xfe\x98\xc5\xff\x8e"
      "\xfc\x31\x8b\xff\xaf\xf2\xc7\x2c\xfe\xbf\xce\x1f\xb3\xf8\xff\x26\x7f\xcc"
      "\xe2\xff\xdb\xfc\x31\x8b\xff\xef\xf2\xc7\x2c\xfe\xbf\xcf\x1f\xb3\xf8\xdf"
      "\x99\x3f\x66\xf1\xff\x43\xfe\x98\xc5\xff\x8f\xf9\x63\x16\xff\x3f\xe5\x8f"
      "\x59\xfc\xef\xca\x1f\xb3\xf8\xdf\x9d\x3f\x66\xf1\xff\x73\xfe\x98\xc5\xff"
      "\x9e\xfc\x31\x8b\xff\x5f\xf2\xc7\x2c\xfe\xf7\xe6\x8f\x59\xfc\xef\xcb\x1f"
      "\xb3\xf8\xff\x35\x7f\xcc\xe2\xff\xb7\xfc\x31\x8b\xff\xfd\xf9\x63\x16\xff"
      "\x07\xf2\xc7\x2c\xfe\x0f\xe6\x8f\x59\xfc\x1f\xca\x1f\xb3\xf8\x3f\x9c\x3f"
      "\x66\xf1\x7f\x24\x7f\xcc\xe2\xff\x68\xfe\x98\xc5\xff\xb1\xfc\x31\x8b\xff"
      "\xe3\xf9\x63\x16\xff\x27\xf2\xc7\x2c\xfe\x4f\xe6\x8f\x59\xfc\x9f\xca\x1f"
      "\xb3\xf8\x3f\x9d\x3f\x66\xf1\x7f\x26\x7f\xcc\xe2\xff\x6c\xfe\x98\xc5\xff"
      "\xb9\xfc\x31\x8b\xff\xf3\xf9\x63\x16\xff\x17\xf2\xc7\x2c\xfe\x2f\xe6\x8f"
      "\x59\xfc\x5f\xca\x1f\xb3\xf8\xbf\x9c\x3f\x66\xf1\x7f\x25\x7f\xcc\xe2\xff"
      "\x6a\xfe\x98\xc5\xff\xb5\xfc\x31\x89\xff\x04\x03\xf9\x63\x16\xff\x41\xf9"
      "\x63\x16\xff\xf1\xf2\xc7\x2c\xfe\x83\xf3\xc7\x2c\xfe\x43\xf2\xc7\x2c\xfe"
      "\x43\xf3\xc7\x2c\xfe\xc3\xf2\xc7\x2c\xfe\xe3\xe7\x8f\x59\xfc\x27\xc8\x1f"
      "\xb3\xf8\x4f\x98\x3f\x66\xf1\x9f\x28\x7f\xcc\xe2\x3f\x71\xfe\x98\xc5\x7f"
      "\x92\xfc\x31\x8b\xff\xa4\xf9\x63\x16\xff\xe1\xf9\x63\x16\xff\xc9\xf2\xc7"
      "\x2c\xfe\x93\xe7\x8f\x59\xfc\xa7\xc8\x1f\xb3\xf8\x4f\x99\x3f\x66\xf1\x9f"
      "\x2a\x7f\xcc\xe2\x3f\x75\xfe\x98\xc5\x7f\x9a\xfc\x31\x8b\xff\x3b\xf2\xc7"
      "\x2c\xfe\xef\xcc\x1f\xb3\xf8\x4f\x9b\x3f\x66\xf1\x9f\x2e\x7f\xcc\xe2\x3f"
      "\x7d\xfe\x98\xc5\xff\x5d\xf9\x63\x16\xff\x19\xf2\xc7\x2c\xfe\x23\xf2\xc7"
      "\x2c\xfe\xef\xce\x1f\xb3\xf8\xcf\x98\x3f\x66\xf1\x9f\x29\x7f\xcc\xe2\xff"
      "\x9e\xfc\x31\x8b\xff\xcc\xf9\x63\x16\xff\x59\xf2\xc7\x2c\xfe\xb3\xe6\x8f"
      "\x59\xfc\x67\xcb\x1f\xb3\xf8\xbf\x37\x7f\xcc\xe2\x3f\x7b\xfe\x98\xc5\x7f"
      "\x8e\xfc\x31\x8b\xff\x9c\xf9\x63\x16\xff\xb9\xf2\xc7\x2c\xfe\x73\xe7\x8f"
      "\x59\xfc\xe7\xc9\x1f\xb3\xf8\xcf\x9b\x3f\x66\xf1\x9f\x2f\x7f\xcc\xe2\x3f"
      "\x7f\xfe\x98\xc5\x7f\x81\xfc\x31\x8b\xff\x82\xf9\x63\x16\xff\x85\xf2\xc7"
      "\x2c\xfe\x0b\xe7\x8f\x59\xfc\x17\xc9\x1f\xb3\xf8\x2f\x9a\x3f\x66\xf1\x5f"
      "\x2c\x7f\xcc\xe2\xbf\x78\xfe\x98\xc5\x7f\x89\xfc\x31\x8b\xff\x92\xf9\x63"
      "\x16\xff\xa5\xf2\xc7\x2c\xfe\x4b\xe7\x8f\x59\xfc\x97\xc9\x1f\xb3\xf8\xbf"
      "\x2f\x7f\xcc\xe2\xff\xfe\xfc\x31\x8b\xff\x07\xf2\xc7\x2c\xfe\xcb\xe6\x8f"
      "\x59\xfc\x97\xcb\x1f\xb3\xf8\x2f\x9f\x3f\x66\xf1\x5f\x21\x7f\xcc\xe2\xbf"
      "\x62\xfe\x98\xc5\x7f\xa5\xfc\x31\x8b\xff\xca\xf9\x63\x16\xff\x55\xf2\xc7"
      "\x2c\xfe\xab\xe6\x8f\x59\xfc\x57\xcb\x1f\xb3\xf8\xaf\x9e\x3f\x66\xf1\x5f"
      "\x23\x7f\xcc\xe2\xbf\x66\xfe\x98\xc5\x7f\xad\xfc\x31\x8b\xff\xda\xf9\x63"
      "\x16\xff\x75\xf2\xc7\x2c\xfe\xeb\xe6\x8f\x59\xfc\xd7\xcb\x1f\xb3\xf8\xaf"
      "\x9f\x3f\x66\xf1\xdf\x20\x7f\xcc\xe2\xbf\x61\xfe\x98\xc5\x7f\xa3\xfc\x31"
      "\x8b\xff\xc6\xf9\x63\x16\xff\x4d\xf2\xc7\x2c\xfe\x9b\xe6\x8f\x59\xfc\x37"
      "\xcb\x1f\xb3\xf8\x6f\x9e\x3f\x66\xf1\xdf\x22\x7f\xcc\xe2\xbf\x65\xfe\x98"
      "\xc5\x7f\xab\xfc\x31\x8b\xff\xd6\xf9\x63\x16\xff\x0f\xe6\x8f\x59\xfc\xb7"
      "\xc9\x1f\xb3\xf8\x6f\x9b\x3f\x66\xf1\xdf\x2e\x7f\xcc\xe2\xbf\x7d\xfe\x98"
      "\xc5\x7f\x87\xfc\x31\x8b\xff\x8e\xf9\x63\x16\xff\x9d\xf2\xc7\x2c\xfe\x3b"
      "\xe7\x8f\x59\xfc\x77\xc9\x1f\xb3\xf8\xef\x9a\x3f\x66\xf1\xdf\x2d\x7f\xcc"
      "\xe2\xff\xa1\xfc\x31\x8b\xff\xee\xf9\x63\x16\xff\x3d\xf2\xc7\x2c\xfe\x7b"
      "\xe6\x8f\x59\xfc\xf7\xca\x1f\xb3\xf8\xef\x9d\x3f\x66\xf1\xff\x70\xfe\x98"
      "\xc5\x7f\x9f\xfc\x31\x8b\xff\xbe\xf9\x63\x16\xff\xfd\xf2\xc7\x2c\xfe\x1f"
      "\xc9\x1f\xb3\xf8\x7f\x34\x7f\xcc\xe2\xff\xb1\xfc\x31\x8b\xff\xfe\xf9\x63"
      "\x16\xff\x03\xf2\xc7\x2c\xfe\x07\xe6\x8f\x59\xfc\x0f\xca\x1f\xb3\xf8\x1f"
      "\x9c\x3f\x66\xf1\x3f\x24\x7f\xcc\xe2\x7f\x68\xfe\x98\xc5\xff\xb0\xfc\x31"
      "\x8b\xff\xe1\xf9\x63\x16\xff\x23\xf2\xc7\x2c\xfe\x47\xe6\x8f\x59\xfc\x8f"
      "\xca\x1f\xb3\xf8\x7f\x3c\x7f\xcc\xe2\x7f\x74\xfe\x98\xc5\xff\x13\xf9\x63"
      "\x16\xff\x4f\xe6\x8f\x59\xfc\x8f\xc9\x1f\xb3\xf8\x7f\x2a\x7f\xcc\xe2\x7f"
      "\x6c\xfe\x98\xc5\xff\xb8\xfc\x31\x8b\xff\xf1\xf9\x63\x16\xff\x4f\xe7\x8f"
      "\x59\xfc\x3f\x93\x3f\x66\xf1\x3f\x21\x7f\xcc\xe2\x7f\x62\xfe\x98\xc5\xff"
      "\xa4\xfc\x31\x8b\xff\xc9\xf9\x63\x16\xff\x53\xf2\xc7\x2c\xfe\x9f\xcd\x1f"
      "\xb3\xf8\x7f\x2e\x7f\xcc\xe2\xff\xf9\xfc\x31\x8b\xff\x17\xf2\xc7\x2c\xfe"
      "\xa7\xe6\x8f\x59\xfc\xbf\x98\x3f\x66\xf1\xff\x52\xfe\x98\xc5\xff\xcb\xf9"
      "\x63\x16\xff\xaf\xe4\x8f\x59\xfc\x4f\xcb\x1f\xb3\xf8\x9f\x9e\x3f\x66\xf1"
      "\x3f\x23\x7f\xcc\xe2\x7f\x66\xfe\x98\xc5\xff\xac\xfc\x31\x8b\xff\xd9\xf9"
      "\x63\x16\xff\xaf\xe6\x8f\x59\xfc\xbf\x96\x3f\x66\xf1\x3f\x27\x7f\xcc\xe2"
      "\xff\xf5\xfc\x31\x8b\xff\xb9\xf9\x63\x16\xff\xf3\xf2\xc7\x2c\xfe\xe7\xe7"
      "\x8f\x59\xfc\x2f\xc8\x1f\xb3\xf8\x5f\x98\x3f\x66\xf1\xff\x46\xfe\x98\xc5"
      "\xff\x9b\xf9\x63\x16\xff\x6f\xe5\x8f\x59\xfc\x2f\xca\x1f\xb3\xf8\x5f\x9c"
      "\x3f\x66\xf1\xff\x76\xfe\x98\xc5\xff\x92\xfc\x31\x8b\xff\x77\xf2\xc7\x2c"
      "\xfe\x97\xe6\x8f\x59\xfc\x2f\xcb\x1f\xb3\xf8\x5f\x9e\x3f\x66\xf1\xff\x6e"
      "\xfe\x98\xc5\xff\x7b\xf9\x63\x16\xff\x2b\xf2\xc7\x2c\xfe\x57\xe6\x8f\x59"
      "\xfc\xbf\x9f\x3f\x66\xf1\xbf\x2a\x7f\xcc\xe2\xff\x83\xfc\x31\x8b\xff\xd5"
      "\xf9\x63\x16\xff\x1f\xe6\x8f\x59\xfc\xaf\xc9\x1f\xb3\xf8\xff\x28\x7f\xcc"
      "\xe2\x7f\x6d\xfe\x98\xc5\xff\xba\xfc\x31\x8b\xff\x8f\xf3\xc7\x2c\xfe\x3f"
      "\xc9\x1f\xb3\xf8\xff\x34\x7f\xcc\xe2\x7f\x7d\xfe\x98\xc5\xff\x67\xf9\x63"
      "\x16\xff\x1b\xf2\xc7\x2c\xfe\x37\xe6\x8f\x59\xfc\x7f\x9e\x3f\x66\xf1\xbf"
      "\x29\x7f\xcc\xe2\x7f\x73\xfe\x98\xc5\xff\x17\xf9\x63\x16\xff\x5b\xf2\xc7"
      "\x2c\xfe\xb7\xe6\x8f\x59\xfc\x6f\xcb\x1f\xb3\xf8\xdf\x9e\x3f\x66\xf1\xff"
      "\x65\xfe\x98\xc5\xff\x8e\xfc\x31\x8b\xff\xaf\xf2\xc7\x2c\xfe\xbf\xce\x1f"
      "\xb3\xf8\xff\x26\x7f\xcc\xe2\xff\xdb\xfc\x31\x8b\xff\xef\xf2\xc7\x2c\xfe"
      "\xbf\xcf\x1f\xb3\xf8\xdf\x99\x3f\x66\xf1\xff\x43\xfe\x98\xc5\xff\x8f\xf9"
      "\x63\x16\xff\x3f\xe5\x8f\x59\xfc\xef\xca\x1f\xb3\xf8\xdf\x9d\x3f\x66\xf1"
      "\xff\x73\xfe\x98\xc5\xff\x9e\xfc\x31\x8b\xff\x5f\xf2\xc7\x2c\xfe\xf7\xe6"
      "\x8f\x59\xfc\xef\xcb\x1f\xb3\xf8\xff\x35\x7f\xcc\xe2\xff\xb7\xfc\x31\x8b"
      "\xff\xfd\xf9\x63\x16\xff\x07\xf2\xc7\x2c\xfe\x0f\xe6\x8f\x59\xfc\x1f\xca"
      "\x1f\xb3\xf8\x3f\x9c\x3f\x66\xf1\x7f\x24\x7f\xcc\xe2\xff\x68\xfe\x98\xc5"
      "\xff\xb1\xfc\x31\x8b\xff\xe3\xf9\x63\x16\xff\x27\xf2\xc7\x2c\xfe\x4f\xe6"
      "\x8f\x59\xfc\x9f\xca\x1f\xb3\xf8\x3f\x9d\x3f\x66\xf1\x7f\x26\x7f\xcc\xe2"
      "\xff\x6c\xfe\x98\xc5\xff\xb9\xfc\x31\x8b\xff\xf3\xf9\x63\x16\xff\x17\xf2"
      "\xc7\x2c\xfe\x2f\xe6\x8f\x59\xfc\x5f\xca\x1f\xb3\xf8\xbf\x9c\x3f\x66\xf1"
      "\x7f\x25\x7f\xcc\xe2\xff\x6a\xfe\x98\xc5\xff\xb5\xfc\x31\x89\xff\x84\x03"
      "\xf9\x63\x16\xff\x41\xf9\x63\x16\xff\xf1\xf2\xc7\x2c\xfe\x83\xf3\xc7\x2c"
      "\xfe\x43\xf2\xc7\x2c\xfe\x43\xf3\xc7\x2c\xfe\xc3\xf2\xc7\x2c\xfe\xe3\xe7"
      "\x8f\x59\xfc\x27\xc8\x1f\xb3\xf8\x4f\x98\x3f\x66\xf1\x9f\x28\x7f\xcc\xe2"
      "\x3f\x71\xfe\x98\xc5\x7f\x92\xfc\x31\x8b\xff\xa4\xf9\x63\x16\xff\xe1\xf9"
      "\x63\x16\xff\xc9\xf2\xc7\x2c\xfe\x93\xe7\x8f\x59\xfc\xa7\xc8\x1f\xb3\xf8"
      "\x4f\x99\x3f\x66\xf1\x9f\x2a\x7f\xcc\xe2\x3f\x75\xfe\x98\xc5\x7f\x9a\xfc"
      "\x31\x8b\xff\x3b\xf2\xc7\x2c\xfe\xef\xcc\x1f\xb3\xf8\x4f\x9b\x3f\x66\xf1"
      "\x9f\x2e\x7f\xcc\xe2\x3f\x7d\xfe\x98\xc5\xff\x5d\xf9\x63\x16\xff\x19\xf2"
      "\xc7\x2c\xfe\x23\xf2\xc7\x2c\xfe\xef\xce\x1f\xb3\xf8\xcf\x98\x3f\x66\xf1"
      "\x9f\x29\x7f\xcc\xe2\xff\x9e\xfc\x31\x8b\xff\xcc\xf9\x63\x16\xff\x59\xf2"
      "\xc7\x2c\xfe\xb3\xe6\x8f\x59\xfc\x67\xcb\x1f\xb3\xf8\xbf\x37\x7f\xcc\xe2"
      "\x3f\x7b\xfe\x98\xc5\x7f\x8e\xfc\x31\x8b\xff\x9c\xf9\x63\x16\xff\xb9\xf2"
      "\xc7\x2c\xfe\x73\xe7\x8f\x59\xfc\xe7\xc9\x1f\xb3\xf8\xcf\x9b\x3f\x66\xf1"
      "\x9f\x2f\x7f\xcc\xe2\x3f\x7f\xfe\x98\xc5\x7f\x81\xfc\x31\x8b\xff\x82\xf9"
      "\x63\x16\xff\x85\xf2\xc7\x2c\xfe\x0b\xe7\x8f\x59\xfc\x17\xc9\x1f\xb3\xf8"
      "\x2f\x9a\x3f\x66\xf1\x5f\x2c\x7f\xcc\xe2\xbf\x78\xfe\x98\xc5\x7f\x89\xfc"
      "\x31\x8b\xff\x92\xf9\x63\x16\xff\xa5\xf2\xc7\x2c\xfe\x4b\xe7\x8f\x59\xfc"
      "\x97\xc9\x1f\xb3\xf8\xbf\x2f\x7f\xcc\xe2\xff\xfe\xfc\x31\x8b\xff\x07\xf2"
      "\xc7\x2c\xfe\xcb\xe6\x8f\x59\xfc\x97\xcb\x1f\xb3\xf8\x2f\x9f\x3f\x66\xf1"
      "\x5f\x21\x7f\xcc\xe2\xbf\x62\xfe\x98\xc5\x7f\xa5\xfc\x31\x8b\xff\xca\xf9"
      "\x63\x16\xff\x55\xf2\xc7\x2c\xfe\xab\xe6\x8f\x59\xfc\x57\xcb\x1f\xb3\xf8"
      "\xaf\x9e\x3f\x66\xf1\x5f\x23\x7f\xcc\xe2\xbf\x66\xfe\x98\xc5\x7f\xad\xfc"
      "\x31\x8b\xff\xda\xf9\x63\x16\xff\x75\xf2\xc7\x2c\xfe\xeb\xe6\x8f\x59\xfc"
      "\xd7\xcb\x1f\xb3\xf8\xaf\x9f\x3f\x66\xf1\xdf\x20\x7f\xcc\xe2\xbf\x61\xfe"
      "\x98\xc5\x7f\xa3\xfc\x31\x8b\xff\xc6\xf9\x63\x16\xff\x4d\xf2\xc7\x2c\xfe"
      "\x9b\xe6\x8f\x59\xfc\x37\xcb\x1f\xb3\xf8\x6f\x9e\x3f\x66\xf1\xdf\x22\x7f"
      "\xcc\xe2\xbf\x65\xfe\x98\xc5\x7f\xab\xfc\x31\x8b\xff\xd6\xf9\x63\x16\xff"
      "\x0f\xe6\x8f\x59\xfc\xb7\xc9\x1f\xb3\xf8\x6f\x9b\x3f\x66\xf1\xdf\x2e\x7f"
      "\xcc\xe2\xbf\x7d\xfe\x98\xc5\x7f\x87\xfc\x31\x8b\xff\x8e\xf9\x63\x16\xff"
      "\x9d\xf2\xc7\x2c\xfe\x3b\xe7\x8f\x59\xfc\x77\xc9\x1f\xb3\xf8\xef\x9a\x3f"
      "\x66\xf1\xdf\x2d\x7f\xcc\xe2\xff\xa1\xfc\x31\x8b\xff\xee\xf9\x63\x16\xff"
      "\x3d\xf2\xc7\x2c\xfe\x7b\xe6\x8f\x59\xfc\xf7\xca\x1f\xb3\xf8\xef\x9d\x3f"
      "\x66\xf1\xff\x70\xfe\x98\xc5\x7f\x9f\xfc\x31\x8b\xff\xbe\xf9\x63\x16\xff"
      "\xfd\xf2\xc7\x2c\xfe\x1f\xc9\x1f\xb3\xf8\x7f\x34\x7f\xcc\xe2\xff\xb1\xfc"
      "\x31\x8b\xff\xfe\xf9\x63\x16\xff\x03\xf2\xc7\x2c\xfe\x07\xe6\x8f\x59\xfc"
      "\x0f\xca\x1f\xb3\xf8\x1f\x9c\x3f\x66\xf1\x3f\x24\x7f\xcc\xe2\x7f\x68\xfe"
      "\x98\xc5\xff\xb0\xfc\x31\x8b\xff\xe1\xf9\x63\x16\xff\x23\xf2\xc7\x2c\xfe"
      "\x47\xe6\x8f\x59\xfc\x8f\xca\x1f\xb3\xf8\x7f\x3c\x7f\xcc\xe2\x7f\x74\xfe"
      "\x98\xc5\xff\x13\xf9\x63\x16\xff\x4f\xe6\x8f\x59\xfc\x8f\xc9\x1f\xb3\xf8"
      "\x7f\x2a\x7f\xcc\xe2\x7f\x6c\xfe\x98\xc5\xff\xb8\xfc\x31\x8b\xff\xf1\xf9"
      "\x63\x16\xff\x4f\xe7\x8f\x59\xfc\x3f\x93\x3f\x66\xf1\x3f\x21\x7f\xcc\xe2"
      "\x7f\x62\xfe\x98\xc5\xff\xa4\xfc\x31\x8b\xff\xc9\xf9\x63\x16\xff\x53\xf2"
      "\xc7\x2c\xfe\x9f\xcd\x1f\xb3\xf8\x7f\x2e\x7f\xcc\xe2\xff\xf9\xfc\x31\x8b"
      "\xff\x17\xf2\xc7\x2c\xfe\xa7\xe6\x8f\x59\xfc\xbf\x98\x3f\x66\xf1\xff\x52"
      "\xfe\x98\xc5\xff\xcb\xf9\x63\x16\xff\xaf\xe4\x8f\x59\xfc\x4f\xcb\x1f\xb3"
      "\xf8\x9f\x9e\x3f\x66\xf1\x3f\x23\x7f\xcc\xe2\x7f\x66\xfe\x98\xc5\xff\xac"
      "\xfc\x31\x8b\xff\xd9\xf9\x63\x16\xff\xaf\xe6\x8f\x59\xfc\xbf\x96\x3f\x66"
      "\xf1\x3f\x27\x7f\xcc\xe2\xff\xf5\xfc\x31\x8b\xff\xb9\xf9\x63\x16\xff\xf3"
      "\xf2\xc7\x2c\xfe\xe7\xe7\x8f\x59\xfc\x2f\xc8\x1f\xb3\xf8\x5f\x98\x3f\x66"
      "\xf1\xff\x46\xfe\x98\xc5\xff\x9b\xf9\x63\x16\xff\x6f\xe5\x8f\x59\xfc\x2f"
      "\xca\x1f\xb3\xf8\x5f\x9c\x3f\x66\xf1\xff\x76\xfe\x98\xc5\xff\x92\xfc\x31"
      "\x8b\xff\x77\xf2\xc7\x2c\xfe\x97\xe6\x8f\x59\xfc\x2f\xcb\x1f\xb3\xf8\x5f"
      "\x9e\x3f\x66\xf1\xff\x6e\xfe\x98\xc5\xff\x7b\xf9\x63\x16\xff\x2b\xf2\xc7"
      "\x2c\xfe\x57\xe6\x8f\x59\xfc\xbf\x9f\x3f\x66\xf1\xbf\x2a\x7f\xcc\xe2\xff"
      "\x83\xfc\x31\x8b\xff\xd5\xf9\x63\x16\xff\x1f\xe6\x8f\x59\xfc\xaf\xc9\x1f"
      "\xb3\xf8\xff\x28\x7f\xcc\xe2\x7f\x6d\xfe\x98\xc5\xff\xba\xfc\x31\x8b\xff"
      "\x8f\xf3\xc7\x2c\xfe\x3f\xc9\x1f\xb3\xf8\xff\x34\x7f\xcc\xe2\x7f\x7d\xfe"
      "\x98\xc5\xff\x67\xf9\x63\x16\xff\x1b\xf2\xc7\x2c\xfe\x37\xe6\x8f\x59\xfc"
      "\x7f\x9e\x3f\x66\xf1\xbf\x29\x7f\xcc\xe2\x7f\x73\xfe\x98\xc5\xff\x17\xf9"
      "\x63\x16\xff\x5b\xf2\xc7\x2c\xfe\xb7\xe6\x8f\x59\xfc\x6f\xcb\x1f\xb3\xf8"
      "\xdf\x9e\x3f\x66\xf1\xff\x65\xfe\x98\xc5\xff\x8e\xfc\x31\x8b\xff\xaf\xf2"
      "\xc7\x2c\xfe\xbf\xce\x1f\xb3\xf8\xff\x26\x7f\xcc\xe2\xff\xdb\xfc\x31\x8b"
      "\xff\xef\xf2\xc7\x2c\xfe\xbf\xcf\x1f\xb3\xf8\xdf\x99\x3f\x66\xf1\xff\x43"
      "\xfe\x98\xc5\xff\x8f\xf9\x63\x16\xff\x3f\xe5\x8f\x59\xfc\xef\xca\x1f\xb3"
      "\xf8\xdf\x9d\x3f\x66\xf1\xff\x73\xfe\x98\xc5\xff\x9e\xfc\x31\x8b\xff\x5f"
      "\xf2\xc7\x2c\xfe\xf7\xe6\x8f\x59\xfc\xef\xcb\x1f\xb3\xf8\xff\x35\x7f\xcc"
      "\xe2\xff\xb7\xfc\x31\x8b\xff\xfd\xf9\x63\x16\xff\x07\xf2\xc7\x2c\xfe\x0f"
      "\xe6\x8f\x59\xfc\x1f\xca\x1f\xb3\xf8\x3f\x9c\x3f\x66\xf1\x7f\x24\x7f\xcc"
      "\xe2\xff\x68\xfe\x98\xc5\xff\xb1\xfc\x31\x8b\xff\xe3\xf9\x63\x16\xff\x27"
      "\xf2\xc7\x2c\xfe\x4f\xe6\x8f\x59\xfc\x9f\xca\x1f\xb3\xf8\x3f\x9d\x3f\x66"
      "\xf1\x7f\x26\x7f\xcc\xe2\xff\x6c\xfe\x98\xc5\xff\xb9\xfc\x31\x8b\xff\xf3"
      "\xf9\x63\x16\xff\x17\xf2\xc7\x2c\xfe\x2f\xe6\x8f\x59\xfc\x5f\xca\x1f\xb3"
      "\xf8\xbf\x9c\x3f\x66\xf1\x7f\x25\x7f\xcc\xe2\xff\x6a\xfe\x98\xc5\xff\xb5"
      "\xfc\x31\x89\xff\x44\x03\xf9\x63\x16\xff\x41\xf9\x63\x16\xff\xf1\xf2\xc7"
      "\x2c\xfe\x83\xf3\xc7\x2c\xfe\x43\xf2\xc7\x2c\xfe\x43\xf3\xc7\x2c\xfe\xc3"
      "\xf2\xc7\x2c\xfe\xe3\xe7\x8f\x59\xfc\x27\xc8\x1f\xb3\xf8\x4f\x98\x3f\x66"
      "\xf1\x9f\x28\x7f\xcc\xe2\x3f\x71\xfe\x98\xc5\x7f\x92\xfc\x31\x8b\xff\xa4"
      "\xf9\x63\x16\xff\xe1\xf9\x63\x16\xff\xc9\xf2\xc7\x2c\xfe\x93\xe7\x8f\x59"
      "\xfc\xa7\xc8\x1f\xb3\xf8\x4f\x99\x3f\x66\xf1\x9f\x2a\x7f\xcc\xe2\x3f\x75"
      "\xfe\x98\xc5\x7f\x9a\xfc\x31\x8b\xff\x3b\xf2\xc7\x2c\xfe\xef\xcc\x1f\xb3"
      "\xf8\x4f\x9b\x3f\x66\xf1\x9f\x2e\x7f\xcc\xe2\x3f\x7d\xfe\x98\xc5\xff\x5d"
      "\xf9\x63\x16\xff\x19\xf2\xc7\x2c\xfe\x23\xf2\xc7\x2c\xfe\xef\xce\x1f\xb3"
      "\xf8\xcf\x98\x3f\x66\xf1\x9f\x29\x7f\xcc\xe2\xff\x9e\xfc\x31\x8b\xff\xcc"
      "\xf9\x63\x16\xff\x59\xf2\xc7\x2c\xfe\xb3\xe6\x8f\x59\xfc\x67\xcb\x1f\xb3"
      "\xf8\xbf\x37\x7f\xcc\xe2\x3f\x7b\xfe\x98\xc5\x7f\x8e\xfc\x31\x8b\xff\x9c"
      "\xf9\x63\x16\xff\xb9\xf2\xc7\x2c\xfe\x73\xe7\x8f\x59\xfc\xe7\xc9\x1f\xb3"
      "\xf8\xcf\x9b\x3f\x66\xf1\x9f\x2f\x7f\xcc\xe2\x3f\x7f\xfe\x98\xc5\x7f\x81"
      "\xfc\x31\x8b\xff\x82\xf9\x63\x16\xff\x85\xf2\xc7\x2c\xfe\x0b\xe7\x8f\x59"
      "\xfc\x17\xc9\x1f\xb3\xf8\x2f\x9a\x3f\x66\xf1\x5f\x2c\x7f\xcc\xe2\xbf\x78"
      "\xfe\x98\xc5\x7f\x89\xfc\x31\x8b\xff\x92\xf9\x63\x16\xff\xa5\xf2\xc7\x2c"
      "\xfe\x4b\xe7\x8f\x59\xfc\x97\xc9\x1f\xb3\xf8\xbf\x2f\x7f\xcc\xe2\xff\xfe"
      "\xfc\x31\x8b\xff\x07\xf2\xc7\x2c\xfe\xcb\xe6\x8f\x59\xfc\x97\xcb\x1f\xb3"
      "\xf8\x2f\x9f\x3f\x66\xf1\x5f\x21\x7f\xcc\xe2\xbf\x62\xfe\x98\xc5\x7f\xa5"
      "\xfc\x31\x8b\xff\xca\xf9\x63\x16\xff\x55\xf2\xc7\x2c\xfe\xab\xe6\x8f\x59"
      "\xfc\x57\xcb\x1f\xb3\xf8\xaf\x9e\x3f\x66\xf1\x5f\x23\x7f\xcc\xe2\xbf\x66"
      "\xfe\x98\xc5\x7f\xad\xfc\x31\x8b\xff\xda\xf9\x63\x16\xff\x75\xf2\xc7\x2c"
      "\xfe\xeb\xe6\x8f\x59\xfc\xd7\xcb\x1f\xb3\xf8\xaf\x9f\x3f\x66\xf1\xdf\x20"
      "\x7f\xcc\xe2\xbf\x61\xfe\x98\xc5\x7f\xa3\xfc\x31\x8b\xff\xc6\xf9\x63\x16"
      "\xff\x4d\xf2\xc7\x2c\xfe\x9b\xe6\x8f\x59\xfc\x37\xcb\x1f\xb3\xf8\x6f\x9e"
      "\x3f\x66\xf1\xdf\x22\x7f\xcc\xe2\xbf\x65\xfe\x98\xc5\x7f\xab\xfc\x31\x8b"
      "\xff\xd6\xf9\x63\x16\xff\x0f\xe6\x8f\x59\xfc\xb7\xc9\x1f\xb3\xf8\x6f\x9b"
      "\x3f\x66\xf1\xdf\x2e\x7f\xcc\xe2\xbf\x7d\xfe\x98\xc5\x7f\x87\xfc\x31\x8b"
      "\xff\x8e\xf9\x63\x16\xff\x9d\xf2\xc7\x2c\xfe\x3b\xe7\x8f\x59\xfc\x77\xc9"
      "\x1f\xb3\xf8\xef\x9a\x3f\x66\xf1\xdf\x2d\x7f\xcc\xe2\xff\xa1\xfc\x31\x8b"
      "\xff\xee\xf9\x63\x16\xff\x3d\xf2\xc7\x2c\xfe\x7b\xe6\x8f\x59\xfc\xf7\xca"
      "\x1f\xb3\xf8\xef\x9d\x3f\x66\xf1\xff\x70\xfe\x98\xc5\x7f\x9f\xfc\x31\x8b"
      "\xff\xbe\xf9\x63\x16\xff\xfd\xf2\xc7\x2c\xfe\x1f\xc9\x1f\xb3\xf8\x7f\x34"
      "\x7f\xcc\xe2\xff\xb1\xfc\x31\x8b\xff\xfe\xf9\x63\x16\xff\x03\xf2\xc7\x2c"
      "\xfe\x07\xe6\x8f\x59\xfc\x0f\xca\x1f\xb3\xf8\x1f\x9c\x3f\x66\xf1\x3f\x24"
      "\x7f\xcc\xe2\x7f\x68\xfe\x98\xc5\xff\xb0\xfc\x31\x8b\xff\xe1\xf9\x63\x16"
      "\xff\x23\xf2\xc7\x2c\xfe\x47\xe6\x8f\x59\xfc\x8f\xca\x1f\xb3\xf8\x7f\x3c"
      "\x7f\xcc\xe2\x7f\x74\xfe\x98\xc5\xff\x13\xf9\x63\x16\xff\x4f\xe6\x8f\x59"
      "\xfc\x8f\xc9\x1f\xb3\xf8\x7f\x2a\x7f\xcc\xe2\x7f\x6c\xfe\x98\xc5\xff\xb8"
      "\xfc\x31\x8b\xff\xf1\xf9\x63\x16\xff\x4f\xe7\x8f\x59\xfc\x3f\x93\x3f\x66"
      "\xf1\x3f\x21\x7f\xcc\xe2\x7f\x62\xfe\x98\xc5\xff\xa4\xfc\x31\x8b\xff\xc9"
      "\xf9\x63\x16\xff\x53\xf2\xc7\x2c\xfe\x9f\xcd\x1f\xb3\xf8\x7f\x2e\x7f\xcc"
      "\xe2\xff\xf9\xfc\x31\x8b\xff\x17\xf2\xc7\x2c\xfe\xa7\xe6\x8f\x59\xfc\xbf"
      "\x98\x3f\x66\xf1\xff\x52\xfe\x98\xc5\xff\xcb\xf9\x63\x16\xff\xaf\xe4\x8f"
      "\x59\xfc\x4f\xcb\x1f\xb3\xf8\x9f\x9e\x3f\x66\xf1\x3f\x23\x7f\xcc\xe2\x7f"
      "\x66\xfe\x98\xc5\xff\xac\xfc\x31\x8b\xff\xd9\xf9\x63\x16\xff\xaf\xe6\x8f"
      "\x59\xfc\xbf\x96\x3f\x66\xf1\x3f\x27\x7f\xcc\xe2\xff\xf5\xfc\x31\x8b\xff"
      "\xb9\xf9\x63\x16\xff\xf3\xf2\xc7\x2c\xfe\xe7\xe7\x8f\x59\xfc\x2f\xc8\x1f"
      "\xb3\xf8\x5f\x98\x3f\x66\xf1\xff\x46\xfe\x98\xc5\xff\x9b\xf9\x63\x16\xff"
      "\x6f\xe5\x8f\x59\xfc\x2f\xca\x1f\xb3\xf8\x5f\x9c\x3f\x66\xf1\xff\x76\xfe"
      "\x98\xc5\xff\x92\xfc\x31\x8b\xff\x77\xf2\xc7\x2c\xfe\x97\xe6\x8f\x59\xfc"
      "\x2f\xcb\x1f\xb3\xf8\x5f\x9e\x3f\x66\xf1\xff\x6e\xfe\x98\xc5\xff\x7b\xf9"
      "\x63\x16\xff\x2b\xf2\xc7\x2c\xfe\x57\xe6\x8f\x59\xfc\xbf\x9f\x3f\x66\xf1"
      "\xbf\x2a\x7f\xcc\xe2\xff\x83\xfc\x31\x8b\xff\xd5\xf9\x63\x16\xff\x1f\xe6"
      "\x8f\x59\xfc\xaf\xc9\x1f\xb3\xf8\xff\x28\x7f\xcc\xe2\x7f\x6d\xfe\x98\xc5"
      "\xff\xba\xfc\x31\x8b\xff\x8f\xf3\xc7\x2c\xfe\x3f\xc9\x1f\xb3\xf8\xff\x34"
      "\x7f\xcc\xe2\x7f\x7d\xfe\x98\xc5\xff\x67\xf9\x63\x16\xff\x1b\xf2\xc7\x2c"
      "\xfe\x37\xe6\x8f\x59\xfc\x7f\x9e\x3f\x66\xf1\xbf\x29\x7f\xcc\xe2\x7f\x73"
      "\xfe\x98\xc5\xff\x17\xf9\x63\x16\xff\x5b\xf2\xc7\x2c\xfe\xb7\xe6\x8f\x59"
      "\xfc\x6f\xcb\x1f\xb3\xf8\xdf\x9e\x3f\x66\xf1\xff\x65\xfe\x98\xc5\xff\x8e"
      "\xfc\x31\x8b\xff\xaf\xf2\xc7\x2c\xfe\xbf\xce\x1f\xb3\xf8\xff\x26\x7f\xcc"
      "\xe2\xff\xdb\xfc\x31\x8b\xff\xef\xf2\xc7\x2c\xfe\xbf\xcf\x1f\xb3\xf8\xdf"
      "\x99\x3f\x66\xf1\xff\x43\xfe\x98\xc5\xff\x8f\xf9\x63\x16\xff\x3f\xe5\x8f"
      "\x59\xfc\xef\xca\x1f\xb3\xf8\xdf\x9d\x3f\x66\xf1\xff\x73\xfe\x98\xc5\xff"
      "\x9e\xfc\x31\x8b\xff\x5f\xf2\xc7\x2c\xfe\xf7\xe6\x8f\x59\xfc\xef\xcb\x1f"
      "\xb3\xf8\xff\x35\x7f\xcc\xe2\xff\xb7\xfc\x31\x8b\xff\xfd\xf9\x63\x16\xff"
      "\x07\xf2\xc7\x2c\xfe\x0f\xe6\x8f\x59\xfc\x1f\xca\x1f\xb3\xf8\x3f\x9c\x3f"
      "\x66\xf1\x7f\x24\x7f\xcc\xe2\xff\x68\xfe\x98\xc5\xff\xb1\xfc\x31\x8b\xff"
      "\xe3\xf9\x63\x16\xff\x27\xf2\xc7\x2c\xfe\x4f\xe6\x8f\x59\xfc\x9f\xca\x1f"
      "\xb3\xf8\x3f\x9d\x3f\x66\xf1\x7f\x26\x7f\xcc\xe2\xff\x6c\xfe\x98\xc5\xff"
      "\xb9\xfc\x31\x8b\xff\xf3\xf9\x63\x16\xff\x17\xf2\xc7\x2c\xfe\x2f\xe6\x8f"
      "\x59\xfc\x5f\xca\x1f\xb3\xf8\xbf\x9c\x3f\x66\xf1\x7f\x25\x7f\xcc\xe2\xff"
      "\x6a\xfe\x98\xc5\xff\xb5\xfc\x31\x89\xff\xc4\x03\xf9\x63\x16\xff\x41\xf9"
      "\x63\x16\xff\xf1\xf2\xc7\x2c\xfe\x83\xf3\xc7\x2c\xfe\x43\xf2\xc7\x2c\xfe"
      "\x43\xf3\xc7\x2c\xfe\xc3\xf2\xc7\x2c\xfe\xe3\xe7\x8f\x59\xfc\x27\xc8\x1f"
      "\xb3\xf8\x4f\x98\x3f\x66\xf1\x9f\x28\x7f\xcc\xe2\x3f\x71\xfe\x98\xc5\x7f"
      "\x92\xfc\x31\x8b\xff\xa4\xf9\x63\x16\xff\xe1\xf9\x63\x16\xff\xc9\xf2\xc7"
      "\x2c\xfe\x93\xe7\x8f\x59\xfc\xa7\xc8\x1f\xb3\xf8\x4f\x99\x3f\x66\xf1\x9f"
      "\x2a\x7f\xcc\xe2\x3f\x75\xfe\x98\xc5\x7f\x9a\xfc\x31\x8b\xff\x3b\xf2\xc7"
      "\x2c\xfe\xef\xcc\x1f\xb3\xf8\x4f\x9b\x3f\x66\xf1\x9f\x2e\x7f\xcc\xe2\x3f"
      "\x7d\xfe\x98\xc5\xff\x5d\xf9\x63\x16\xff\x19\xf2\xc7\x2c\xfe\x23\xf2\xc7"
      "\x2c\xfe\xef\xce\x1f\xb3\xf8\xcf\x98\x3f\x66\xf1\x9f\x29\x7f\xcc\xe2\xff"
      "\x9e\xfc\x31\x8b\xff\xcc\xf9\x63\x16\xff\x59\xf2\xc7\x2c\xfe\xb3\xe6\x8f"
      "\x59\xfc\x67\xcb\x1f\xb3\xf8\xbf\x37\x7f\xcc\xe2\x3f\x7b\xfe\x98\xc5\x7f"
      "\x8e\xfc\x31\x8b\xff\x9c\xf9\x63\x16\xff\xb9\xf2\xc7\x2c\xfe\x73\xe7\x8f"
      "\x59\xfc\xe7\xc9\x1f\xb3\xf8\xcf\x9b\x3f\x66\xf1\x9f\x2f\x7f\xcc\xe2\x3f"
      "\x7f\xfe\x98\xc5\x7f\x81\xfc\x31\x8b\xff\x82\xf9\x63\x16\xff\x85\xf2\xc7"
      "\x2c\xfe\x0b\xe7\x8f\x59\xfc\x17\xc9\x1f\xb3\xf8\x2f\x9a\x3f\x66\xf1\x5f"
      "\x2c\x7f\xcc\xe2\xbf\x78\xfe\x98\xc5\x7f\x89\xfc\x31\x8b\xff\x92\xf9\x63"
      "\x16\xff\xa5\xf2\xc7\x2c\xfe\x4b\xe7\x8f\x59\xfc\x97\xc9\x1f\xb3\xf8\xbf"
      "\x2f\x7f\xcc\xe2\xff\xfe\xfc\x31\x8b\xff\x07\xf2\xc7\x2c\xfe\xcb\xe6\x8f"
      "\x59\xfc\x97\xcb\x1f\xb3\xf8\x2f\x9f\x3f\x66\xf1\x5f\x21\x7f\xcc\xe2\xbf"
      "\x62\xfe\x98\xc5\x7f\xa5\xfc\x31\x8b\xff\xca\xf9\x63\x16\xff\x55\xf2\xc7"
      "\x2c\xfe\xab\xe6\x8f\x59\xfc\x57\xcb\x1f\xb3\xf8\xaf\x9e\x3f\x66\xf1\x5f"
      "\x23\x7f\xcc\xe2\xbf\x66\xfe\x98\xc5\x7f\xad\xfc\x31\x8b\xff\xda\xf9\x63"
      "\x16\xff\x75\xf2\xc7\x2c\xfe\xeb\xe6\x8f\x59\xfc\xd7\xcb\x1f\xb3\xf8\xaf"
      "\x9f\x3f\x66\xf1\xdf\x20\x7f\xcc\xe2\xbf\x61\xfe\x98\xc5\x7f\xa3\xfc\x31"
      "\x8b\xff\xc6\xf9\x63\x16\xff\x4d\xf2\xc7\x2c\xfe\x9b\xe6\x8f\x59\xfc\x37"
      "\xcb\x1f\xb3\xf8\x6f\x9e\x3f\x66\xf1\xdf\x22\x7f\xcc\xe2\xbf\x65\xfe\x98"
      "\xc5\x7f\xab\xfc\x31\x8b\xff\xd6\xf9\x63\x16\xff\x0f\xe6\x8f\x59\xfc\xb7"
      "\xc9\x1f\xb3\xf8\x6f\x9b\x3f\x66\xf1\xdf\x2e\x7f\xcc\xe2\xbf\x7d\xfe\x98"
      "\xc5\x7f\x87\xfc\x31\x8b\xff\x8e\xf9\x63\x16\xff\x9d\xf2\xc7\x2c\xfe\x3b"
      "\xe7\x8f\x59\xfc\x77\xc9\x1f\xb3\xf8\xef\x9a\x3f\x66\xf1\xdf\x2d\x7f\xcc"
      "\xe2\xff\xa1\xfc\x31\x8b\xff\xee\xf9\x63\x16\xff\x3d\xf2\xc7\x2c\xfe\x7b"
      "\xe6\x8f\x59\xfc\xf7\xca\x1f\xb3\xf8\xef\x9d\x3f\x66\xf1\xff\x70\xfe\x98"
      "\xc5\x7f\x9f\xfc\x31\x8b\xff\xbe\xf9\x63\x16\xff\xfd\xf2\xc7\x2c\xfe\x1f"
      "\xc9\x1f\xb3\xf8\x7f\x34\x7f\xcc\xe2\xff\xb1\xfc\x31\x8b\xff\xfe\xf9\x63"
      "\x16\xff\x03\xf2\xc7\x2c\xfe\x07\xe6\x8f\x59\xfc\x0f\xca\x1f\xb3\xf8\x1f"
      "\x9c\x3f\x66\xf1\x3f\x24\x7f\xcc\xe2\x7f\x68\xfe\x98\xc5\xff\xb0\xfc\x31"
      "\x8b\xff\xe1\xf9\x63\x16\xff\x23\xf2\xc7\x2c\xfe\x47\xe6\x8f\x59\xfc\x8f"
      "\xca\x1f\xb3\xf8\x7f\x3c\x7f\xcc\xe2\x7f\x74\xfe\x98\xc5\xff\x13\xf9\x63"
      "\x16\xff\x4f\xe6\x8f\x59\xfc\x8f\xc9\x1f\xb3\xf8\x7f\x2a\x7f\xcc\xe2\x7f"
      "\x6c\xfe\x98\xc5\xff\xb8\xfc\x31\x8b\xff\xf1\xf9\x63\x16\xff\x4f\xe7\x8f"
      "\x59\xfc\x3f\x93\x3f\x66\xf1\x3f\x21\x7f\xcc\xe2\x7f\x62\xfe\x98\xc5\xff"
      "\xa4\xfc\x31\x8b\xff\xc9\xf9\x63\x16\xff\x53\xf2\xc7\x2c\xfe\x9f\xcd\x1f"
      "\xb3\xf8\x7f\x2e\x7f\xcc\xe2\xff\xf9\xfc\x31\x8b\xff\x17\xf2\xc7\x2c\xfe"
      "\xa7\xe6\x8f\x59\xfc\xbf\x98\x3f\x66\xf1\xff\x52\xfe\x98\xc5\xff\xcb\xf9"
      "\x63\x16\xff\xaf\xe4\x8f\x59\xfc\x4f\xcb\x1f\xb3\xf8\x9f\x9e\x3f\x66\xf1"
      "\x3f\x23\x7f\xcc\xe2\x7f\x66\xfe\x98\xc5\xff\xac\xfc\x31\x8b\xff\xd9\xf9"
      "\x63\x16\xff\xaf\xe6\x8f\x59\xfc\xbf\x96\x3f\x66\xf1\x3f\x27\x7f\xcc\xe2"
      "\xff\xf5\xfc\x31\x8b\xff\xb9\xf9\x63\x16\xff\xf3\xf2\xc7\x2c\xfe\xe7\xe7"
      "\x8f\x59\xfc\x2f\xc8\x1f\xb3\xf8\x5f\x98\x3f\x66\xf1\xff\x46\xfe\x98\xc5"
      "\xff\x9b\xf9\x63\x16\xff\x6f\xe5\x8f\x59\xfc\x2f\xca\x1f\xb3\xf8\x5f\x9c"
      "\x3f\x66\xf1\xff\x76\xfe\x98\xc5\xff\x92\xfc\x31\x8b\xff\x77\xf2\xc7\x2c"
      "\xfe\x97\xe6\x8f\x59\xfc\x2f\xcb\x1f\xb3\xf8\x5f\x9e\x3f\x66\xf1\xff\x6e"
      "\xfe\x98\xc5\xff\x7b\xf9\x63\x16\xff\x2b\xf2\xc7\x2c\xfe\x57\xe6\x8f\x59"
      "\xfc\xbf\x9f\x3f\x66\xf1\xbf\x2a\x7f\xcc\xe2\xff\x83\xfc\x31\x8b\xff\xd5"
      "\xf9\x63\x16\xff\x1f\xe6\x8f\x59\xfc\xaf\xc9\x1f\xb3\xf8\xff\x28\x7f\xcc"
      "\xe2\x7f\x6d\xfe\x98\xc5\xff\xba\xfc\x31\x8b\xff\x8f\xf3\xc7\x2c\xfe\x3f"
      "\xc9\x1f\xb3\xf8\xff\x34\x7f\xcc\xe2\x7f\x7d\xfe\x98\xc5\xff\x67\xf9\x63"
      "\x16\xff\x1b\xf2\xc7\x2c\xfe\x37\xe6\x8f\x59\xfc\x7f\x9e\x3f\x66\xf1\xbf"
      "\x29\x7f\xcc\xe2\x7f\x73\xfe\x98\xc5\xff\x17\xf9\x63\x16\xff\x5b\xf2\xc7"
      "\x2c\xfe\xb7\xe6\x8f\x59\xfc\x6f\xcb\x1f\xb3\xf8\xdf\x9e\x3f\x66\xf1\xff"
      "\x65\xfe\x98\xc5\xff\x8e\xfc\x31\x8b\xff\xaf\xf2\xc7\x2c\xfe\xbf\xce\x1f"
      "\xb3\xf8\xff\x26\x7f\xcc\xe2\xff\xdb\xfc\x31\x8b\xff\xef\xf2\xc7\x2c\xfe"
      "\xbf\xcf\x1f\xb3\xf8\xdf\x99\x3f\x66\xf1\xff\x43\xfe\x98\xc5\xff\x8f\xf9"
      "\x63\x16\xff\x3f\xe5\x8f\x59\xfc\xef\xca\x1f\xb3\xf8\xdf\x9d\x3f\x66\xf1"
      "\xff\x73\xfe\x98\xc5\xff\x9e\xfc\x31\x8b\xff\x5f\xf2\xc7\x2c\xfe\xf7\xe6"
      "\x8f\x59\xfc\xef\xcb\x1f\xb3\xf8\xff\x35\x7f\xcc\xe2\xff\xb7\xfc\x31\x8b"
      "\xff\xfd\xf9\x63\x16\xff\x07\xf2\xc7\x2c\xfe\x0f\xe6\x8f\x59\xfc\x1f\xca"
      "\x1f\xb3\xf8\x3f\x9c\x3f\x66\xf1\x7f\x24\x7f\xcc\xe2\xff\x68\xfe\x98\xc5"
      "\xff\xb1\xfc\x31\x8b\xff\xe3\xf9\x63\x16\xff\x27\xf2\xc7\x2c\xfe\x4f\xe6"
      "\x8f\x59\xfc\x9f\xca\x1f\xb3\xf8\x3f\x9d\x3f\x66\xf1\x7f\x26\x7f\xcc\xe2"
      "\xff\x6c\xfe\x98\xc5\xff\xb9\xfc\x31\x8b\xff\xf3\xf9\x63\x16\xff\x17\xf2"
      "\xc7\x2c\xfe\x2f\xe6\x8f\x59\xfc\x5f\xca\x1f\xb3\xf8\xbf\x9c\x3f\x66\xf1"
      "\x7f\x25\x7f\xcc\xe2\xff\x6a\xfe\x98\xc5\xff\xb5\xfc\x31\x89\xff\x24\x03"
      "\xf9\x63\x16\xff\x41\xf9\x63\x16\xff\xf1\xf2\xc7\x2c\xfe\x83\xf3\xc7\x2c"
      "\xfe\x43\xf2\xc7\x2c\xfe\x43\xf3\xc7\x2c\xfe\xc3\xf2\xc7\x2c\xfe\xe3\xe7"
      "\x8f\x59\xfc\x27\xc8\x1f\xb3\xf8\x4f\x98\x3f\x66\xf1\x9f\x28\x7f\xcc\xe2"
      "\x3f\x71\xfe\x98\xc5\x7f\x92\xfc\x31\x8b\xff\xa4\xf9\x63\x16\xff\xe1\xf9"
      "\x63\x16\xff\xc9\xf2\xc7\x2c\xfe\x93\xe7\x8f\x59\xfc\xa7\xc8\x1f\xb3\xf8"
      "\x4f\x99\x3f\x66\xf1\x9f\x2a\x7f\xcc\xe2\x3f\x75\xfe\x98\xc5\x7f\x9a\xfc"
      "\x31\x8b\xff\x3b\xf2\xc7\x2c\xfe\xef\xcc\x1f\xb3\xf8\x4f\x9b\x3f\x66\xf1"
      "\x9f\x2e\x7f\xcc\xe2\x3f\x7d\xfe\x98\xc5\xff\x5d\xf9\x63\x16\xff\x19\xf2"
      "\xc7\x2c\xfe\x23\xf2\xc7\x2c\xfe\xef\xce\x1f\xb3\xf8\xcf\x98\x3f\x66\xf1"
      "\x9f\x29\x7f\xcc\xe2\xff\x9e\xfc\x31\x8b\xff\xcc\xf9\x63\x16\xff\x59\xf2"
      "\xc7\x2c\xfe\xb3\xe6\x8f\x59\xfc\x67\xcb\x1f\xb3\xf8\xbf\x37\x7f\xcc\xe2"
      "\x3f\x7b\xfe\x98\xc5\x7f\x8e\xfc\x31\x8b\xff\x9c\xf9\x63\x16\xff\xb9\xf2"
      "\xc7\x2c\xfe\x73\xe7\x8f\x59\xfc\xe7\xc9\x1f\xb3\xf8\xcf\x9b\x3f\x66\xf1"
      "\x9f\x2f\x7f\xcc\xe2\x3f\x7f\xfe\x98\xc5\x7f\x81\xfc\x31\x8b\xff\x82\xf9"
      "\x63\x16\xff\x85\xf2\xc7\x2c\xfe\x0b\xe7\x8f\x59\xfc\x17\xc9\x1f\xb3\xf8"
      "\x2f\x9a\x3f\x66\xf1\x5f\x2c\x7f\xcc\xe2\xbf\x78\xfe\x98\xc5\x7f\x89\xfc"
      "\x31\x8b\xff\x92\xf9\x63\x16\xff\xa5\xf2\xc7\x2c\xfe\x4b\xe7\x8f\x59\xfc"
      "\x97\xc9\x1f\xb3\xf8\xbf\x2f\x7f\xcc\xe2\xff\xfe\xfc\x31\x8b\xff\x07\xf2"
      "\xc7\x2c\xfe\xcb\xe6\x8f\x59\xfc\x97\xcb\x1f\xb3\xf8\x2f\x9f\x3f\x66\xf1"
      "\x5f\x21\x7f\xcc\xe2\xbf\x62\xfe\x98\xc5\x7f\xa5\xfc\x31\x8b\xff\xca\xf9"
      "\x63\x16\xff\x55\xf2\xc7\x2c\xfe\xab\xe6\x8f\x59\xfc\x57\xcb\x1f\xb3\xf8"
      "\xaf\x9e\x3f\x66\xf1\x5f\x23\x7f\xcc\xe2\xbf\x66\xfe\x98\xc5\x7f\xad\xfc"
      "\x31\x8b\xff\xda\xf9\x63\x16\xff\x75\xf2\xc7\x2c\xfe\xeb\xe6\x8f\x59\xfc"
      "\xd7\xcb\x1f\xb3\xf8\xaf\x9f\x3f\x66\xf1\xdf\x20\x7f\xcc\xe2\xbf\x61\xfe"
      "\x98\xc5\x7f\xa3\xfc\x31\x8b\xff\xc6\xf9\x63\x16\xff\x4d\xf2\xc7\x2c\xfe"
      "\x9b\xe6\x8f\x59\xfc\x37\xcb\x1f\xb3\xf8\x6f\x9e\x3f\x66\xf1\xdf\x22\x7f"
      "\xcc\xe2\xbf\x65\xfe\x98\xc5\x7f\xab\xfc\x31\x8b\xff\xd6\xf9\x63\x16\xff"
      "\x0f\xe6\x8f\x59\xfc\xb7\xc9\x1f\xb3\xf8\x6f\x9b\x3f\x66\xf1\xdf\x2e\x7f"
      "\xcc\xe2\xbf\x7d\xfe\x98\xc5\x7f\x87\xfc\x31\x8b\xff\x8e\xf9\x63\x16\xff"
      "\x9d\xf2\xc7\x2c\xfe\x3b\xe7\x8f\x59\xfc\x77\xc9\x1f\xb3\xf8\xef\x9a\x3f"
      "\x66\xf1\xdf\x2d\x7f\xcc\xe2\xff\xa1\xfc\x31\x8b\xff\xee\xf9\x63\x16\xff"
      "\x3d\xf2\xc7\x2c\xfe\x7b\xe6\x8f\x59\xfc\xf7\xca\x1f\xb3\xf8\xef\x9d\x3f"
      "\x66\xf1\xff\x70\xfe\x98\xc5\x7f\x9f\xfc\x31\x8b\xff\xbe\xf9\x63\x16\xff"
      "\xfd\xf2\xc7\x2c\xfe\x1f\xc9\x1f\xb3\xf8\x7f\x34\x7f\xcc\xe2\xff\xb1\xfc"
      "\x31\x8b\xff\xfe\xf9\x63\x16\xff\x03\xf2\xc7\x2c\xfe\x07\xe6\x8f\x59\xfc"
      "\x0f\xca\x1f\xb3\xf8\x1f\x9c\x3f\x66\xf1\x3f\x24\x7f\xcc\xe2\x7f\x68\xfe"
      "\x98\xc5\xff\xb0\xfc\x31\x8b\xff\xe1\xf9\x63\x16\xff\x23\xf2\xc7\x2c\xfe"
      "\x47\xe6\x8f\x59\xfc\x8f\xca\x1f\xb3\xf8\x7f\x3c\x7f\xcc\xe2\x7f\x74\xfe"
      "\x98\xc5\xff\x13\xf9\x63\x16\xff\x4f\xe6\x8f\x59\xfc\x8f\xc9\x1f\xb3\xf8"
      "\x7f\x2a\x7f\xcc\xe2\x7f\x6c\xfe\x98\xc5\xff\xb8\xfc\x31\x8b\xff\xf1\xf9"
      "\x63\x16\xff\x4f\xe7\x8f\x59\xfc\x3f\x93\x3f\x66\xf1\x3f\x21\x7f\xcc\xe2"
      "\x7f\x62\xfe\x98\xc5\xff\xa4\xfc\x31\x8b\xff\xc9\xf9\x63\x16\xff\x53\xf2"
      "\xc7\x2c\xfe\x9f\xcd\x1f\xb3\xf8\x7f\x2e\x7f\xcc\xe2\xff\xf9\xfc\x31\x8b"
      "\xff\x17\xf2\xc7\x2c\xfe\xa7\xe6\x8f\x59\xfc\xbf\x98\x3f\x66\xf1\xff\x52"
      "\xfe\x98\xc5\xff\xcb\xf9\x63\x16\xff\xaf\xe4\x8f\x59\xfc\x4f\xcb\x1f\xb3"
      "\xf8\x9f\x9e\x3f\x66\xf1\x3f\x23\x7f\xcc\xe2\x7f\x66\xfe\x98\xc5\xff\xac"
      "\xfc\x31\x8b\xff\xd9\xf9\x63\x16\xff\xaf\xe6\x8f\x59\xfc\xbf\x96\x3f\x66"
      "\xf1\x3f\x27\x7f\xcc\xe2\xff\xf5\xfc\x31\x8b\xff\xb9\xf9\x63\x16\xff\xf3"
      "\xf2\xc7\x2c\xfe\xe7\xe7\x8f\x59\xfc\x2f\xc8\x1f\xb3\xf8\x5f\x98\x3f\x66"
      "\xf1\xff\x46\xfe\x98\xc5\xff\x9b\xf9\x63\x16\xff\x6f\xe5\x8f\x59\xfc\x2f"
      "\xca\x1f\xb3\xf8\x5f\x9c\x3f\x66\xf1\xff\x76\xfe\x98\xc5\xff\x92\xfc\x31"
      "\x8b\xff\x77\xf2\xc7\x2c\xfe\x97\xe6\x8f\x59\xfc\x2f\xcb\x1f\xb3\xf8\x5f"
      "\x9e\x3f\x66\xf1\xff\x6e\xfe\x98\xc5\xff\x7b\xf9\x63\x16\xff\x2b\xf2\xc7"
      "\x2c\xfe\x57\xe6\x8f\x59\xfc\xbf\x9f\x3f\x66\xf1\xbf\x2a\x7f\xcc\xe2\xff"
      "\x83\xfc\x31\x8b\xff\xd5\xf9\x63\x16\xff\x1f\xe6\x8f\x59\xfc\xaf\xc9\x1f"
      "\xb3\xf8\xff\x28\x7f\xcc\xe2\x7f\x6d\xfe\x98\xc5\xff\xba\xfc\x31\x8b\xff"
      "\x8f\xf3\xc7\x2c\xfe\x3f\xc9\x1f\xb3\xf8\xff\x34\x7f\xcc\xe2\x7f\x7d\xfe"
      "\x98\xc5\xff\x67\xf9\x63\x16\xff\x1b\xf2\xc7\x2c\xfe\x37\xe6\x8f\x59\xfc"
      "\x7f\x9e\x3f\x66\xf1\xbf\x29\x7f\xcc\xe2\x7f\x73\xfe\x98\xc5\xff\x17\xf9"
      "\x63\x16\xff\x5b\xf2\xc7\x2c\xfe\xb7\xe6\x8f\x59\xfc\x6f\xcb\x1f\xb3\xf8"
      "\xdf\x9e\x3f\x66\xf1\xff\x65\xfe\x98\xc5\xff\x8e\xfc\x31\x8b\xff\xaf\xf2"
      "\xc7\x2c\xfe\xbf\xce\x1f\xb3\xf8\xff\x26\x7f\xcc\xe2\xff\xdb\xfc\x31\x8b"
      "\xff\xef\xf2\xc7\x2c\xfe\xbf\xcf\x1f\xb3\xf8\xdf\x99\x3f\x66\xf1\xff\x43"
      "\xfe\x98\xc5\xff\x8f\xf9\x63\x16\xff\x3f\xe5\x8f\x59\xfc\xef\xca\x1f\xb3"
      "\xf8\xdf\x9d\x3f\x66\xf1\xff\x73\xfe\x98\xc5\xff\x9e\xfc\x31\x8b\xff\x5f"
      "\xf2\xc7\x2c\xfe\xf7\xe6\x8f\x59\xfc\xef\xcb\x1f\xb3\xf8\xff\x35\x7f\xcc"
      "\xe2\xff\xb7\xfc\x31\x8b\xff\xfd\xf9\x63\x16\xff\x07\xf2\xc7\x2c\xfe\x0f"
      "\xe6\x8f\x59\xfc\x1f\xca\x1f\xb3\xf8\x3f\x9c\x3f\x66\xf1\x7f\x24\x7f\xcc"
      "\xe2\xff\x68\xfe\x98\xc5\xff\xb1\xfc\x31\x8b\xff\xe3\xf9\x63\x16\xff\x27"
      "\xf2\xc7\x2c\xfe\x4f\xe6\x8f\x59\xfc\x9f\xca\x1f\xb3\xf8\x3f\x9d\x3f\x66"
      "\xf1\x7f\x26\x7f\xcc\xe2\xff\x6c\xfe\x98\xc5\xff\xb9\xfc\x31\x8b\xff\xf3"
      "\xf9\x63\x16\xff\x17\xf2\xc7\x2c\xfe\x2f\xe6\x8f\x59\xfc\x5f\xca\x1f\xb3"
      "\xf8\xbf\x9c\x3f\x66\xf1\x7f\x25\x7f\xcc\xe2\xff\x6a\xfe\x98\xc5\xff\xb5"
      "\xfc\x31\x89\xff\xa4\x03\xf9\x63\x16\xff\x41\xf9\x63\x16\xff\xf1\xf2\xc7"
      "\x2c\xfe\x83\xf3\xc7\x2c\xfe\x43\xf2\xc7\x2c\xfe\x43\xf3\xc7\x2c\xfe\xc3"
      "\xf2\xc7\x2c\xfe\xe3\xe7\x8f\x59\xfc\x27\xc8\x1f\xb3\xf8\x4f\x98\x3f\x66"
      "\xf1\x9f\x28\x7f\xcc\xe2\x3f\x71\xfe\x98\xc5\x7f\x92\xfc\x31\x8b\xff\xa4"
      "\xf9\x63\x16\xff\xe1\xf9\x63\x16\xff\xc9\xf2\xc7\x2c\xfe\x93\xe7\x8f\x59"
      "\xfc\xa7\xc8\x1f\xb3\xf8\x4f\x99\x3f\x66\xf1\x9f\x2a\x7f\xcc\xe2\x3f\x75"
      "\xfe\x98\xc5\x7f\x9a\xfc\x31\x8b\xff\x3b\xf2\xc7\x2c\xfe\xef\xcc\x1f\xb3"
      "\xf8\x4f\x9b\x3f\x66\xf1\x9f\x2e\x7f\xcc\xe2\x3f\x7d\xfe\x98\xc5\xff\x5d"
      "\xf9\x63\x16\xff\x19\xf2\xc7\x2c\xfe\x23\xf2\xc7\x2c\xfe\xef\xce\x1f\xb3"
      "\xf8\xcf\x98\x3f\x66\xf1\x9f\x29\x7f\xcc\xe2\xff\x9e\xfc\x31\x8b\xff\xcc"
      "\xf9\x63\x16\xff\x59\xf2\xc7\x2c\xfe\xb3\xe6\x8f\x59\xfc\x67\xcb\x1f\xb3"
      "\xf8\xbf\x37\x7f\xcc\xe2\x3f\x7b\xfe\x98\xc5\x7f\x8e\xfc\x31\x8b\xff\x9c"
      "\xf9\x63\x16\xff\xb9\xf2\xc7\x2c\xfe\x73\xe7\x8f\x59\xfc\xe7\xc9\x1f\xb3"
      "\xf8\xcf\x9b\x3f\x66\xf1\x9f\x2f\x7f\xcc\xe2\x3f\x7f\xfe\x98\xc5\x7f\x81"
      "\xfc\x31\x8b\xff\x82\xf9\x63\x16\xff\x85\xf2\xc7\x2c\xfe\x0b\xe7\x8f\x59"
      "\xfc\x17\xc9\x1f\xb3\xf8\x2f\x9a\x3f\x66\xf1\x5f\x2c\x7f\xcc\xe2\xbf\x78"
      "\xfe\x98\xc5\x7f\x89\xfc\x31\x8b\xff\x92\xf9\x63\x16\xff\xa5\xf2\xc7\x2c"
      "\xfe\x4b\xe7\x8f\x59\xfc\x97\xc9\x1f\xb3\xf8\xbf\x2f\x7f\xcc\xe2\xff\xfe"
      "\xfc\x31\x8b\xff\x07\xf2\xc7\x2c\xfe\xcb\xe6\x8f\x59\xfc\x97\xcb\x1f\xb3"
      "\xf8\x2f\x9f\x3f\x66\xf1\x5f\x21\x7f\xcc\xe2\xbf\x62\xfe\x98\xc5\x7f\xa5"
      "\xfc\x31\x8b\xff\xca\xf9\x63\x16\xff\x55\xf2\xc7\x2c\xfe\xab\xe6\x8f\x59"
      "\xfc\x57\xcb\x1f\xb3\xf8\xaf\x9e\x3f\x66\xf1\x5f\x23\x7f\xcc\xe2\xbf\x66"
      "\xfe\x98\xc5\x7f\xad\xfc\x31\x8b\xff\xda\xf9\x63\x16\xff\x75\xf2\xc7\x2c"
      "\xfe\xeb\xe6\x8f\x59\xfc\xd7\xcb\x1f\xb3\xf8\xaf\x9f\x3f\x66\xf1\xdf\x20"
      "\x7f\xcc\xe2\xbf\x61\xfe\x98\xc5\x7f\xa3\xfc\x31\x8b\xff\xc6\xf9\x63\x16"
      "\xff\x4d\xf2\xc7\x2c\xfe\x9b\xe6\x8f\x59\xfc\x37\xcb\x1f\xb3\xf8\x6f\x9e"
      "\x3f\x66\xf1\xdf\x22\x7f\xcc\xe2\xbf\x65\xfe\x98\xc5\x7f\xab\xfc\x31\x8b"
      "\xff\xd6\xf9\x63\x16\xff\x0f\xe6\x8f\x59\xfc\xb7\xc9\x1f\xb3\xf8\x6f\x9b"
      "\x3f\x66\xf1\xdf\x2e\x7f\xcc\xe2\xbf\x7d\xfe\x98\xc5\x7f\x87\xfc\x31\x8b"
      "\xff\x8e\xf9\x63\x16\xff\x9d\xf2\xc7\x2c\xfe\x3b\xe7\x8f\x59\xfc\x77\xc9"
      "\x1f\xb3\xf8\xef\x9a\x3f\x66\xf1\xdf\x2d\x7f\xcc\xe2\xff\xa1\xfc\x31\x8b"
      "\xff\xee\xf9\x63\x16\xff\x3d\xf2\xc7\x2c\xfe\x7b\xe6\x8f\x59\xfc\xf7\xca"
      "\x1f\xb3\xf8\xef\x9d\x3f\x66\xf1\xff\x70\xfe\x98\xc5\x7f\x9f\xfc\x31\x8b"
      "\xff\xbe\xf9\x63\x16\xff\xfd\xf2\xc7\x2c\xfe\x1f\xc9\x1f\xb3\xf8\x7f\x34"
      "\x7f\xcc\xe2\xff\xb1\xfc\x31\x8b\xff\xfe\xf9\x63\x16\xff\x03\xf2\xc7\x2c"
      "\xfe\x07\xe6\x8f\x59\xfc\x0f\xca\x1f\xb3\xf8\x1f\x9c\x3f\x66\xf1\x3f\x24"
      "\x7f\xcc\xe2\x7f\x68\xfe\x98\xc5\xff\xb0\xfc\x31\x8b\xff\xe1\xf9\x63\x16"
      "\xff\x23\xf2\xc7\x2c\xfe\x47\xe6\x8f\x59\xfc\x8f\xca\x1f\xb3\xf8\x7f\x3c"
      "\x7f\xcc\xe2\x7f\x74\xfe\x98\xc5\xff\x13\xf9\x63\x16\xff\x4f\xe6\x8f\x59"
      "\xfc\x8f\xc9\x1f\xb3\xf8\x7f\x2a\x7f\xcc\xe2\x7f\x6c\xfe\x98\xc5\xff\xb8"
      "\xfc\x31\x8b\xff\xf1\xf9\x63\x16\xff\x4f\xe7\x8f\x59\xfc\x3f\x93\x3f\x66"
      "\xf1\x3f\x21\x7f\xcc\xe2\x7f\x62\xfe\x98\xc5\xff\xa4\xfc\x31\x8b\xff\xc9"
      "\xf9\x63\x16\xff\x53\xf2\xc7\x2c\xfe\x9f\xcd\x1f\xb3\xf8\x7f\x2e\x7f\xcc"
      "\xe2\xff\xf9\xfc\x31\x8b\xff\x17\xf2\xc7\x2c\xfe\xa7\xe6\x8f\x59\xfc\xbf"
      "\x98\x3f\x66\xf1\xff\x52\xfe\x98\xc5\xff\xcb\xf9\x63\x16\xff\xaf\xe4\x8f"
      "\x59\xfc\x4f\xcb\x1f\xb3\xf8\x9f\x9e\x3f\x66\xf1\x3f\x23\x7f\xcc\xe2\x7f"
      "\x66\xfe\x98\xc5\xff\xac\xfc\x31\x8b\xff\xd9\xf9\x63\x16\xff\xaf\xe6\x8f"
      "\x59\xfc\xbf\x96\x3f\x66\xf1\x3f\x27\x7f\xcc\xe2\xff\xf5\xfc\x31\x8b\xff"
      "\xb9\xf9\x63\x16\xff\xf3\xf2\xc7\x2c\xfe\xe7\xe7\x8f\x59\xfc\x2f\xc8\x1f"
      "\xb3\xf8\x5f\x98\x3f\x66\xf1\xff\x46\xfe\x98\xc5\xff\x9b\xf9\x63\x16\xff"
      "\x6f\xe5\x8f\x59\xfc\x2f\xca\x1f\xb3\xf8\x5f\x9c\x3f\x66\xf1\xff\x76\xfe"
      "\x98\xc5\xff\x92\xfc\x31\x8b\xff\x77\xf2\xc7\x2c\xfe\x97\xe6\x8f\x59\xfc"
      "\x2f\xcb\x1f\xb3\xf8\x5f\x9e\x3f\x66\xf1\xff\x6e\xfe\x98\xc5\xff\x7b\xf9"
      "\x63\x16\xff\x2b\xf2\xc7\x2c\xfe\x57\xe6\x8f\x59\xfc\xbf\x9f\x3f\x66\xf1"
      "\xbf\x2a\x7f\xcc\xe2\xff\x83\xfc\x31\x8b\xff\xd5\xf9\x63\x16\xff\x1f\xe6"
      "\x8f\x59\xfc\xaf\xc9\x1f\xb3\xf8\xff\x28\x7f\xcc\xe2\x7f\x6d\xfe\x98\xc5"
      "\xff\xba\xfc\x31\x8b\xff\x8f\xf3\xc7\x2c\xfe\x3f\xc9\x1f\xb3\xf8\xff\x34"
      "\x7f\xcc\xe2\x7f\x7d\xfe\x98\xc5\xff\x67\xf9\x63\x16\xff\x1b\xf2\xc7\x2c"
      "\xfe\x37\xe6\x8f\x59\xfc\x7f\x9e\x3f\x66\xf1\xbf\x29\x7f\xcc\xe2\x7f\x73"
      "\xfe\x98\xc5\xff\x17\xf9\x63\x16\xff\x5b\xf2\xc7\x2c\xfe\xb7\xe6\x8f\x59"
      "\xfc\x6f\xcb\x1f\xb3\xf8\xdf\x9e\x3f\x66\xf1\xff\x65\xfe\x98\xc5\xff\x8e"
      "\xfc\x31\x8b\xff\xaf\xf2\xc7\x2c\xfe\xbf\xce\x1f\xb3\xf8\xff\x26\x7f\xcc"
      "\xe2\xff\xdb\xfc\x31\x8b\xff\xef\xf2\xc7\x2c\xfe\xbf\xcf\x1f\xb3\xf8\xdf"
      "\x99\x3f\x66\xf1\xff\x43\xfe\x98\xc5\xff\x8f\xf9\x63\x16\xff\x3f\xe5\x8f"
      "\x59\xfc\xef\xca\x1f\xb3\xf8\xdf\x9d\x3f\x66\xf1\xff\x73\xfe\x98\xc5\xff"
      "\x9e\xfc\x31\x8b\xff\x5f\xf2\xc7\x2c\xfe\xf7\xe6\x8f\x59\xfc\xef\xcb\x1f"
      "\xb3\xf8\xff\x35\x7f\xcc\xe2\xff\xb7\xfc\x31\x8b\xff\xfd\xf9\x63\x16\xff"
      "\x07\xf2\xc7\x2c\xfe\x0f\xe6\x8f\x59\xfc\x1f\xca\x1f\xb3\xf8\x3f\x9c\x3f"
      "\x66\xf1\x7f\x24\x7f\xcc\xe2\xff\x68\xfe\x98\xc5\xff\xb1\xfc\x31\x8b\xff"
      "\xe3\xf9\x63\x16\xff\x27\xf2\xc7\x2c\xfe\x4f\xe6\x8f\x59\xfc\x9f\xca\x1f"
      "\xb3\xf8\x3f\x9d\x3f\x66\xf1\x7f\x26\x7f\xcc\xe2\xff\x6c\xfe\x98\xc5\xff"
      "\xb9\xfc\x31\x8b\xff\xf3\xf9\x63\x16\xff\x17\xf2\xc7\x2c\xfe\x2f\xe6\x8f"
      "\x59\xfc\x5f\xca\x1f\xb3\xf8\xbf\x9c\x3f\x66\xf1\x7f\x25\x7f\xcc\xe2\xff"
      "\x6a\xfe\x98\xc5\xff\xb5\xfc\x31\x89\xff\xf0\x81\xfc\x31\x8b\xff\xa0\xfc"
      "\x31\x8b\xff\x78\xf9\x63\x16\xff\xc1\xf9\x63\x16\xff\x21\xf9\x63\x16\xff"
      "\xa1\xf9\x63\x16\xff\x61\xf9\x63\x16\xff\xf1\xf3\xc7\x2c\xfe\x13\xe4\x8f"
      "\x59\xfc\x27\xcc\x1f\xb3\xf8\x4f\x94\x3f\x66\xf1\x9f\x38\x7f\xcc\xe2\x3f"
      "\x49\xfe\x98\xc5\x7f\xd2\xfc\x31\x8b\xff\xf0\xfc\x31\x8b\xff\x64\xf9\x63"
      "\x16\xff\xc9\xf3\xc7\x2c\xfe\x53\xe4\x8f\x59\xfc\xa7\xcc\x1f\xb3\xf8\x4f"
      "\x95\x3f\x66\xf1\x9f\x3a\x7f\xcc\xe2\x3f\x4d\xfe\x98\xc5\xff\x1d\xf9\x63"
      "\x16\xff\x77\xe6\x8f\x59\xfc\xa7\xcd\x1f\xb3\xf8\x4f\x97\x3f\x66\xf1\x9f"
      "\x3e\x7f\xcc\xe2\xff\xae\xfc\x31\x8b\xff\x0c\xf9\x63\x16\xff\x11\xf9\x63"
      "\x16\xff\x77\xe7\x8f\x59\xfc\x67\xcc\x1f\xb3\xf8\xcf\x94\x3f\x66\xf1\x7f"
      "\x4f\xfe\x98\xc5\x7f\xe6\xfc\x31\x8b\xff\x2c\xf9\x63\x16\xff\x59\xf3\xc7"
      "\x2c\xfe\xb3\xe5\x8f\x59\xfc\xdf\x9b\x3f\x66\xf1\x9f\x3d\x7f\xcc\xe2\x3f"
      "\x47\xfe\x98\xc5\x7f\xce\xfc\x31\x8b\xff\x5c\xf9\x63\x16\xff\xb9\xf3\xc7"
      "\x2c\xfe\xf3\xe4\x8f\x59\xfc\xe7\xcd\x1f\xb3\xf8\xcf\x97\x3f\x66\xf1\x9f"
      "\x3f\x7f\xcc\xe2\xbf\x40\xfe\x98\xc5\x7f\xc1\xfc\x31\x8b\xff\x42\xf9\x63"
      "\x16\xff\x85\xf3\xc7\x2c\xfe\x8b\xe4\x8f\x59\xfc\x17\xcd\x1f\xb3\xf8\x2f"
      "\x96\x3f\x66\xf1\x5f\x3c\x7f\xcc\xe2\xbf\x44\xfe\x98\xc5\x7f\xc9\xfc\x31"
      "\x8b\xff\x52\xf9\x63\x16\xff\xa5\xf3\xc7\x2c\xfe\xcb\xe4\x8f\x59\xfc\xdf"
      "\x97\x3f\x66\xf1\x7f\x7f\xfe\x98\xc5\xff\x03\xf9\x63\x16\xff\x65\xf3\xc7"
      "\x2c\xfe\xcb\xe5\x8f\x59\xfc\x97\xcf\x1f\xb3\xf8\xaf\x90\x3f\x66\xf1\x5f"
      "\x31\x7f\xcc\xe2\xbf\x52\xfe\x98\xc5\x7f\xe5\xfc\x31\x8b\xff\x2a\xf9\x63"
      "\x16\xff\x55\xf3\xc7\x2c\xfe\xab\xe5\x8f\x59\xfc\x57\xcf\x1f\xb3\xf8\xaf"
      "\x91\x3f\x66\xf1\x5f\x33\x7f\xcc\xe2\xbf\x56\xfe\x98\xc5\x7f\xed\xfc\x31"
      "\x8b\xff\x3a\xf9\x63\x16\xff\x75\xf3\xc7\x2c\xfe\xeb\xe5\x8f\x59\xfc\xd7"
      "\xcf\x1f\xb3\xf8\x6f\x90\x3f\x66\xf1\xdf\x30\x7f\xcc\xe2\xbf\x51\xfe\x98"
      "\xc5\x7f\xe3\xfc\x31\x8b\xff\x26\xf9\x63\x16\xff\x4d\xf3\xc7\x2c\xfe\x9b"
      "\xe5\x8f\x59\xfc\x37\xcf\x1f\xb3\xf8\x6f\x91\x3f\x66\xf1\xdf\x32\x7f\xcc"
      "\xe2\xbf\x55\xfe\x98\xc5\x7f\xeb\xfc\x31\x8b\xff\x07\xf3\xc7\x2c\xfe\xdb"
      "\xe4\x8f\x59\xfc\xb7\xcd\x1f\xb3\xf8\x6f\x97\x3f\x66\xf1\xdf\x3e\x7f\xcc"
      "\xe2\xbf\x43\xfe\x98\xc5\x7f\xc7\xfc\x31\x8b\xff\x4e\xf9\x63\x16\xff\x9d"
      "\xf3\xc7\x2c\xfe\xbb\xe4\x8f\x59\xfc\x77\xcd\x1f\xb3\xf8\xef\x96\x3f\x66"
      "\xf1\xff\x50\xfe\x98\xc5\x7f\xf7\xfc\x31\x8b\xff\x1e\xf9\x63\x16\xff\x3d"
      "\xf3\xc7\x2c\xfe\x7b\xe5\x8f\x59\xfc\xf7\xce\x1f\xb3\xf8\x7f\x38\x7f\xcc"
      "\xe2\xbf\x4f\xfe\x98\xc5\x7f\xdf\xfc\x31\x8b\xff\x7e\xf9\x63\x16\xff\x8f"
      "\xe4\x8f\x59\xfc\x3f\x9a\x3f\x66\xf1\xff\x58\xfe\x98\xc5\x7f\xff\xfc\x31"
      "\x8b\xff\x01\xf9\x63\x16\xff\x03\xf3\xc7\x2c\xfe\x07\xe5\x8f\x59\xfc\x0f"
      "\xce\x1f\xb3\xf8\x1f\x92\x3f\x66\xf1\x3f\x34\x7f\xcc\xe2\x7f\x58\xfe\x98"
      "\xc5\xff\xf0\xfc\x31\x8b\xff\x11\xf9\x63\x16\xff\x23\xf3\xc7\x2c\xfe\x47"
      "\xe5\x8f\x59\xfc\x3f\x9e\x3f\x66\xf1\x3f\x3a\x7f\xcc\xe2\xff\x89\xfc\x31"
      "\x8b\xff\x27\xf3\xc7\x2c\xfe\xc7\xe4\x8f\x59\xfc\x3f\x95\x3f\x66\xf1\x3f"
      "\x36\x7f\xcc\xe2\x7f\x5c\xfe\x98\xc5\xff\xf8\xfc\x31\x8b\xff\xa7\xf3\xc7"
      "\x2c\xfe\x9f\xc9\x1f\xb3\xf8\x9f\x90\x3f\x66\xf1\x3f\x31\x7f\xcc\xe2\x7f"
      "\x52\xfe\x98\xc5\xff\xe4\xfc\x31\x8b\xff\x29\xf9\x63\x16\xff\xcf\xe6\x8f"
      "\x59\xfc\x3f\x97\x3f\x66\xf1\xff\x7c\xfe\x98\xc5\xff\x0b\xf9\x63\x16\xff"
      "\x53\xf3\xc7\x2c\xfe\x5f\xcc\x1f\xb3\xf8\x7f\x29\x7f\xcc\xe2\xff\xe5\xfc"
      "\x31\x8b\xff\x57\xf2\xc7\x2c\xfe\xa7\xe5\x8f\x59\xfc\x4f\xcf\x1f\xb3\xf8"
      "\x9f\x91\x3f\x66\xf1\x3f\x33\x7f\xcc\xe2\x7f\x56\xfe\x98\xc5\xff\xec\xfc"
      "\x31\x8b\xff\x57\xf3\xc7\x2c\xfe\x5f\xcb\x1f\xb3\xf8\x9f\x93\x3f\x66\xf1"
      "\xff\x7a\xfe\x98\xc5\xff\xdc\xfc\x31\x8b\xff\x79\xf9\x63\x16\xff\xf3\xf3"
      "\xc7\x2c\xfe\x17\xe4\x8f\x59\xfc\x2f\xcc\x1f\xb3\xf8\x7f\x23\x7f\xcc\xe2"
      "\xff\xcd\xfc\x31\x8b\xff\xb7\xf2\xc7\x2c\xfe\x17\xe5\x8f\x59\xfc\x2f\xce"
      "\x1f\xb3\xf8\x7f\x3b\x7f\xcc\xe2\x7f\x49\xfe\x98\xc5\xff\x3b\xf9\x63\x16"
      "\xff\x4b\xf3\xc7\x2c\xfe\x97\xe5\x8f\x59\xfc\x2f\xcf\x1f\xb3\xf8\x7f\x37"
      "\x7f\xcc\xe2\xff\xbd\xfc\x31\x8b\xff\x15\xf9\x63\x16\xff\x2b\xf3\xc7\x2c"
      "\xfe\xdf\xcf\x1f\xb3\xf8\x5f\x95\x3f\x66\xf1\xff\x41\xfe\x98\xc5\xff\xea"
      "\xfc\x31\x8b\xff\x0f\xf3\xc7\x2c\xfe\xd7\xe4\x8f\x59\xfc\x7f\x94\x3f\x66"
      "\xf1\xbf\x36\x7f\xcc\xe2\x7f\x5d\xfe\x98\xc5\xff\xc7\xf9\x63\x16\xff\x9f"
      "\xe4\x8f\x59\xfc\x7f\x9a\x3f\x66\xf1\xbf\x3e\x7f\xcc\xe2\xff\xb3\xfc\x31"
      "\x8b\xff\x0d\xf9\x63\x16\xff\x1b\xf3\xc7\x2c\xfe\x3f\xcf\x1f\xb3\xf8\xdf"
      "\x94\x3f\x66\xf1\xbf\x39\x7f\xcc\xe2\xff\x8b\xfc\x31\x8b\xff\x2d\xf9\x63"
      "\x16\xff\x5b\xf3\xc7\x2c\xfe\xb7\xe5\x8f\x59\xfc\x6f\xcf\x1f\xb3\xf8\xff"
      "\x32\x7f\xcc\xe2\x7f\x47\xfe\x98\xc5\xff\x57\xf9\x63\x16\xff\x5f\xe7\x8f"
      "\x59\xfc\x7f\x93\x3f\x66\xf1\xff\x6d\xfe\x98\xc5\xff\x77\xf9\x63\x16\xff"
      "\xdf\xe7\x8f\x59\xfc\xef\xcc\x1f\xb3\xf8\xff\x21\x7f\xcc\xe2\xff\xc7\xfc"
      "\x31\x8b\xff\x9f\xf2\xc7\x2c\xfe\x77\xe5\x8f\x59\xfc\xef\xce\x1f\xb3\xf8"
      "\xff\x39\x7f\xcc\xe2\x7f\x4f\xfe\x98\xc5\xff\x2f\xf9\x63\x16\xff\x7b\xf3"
      "\xc7\x2c\xfe\xf7\xe5\x8f\x59\xfc\xff\x9a\x3f\x66\xf1\xff\x5b\xfe\x98\xc5"
      "\xff\xfe\xfc\x31\x8b\xff\x03\xf9\x63\x16\xff\x07\xf3\xc7\x2c\xfe\x0f\xe5"
      "\x8f\x59\xfc\x1f\xce\x1f\xb3\xf8\x3f\x92\x3f\x66\xf1\x7f\x34\x7f\xcc\xe2"
      "\xff\x58\xfe\x98\xc5\xff\xf1\xfc\x31\x8b\xff\x13\xf9\x63\x16\xff\x27\xf3"
      "\xc7\x2c\xfe\x4f\xe5\x8f\x59\xfc\x9f\xce\x1f\xb3\xf8\x3f\x93\x3f\x66\xf1"
      "\x7f\x36\x7f\xcc\xe2\xff\x5c\xfe\x98\xc5\xff\xf9\xfc\x31\x8b\xff\x0b\xf9"
      "\x63\x16\xff\x17\xf3\xc7\x2c\xfe\x2f\xe5\x8f\x59\xfc\x5f\xce\x1f\xb3\xf8"
      "\xbf\x92\x3f\x66\xf1\x7f\x35\x7f\xcc\xe2\xff\x5a\xfe\x98\xc4\x7f\xb2\x81"
      "\xfc\x31\x8b\xff\xa0\xfc\x31\x8b\xff\x78\xf9\x63\x16\xff\xc1\xf9\x63\x16"
      "\xff\x21\xf9\x63\x16\xff\xa1\xf9\x63\x16\xff\x61\xf9\x63\x16\xff\xf1\xf3"
      "\xc7\x2c\xfe\x13\xe4\x8f\x59\xfc\x27\xcc\x1f\xb3\xf8\x4f\x94\x3f\x66\xf1"
      "\x9f\x38\x7f\xcc\xe2\x3f\x49\xfe\x98\xc5\x7f\xd2\xfc\x31\x8b\xff\xf0\xfc"
      "\x31\x8b\xff\x64\xf9\x63\x16\xff\xc9\xf3\xc7\x2c\xfe\x53\xe4\x8f\x59\xfc"
      "\xa7\xcc\x1f\xb3\xf8\x4f\x95\x3f\x66\xf1\x9f\x3a\x7f\xcc\xe2\x3f\x4d\xfe"
      "\x98\xc5\xff\x1d\xf9\x63\x16\xff\x77\xe6\x8f\x59\xfc\xa7\xcd\x1f\xb3\xf8"
      "\x4f\x97\x3f\x66\xf1\x9f\x3e\x7f\xcc\xe2\xff\xae\xfc\x31\x8b\xff\x0c\xf9"
      "\x63\x16\xff\x11\xf9\x63\x16\xff\x77\xe7\x8f\x59\xfc\x67\xcc\x1f\xb3\xf8"
      "\xcf\x94\x3f\x66\xf1\x7f\x4f\xfe\x98\xc5\x7f\xe6\xfc\x31\x8b\xff\x2c\xf9"
      "\x63\x16\xff\x59\xf3\xc7\x2c\xfe\xb3\xe5\x8f\x59\xfc\xdf\x9b\x3f\x66\xf1"
      "\x9f\x3d\x7f\xcc\xe2\x3f\x47\xfe\x98\xc5\x7f\xce\xfc\x31\x8b\xff\x5c\xf9"
      "\x63\x16\xff\xb9\xf3\xc7\x2c\xfe\xf3\xe4\x8f\x59\xfc\xe7\xcd\x1f\xb3\xf8"
      "\xcf\x97\x3f\x66\xf1\x9f\x3f\x7f\xcc\xe2\xbf\x40\xfe\x98\xc5\x7f\xc1\xfc"
      "\x31\x8b\xff\x42\xf9\x63\x16\xff\x85\xf3\xc7\x2c\xfe\x8b\xe4\x8f\x59\xfc"
      "\x17\xcd\x1f\xb3\xf8\x2f\x96\x3f\x66\xf1\x5f\x3c\x7f\xcc\xe2\xbf\x44\xfe"
      "\x98\xc5\x7f\xc9\xfc\x31\x8b\xff\x52\xf9\x63\x16\xff\xa5\xf3\xc7\x2c\xfe"
      "\xcb\xe4\x8f\x59\xfc\xdf\x97\x3f\x66\xf1\x7f\x7f\xfe\x98\xc5\xff\x03\xf9"
      "\x63\x16\xff\x65\xf3\xc7\x2c\xfe\xcb\xe5\x8f\x59\xfc\x97\xcf\x1f\xb3\xf8"
      "\xaf\x90\x3f\x66\xf1\x5f\x31\x7f\xcc\xe2\xbf\x52\xfe\x98\xc5\x7f\xe5\xfc"
      "\x31\x8b\xff\x2a\xf9\x63\x16\xff\x55\xf3\xc7\x2c\xfe\xab\xe5\x8f\x59\xfc"
      "\x57\xcf\x1f\xb3\xf8\xaf\x91\x3f\x66\xf1\x5f\x33\x7f\xcc\xe2\xbf\x56\xfe"
      "\x98\xc5\x7f\xed\xfc\x31\x8b\xff\x3a\xf9\x63\x16\xff\x75\xf3\xc7\x2c\xfe"
      "\xeb\xe5\x8f\x59\xfc\xd7\xcf\x1f\xb3\xf8\x6f\x90\x3f\x66\xf1\xdf\x30\x7f"
      "\xcc\xe2\xbf\x51\xfe\x98\xc5\x7f\xe3\xfc\x31\x8b\xff\x26\xf9\x63\x16\xff"
      "\x4d\xf3\xc7\x2c\xfe\x9b\xe5\x8f\x59\xfc\x37\xcf\x1f\xb3\xf8\x6f\x91\x3f"
      "\x66\xf1\xdf\x32\x7f\xec\xff\xc7\x1e\x3d\x18\x0a\x62\x00\x50\x00\xab\x8d"
      "\x5f\xdb\xb6\xad\x49\x6a\xdb\xb6\x6d\xdb\xb6\x6d\xdb\xb6\xdb\xb3\xad\x05"
      "\xde\x04\xf7\x92\x15\xd2\xf2\xbf\xb3\xff\xa8\xe5\x7f\x17\xff\x51\xcb\xff"
      "\xae\xfe\xa3\x96\xff\xdd\xfc\x47\x2d\xff\xbb\xfb\x8f\x5a\xfe\xf7\xf0\x1f"
      "\xb5\xfc\xef\xe9\x3f\x6a\xf9\xdf\xcb\x7f\xd4\xf2\xbf\xb7\xff\xa8\xe5\x7f"
      "\x1f\xff\x51\xcb\xff\xbe\xfe\xa3\x96\xff\xfd\xfc\x47\x2d\xff\xfb\xfb\x8f"
      "\x5a\xfe\x0f\xf0\x1f\xb5\xfc\x1f\xe8\x3f\x6a\xf9\x3f\xc8\x7f\xd4\xf2\x7f"
      "\xb0\xff\xa8\xe5\xff\x10\xff\x51\xcb\xff\xa1\xfe\xa3\x96\xff\xc3\xfc\x47"
      "\x2d\xff\x87\xfb\x8f\x5a\xfe\x8f\xf0\x1f\xb5\xfc\x1f\xe9\x3f\x6a\xf9\x3f"
      "\xca\x7f\xd4\xf2\x7f\xb4\xff\xa8\xe5\xff\x18\xff\x51\xcb\xff\xb1\xfe\xa3"
      "\x96\xff\xe3\xfc\x47\x2d\xff\xc7\xfb\x8f\x5a\xfe\x4f\xf0\x1f\xb5\xfc\x9f"
      "\xe8\x3f\x6a\xf9\x3f\xc9\x7f\xd4\xf2\x7f\xb2\xff\xa8\xe5\xff\x14\xff\x51"
      "\xcb\xff\xa9\xfe\xa3\x96\xff\xd3\xfc\x47\x2d\xff\xa7\xfb\x8f\x5a\xfe\xcf"
      "\xf0\x1f\xb5\xfc\x9f\xe9\x3f\x6a\xf9\x3f\xcb\x7f\xd4\xf2\x7f\xb6\xff\xa8"
      "\xe5\xff\x1c\xff\x51\xcb\xff\xb9\xfe\xa3\x96\xff\xf3\xfc\x47\x2d\xff\xe7"
      "\xfb\x8f\x5a\xfe\x2f\xf0\x1f\xb5\xfc\x5f\xe8\x3f\x6a\xf9\xbf\xc8\x7f\xd4"
      "\xf2\x7f\xb1\xff\xa8\xe5\xff\x12\xff\x51\xcb\xff\xa5\xfe\xa3\x96\xff\xcb"
      "\xfc\x47\x2d\xff\x97\xfb\x8f\x5a\xfe\xaf\xf0\x1f\xb5\xfc\x5f\xe9\x3f\x6a"
      "\xf9\xbf\xca\x7f\xd4\xf2\x7f\xb5\xff\xa8\xe5\xff\x1a\xff\x51\xcb\xff\xb5"
      "\xfe\xa3\x96\xff\xeb\xfc\x47\x2d\xff\xd7\xfb\x8f\x5a\xfe\x6f\xf0\x1f\xb5"
      "\xfc\xdf\xe8\x3f\x6a\xf9\xbf\xc9\x7f\xd4\xf2\x7f\xb3\xff\xa8\xe5\xff\x16"
      "\xff\x51\xcb\xff\xad\xfe\xa3\x96\xff\xdb\xfc\x47\x2d\xff\xb7\xfb\x8f\x5a"
      "\xfe\xef\xf0\x1f\xb5\xfc\xdf\xe9\x3f\x6a\xf9\xbf\xcb\x7f\xd4\xf2\x7f\xb7"
      "\xff\xa8\xe5\xff\x1e\xff\x51\xcb\xff\xbd\xfe\xa3\x96\xff\xfb\xfc\x47\x2d"
      "\xff\xf7\xfb\x8f\x5a\xfe\x1f\xf0\x1f\xb5\xfc\x3f\xe8\x3f\x6a\xf9\x7f\xc8"
      "\x7f\xd4\xf2\xff\xb0\xff\xa8\xe5\xff\x11\xff\x51\xcb\xff\xa3\xfe\xa3\x96"
      "\xff\xc7\xfc\x47\x2d\xff\x8f\xfb\x8f\x5a\xfe\x9f\xf0\x1f\xb5\xfc\x3f\xe9"
      "\x3f\x6a\xf9\x7f\xca\x7f\xd4\xf2\xff\xb4\xff\xa8\xe5\xff\x19\xff\x51\xcb"
      "\xff\xb3\xfe\xa3\x96\xff\xe7\xfc\x47\x2d\xff\xcf\xfb\x8f\x5a\xfe\x5f\xf0"
      "\x1f\xb5\xfc\xbf\xe8\x3f\x6a\xf9\x7f\xc9\x7f\xd4\xf2\xff\xb2\xff\xa8\xe5"
      "\xff\x15\xff\x51\xcb\xff\xab\xfe\xa3\x96\xff\xd7\xfc\x47\x2d\xff\xaf\xfb"
      "\x8f\x5a\xfe\xdf\xf0\x1f\xb5\xfc\xbf\xe9\x3f\x6a\xf9\x7f\xcb\x7f\xd4\xf2"
      "\xff\xb6\xff\xa8\xe5\xff\x1d\xff\x51\xcb\xff\xbb\xfe\xa3\x96\xff\xf7\xfc"
      "\x47\x2d\xff\xef\xfb\x8f\x5a\xfe\x3f\xf0\x1f\xb5\xfc\x7f\xe8\x3f\x6a\xf9"
      "\xff\xc8\x7f\xd4\xf2\xff\xb1\xff\xa8\xe5\xff\x13\xff\x51\xcb\xff\xa7\xfe"
      "\xa3\x96\xff\xcf\xfc\x47\x2d\xff\x9f\xfb\x8f\x5a\xfe\xbf\xf0\x1f\xb5\xfc"
      "\x7f\xe9\x3f\x6a\xf9\xff\xca\x7f\xd4\xf2\xff\xb5\xff\xa8\xe5\xff\x1b\xff"
      "\x51\xcb\xff\xb7\xfe\xa3\x96\xff\xef\xfc\x47\x2d\xff\xdf\xfb\x8f\x5a\xfe"
      "\x7f\xf0\x1f\xb5\xfc\xff\xe8\x3f\x6a\xf9\xff\xc9\x7f\xd4\xf2\xff\xb3\xff"
      "\xa8\xe5\xff\x17\xff\x51\xcb\xff\xaf\xfe\xa3\x96\xff\xdf\xfc\x47\x2d\xff"
      "\xbf\xfb\x8f\x5a\xfe\xff\xf0\x1f\xb5\xfc\xff\xe9\x3f\x6a\xf9\xff\xcb\x7f"
      "\xd4\xf2\xff\xb7\xff\xa8\xe5\xff\x1f\xff\x51\xcb\xff\xbf\xfe\xa3\x96\xff"
      "\xff\xfc\x47\x2d\xff\xff\xfb\x8f\x5a\xfe\x07\xf9\x8f\x5a\xfe\x07\xfb\x8f"
      "\x5a\xfe\x87\xf8\x8f\x5a\xfe\x87\xfa\x8f\x5a\xfe\x87\xf9\x8f\x5a\xfe\x87"
      "\xfb\x8f\x5a\xfe\x47\xf8\x8f\x5a\xfe\x47\xfa\x8f\x5a\xfe\x47\xf9\x8f\x5a"
      "\xfe\x47\xfb\x8f\x5a\xfe\xc7\xf8\x8f\x5a\xfe\xc7\xfa\x8f\x5a\xfe\xc7\xf9"
      "\x8f\x5a\xfe\xc7\xfb\x8f\x5a\xfe\x27\xf8\x8f\x5a\xfe\x27\xfa\x8f\x5a\xfe"
      "\x27\xf9\x8f\x5a\xfe\x27\xfb\x8f\x5a\xfe\xa7\xf8\x8f\x5a\xfe\xa7\xfa\x8f"
      "\x5a\xfe\xa7\xf9\x8f\x5a\xfe\xa7\xfb\x8f\x4a\xfe\x07\x66\xf1\x1f\xb5\xfc"
      "\xcf\xea\x3f\x6a\xf9\x9f\xcd\x7f\xd4\xf2\x3f\xbb\xff\xa8\xe5\x7f\x0e\xff"
      "\x51\xcb\xff\x9c\xfe\xa3\x96\xff\xb9\xfc\x47\x2d\xff\x73\xfb\x8f\x5a\xfe"
      "\xe7\xf1\x1f\xb5\xfc\xcf\xeb\x3f\x6a\xf9\x9f\xcf\x7f\xd4\xf2\x3f\xbf\xff"
      "\xa8\xe5\x7f\x01\xff\x51\xcb\xff\x82\xfe\xa3\x96\xff\x85\xfc\x47\x2d\xff"
      "\x0b\xfb\x8f\x5a\xfe\x07\xfc\x47\x2d\xff\x8b\xf8\x8f\x5a\xfe\x17\xf5\x1f"
      "\xb5\xfc\x2f\xe6\x3f\x6a\xf9\x5f\xdc\x7f\xd4\xf2\xbf\x84\xff\xa8\xe5\x7f"
      "\x49\xff\x51\xcb\xff\x52\xfe\xa3\x96\xff\xa5\xfd\x47\x2d\xff\xcb\xf8\x8f"
      "\x5a\xfe\x97\xf5\x1f\xb5\xfc\x2f\xe7\x3f\x6a\xf9\x5f\xde\x7f\xd4\xf2\xbf"
      "\x82\xff\xa8\xe5\x7f\x45\xff\x51\xcb\xff\x4a\xfe\xa3\x96\xff\x95\xfd\x47"
      "\x2d\xff\xab\xf8\x8f\x5a\xfe\x57\xf5\x1f\xb5\xfc\xaf\xe6\x3f\x6a\xf9\x5f"
      "\xdd\x7f\xd4\xf2\xbf\x86\xff\xa8\xe5\x7f\x4d\xff\x51\xcb\xff\x5a\xfe\xa3"
      "\x96\xff\xb5\xfd\x47\x2d\xff\xeb\xf8\x8f\x5a\xfe\xd7\xf5\x1f\xb5\xfc\xaf"
      "\xe7\x3f\x6a\xf9\x5f\xdf\x7f\xd4\xf2\xbf\x81\xff\xa8\xe5\x7f\x43\xff\x51"
      "\xcb\xff\x46\xfe\xa3\x96\xff\x8d\xfd\x47\x2d\xff\x9b\xf8\x8f\x5a\xfe\x37"
      "\xf5\x1f\xb5\xfc\x6f\xe6\x3f\x6a\xf9\xdf\xdc\x7f\xd4\xf2\xbf\x85\xff\xa8"
      "\xe5\x7f\x4b\xff\x51\xcb\xff\x56\xfe\xa3\x96\xff\xad\xfd\x47\x2d\xff\xdb"
      "\xf8\x8f\x5a\xfe\xb7\xf5\x1f\xb5\xfc\x6f\xe7\x3f\x6a\xf9\xdf\xde\x7f\xd4"
      "\xf2\xbf\x83\xff\xa8\xe5\x7f\x47\xff\x51\xcb\xff\x4e\xfe\xa3\x99\xee\x1f"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\xb0"
      "\x73\xff\x31\x5e\xd7\x05\x1c\xc7\x3f\x77\x70\x77\x08\x05\x22\x46\x48\xbd"
      "\x81\xa0\x02\xc1\xe3\xe4\x8e\x5f\x82\x8a\x56\x34\xcf\xc6\x59\x61\xeb\xd7"
      "\x24\x98\x9c\x02\x1d\xa9\x78\x33\x40\x16\x94\x5a\xd4\xdc\xd2\xc9\x96\xb5"
      "\x48\xfd\x83\xb4\x56\x6b\x6c\xc6\x5a\x4d\xca\x6c\x8b\xd9\x8a\x9a\xf6\xc3"
      "\xb9\x05\x25\xfd\x18\xeb\xd4\x8a\x6c\x91\x75\xee\x0b\xdf\xef\x79\xf7\xf5"
      "\xb8\xf9\x7d\x9f\xef\x37\x7f\xf0\x78\xfc\x71\xf7\xfd\x7c\x8e\xd7\xe7\x80"
      "\xed\x79\x9f\xcf\x77\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\xe0\xb5\xd3\xde\x71\x79\xcf\x88\xba\x01\xa7\x46\xf4\x3f"
      "\x08\x3f\xef\x3c\xf1\x79\xfe\xbf\x3f\xb4\x6e\xcf\x9e\x7d\xe3\x2b\x9f\xcb"
      "\x5f\x7e\xcf\x20\x97\xac\xef\x7f\xd0\xdb\xdb\xdb\xbb\x6d\xc2\x2f\x6e\x29"
      "\x1f\x36\x15\x45\x51\xfa\x6e\x97\x95\x8f\x47\x55\x8f\x4b\xd7\xdf\xbe\x7f"
      "\xea\xd9\xe5\xef\x5e\xdc\x77\xf7\x6d\xb3\x97\x6e\x59\xfe\xd8\xee\x8d\x3d"
      "\x63\x7e\xba\x60\xfb\x91\x86\x13\x67\x1b\x8a\xd5\xd7\xad\xef\xea\xbc\xb0"
      "\xbe\x28\xc2\x88\x86\x62\x73\xe9\x60\x5e\x5d\x51\x84\xc6\x86\xe2\xae\xd2"
      "\x41\x6b\xe9\xa0\xa9\xa1\x78\xa8\x74\xd0\x76\xe2\xe0\xac\xe2\x47\xa5\x83"
      "\xb9\xd7\xde\xd0\xb5\xb6\x74\xe2\x15\xdf\x1a\xce\x38\xed\x1d\x3b\x8a\x11"
      "\x03\x8a\x2d\x06\xfc\x34\xe8\xdf\xff\xf6\xfd\x97\xbe\xb7\xf2\x79\x88\x4b"
      "\x56\xae\x36\xb2\x28\xf7\x7f\xc5\xf7\x9f\x68\xaa\xfa\x5a\xc5\x29\xfa\xaf"
      "\x5c\x3f\xd4\x55\xf7\x5f\xf3\x1f\x10\x38\xa5\xda\xfa\x5f\xf1\x7c\xe5\xf3"
      "\x10\x97\x7c\xc5\xfd\xbf\xf5\x6f\x1f\x3b\x3c\xd8\xd7\x4e\xdd\x7f\xe5\xfa"
      "\xa1\x5e\xff\x90\xce\x20\xcf\xff\x03\x1a\xad\x7e\xee\xaf\x7a\xfe\x9f\x36"
      "\xc8\x25\xfb\xf6\xcd\x2d\x8f\x8f\x2a\xf5\xbf\x64\xf1\x7d\x1b\xca\xa7\x46"
      "\xbe\x9a\xe7\xff\x97\xaf\x1f\x46\x54\xf7\x5f\x3f\xe0\xf9\xbf\xf4\x1c\x3f"
      "\xb2\xf2\xfc\xdf\x54\x14\xa1\x61\x98\x7f\x1d\x70\x46\x69\xef\xf8\x74\xcf"
      "\x50\xf7\xff\xa1\xfb\x1f\x39\xb9\x6a\x53\xd7\xbf\xff\xad\xc7\x0e\xad\x2a"
      "\xf5\xdf\xbc\xe1\x93\xcf\x95\x4f\x35\xd4\xd8\xff\xc8\x21\xee\xff\x75\x4f"
      "\x56\xfd\x5e\x81\xda\xb4\x77\x3c\xd0\x5b\x75\xff\xaf\xa1\xff\x62\xe6\x20"
      "\x97\xec\xeb\xbf\xe7\xd6\xa7\x8f\x97\xfa\xff\xd3\xfe\x67\xce\xef\xf7\xb5"
      "\x5a\xfa\x6f\xa8\xee\xbf\xa5\x7b\xe3\x8d\x2d\x37\x6f\xd9\xda\xbc\x7e\xe3"
      "\x9a\xeb\x3b\xaf\xef\xfc\x44\xeb\xfc\x85\x8b\x16\xb6\x2e\xbe\xa8\x6d\x41"
      "\xcb\x89\x47\x82\x93\x1f\x87\xf9\xb7\x02\x67\x86\xe1\xdd\xff\x8b\xd1\x55"
      "\x9b\xba\xa2\xe8\xec\xdb\x5f\xf0\xdc\xca\x9d\xa5\xfe\xa7\xaf\x5f\xf9\xd9"
      "\xf2\xa9\x51\x35\xf6\xdf\x38\xe4\xfd\x7f\x9a\xfb\x3f\x0c\x6a\x7a\x7d\xd1"
      "\xd8\x58\x6c\x5e\xd3\xdd\xbd\x69\xde\xc9\x8f\x95\xc3\xd6\x93\x1f\x4f\xfe"
      "\xb2\x41\xfa\xaf\xe1\xfd\xff\x8c\x59\xe5\x5f\x56\x79\xdf\x5d\x57\x14\x93"
      "\xfa\xf6\x73\x6e\x5c\xb0\xba\xd4\xff\x83\xc7\x3e\xf7\x78\xf9\x54\x63\x8d"
      "\xfd\x37\x0d\xd9\xff\x65\x85\xf7\xfb\x30\x0c\xc3\xbc\xff\xaf\xad\xda\x0c"
      "\xe8\xff\xe8\x8a\xb1\xcf\x96\xfa\xff\xd2\xc3\xb3\xba\xcb\xa7\x6a\x7d\xff"
      "\x3f\x6a\xc8\xfe\x0f\xbb\xff\xc3\x70\xb4\x77\x54\xfd\x0b\x3f\xaf\xb1\x52"
      "\xff\x97\x8c\xdd\xfd\xf7\xb8\x75\x38\xcb\x3f\xff\x83\x74\x72\xf4\x3f\xfe"
      "\xf8\x9d\x57\xc5\xad\xc3\x68\xfd\x43\x3a\x39\xfa\xff\xc8\xed\x33\x9f\x8a"
      "\x5b\x87\x31\xfa\x87\x74\x72\xf4\xff\xbd\xb5\xef\x5c\x18\xb7\x0e\xaf\xd3"
      "\x3f\xa4\x93\xa3\xff\x7f\x4e\xfe\xeb\xfd\x71\xeb\xf0\x7a\xfd\x43\x3a\x39"
      "\xfa\x3f\xf4\xec\x7f\xa6\xc4\xad\xc3\x58\xfd\x43\x3a\x39\xfa\xdf\x75\xd7"
      "\xfb\x77\xc6\xad\xc3\x38\xfd\x43\x3a\x39\xfa\x9f\xb1\xed\xc8\x1d\x71\xeb"
      "\x70\xb6\xfe\x21\x9d\x1c\xfd\xaf\xab\xbf\x6a\x42\xdc\x3a\x8c\xd7\x3f\xa4"
      "\x93\xa3\xff\x77\xbd\xb0\xea\xdb\x71\xeb\x70\x8e\xfe\x21\x9d\x1c\xfd\x8f"
      "\xdb\xf9\xaf\xa5\x71\xeb\x30\x41\xff\x90\x4e\x8e\xfe\x7b\xd6\xdd\xfd\x64"
      "\xdc\x3a\x9c\xab\x7f\x48\x27\x47\xff\x5f\x9f\xb8\xe4\x1d\x71\xeb\xf0\x06"
      "\xfd\x43\x3a\x39\xfa\xff\xc2\x1f\xe7\xbc\x18\xb7\x0e\x13\xf5\x0f\xe9\xe4"
      "\xe8\xff\xd1\xaf\xee\xd8\x10\xb7\x0e\x6f\xd4\x3f\xa4\x93\xa3\xff\x1f\x7e"
      "\x60\xec\x60\xff\x9f\xb0\x57\x21\x4c\xd2\x3f\xa4\x93\xa3\xff\x63\x73\xf6"
      "\xec\x8d\x5b\x87\xf3\xf4\x0f\xe9\xe4\xe8\xff\x77\x87\x1e\x1e\x17\xb7\x0e"
      "\x93\xf5\x0f\xe9\xe4\xe8\xff\x9e\x07\xa6\x7e\x39\x6e\x1d\xde\xa4\x7f\x48"
      "\x27\x47\xff\x37\x5d\x7e\xeb\x2d\x71\xeb\xf0\x66\xfd\x43\x3a\x39\xfa\x5f"
      "\xb2\xec\x97\x87\xe3\xd6\x21\xe8\x1f\xd2\xc9\xd1\xff\xc4\x9f\x3d\xba\x2a"
      "\x6e\x1d\xa6\xe8\x1f\xd2\xc9\xd1\xff\x35\xdf\xdd\x70\x20\x6e\x1d\xa6\xea"
      "\x1f\xd2\xc9\xd1\xff\xe6\x73\xbe\xb5\x3c\x6e\x1d\xa6\xe9\x1f\xd2\xc9\xd1"
      "\x7f\x5b\x57\xd3\x13\x71\xeb\xf0\x16\xfd\x43\x3a\x39\xfa\x9f\x7a\xef\xc4"
      "\x8d\x71\xeb\x30\x5d\xff\x90\x4e\x8e\xfe\xaf\xfe\xf3\x23\xff\x8d\x5b\x87"
      "\x19\xfa\x87\x74\x72\xf4\xbf\xaf\xf1\xa9\x73\xe3\xd6\xe1\xad\xfa\x87\x74"
      "\x72\xf4\xff\xbf\xcd\x9b\x3e\x13\xb7\x0e\x6f\xd3\x3f\xa4\x93\xa3\xff\x5f"
      "\xdd\x79\xed\xc5\x71\xeb\xf0\x76\xfd\x43\x3a\x39\xfa\xff\xca\x3f\x0e\x7c"
      "\x33\x6e\x1d\x66\xea\x1f\xd2\xc9\xd1\xff\x91\xa5\xef\xfe\x4b\xdc\x3a\xcc"
      "\xd2\x3f\xa4\x93\xa3\xff\xef\x2c\xef\xb9\x29\x6e\x1d\xce\xd7\x3f\xa4\x93"
      "\xa3\xff\xdb\xf6\xbe\x78\x30\x6e\x1d\x66\xeb\x1f\xd2\xc9\xd1\xff\x81\x83"
      "\x1f\xfc\x70\xdc\x3a\xcc\xd1\x3f\xa4\x93\xa3\xff\xd9\x2d\x6d\xfb\xe2\xd6"
      "\xe1\x02\xfd\x43\x3a\x39\xfa\x5f\xf3\xbe\x7b\xa7\xc5\xad\x43\xb3\xfe\x21"
      "\x9d\x1c\xfd\xaf\xd8\xf3\xf9\xaf\xc5\xad\xc3\x5c\xfd\x43\x3a\x39\xfa\x6f"
      "\x7c\x7a\xfa\xa8\xb8\x75\x68\xd1\x3f\xa4\x93\xa3\xff\xbd\x8b\x76\x35\xc4"
      "\xad\xc3\x85\xfa\x87\x74\x72\xf4\x7f\xbc\x7d\xd9\x3d\x71\xeb\x30\x4f\xff"
      "\x90\x4e\x8e\xfe\x7f\xf3\xc8\xdc\xe6\xb8\x75\x68\xd5\x3f\xa4\x93\xa3\xff"
      "\xdd\x8f\xdd\xf1\x83\xb8\x75\x68\xd3\x3f\xa4\x93\xa3\xff\xed\x33\xfe\x70"
      "\x75\xdc\x3a\xcc\xd7\x3f\xa4\x93\xa3\xff\xf9\xd7\x5c\xf9\xe3\xb8\x75\x58"
      "\xa0\x7f\x48\x27\x47\xff\x93\xbe\xf1\xd1\x6d\x71\xeb\xb0\x50\xff\x90\x4e"
      "\x8e\xfe\x57\xfe\xf6\xf9\xa3\x71\xeb\xb0\x48\xff\x90\x4e\x8e\xfe\x9b\xa7"
      "\x7c\xea\xc1\xb8\x75\x58\xac\x7f\x48\x27\x47\xff\xd7\xad\xfe\xf5\xbc\xb8"
      "\x75\xb8\x48\xff\x90\x4e\x8e\xfe\xaf\xdc\xf5\x93\x2f\xc6\xad\xc3\x12\xfd"
      "\x43\x3a\x39\xfa\xaf\x3b\x7a\xc3\x79\x71\xeb\xb0\x54\xff\x90\x4e\x8e\xfe"
      "\x9f\x19\x3d\xe6\x85\xb8\x75\xb8\x58\xff\x90\x4e\x8e\xfe\x1f\xea\xbe\x7f"
      "\x75\xdc\x3a\x5c\xa2\x7f\x48\x27\x47\xff\xb7\xef\xd8\xfb\xfb\xb8\x75\xb8"
      "\x54\xff\x90\x4e\x8e\xfe\x0f\xfe\x7f\xf2\x15\x71\xeb\xb0\x4c\xff\x90\xce"
      "\xcd\x5b\xb6\x7e\x7c\x4d\x57\x57\xe7\x26\x2f\xbc\xf0\xc2\x8b\xbe\x17\xa7"
      "\xfb\x27\x13\x90\xda\xcb\xd1\x9f\xee\xdf\x09\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x70\x2a\x39\xfe\x73\xa2\xd3\xfd\x67\x04\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x25\x76\xe0\x40\x00\x00"
      "\x00\x00\x00\xc8\xff\xb5\x11\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xb0"
      "\x03\x07\x24\x00\x00\x00\x00\x82\xfe\xbf\x6e\x47\xa0\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x54\x00"
      "\x00\x00\xff\xff\x4c\x7c\x1e\xed",
      38492));
  NONFAILING(syz_mount_image(/*fs=*/0x200000009680, /*dir=*/0x2000000096c0,
                             /*flags=*/0, /*opts=*/0x200000009700, /*chdir=*/1,
                             /*size=*/0x965c, /*img=*/0x200000009740));
  //  openat arguments: [
  //    fd: fd_dir (resource)
  //    file: ptr[in, buffer] {
  //      buffer: {2e 2f 66 69 6c 65 31 00} (length 0x8)
  //    }
  //    flags: open_flags = 0x101042 (4 bytes)
  //    mode: open_mode = 0x1c6 (2 bytes)
  //  ]
  //  returns fd
  NONFAILING(memcpy((void*)0x200000000040, "./file1\000", 8));
  res = syscall(__NR_openat, /*fd=*/0xffffff9c, /*file=*/0x200000000040ul,
                /*flags=O_SYNC|O_CREAT|O_RDWR*/ 0x101042,
                /*mode=S_IWOTH|S_IROTH|S_IXUSR|S_IWUSR|S_IRUSR*/ 0x1c6);
  if (res != -1)
    r[0] = res;
  //  ioctl$XFS_IOC_ERROR_INJECTION arguments: [
  //    fd: fd (resource)
  //    cmd: const = 0x40085874 (4 bytes)
  //    arg: ptr[in, xfs_error_injection] {
  //      xfs_error_injection {
  //        fd: int32 = 0x5 (4 bytes)
  //        errtag: int32 = 0x9 (4 bytes)
  //      }
  //    }
  //  ]
  NONFAILING(*(uint32_t*)0x200000000000 = 5);
  NONFAILING(*(uint32_t*)0x200000000004 = 9);
  syscall(__NR_ioctl, /*fd=*/r[0], /*cmd=*/0x40085874,
          /*arg=*/0x200000000000ul);
  //  openat arguments: [
  //    fd: fd_dir (resource)
  //    file: ptr[in, buffer] {
  //      buffer: {2e 2f 66 69 6c 65 31 00} (length 0x8)
  //    }
  //    flags: open_flags = 0x42 (4 bytes)
  //    mode: open_mode = 0x1ff (2 bytes)
  //  ]
  //  returns fd
  NONFAILING(memcpy((void*)0x200000000040, "./file1\000", 8));
  res = syscall(
      __NR_openat, /*fd=*/0xffffff9c, /*file=*/0x200000000040ul,
      /*flags=O_CREAT|O_RDWR*/ 0x42,
      /*mode=S_IXOTH|S_IWOTH|S_IROTH|S_IXGRP|S_IWGRP|S_IRGRP|S_IXUSR|S_IWUSR|0x100*/
      0x1ff);
  if (res != -1)
    r[1] = res;
  //  ioctl$XFS_IOC_SCRUBV_METADATA arguments: [
  //    fd: fd (resource)
  //    cmd: const = 0xc0285840 (4 bytes)
  //    arg: ptr[inout, xfs_scrub_vec_head] {
  //      xfs_scrub_vec_head {
  //        svh_ino: int64 = 0x0 (8 bytes)
  //        svh_gen: int32 = 0x0 (4 bytes)
  //        svh_agno: int32 = 0x0 (4 bytes)
  //        svh_flags: xfs_scrub_vec_head_flags = 0x0 (4 bytes)
  //        svh_rest_us: int16 = 0xfff9 (2 bytes)
  //        svh_nr: len = 0x1 (2 bytes)
  //        svh_reserved: const = 0x0 (8 bytes)
  //        svh_vectors: ptr[inout, array[xfs_scrub_vec]] {
  //          array[xfs_scrub_vec] {
  //            xfs_scrub_vec {
  //              sv_type: xfs_scrub_type = 0x5 (4 bytes)
  //              sv_flags: xfs_scrub_flags = 0x101 (4 bytes)
  //              sv_ret: int32 = 0xfffffff1 (4 bytes)
  //              sv_reserved: const = 0x0 (4 bytes)
  //            }
  //          }
  //        }
  //      }
  //    }
  //  ]
  NONFAILING(*(uint64_t*)0x2000000000c0 = 0);
  NONFAILING(*(uint32_t*)0x2000000000c8 = 0);
  NONFAILING(*(uint32_t*)0x2000000000cc = 0);
  NONFAILING(*(uint32_t*)0x2000000000d0 = 0);
  NONFAILING(*(uint16_t*)0x2000000000d4 = 0xfff9);
  NONFAILING(*(uint16_t*)0x2000000000d6 = 1);
  NONFAILING(*(uint64_t*)0x2000000000d8 = 0);
  NONFAILING(*(uint64_t*)0x2000000000e0 = 0x200000002700);
  NONFAILING(*(uint32_t*)0x200000002700 = 5);
  NONFAILING(*(uint32_t*)0x200000002704 = 0x101);
  NONFAILING(*(uint32_t*)0x200000002708 = 0xfffffff1);
  NONFAILING(*(uint32_t*)0x20000000270c = 0);
  syscall(__NR_ioctl, /*fd=*/r[1], /*cmd=*/0xc0285840,
          /*arg=*/0x2000000000c0ul);
  //  creat arguments: [
  //    file: nil
  //    mode: open_mode = 0x30 (8 bytes)
  //  ]
  //  returns fd
  syscall(__NR_creat, /*file=*/0ul, /*mode=S_IWGRP|S_IRGRP*/ 0x30ul);
}
int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffffffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul,
          /*fd=*/(intptr_t)-1, /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul,
          /*fd=*/(intptr_t)-1, /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x200001000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul,
          /*fd=*/(intptr_t)-1, /*offset=*/0ul);
  setup_sysctl();
  const char* reason;
  (void)reason;
  if ((reason = setup_802154()))
    printf("the reproducer may not work as expected: 802154 injection setup "
           "failed: %s\n",
           reason);
  install_segv_handler();
  use_temporary_dir();
  loop();
  return 0;
}
[    0.000000][    T0] Linux version 6.19.0-rc6 (root@ustb520lab-MS-7E07) (clang version 19.1.7 (/home/runner/work/llvm-project/llvm-project/clang cd708029e0b2869e80abe31ddb175f7c35361f90), GNU ld (GNU Binutils for Ubuntu) 2.38) #31 SMP PREEMPT_DYNAMIC Tue Jan 20 17:49:57 CST 2026
[    0.000000][    T0] Command line: root=/dev/sda console=ttyS0
[    0.000000][    T0] KERNEL supported cpus:
[    0.000000][    T0]   Intel GenuineIntel
[    0.000000][    T0]   AMD AuthenticAMD
[    0.000000][    T0] BIOS-provided physical RAM map:
[    0.000000][    T0] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000][    T0] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000][    T0] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000][    T0] BIOS-e820: [mem 0x0000000000100000-0x000000007ffdffff] usable
[    0.000000][    T0] BIOS-e820: [mem 0x000000007ffe0000-0x000000007fffffff] reserved
[    0.000000][    T0] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[    0.000000][    T0] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000][    T0] printk: legacy bootconsole [earlyser0] enabled
[    0.000000][    T0] ERROR: earlyprintk= earlyser already used
[    0.000000][    T0] ERROR: earlyprintk= earlyser already used
[    0.000000][    T0] Hash pointers mode set to never.
[    0.000000][    T0] Malformed early option 'vsyscall'
[    0.000000][    T0] nopcid: PCID feature disabled
[    0.000000][    T0] NX (Execute Disable) protection: active
[    0.000000][    T0] APIC: Static calls initialized
[    0.000000][    T0] SMBIOS 2.8 present.
[    0.000000][    T0] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
[    0.000000][    T0] DMI: Memory slots populated: 1/1
[    0.000000][    T0] Hypervisor detected: KVM
[    0.000000][    T0] last_pfn = 0x7ffe0 max_arch_pfn = 0x400000000
[    0.000000][    T0] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000001][    T0] kvm-clock: using sched offset of 894053101 cycles
[    0.000371][    T0] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.001462][    T0] tsc: Detected 3494.400 MHz processor
[    0.004804][    T0] last_pfn = 0x7ffe0 max_arch_pfn = 0x400000000
[    0.005242][    T0] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs
[    0.005804][    T0] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.008226][    T0] found SMP MP-table at [mem 0x000f5b90-0x000f5b9f]
[    0.008656][    T0] Using GB pages for direct mapping
[    0.009818][    T0] ACPI: Early table checksum verification disabled
[    0.010220][    T0] ACPI: RSDP 0x00000000000F59D0 000014 (v00 BOCHS )
[    0.010633][    T0] ACPI: RSDT 0x000000007FFE1967 000034 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.011217][    T0] ACPI: FACP 0x000000007FFE1813 000074 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.011801][    T0] ACPI: DSDT 0x000000007FFE0040 0017D3 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.012381][    T0] ACPI: FACS 0x000000007FFE0000 000040
[    0.012718][    T0] ACPI: APIC 0x000000007FFE1887 000080 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.013291][    T0] ACPI: HPET 0x000000007FFE1907 000038 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.013874][    T0] ACPI: WAET 0x000000007FFE193F 000028 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.014462][    T0] ACPI: Reserving FACP table memory at [mem 0x7ffe1813-0x7ffe1886]
[    0.014960][    T0] ACPI: Reserving DSDT table memory at [mem 0x7ffe0040-0x7ffe1812]
[    0.015444][    T0] ACPI: Reserving FACS table memory at [mem 0x7ffe0000-0x7ffe003f]
[    0.015946][    T0] ACPI: Reserving APIC table memory at [mem 0x7ffe1887-0x7ffe1906]
[    0.016433][    T0] ACPI: Reserving HPET table memory at [mem 0x7ffe1907-0x7ffe193e]
[    0.016929][    T0] ACPI: Reserving WAET table memory at [mem 0x7ffe193f-0x7ffe1966]
[    0.017589][    T0] No NUMA configuration found
[    0.017871][    T0] Faking a node at [mem 0x0000000000000000-0x000000007ffdffff]
[    0.018328][    T0] Faking node 0 at [mem 0x0000000000001000-0x0000000040000fff] (1024MB)
[    0.018838][    T0] Faking node 1 at [mem 0x0000000040001000-0x000000007ffdffff] (1023MB)
[    0.019365][    T0] NODE_DATA(0) allocated [mem 0x3fffb400-0x40000fff]
[    0.020078][    T0] NODE_DATA(1) allocated [mem 0x7ffd9400-0x7ffdefff]
[    0.024722][    T0] Zone ranges:
[    0.025001][    T0]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.025445][    T0]   DMA32    [mem 0x0000000001000000-0x000000007ffdffff]
[    0.025914][    T0]   Normal   empty
[    0.026146][    T0]   Device   empty
[    0.026378][    T0] Movable zone start for each node
[    0.026710][    T0] Early memory node ranges
[    0.027003][    T0]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.027483][    T0]   node   0: [mem 0x0000000000100000-0x0000000040000fff]
[    0.027945][    T0]   node   1: [mem 0x0000000040001000-0x000000007ffdffff]
[    0.028389][    T0] Initmem setup node 0 [mem 0x0000000000001000-0x0000000040000fff]
[    0.028901][    T0] Initmem setup node 1 [mem 0x0000000040001000-0x000000007ffdffff]
[    0.029417][    T0] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.029966][    T0] On node 0, zone DMA: 97 pages in unavailable ranges
[    0.043652][    T0] On node 1, zone DMA32: 32 pages in unavailable ranges
[    0.080762][    T0] KernelAddressSanitizer initialized (generic)
[    0.081407][    T0] ACPI: PM-Timer IO Port: 0x608
[    0.081724][    T0] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.082161][    T0] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
[    0.082638][    T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.083074][    T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.083524][    T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.083975][    T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.084432][    T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.084894][    T0] ACPI: Using ACPI (MADT) for SMP configuration information
[    0.085330][    T0] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.085696][    T0] TSC deadline timer available
[    0.085982][    T0] CPU topo: Max. logical packages:   1
[    0.086306][    T0] CPU topo: Max. logical dies:       1
[    0.086634][    T0] CPU topo: Max. dies per package:   1
[    0.086963][    T0] CPU topo: Max. threads per core:   1
[    0.087296][    T0] CPU topo: Num. cores per package:     2
[    0.087639][    T0] CPU topo: Num. threads per package:   2
[    0.087979][    T0] CPU topo: Allowing 2 present CPUs plus 0 hotplug CPUs
[    0.088422][    T0] kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write()
[    0.088913][    T0] kvm-guest: KVM setup pv remote TLB flush
[    0.089262][    T0] kvm-guest: setup PV sched yield
[    0.089583][    T0] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.090099][    T0] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]
[    0.090612][    T0] [mem 0x80000000-0xfeffbfff] available for PCI devices
[    0.091033][    T0] Booting paravirtualized kernel on KVM
[    0.091367][    T0] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.141458][    T0] setup_percpu: NR_CPUS:8 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:2
[    0.142482][    T0] percpu: Embedded 70 pages/cpu s248840 r8192 d29688 u2097152
[    0.143046][    T0] kvm-guest: PV spinlocks enabled
[    0.143351][    T0] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.143854][    T0] Kernel command line: earlyprintk=serial net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 ima_policy=tcb nf-conntrack-ftp.ports=20000 nf-conntrack-tftp.ports=20000 nf-conntrack-sip.ports=20000 nf-conntrack-irc.ports=20000 nf-conntrack-sane.ports=20000 binder.debug_mask=0 rcupdate.rcu_expedited=1 rcupdate.rcu_cpu_stall_cputime=1 no_hash_pointers page_owner=on sysctl.vm.nr_hugepages=4 sysctl.vm.nr_overcommit_hugepages=4 secretmem.enable=1 sysctl.max_rcu_stall_to_panic=1 msr.allow_writes=off coredump_filter=0xffff root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=64 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=32 rose.rose_ndevs=32 smp.csd_lock_timeout=100000 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140 dummy_hcd.num=32 max_loop=32 nbds_max=32 \
[    0.149432][    T0] Kernel command line: panic_on_warn=1 root=/dev/sda console=ttyS0
[    0.150737][    T0] Unknown kernel command line parameters "nbds_max=32", will be passed to user space.
[    0.151363][    T0] random: crng init done
[    0.151628][    T0] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes
[    0.152228][    T0] Fallback order for Node 0: 0 1 
[    0.152235][    T0] Fallback order for Node 1: 1 0 
[    0.152241][    T0] Built 2 zonelists, mobility grouping on.  Total pages: 524158
[    0.153248][    T0] Policy zone: DMA32
[    0.153698][    T0] mem auto-init: stack:all(zero), heap alloc:on, heap free:off
[    0.154161][    T0] stackdepot: allocating hash table via alloc_large_system_hash
[    0.154614][    T0] stackdepot hash table entries: 1048576 (order: 12, 16777216 bytes, linear)
[    0.157050][    T0] stackdepot: allocating space for 8192 stack pools via memblock
[    0.236670][    T0] **********************************************************
[    0.237151][    T0] **   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **
[    0.237595][    T0] **                                                      **
[    0.238026][    T0] ** This system shows unhashed kernel memory addresses   **
[    0.238467][    T0] ** via the console, logs, and other interfaces. This    **
[    0.238919][    T0] ** might reduce the security of your system.            **
[    0.239367][    T0] **                                                      **
[    0.239817][    T0] ** If you see this message and you are not debugging    **
[    0.240267][    T0] ** the kernel, report this immediately to your system   **
[    0.240734][    T0] ** administrator!                                       **
[    0.241189][    T0] **                                                      **
[    0.241642][    T0] ** Use hash_pointers=always to force this mode off      **
[    0.242084][    T0] **                                                      **
[    0.242528][    T0] **   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **
[    0.242996][    T0] **********************************************************
[    0.244215][    T0] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=2
[    0.258346][    T0] allocated 41943040 bytes of page_ext
[    0.258761][    T0] Node 0, zone      DMA: page owner found early allocated 0 pages
[    0.262111][    T0] Node 0, zone    DMA32: page owner found early allocated 5862 pages
[    0.263782][    T0] Node 1, zone    DMA32: page owner found early allocated 4483 pages
[    0.264831][    T0] Dynamic Preempt: full
[    0.265607][    T0] Running RCU self tests
[    0.265887][    T0] Running RCU synchronous self tests
[    0.266205][    T0] rcu: Preemptible hierarchical RCU implementation.
[    0.266608][    T0] rcu: 	RCU lockdep checking is enabled.
[    0.266941][    T0] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[    0.267393][    T0] rcu: 	RCU callback double-/use-after-free debug is enabled.
[    0.267846][    T0] rcu: 	RCU debug extended QS entry/exit.
[    0.268190][    T0] 	All grace periods are expedited (rcu_expedited).
[    0.268600][    T0] 	Trampoline variant of Tasks RCU enabled.
[    0.268959][    T0] 	Tracing variant of Tasks RCU enabled.
[    0.269300][    T0] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.269817][    T0] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.270352][    T0] Running RCU synchronous self tests
[    0.270688][    T0] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[    0.271270][    T0] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[    0.334731][    T0] NR_IRQS: 4352, nr_irqs: 440, preallocated irqs: 16
[    0.335636][    T0] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.336289][    T0] kfence: initialized - using 2097152 bytes for 255 objects at 0xffff88807ec00000-0xffff88807ee00000
[    0.340717][    T0] Console: colour VGA+ 80x25
[    0.341061][    T0] printk: legacy console [ttyS0] enabled
[    0.341061][    T0] printk: legacy console [ttyS0] enabled
[    0.341768][    T0] printk: legacy bootconsole [earlyser0] disabled
[    0.341768][    T0] printk: legacy bootconsole [earlyser0] disabled
[    0.342563][    T0] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.343085][    T0] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.343390][    T0] ... MAX_LOCK_DEPTH:          48
[    0.343703][    T0] ... MAX_LOCKDEP_KEYS:        8192
[    0.344026][    T0] ... CLASSHASH_SIZE:          4096
[    0.344353][    T0] ... MAX_LOCKDEP_ENTRIES:     1048576
[    0.344698][    T0] ... MAX_LOCKDEP_CHAINS:      1048576
[    0.345040][    T0] ... CHAINHASH_SIZE:          524288
[    0.345379][    T0]  memory used by lock dependency info: 106625 kB
[    0.345789][    T0]  memory used for stack traces: 8320 kB
[    0.346145][    T0]  per task-struct memory footprint: 1920 bytes
[    0.346597][    T0] mempolicy: Enabling automatic NUMA balancing. Configure with numa_balancing= or the kernel.numa_balancing sysctl
[    0.347389][    T0] ACPI: Core revision 20250807
[    0.348116][    T0] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
[    0.348943][    T0] APIC: Switch to symmetric I/O mode setup
[    0.349447][    T0] x2apic enabled
[    0.349945][    T0] APIC: Switched APIC routing to: physical x2apic
[    0.350368][    T0] kvm-guest: APIC: send_IPI_mask() replaced with kvm_send_ipi_mask()
[    0.350890][    T0] kvm-guest: APIC: send_IPI_mask_allbutself() replaced with kvm_send_ipi_mask_allbutself()
[    0.351513][    T0] kvm-guest: setup PV IPIs
[    0.352772][    T0] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.353221][    T0] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x325ea749ca1, max_idle_ns: 440795373125 ns
[    0.353952][    T0] Calibrating delay loop (skipped) preset value.. 6988.80 BogoMIPS (lpj=34944000)
[    0.354647][    T0] x86/cpu: User Mode Instruction Prevention (UMIP) activated
[    0.355228][    T0] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.355619][    T0] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
[    0.356050][    T0] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto
[    0.356801][    T0] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl
[    0.357412][    T0] Spectre V2 : Mitigation: Enhanced / Automatic IBRS
[    0.357852][    T0] Register File Data Sampling: Mitigation: Clear Register File
[    0.358340][    T0] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.363978][    T0] Spectre V2 : WARNING: Unprivileged eBPF is enabled with eIBRS on, data leaks possible via Spectre v2 BHB attacks!
[    0.364773][    T0] Spectre V2 : Spectre v2 / PBRSB-eIBRS: Retire a single CALL on VMEXIT
[    0.365307][    T0] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
[    0.365926][    T0] Spectre V2 : Spectre BHI mitigation: SW BHB clearing on syscall and VM exit
[    0.366516][    T0] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.367086][    T0] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.367596][    T0] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.368082][    T0] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'
[    0.368642][    T0] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.369088][    T0] x86/fpu: xstate_offset[9]:  832, xstate_sizes[9]:    8
[    0.369549][    T0] x86/fpu: Enabled xstate features 0x207, context size is 840 bytes, using 'compacted' format.
[    0.489380][    T0] Freeing SMP alternatives memory: 128K
[    0.489785][    T0] pid_max: default: 32768 minimum: 301
[    0.490492][    T0] landlock: Up and running.
[    0.490788][    T0] Yama: becoming mindful.
[    0.491146][    T0] TOMOYO Linux initialized
[    0.491768][    T0] AppArmor: AppArmor initialized
[    0.492616][    T0] LSM support for eBPF active
[    0.493699][    T0] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, vmalloc hugepage)
[    0.494269][    T0] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, vmalloc)
[    0.494959][    T0] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, vmalloc)
[    0.495582][    T0] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, vmalloc)
[    0.498092][    T0] Running RCU synchronous self tests
[    0.498454][    T0] Running RCU synchronous self tests
[    0.499220][    T1] smpboot: CPU0: 13th Gen Intel(R) Core(TM) i5-13600KF (family: 0x6, model: 0xb7, stepping: 0x1)
[    0.501330][    T1] Performance Events: unsupported CPU family 6 model 183 no PMU driver, software events only.
[    0.502126][    T1] signal: max sigframe size: 3632
[    0.502652][    T1] rcu: Hierarchical SRCU implementation.
[    0.503042][    T1] rcu: 	Max phase no-delay instances is 1000.
[    0.503844][    T1] Timer migration: 1 hierarchy levels; 8 children per group; 0 crossnode level
[    0.503945][    T1] NMI watchdog: Perf NMI watchdog permanently disabled
[    0.503945][    T1] smp: Bringing up secondary CPUs ...
[    0.504074][    T1] smpboot: x86: Booting SMP configuration:
[    0.504514][    T1] .... node  #1, CPUs:      #1
[    0.504661][    T1] smp: Brought up 2 nodes, 2 CPUs
[    0.504661][    T1] smpboot: Total of 2 processors activated (13977.60 BogoMIPS)
[    0.505045][    T1] Memory: 1267836K/2096632K available (169450K kernel code, 29105K rwdata, 38556K rodata, 25944K init, 122376K bss, 775880K reserved, 0K cma-reserved)
[    0.505712][    T1] devtmpfs: initialized
[    0.505712][    T1] x86/mm: Memory block size: 128MB
[    0.528929][    T1] Running RCU synchronous self tests
[    0.528929][    T1] Running RCU synchronous self tests
[    0.528929][    T1] Running RCU Tasks wait API self tests
[    0.534052][    T1] Running RCU Tasks Trace wait API self tests
[    0.583998][    T1] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.586471][    T1] posixtimers hash table entries: 1024 (order: 5, 73728 bytes, vmalloc)
[    0.588322][    T1] futex hash table entries: 256 (32768 bytes on 2 NUMA nodes, total 64 KiB, linear).
[    0.594378][    T1] PM: RTC time: 09:58:29, date: 2026-01-20
[    0.597837][    T1] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.599989][    T1] audit: initializing netlink subsys (disabled)
[    0.600590][   T33] audit: type=2000 audit(1768903109.572:1): state=initialized audit_enabled=0 res=1
[    0.604297][    T1] thermal_sys: Registered thermal governor 'step_wise'
[    0.604297][    T1] thermal_sys: Registered thermal governor 'user_space'
[    0.604347][    T1] cpuidle: using governor menu
[    0.605033][    T1] NET: Registered PF_QIPCRTR protocol family
[    0.607059][    T1] dca service started, version 1.12.1
[    0.607641][    T1] PCI: Using configuration type 1 for base access
[    0.634060][    T1] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.634060][    T1] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page
[    0.634060][    T1] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.634570][    T1] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
[    0.645597][    T1] raid6: skipped pq benchmark and selected avx2x4
[    0.646181][    T1] raid6: using avx2x2 recovery algorithm
[    0.647455][    T1] ACPI: Added _OSI(Module Device)
[    0.647887][    T1] ACPI: Added _OSI(Processor Device)
[    0.648319][    T1] ACPI: Added _OSI(Processor Aggregator Device)
[    0.653980][   T31] Callback from call_rcu_tasks_trace() invoked.
[    0.702133][    T1] ACPI: 1 ACPI AML tables successfully acquired and loaded
[    0.740209][    T1] ACPI: Interpreter enabled
[    0.741421][    T1] ACPI: PM: (supports S0 S3 S4 S5)
[    0.742517][    T1] ACPI: Using IOAPIC for interrupt routing
[    0.744001][    T1] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.746082][    T1] PCI: Using E820 reservations for host bridge windows
[    0.749798][    T1] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.832228][    T1] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.833828][    T1] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI HPX-Type3]
[    0.833969][    T1] acpi PNP0A03:00: _OSC: not requesting OS control; OS requires [ExtendedConfig ASPM ClockPM MSI]
[    0.836702][    T1] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended configuration space under this bridge
[    0.840647][    T1] PCI host bridge to bus 0000:00
[    0.841671][    T1] pci_bus 0000:00: Unknown NUMA node; performance will be reduced
[    0.843488][    T1] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.844185][    T1] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.845842][    T1] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.847631][    T1] pci_bus 0000:00: root bus resource [mem 0x80000000-0xfebfffff window]
[    0.849389][    T1] pci_bus 0000:00: root bus resource [mem 0x100000000-0x17fffffff window]
[    0.851232][    T1] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.852820][    T1] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000 conventional PCI endpoint
[    0.876188][    T1] pci 0000:00:01.0: [8086:7000] type 00 class 0x060100 conventional PCI endpoint
[    0.881199][    T1] pci 0000:00:01.1: [8086:7010] type 00 class 0x010180 conventional PCI endpoint
[    0.884053][    T1] pci 0000:00:01.1: BAR 4 [io  0xc060-0xc06f]
[    0.885376][    T1] pci 0000:00:01.1: BAR 0 [io  0x01f0-0x01f7]: legacy IDE quirk
[    0.886948][    T1] pci 0000:00:01.1: BAR 1 [io  0x03f6]: legacy IDE quirk
[    0.888412][    T1] pci 0000:00:01.1: BAR 2 [io  0x0170-0x0177]: legacy IDE quirk
[    0.890041][    T1] pci 0000:00:01.1: BAR 3 [io  0x0376]: legacy IDE quirk
[    0.892666][    T1] pci 0000:00:01.3: [8086:7113] type 00 class 0x068000 conventional PCI endpoint
[    0.894806][    T1] pci 0000:00:01.3: quirk: [io  0x0600-0x063f] claimed by PIIX4 ACPI
[    0.896590][    T1] pci 0000:00:01.3: quirk: [io  0x0700-0x070f] claimed by PIIX4 SMB
[    0.899388][    T1] pci 0000:00:02.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint
[    0.904748][    T1] pci 0000:00:02.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]
[    0.906280][    T1] pci 0000:00:02.0: BAR 2 [mem 0xfebb0000-0xfebb0fff]
[    0.907701][    T1] pci 0000:00:02.0: ROM [mem 0xfeba0000-0xfebaffff pref]
[    0.909349][    T1] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    0.924805][    T1] pci 0000:00:03.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint
[    0.925955][    T1] pci 0000:00:03.0: BAR 0 [io  0xc040-0xc05f]
[    0.926362][    T1] pci 0000:00:03.0: BAR 4 [mem 0xfe000000-0xfe003fff 64bit pref]
[    0.939270][    T1] pci 0000:00:04.0: [8086:100e] type 00 class 0x020000 conventional PCI endpoint
[    0.940337][    T1] pci 0000:00:04.0: BAR 0 [mem 0xfeb80000-0xfeb9ffff]
[    0.940765][    T1] pci 0000:00:04.0: BAR 1 [io  0xc000-0xc03f]
[    0.941152][    T1] pci 0000:00:04.0: ROM [mem 0xfeb00000-0xfeb7ffff pref]
[    0.960053][    T1] ACPI: PCI: Interrupt link LNKA configured for IRQ 10
[    0.961993][    T1] ACPI: PCI: Interrupt link LNKB configured for IRQ 10
[    0.963933][    T1] ACPI: PCI: Interrupt link LNKC configured for IRQ 11
[    0.965570][    T1] ACPI: PCI: Interrupt link LNKD configured for IRQ 11
[    0.966530][    T1] ACPI: PCI: Interrupt link LNKS configured for IRQ 9
[    0.974061][    T1] iommu: Default domain type: Translated
[    0.975168][    T1] iommu: DMA domain TLB invalidation policy: lazy mode
[    0.977050][    T1] SCSI subsystem initialized
[    0.984957][    T1] ACPI: bus type USB registered
[    0.986312][    T1] usbcore: registered new interface driver usbfs
[    0.987672][    T1] usbcore: registered new interface driver hub
[    0.988934][    T1] usbcore: registered new device driver usb
[    0.991115][    T1] mc: Linux media interface: v0.10
[    0.992314][    T1] videodev: Linux video capture interface: v2.00
[    0.994050][    T1] pps_core: LinuxPPS API ver. 1 registered
[    0.995133][    T1] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.997100][    T1] PTP clock support registered
[    1.014120][    T1] EDAC MC: Ver: 3.0.0
[    1.026029][    T1] Advanced Linux Sound Architecture Driver Initialized.
[    1.030676][    T1] Bluetooth: Core ver 2.22
[    1.031683][    T1] NET: Registered PF_BLUETOOTH protocol family
[    1.032884][    T1] Bluetooth: HCI device and connection manager initialized
[    1.034021][    T1] Bluetooth: HCI socket layer initialized
[    1.035136][    T1] Bluetooth: L2CAP socket layer initialized
[    1.036370][    T1] Bluetooth: SCO socket layer initialized
[    1.037524][    T1] NET: Registered PF_ATMPVC protocol family
[    1.038807][    T1] NET: Registered PF_ATMSVC protocol family
[    1.039412][    T1] NetLabel: Initializing
[    1.039708][    T1] NetLabel:  domain hash size = 128
[    1.040055][    T1] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    1.040670][    T1] NetLabel:  unlabeled traffic allowed by default
[    1.041391][    T1] nfc: nfc_init: NFC Core ver 0.1
[    1.041391][    T1] NET: Registered PF_NFC protocol family
[    1.041391][    T1] PCI: Using ACPI for IRQ routing
[    1.044263][    T1] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    1.045475][    T1] pci 0000:00:02.0: vgaarb: bridge control possible
[    1.045925][    T1] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    1.046563][    T1] vgaarb: loaded
[    1.047458][    T1] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    1.047861][    T1] hpet0: 3 comparators, 64-bit 100.000000 MHz counter
[    1.053621][    T1] clocksource: Switched to clocksource kvm-clock
[    1.058947][    T1] VFS: Disk quotas dquot_6.6.0
[    1.059338][    T1] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.072272][    T1] netfs: FS-Cache loaded
[    1.073919][    T1] CacheFiles: Loaded
[    1.075120][    T1] TOMOYO: 2.6.0
[    1.075831][    T1] Mandatory Access Control activated.
[    1.079221][    T1] AppArmor: AppArmor Filesystem Enabled
[    1.080673][    T1] pnp: PnP ACPI init
[    1.088658][    T1] pnp: PnP ACPI: found 6 devices
[    1.151621][    T1] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    1.152663][    T1] NET: Registered PF_INET protocol family
[    1.153349][    T1] IP idents hash table entries: 32768 (order: 6, 262144 bytes, vmalloc)
[    1.155332][    T1] tcp_listen_portaddr_hash hash table entries: 1024 (order: 5, 73728 bytes, vmalloc)
[    1.156104][    T1] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, vmalloc)
[    1.156822][    T1] TCP established hash table entries: 16384 (order: 5, 131072 bytes, vmalloc)
[    1.158859][    T1] TCP bind hash table entries: 16384 (order: 10, 2359296 bytes, vmalloc hugepage)
[    1.159998][    T1] TCP: Hash tables configured (established 16384 bind 16384)
[    1.161248][    T1] MPTCP token hash table entries: 2048 (order: 6, 180224 bytes, vmalloc)
[    1.162051][    T1] UDP hash table entries: 1024 (order: 6, 262144 bytes, vmalloc)
[    1.162745][    T1] UDP-Lite hash table entries: 1024 (order: 6, 262144 bytes, vmalloc)
[    1.163766][    T1] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.186233][    T1] RPC: Registered named UNIX socket transport module.
[    1.187716][    T1] RPC: Registered udp transport module.
[    1.188926][    T1] RPC: Registered tcp transport module.
[    1.190168][    T1] RPC: Registered tcp-with-tls transport module.
[    1.191543][    T1] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.197966][    T1] NET: Registered PF_XDP protocol family
[    1.199222][    T1] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    1.199982][    T1] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    1.200435][    T1] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    1.200926][    T1] pci_bus 0000:00: resource 7 [mem 0x80000000-0xfebfffff window]
[    1.201407][    T1] pci_bus 0000:00: resource 8 [mem 0x100000000-0x17fffffff window]
[    1.202277][    T1] pci 0000:00:01.0: PIIX3: Enabling Passive Release
[    1.202703][    T1] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    1.203185][    T1] PCI: CLS 0 bytes, default 64
[    1.205257][    T1] ACPI: bus type thunderbolt registered
[    1.206532][   T67] kworker/u9:2 (67) used greatest stack depth: 27480 bytes left
[    1.207485][    T1] RAPL PMU: API unit is 2^-32 Joules, 0 fixed counters, 10737418240 ms ovfl timer
[    1.215954][    T1] kvm_amd: CPU 0 isn't AMD or Hygon
[    1.216495][    T1] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x325ea749ca1, max_idle_ns: 440795373125 ns
[    1.217280][    T1] clocksource: Switched to clocksource tsc
[    1.230222][   T72] kworker/u9:2 (72) used greatest stack depth: 25896 bytes left
[    1.956822][    T1] Initialise system trusted keyrings
[    1.958078][    T1] workingset: timestamp_bits=40 max_order=19 bucket_order=0
[    1.960747][    T1] DLM installed
[    1.962188][    T1] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.964556][    T1] NFS: Registering the id_resolver key type
[    1.965003][    T1] Key type id_resolver registered
[    1.965334][    T1] Key type id_legacy registered
[    1.965701][    T1] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.966246][    T1] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.970727][    T1] Key type cifs.spnego registered
[    1.971161][    T1] Key type cifs.idmap registered
[    1.971620][    T1] ntfs3: Enabled Linux POSIX ACLs support
[    1.971984][    T1] ntfs3: Read-only LZX/Xpress compression included
[    1.972437][    T1] efs: 1.0a - http://aeschi.ch.eu.org/efs/
[    1.972851][    T1] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.973844][    T1] romfs: ROMFS MTD (C) 2007 Red Hat, Inc.
[    1.974244][    T1] QNX4 filesystem 0.2.3 registered.
[    1.974583][    T1] qnx6: QNX6 filesystem 1.0.0 registered.
[    1.975401][    T1] fuse: init (API version 7.45)
[    1.976756][    T1] orangefs_debugfs_init: called with debug mask: :none: :0:
[    1.977585][    T1] orangefs_init: module version upstream loaded
[    1.978536][    T1] JFS: nTxBlock = 8192, nTxLock = 65536
[    1.982812][    T1] SGI XFS with ACLs, security attributes, realtime, scrub, repair, quota, fatal assert, debug enabled
[    1.986052][    T1] 9p: Installing v9fs 9p2000 file system support
[    1.986637][    T1] NILFS version 2 loaded
[    1.986913][    T1] befs: version: 0.9.3
[    1.987409][    T1] ocfs2: Registered cluster interface o2cb
[    1.988507][    T1] ocfs2: Registered cluster interface user
[    1.989492][    T1] OCFS2 User DLM kernel interface loaded
[    1.995490][    T1] gfs2: GFS2 installed
[    1.999840][    T1] ceph: loaded (mds proto 32)
[    2.002738][    T1] cryptd: max_cpu_qlen set to 1000
[    2.009765][    T1] NET: Registered PF_ALG protocol family
[    2.010302][    T1] xor: automatically using best checksumming function   avx       
[    2.010843][    T1] async_tx: api initialized (async)
[    2.011174][    T1] Key type asymmetric registered
[    2.011486][    T1] Asymmetric key parser 'x509' registered
[    2.011855][    T1] Asymmetric key parser 'pkcs8' registered
[    2.012204][    T1] Key type pkcs7_test registered
[    2.012812][    T1] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 238)
[    2.013642][    T1] io scheduler mq-deadline registered
[    2.013988][    T1] io scheduler kyber registered
[    2.014407][    T1] io scheduler bfq registered
[    2.016944][    T1] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[    2.018698][   T30] Callback from call_rcu_tasks() invoked.
[    2.038832][    T1] ACPI: button: Power Button [PWRF]
[    2.045108][    T1] ioatdma: Intel(R) QuickData Technology Driver 5.00
[    3.232628][    T1] ACPI: \_SB_.LNKC: Enabled at IRQ 11
[    3.388655][    T1] N_HDLC line discipline registered with maxframe=4096
[    3.389178][    T1] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    3.391629][    T1] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    3.403967][    T1] Non-volatile memory driver v1.3
[    3.405249][    T1] Linux agpgart interface v0.103
[    3.406655][    T1] usbcore: registered new interface driver xillyusb
[    3.409026][    T1] ACPI: bus type drm_connector registered
[    3.412342][    T1] [drm] Initialized vgem 1.0.0 for vgem on minor 0
[    3.416212][    T1] [drm] Initialized vkms 1.0.0 for vkms on minor 1
[    3.499179][    T1] Console: switching to colour frame buffer device 128x48
[    3.533159][    T1] faux_driver vkms: [drm] fb0: vkmsdrmfb frame buffer device
[    3.533998][    T1] usbcore: registered new interface driver udl
[    3.535283][    T1] bochs-drm 0000:00:02.0: vgaarb: deactivate vga console
[    3.538451][    T1] [drm] Found bochs VGA, ID 0xb0c5.
[    3.538848][    T1] [drm] Framebuffer size 16384 kB @ 0xfd000000, mmio @ 0xfebb0000.
[    3.541433][    T1] [drm] Initialized bochs-drm 1.0.0 for 0000:00:02.0 on minor 2
[    3.550700][    T1] fbcon: bochs-drmdrmfb (fb1) is primary device
[    3.550709][    T1] fbcon: Remapping primary device, fb1, to tty 1-63
[    8.076338][    T1] bochs-drm 0000:00:02.0: [drm] fb1: bochs-drmdrmfb frame buffer device
[    8.079503][    T1] usbcore: registered new interface driver gm12u320
[    8.081237][    T1] usbcore: registered new interface driver gud
[    8.123646][    T1] brd: module loaded
[    8.230051][    T1] loop: module loaded
[    8.492974][    T1] zram: Added device: zram0
[    8.498607][    T1] null_blk: disk nullb0 created
[    8.498993][    T1] null_blk: module loaded
[    8.500123][    T1] Guest personality initialized and is inactive
[    8.501245][    T1] VMCI host device registered (name=vmci, major=10, minor=265)
[    8.501764][    T1] Initialized host personality
[    8.502562][    T1] usbcore: registered new interface driver rtsx_usb
[    8.504189][    T1] usbcore: registered new interface driver viperboard
[    8.505073][    T1] usbcore: registered new interface driver dln2
[    8.507261][    T1] usbcore: registered new interface driver pn533_usb
[    8.509911][    T1] nfcsim 0.2 initialized
[    8.510444][    T1] usbcore: registered new interface driver port100
[    8.511110][    T1] usbcore: registered new interface driver nfcmrvl
[    8.514012][    T1] Loading iSCSI transport class v2.0-870.
[    8.517928][    T1] st: Version 20160209, fixed bufsize 32768, s/g segs 256
[    8.546871][    T1] scsi host0: ata_piix
[    8.548778][    T1] scsi host1: ata_piix
[    8.549811][    T1] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc060 irq 14 lpm-pol 0
[    8.550349][    T1] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc068 irq 15 lpm-pol 0
[    8.553263][    T1] Rounding down aligned max_sectors from 4294967295 to 4294967288
[    8.554209][    T1] db_root: cannot open: /etc/target
[    8.555617][    T1] slram: not enough parameters.
[    8.560508][    T1] ftl_cs: FTL header not found.
[    8.581507][    T1] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[    8.582137][    T1] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[    8.582799][    T1] eql: Equalizer2002: Simon Janes (simon@ncm.com) and David S. Miller (davem@redhat.com)
[    8.587457][    T1] MACsec IEEE 802.1AE
[    8.591599][    T1] usbcore: registered new interface driver mvusb_mdio
[    8.592226][    T1] tun: Universal TUN/TAP device driver, 1.6
[    8.598067][    T1] vcan: Virtual CAN interface driver
[    8.598466][    T1] vxcan: Virtual CAN Tunnel driver
[    8.598829][    T1] slcan: serial line CAN interface driver
[    8.599226][    T1] CAN device driver interface
[    8.599683][    T1] usbcore: registered new interface driver usb_8dev
[    8.600719][    T1] usbcore: registered new interface driver ems_usb
[    8.601575][    T1] usbcore: registered new interface driver esd_usb
[    8.602304][    T1] usbcore: registered new interface driver etas_es58x
[    8.602995][    T1] usbcore: registered new interface driver f81604
[    8.603633][    T1] usbcore: registered new interface driver gs_usb
[    8.604285][    T1] usbcore: registered new interface driver kvaser_usb
[    8.604934][    T1] usbcore: registered new interface driver mcba_usb
[    8.605633][    T1] usbcore: registered new interface driver peak_usb
[    8.606348][    T1] usbcore: registered new interface driver ucan
[    8.607163][    T1] e100: Intel(R) PRO/100 Network Driver
[    8.607546][    T1] e100: Copyright(c) 1999-2006 Intel Corporation
[    8.608221][    T1] e1000: Intel(R) PRO/1000 Network Driver
[    8.608620][    T1] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    8.708116][ T1058] ata1: found unknown device (class 0)
[    8.709822][ T1063] ata2: found unknown device (class 0)
[    8.710722][ T1063] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[    8.711689][ T1058] ata1.00: ATA-7: QEMU HARDDISK, 2.5+, max UDMA/100
[    8.712300][ T1058] ata1.00: 4194304 sectors, multi 16: LBA48 
[    8.718247][ T1013] scsi 0:0:0:0: Direct-Access     ATA      QEMU HARDDISK    2.5+ PQ: 0 ANSI: 5
[    8.733752][ T1013] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    8.735800][   T27] sd 0:0:0:0: [sda] 4194304 512-byte logical blocks: (2.15 GB/2.00 GiB)
[    8.736685][   T27] sd 0:0:0:0: [sda] Write Protect is off
[    8.737163][   T27] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    8.738046][   T27] sd 0:0:0:0: [sda] Preferred minimum I/O size 512 bytes
[    8.738149][   T34] scsi 1:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ PQ: 0 ANSI: 5
[    8.783148][   T27] sd 0:0:0:0: [sda] Attached SCSI disk
[    8.908751][   T34] sr 1:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
[    8.909299][   T34] cdrom: Uniform CD-ROM driver Revision: 3.20
[    9.043050][   T34] sr 1:0:0:0: Attached scsi generic sg1 type 5
[    9.859052][    T1] ACPI: \_SB_.LNKD: Enabled at IRQ 10
[   10.190143][    T1] e1000 0000:00:04.0 eth0: (PCI:33MHz:32-bit) 52:54:00:12:34:56
[   10.190691][    T1] e1000 0000:00:04.0 eth0: Intel(R) PRO/1000 Network Connection
[   10.191553][    T1] e1000e: Intel(R) PRO/1000 Network Driver
[   10.191927][    T1] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[   10.192992][    T1] mkiss: AX.25 Multikiss, Hans Albas PE1AYX
[   10.193416][    T1] AX.25: bpqether driver version 004
[   10.193761][    T1] PPP generic driver version 2.4.2
[   10.194882][    T1] PPP BSD Compression module registered
[   10.196039][    T1] PPP Deflate Compression module registered
[   10.197257][    T1] PPP MPPE Compression module registered
[   10.198430][    T1] NET: Registered PF_PPPOX protocol family
[   10.199644][    T1] PPTP driver version 0.8.5
[   10.200796][    T1] SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit encapsulation enabled).
[   10.202852][    T1] CSLIP: code copyright 1989 Regents of the University of California.
[   10.204459][    T1] SLIP linefill/keepalive option.
[   10.205507][    T1] hdlc: HDLC support module revision 1.22
[   10.206688][    T1] LAPB Ethernet driver version 0.02
[   10.208848][    T1] usbcore: registered new interface driver ath9k_htc
[   10.210573][    T1] usbcore: registered new interface driver carl9170
[   10.211539][    T1] usbcore: registered new interface driver ath6kl_usb
[   10.212219][    T1] usbcore: registered new interface driver ar5523
[   10.213034][    T1] usbcore: registered new interface driver ath10k_usb
[   10.213702][    T1] usbcore: registered new interface driver plfxlc
[   10.214335][    T1] mac80211_hwsim: initializing netlink
[   10.225627][    T1] usbcore: registered new interface driver atusb
[   10.230904][    T1] mac802154_hwsim mac802154_hwsim: Added 2 mac802154 hwsim hardware radios
[   10.232187][    T1] VMware vmxnet3 virtual NIC driver - version 1.9.0.0-k-NAPI
[   10.233085][    T1] usbcore: registered new interface driver catc
[   10.233774][    T1] usbcore: registered new interface driver kaweth
[   10.234176][    T1] pegasus: Pegasus/Pegasus II USB Ethernet driver
[   10.234791][    T1] usbcore: registered new interface driver pegasus
[   10.235392][    T1] usbcore: registered new interface driver rtl8150
[   10.235955][    T1] usbcore: registered new device driver r8152-cfgselector
[   10.236624][    T1] usbcore: registered new interface driver r8152
[   10.237320][    T1] usbcore: registered new interface driver hso
[   10.238123][    T1] usbcore: registered new interface driver lan78xx
[   10.238868][    T1] usbcore: registered new interface driver asix
[   10.239471][    T1] usbcore: registered new interface driver ax88179_178a
[   10.240114][    T1] usbcore: registered new interface driver cdc_ether
[   10.240793][    T1] usbcore: registered new interface driver cdc_eem
[   10.241405][    T1] usbcore: registered new interface driver dm9601
[   10.242059][    T1] usbcore: registered new interface driver sr9700
[   10.242665][    T1] usbcore: registered new interface driver CoreChips
[   10.243268][    T1] usbcore: registered new interface driver smsc75xx
[   10.243911][    T1] usbcore: registered new interface driver smsc95xx
[   10.244513][    T1] usbcore: registered new interface driver gl620a
[   10.245116][    T1] usbcore: registered new interface driver net1080
[   10.245714][    T1] usbcore: registered new interface driver plusb
[   10.246293][    T1] usbcore: registered new interface driver rndis_host
[   10.246965][    T1] usbcore: registered new interface driver cdc_subset
[   10.247604][    T1] usbcore: registered new interface driver zaurus
[   10.248235][    T1] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[   10.248982][    T1] usbcore: registered new interface driver int51x1
[   10.249582][    T1] usbcore: registered new interface driver cdc_phonet
[   10.250195][    T1] usbcore: registered new interface driver kalmia
[   10.250853][    T1] usbcore: registered new interface driver ipheth
[   10.251486][    T1] usbcore: registered new interface driver sierra_net
[   10.252143][    T1] usbcore: registered new interface driver cx82310_eth
[   10.252773][    T1] usbcore: registered new interface driver cdc_ncm
[   10.253384][    T1] usbcore: registered new interface driver huawei_cdc_ncm
[   10.254084][    T1] usbcore: registered new interface driver lg-vl600
[   10.254724][    T1] usbcore: registered new interface driver qmi_wwan
[   10.255341][    T1] usbcore: registered new interface driver cdc_mbim
[   10.255977][    T1] usbcore: registered new interface driver ch9200
[   10.256589][    T1] usbcore: registered new interface driver aqc111
[   10.257366][    T1] usbcore: registered new interface driver r8153_ecm
[   10.262493][    T1] VFIO - User Level meta-driver version: 0.3
[   10.268029][    T1] aoe: AoE v85 initialised.
[   10.277902][    T1] usbcore: registered new interface driver cdc_acm
[   10.279291][    T1] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   10.280177][    T1] usbcore: registered new interface driver usblp
[   10.280722][    T1] usbcore: registered new interface driver cdc_wdm
[   10.281234][    T1] usbcore: registered new interface driver usbtmc
[   10.292374][    T1] usbcore: registered new interface driver uas
[   10.292989][    T1] usbcore: registered new interface driver usb-storage
[   10.293605][    T1] usbcore: registered new interface driver ums-alauda
[   10.294218][    T1] usbcore: registered new interface driver ums-cypress
[   10.294847][    T1] usbcore: registered new interface driver ums-datafab
[   10.295488][    T1] usbcore: registered new interface driver ums_eneub6250
[   10.296140][    T1] usbcore: registered new interface driver ums-freecom
[   10.296773][    T1] usbcore: registered new interface driver ums-isd200
[   10.297406][    T1] usbcore: registered new interface driver ums-jumpshot
[   10.298192][    T1] usbcore: registered new interface driver ums-karma
[   10.298825][    T1] usbcore: registered new interface driver ums-onetouch
[   10.299484][    T1] usbcore: registered new interface driver ums-realtek
[   10.300265][    T1] usbcore: registered new interface driver ums-sddr09
[   10.300865][    T1] usbcore: registered new interface driver ums-sddr55
[   10.301514][    T1] usbcore: registered new interface driver ums-usbat
[   10.302152][    T1] usbcore: registered new interface driver mdc800
[   10.302582][    T1] mdc800: v0.7.5 (30/10/2000):USB Driver for Mustek MDC800 Digital Camera
[   10.303376][    T1] usbcore: registered new interface driver microtekX6
[   10.304436][    T1] usbcore: registered new interface driver usbserial_generic
[   10.305329][    T1] usbserial: USB Serial support registered for generic
[   10.305986][    T1] usbcore: registered new interface driver aircable
[   10.306561][    T1] usbserial: USB Serial support registered for aircable
[   10.307167][    T1] usbcore: registered new interface driver ark3116
[   10.307724][    T1] usbserial: USB Serial support registered for ark3116
[   10.308407][    T1] usbcore: registered new interface driver belkin_sa
[   10.309019][    T1] usbserial: USB Serial support registered for Belkin / Peracom / GoHubs USB Serial Adapter
[   10.309823][    T1] usbcore: registered new interface driver ch341
[   10.310342][    T1] usbserial: USB Serial support registered for ch341-uart
[   10.310935][    T1] usbcore: registered new interface driver cp210x
[   10.311459][    T1] usbserial: USB Serial support registered for cp210x
[   10.312030][    T1] usbcore: registered new interface driver cyberjack
[   10.312610][    T1] usbserial: USB Serial support registered for Reiner SCT Cyberjack USB card reader
[   10.313364][    T1] usbcore: registered new interface driver cypress_m8
[   10.313971][    T1] usbserial: USB Serial support registered for DeLorme Earthmate USB
[   10.314617][    T1] usbserial: USB Serial support registered for HID->COM RS232 Adapter
[   10.315273][    T1] usbserial: USB Serial support registered for Nokia CA-42 V2 Adapter
[   10.315978][    T1] usbcore: registered new interface driver usb_debug
[   10.316570][    T1] usbserial: USB Serial support registered for debug
[   10.317134][    T1] usbserial: USB Serial support registered for xhci_dbc
[   10.317783][    T1] usbcore: registered new interface driver digi_acceleport
[   10.318404][    T1] usbserial: USB Serial support registered for Digi 2 port USB adapter
[   10.319092][    T1] usbserial: USB Serial support registered for Digi 4 port USB adapter
[   10.319929][    T1] usbcore: registered new interface driver io_edgeport
[   10.320479][    T1] usbserial: USB Serial support registered for Edgeport 2 port adapter
[   10.321100][    T1] usbserial: USB Serial support registered for Edgeport 4 port adapter
[   10.321750][    T1] usbserial: USB Serial support registered for Edgeport 8 port adapter
[   10.322384][    T1] usbserial: USB Serial support registered for EPiC device
[   10.323037][    T1] usbcore: registered new interface driver io_ti
[   10.323595][    T1] usbserial: USB Serial support registered for Edgeport TI 1 port adapter
[   10.324274][    T1] usbserial: USB Serial support registered for Edgeport TI 2 port adapter
[   10.324968][    T1] usbcore: registered new interface driver empeg
[   10.325493][    T1] usbserial: USB Serial support registered for empeg
[   10.326162][    T1] usbcore: registered new interface driver f81534a_ctrl
[   10.326778][    T1] usbcore: registered new interface driver f81232
[   10.327338][    T1] usbserial: USB Serial support registered for f81232
[   10.327958][    T1] usbserial: USB Serial support registered for f81534a
[   10.328567][    T1] usbcore: registered new interface driver f81534
[   10.329137][    T1] usbserial: USB Serial support registered for Fintek F81532/F81534
[   10.329805][    T1] usbcore: registered new interface driver ftdi_sio
[   10.330421][    T1] usbserial: USB Serial support registered for FTDI USB Serial Device
[   10.331205][    T1] usbcore: registered new interface driver garmin_gps
[   10.331782][    T1] usbserial: USB Serial support registered for Garmin GPS usb/tty
[   10.332426][    T1] usbcore: registered new interface driver ipaq
[   10.332958][    T1] usbserial: USB Serial support registered for PocketPC PDA
[   10.333576][    T1] usbcore: registered new interface driver ipw
[   10.334106][    T1] usbserial: USB Serial support registered for IPWireless converter
[   10.334752][    T1] usbcore: registered new interface driver ir_usb
[   10.335270][    T1] usbserial: USB Serial support registered for IR Dongle
[   10.335865][    T1] usbcore: registered new interface driver iuu_phoenix
[   10.336411][    T1] usbserial: USB Serial support registered for iuu_phoenix
[   10.337000][    T1] usbcore: registered new interface driver keyspan
[   10.337531][    T1] usbserial: USB Serial support registered for Keyspan - (without firmware)
[   10.338238][    T1] usbserial: USB Serial support registered for Keyspan 1 port adapter
[   10.338895][    T1] usbserial: USB Serial support registered for Keyspan 2 port adapter
[   10.339988][    T1] usbserial: USB Serial support registered for Keyspan 4 port adapter
[   10.340739][    T1] usbcore: registered new interface driver keyspan_pda
[   10.341349][    T1] usbserial: USB Serial support registered for Keyspan PDA
[   10.341951][    T1] usbserial: USB Serial support registered for Keyspan PDA - (prerenumeration)
[   10.342710][    T1] usbcore: registered new interface driver kl5kusb105
[   10.343286][    T1] usbserial: USB Serial support registered for KL5KUSB105D / PalmConnect
[   10.344052][    T1] usbcore: registered new interface driver kobil_sct
[   10.344715][    T1] usbserial: USB Serial support registered for KOBIL USB smart card terminal
[   10.345503][    T1] usbcore: registered new interface driver mct_u232
[   10.346138][    T1] usbserial: USB Serial support registered for MCT U232
[   10.346823][    T1] usbcore: registered new interface driver metro_usb
[   10.347427][    T1] usbserial: USB Serial support registered for Metrologic USB to Serial
[   10.348236][    T1] usbcore: registered new interface driver mos7720
[   10.348806][    T1] usbserial: USB Serial support registered for Moschip 2 port adapter
[   10.349505][    T1] usbcore: registered new interface driver mos7840
[   10.350083][    T1] usbserial: USB Serial support registered for Moschip 7840/7820 USB Serial Driver
[   10.350854][    T1] usbcore: registered new interface driver mxuport
[   10.351411][    T1] usbserial: USB Serial support registered for MOXA UPort
[   10.352027][    T1] usbcore: registered new interface driver navman
[   10.352559][    T1] usbserial: USB Serial support registered for navman
[   10.353160][    T1] usbcore: registered new interface driver omninet
[   10.353752][    T1] usbserial: USB Serial support registered for ZyXEL - omni.net usb
[   10.354452][    T1] usbcore: registered new interface driver opticon
[   10.354986][    T1] usbserial: USB Serial support registered for opticon
[   10.355578][    T1] usbcore: registered new interface driver option
[   10.356360][    T1] usbserial: USB Serial support registered for GSM modem (1-port)
[   10.357085][    T1] usbcore: registered new interface driver oti6858
[   10.357690][    T1] usbserial: USB Serial support registered for oti6858
[   10.358569][    T1] usbcore: registered new interface driver pl2303
[   10.359295][    T1] usbserial: USB Serial support registered for pl2303
[   10.360030][    T1] usbcore: registered new interface driver qcaux
[   10.360858][    T1] usbserial: USB Serial support registered for qcaux
[   10.361585][    T1] usbcore: registered new interface driver qcserial
[   10.362311][    T1] usbserial: USB Serial support registered for Qualcomm USB modem
[   10.363121][    T1] usbcore: registered new interface driver quatech2
[   10.363806][    T1] usbserial: USB Serial support registered for Quatech 2nd gen USB to Serial Driver
[   10.364787][    T1] usbcore: registered new interface driver safe_serial
[   10.365497][    T1] usbserial: USB Serial support registered for safe_serial
[   10.366255][    T1] usbcore: registered new interface driver sierra
[   10.366935][    T1] usbserial: USB Serial support registered for Sierra USB modem
[   10.367726][    T1] usbcore: registered new interface driver usb_serial_simple
[   10.368497][    T1] usbserial: USB Serial support registered for carelink
[   10.369195][    T1] usbserial: USB Serial support registered for flashloader
[   10.370478][    T1] usbserial: USB Serial support registered for funsoft
[   10.372357][    T1] usbserial: USB Serial support registered for google
[   10.374008][    T1] usbserial: USB Serial support registered for hp4x
[   10.375679][    T1] usbserial: USB Serial support registered for kaufmann
[   10.376638][    T1] usbserial: USB Serial support registered for libtransistor
[   10.377435][    T1] usbserial: USB Serial support registered for moto_modem
[   10.378222][    T1] usbserial: USB Serial support registered for motorola_tetra
[   10.379121][    T1] usbserial: USB Serial support registered for nokia
[   10.379852][    T1] usbserial: USB Serial support registered for novatel_gps
[   10.380590][    T1] usbserial: USB Serial support registered for owon
[   10.381277][    T1] usbserial: USB Serial support registered for siemens_mpi
[   10.382047][    T1] usbserial: USB Serial support registered for suunto
[   10.382800][    T1] usbserial: USB Serial support registered for vivopay
[   10.383511][    T1] usbserial: USB Serial support registered for zio
[   10.384382][    T1] usbcore: registered new interface driver spcp8x5
[   10.385093][    T1] usbserial: USB Serial support registered for SPCP8x5
[   10.385869][    T1] usbcore: registered new interface driver ssu100
[   10.386560][    T1] usbserial: USB Serial support registered for Quatech SSU-100 USB to Serial Driver
[   10.387533][    T1] usbcore: registered new interface driver symbolserial
[   10.388256][    T1] usbserial: USB Serial support registered for symbol
[   10.388980][    T1] usbcore: registered new interface driver ti_usb_3410_5052
[   10.389740][    T1] usbserial: USB Serial support registered for TI USB 3410 1 port adapter
[   10.390539][    T1] usbserial: USB Serial support registered for TI USB 5052 2 port adapter
[   10.391369][    T1] usbcore: registered new interface driver upd78f0730
[   10.392069][    T1] usbserial: USB Serial support registered for upd78f0730
[   10.392842][    T1] usbcore: registered new interface driver visor
[   10.393511][    T1] usbserial: USB Serial support registered for Handspring Visor / Palm OS
[   10.394331][    T1] usbserial: USB Serial support registered for Sony Clie 5.0
[   10.395054][    T1] usbserial: USB Serial support registered for Sony Clie 3.5
[   10.396305][    T1] usbcore: registered new interface driver wishbone_serial
[   10.398345][    T1] usbserial: USB Serial support registered for wishbone_serial
[   10.400162][    T1] usbcore: registered new interface driver whiteheat
[   10.401017][    T1] usbserial: USB Serial support registered for Connect Tech - WhiteHEAT - (prerenumeration)
[   10.401888][    T1] usbserial: USB Serial support registered for Connect Tech - WhiteHEAT
[   10.402607][    T1] usbcore: registered new interface driver xr_serial
[   10.403167][    T1] usbserial: USB Serial support registered for xr_serial
[   10.403797][    T1] usbcore: registered new interface driver xsens_mt
[   10.404344][    T1] usbserial: USB Serial support registered for xsens_mt
[   10.404964][    T1] usbcore: registered new interface driver adutux
[   10.405541][    T1] usbcore: registered new interface driver appledisplay
[   10.406136][    T1] usbcore: registered new interface driver cypress_cy7c63
[   10.406774][    T1] usbcore: registered new interface driver cytherm
[   10.407374][    T1] usbcore: registered new interface driver emi26 - firmware loader
[   10.408201][    T1] usbcore: registered new interface driver emi62 - firmware loader
[   10.408883][    T1] usbcore: registered new device driver apple-mfi-fastcharge
[   10.409535][    T1] usbcore: registered new interface driver ljca
[   10.410097][    T1] usbcore: registered new interface driver idmouse
[   10.410725][    T1] usbcore: registered new interface driver iowarrior
[   10.411365][    T1] usbcore: registered new interface driver isight_firmware
[   10.412007][    T1] usbcore: registered new interface driver usblcd
[   10.412585][    T1] usbcore: registered new interface driver ldusb
[   10.413183][    T1] usbcore: registered new interface driver legousbtower
[   10.413814][    T1] usbcore: registered new interface driver usbtest
[   10.414429][    T1] usbcore: registered new interface driver usb_ehset_test
[   10.415043][    T1] usbcore: registered new interface driver trancevibrator
[   10.415709][    T1] usbcore: registered new interface driver uss720
[   10.416102][    T1] uss720: USB Parport Cable driver for Cables using the Lucent Technologies USS720 Chip
[   10.416687][    T1] uss720: NOTE: this is a special purpose driver to allow nonstandard
[   10.417178][    T1] uss720: protocols (eg. bitbang) over USS720 usb to parallel cables
[   10.417673][    T1] uss720: If you just want to connect to a printer, use usblp instead
[   10.418392][    T1] usbcore: registered new interface driver usbsevseg
[   10.419117][    T1] usbcore: registered new interface driver yurex
[   10.420522][    T1] usbcore: registered new interface driver chaoskey
[   10.421137][    T1] usbcore: registered new interface driver sisusb
[   10.421741][    T1] usbcore: registered new interface driver lvs
[   10.422305][    T1] usbcore: registered new interface driver cxacru
[   10.422883][    T1] usbcore: registered new interface driver speedtch
[   10.423486][    T1] usbcore: registered new interface driver ueagle-atm
[   10.423909][    T1] xusbatm: malformed module parameters
[   10.425746][    T1] dummy_hcd dummy_hcd.0: USB Host+Gadget Emulator, driver 02 May 2005
[   10.426274][    T1] dummy_hcd dummy_hcd.0: Dummy host controller
[   10.427805][    T1] dummy_hcd dummy_hcd.0: new USB bus registered, assigned bus number 1
[   10.429079][    T1] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.429696][    T1] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.430185][    T1] usb usb1: Product: Dummy host controller
[   10.430548][    T1] usb usb1: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.430958][    T1] usb usb1: SerialNumber: dummy_hcd.0
[   10.433361][    T1] hub 1-0:1.0: USB hub found
[   10.434000][    T1] hub 1-0:1.0: 1 port detected
[   10.436710][    T1] dummy_hcd dummy_hcd.1: USB Host+Gadget Emulator, driver 02 May 2005
[   10.437274][    T1] dummy_hcd dummy_hcd.1: Dummy host controller
[   10.438317][    T1] dummy_hcd dummy_hcd.1: new USB bus registered, assigned bus number 2
[   10.439315][    T1] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.439914][    T1] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.440429][    T1] usb usb2: Product: Dummy host controller
[   10.440793][    T1] usb usb2: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.441206][    T1] usb usb2: SerialNumber: dummy_hcd.1
[   10.442951][    T1] hub 2-0:1.0: USB hub found
[   10.443366][    T1] hub 2-0:1.0: 1 port detected
[   10.445460][    T1] dummy_hcd dummy_hcd.2: USB Host+Gadget Emulator, driver 02 May 2005
[   10.446010][    T1] dummy_hcd dummy_hcd.2: Dummy host controller
[   10.446883][    T1] dummy_hcd dummy_hcd.2: new USB bus registered, assigned bus number 3
[   10.447928][    T1] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.448503][    T1] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.449000][    T1] usb usb3: Product: Dummy host controller
[   10.449359][    T1] usb usb3: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.449771][    T1] usb usb3: SerialNumber: dummy_hcd.2
[   10.451435][    T1] hub 3-0:1.0: USB hub found
[   10.451862][    T1] hub 3-0:1.0: 1 port detected
[   10.453761][    T1] dummy_hcd dummy_hcd.3: USB Host+Gadget Emulator, driver 02 May 2005
[   10.454297][    T1] dummy_hcd dummy_hcd.3: Dummy host controller
[   10.455130][    T1] dummy_hcd dummy_hcd.3: new USB bus registered, assigned bus number 4
[   10.456067][    T1] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.456639][    T1] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.457134][    T1] usb usb4: Product: Dummy host controller
[   10.457493][    T1] usb usb4: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.458068][    T1] usb usb4: SerialNumber: dummy_hcd.3
[   10.459707][    T1] hub 4-0:1.0: USB hub found
[   10.460096][    T1] hub 4-0:1.0: 1 port detected
[   10.462035][    T1] dummy_hcd dummy_hcd.4: USB Host+Gadget Emulator, driver 02 May 2005
[   10.462617][    T1] dummy_hcd dummy_hcd.4: Dummy host controller
[   10.463476][    T1] dummy_hcd dummy_hcd.4: new USB bus registered, assigned bus number 5
[   10.464524][    T1] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.465090][    T1] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.465584][    T1] usb usb5: Product: Dummy host controller
[   10.465950][    T1] usb usb5: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.466401][    T1] usb usb5: SerialNumber: dummy_hcd.4
[   10.468032][    T1] hub 5-0:1.0: USB hub found
[   10.468439][    T1] hub 5-0:1.0: 1 port detected
[   10.470417][    T1] dummy_hcd dummy_hcd.5: USB Host+Gadget Emulator, driver 02 May 2005
[   10.470972][    T1] dummy_hcd dummy_hcd.5: Dummy host controller
[   10.471850][    T1] dummy_hcd dummy_hcd.5: new USB bus registered, assigned bus number 6
[   10.472833][    T1] usb usb6: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.473416][    T1] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.473941][    T1] usb usb6: Product: Dummy host controller
[   10.474303][    T1] usb usb6: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.474715][    T1] usb usb6: SerialNumber: dummy_hcd.5
[   10.476325][    T1] hub 6-0:1.0: USB hub found
[   10.476725][    T1] hub 6-0:1.0: 1 port detected
[   10.478738][    T1] dummy_hcd dummy_hcd.6: USB Host+Gadget Emulator, driver 02 May 2005
[   10.479419][    T1] dummy_hcd dummy_hcd.6: Dummy host controller
[   10.480243][    T1] dummy_hcd dummy_hcd.6: new USB bus registered, assigned bus number 7
[   10.481186][    T1] usb usb7: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.481801][    T1] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.482377][    T1] usb usb7: Product: Dummy host controller
[   10.482775][    T1] usb usb7: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.483207][    T1] usb usb7: SerialNumber: dummy_hcd.6
[   10.485012][    T1] hub 7-0:1.0: USB hub found
[   10.485432][    T1] hub 7-0:1.0: 1 port detected
[   10.487416][    T1] dummy_hcd dummy_hcd.7: USB Host+Gadget Emulator, driver 02 May 2005
[   10.488016][    T1] dummy_hcd dummy_hcd.7: Dummy host controller
[   10.488896][    T1] dummy_hcd dummy_hcd.7: new USB bus registered, assigned bus number 8
[   10.489852][    T1] usb usb8: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.490437][    T1] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.491014][    T1] usb usb8: Product: Dummy host controller
[   10.491414][    T1] usb usb8: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.491854][    T1] usb usb8: SerialNumber: dummy_hcd.7
[   10.493718][    T1] hub 8-0:1.0: USB hub found
[   10.494200][    T1] hub 8-0:1.0: 1 port detected
[   10.496266][    T1] dummy_hcd dummy_hcd.8: USB Host+Gadget Emulator, driver 02 May 2005
[   10.496958][    T1] dummy_hcd dummy_hcd.8: Dummy host controller
[   10.498028][    T1] dummy_hcd dummy_hcd.8: new USB bus registered, assigned bus number 9
[   10.499148][    T1] usb usb9: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.499919][    T1] usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.500600][    T1] usb usb9: Product: Dummy host controller
[   10.501073][    T1] usb usb9: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.501614][    T1] usb usb9: SerialNumber: dummy_hcd.8
[   10.503420][    T1] hub 9-0:1.0: USB hub found
[   10.503984][    T1] hub 9-0:1.0: 1 port detected
[   10.506247][    T1] dummy_hcd dummy_hcd.9: USB Host+Gadget Emulator, driver 02 May 2005
[   10.506996][    T1] dummy_hcd dummy_hcd.9: Dummy host controller
[   10.508048][    T1] dummy_hcd dummy_hcd.9: new USB bus registered, assigned bus number 10
[   10.509184][    T1] usb usb10: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.509933][    T1] usb usb10: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.510626][    T1] usb usb10: Product: Dummy host controller
[   10.511008][    T1] usb usb10: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.511424][    T1] usb usb10: SerialNumber: dummy_hcd.9
[   10.513467][    T1] hub 10-0:1.0: USB hub found
[   10.513953][    T1] hub 10-0:1.0: 1 port detected
[   10.516079][    T1] dummy_hcd dummy_hcd.10: USB Host+Gadget Emulator, driver 02 May 2005
[   10.516758][    T1] dummy_hcd dummy_hcd.10: Dummy host controller
[   10.518252][    T1] dummy_hcd dummy_hcd.10: new USB bus registered, assigned bus number 11
[   10.519648][    T1] usb usb11: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.520473][    T1] usb usb11: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.521013][    T1] usb usb11: Product: Dummy host controller
[   10.521387][    T1] usb usb11: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.521817][    T1] usb usb11: SerialNumber: dummy_hcd.10
[   10.523626][    T1] hub 11-0:1.0: USB hub found
[   10.524052][    T1] hub 11-0:1.0: 1 port detected
[   10.526048][    T1] dummy_hcd dummy_hcd.11: USB Host+Gadget Emulator, driver 02 May 2005
[   10.526651][    T1] dummy_hcd dummy_hcd.11: Dummy host controller
[   10.527551][    T1] dummy_hcd dummy_hcd.11: new USB bus registered, assigned bus number 12
[   10.528796][    T1] usb usb12: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.529434][    T1] usb usb12: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.529972][    T1] usb usb12: Product: Dummy host controller
[   10.530365][    T1] usb usb12: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.530873][    T1] usb usb12: SerialNumber: dummy_hcd.11
[   10.533906][    T1] hub 12-0:1.0: USB hub found
[   10.534432][    T1] hub 12-0:1.0: 1 port detected
[   10.536740][    T1] dummy_hcd dummy_hcd.12: USB Host+Gadget Emulator, driver 02 May 2005
[   10.537353][    T1] dummy_hcd dummy_hcd.12: Dummy host controller
[   10.538431][    T1] dummy_hcd dummy_hcd.12: new USB bus registered, assigned bus number 13
[   10.539558][    T1] usb usb13: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.540297][    T1] usb usb13: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.540936][    T1] usb usb13: Product: Dummy host controller
[   10.541381][    T1] usb usb13: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.541843][    T1] usb usb13: SerialNumber: dummy_hcd.12
[   10.543727][    T1] hub 13-0:1.0: USB hub found
[   10.544162][    T1] hub 13-0:1.0: 1 port detected
[   10.546127][    T1] dummy_hcd dummy_hcd.13: USB Host+Gadget Emulator, driver 02 May 2005
[   10.546717][    T1] dummy_hcd dummy_hcd.13: Dummy host controller
[   10.547615][    T1] dummy_hcd dummy_hcd.13: new USB bus registered, assigned bus number 14
[   10.548653][    T1] usb usb14: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.549342][    T1] usb usb14: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.549953][    T1] usb usb14: Product: Dummy host controller
[   10.550390][    T1] usb usb14: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.550898][    T1] usb usb14: SerialNumber: dummy_hcd.13
[   10.552684][    T1] hub 14-0:1.0: USB hub found
[   10.553156][    T1] hub 14-0:1.0: 1 port detected
[   10.555173][    T1] dummy_hcd dummy_hcd.14: USB Host+Gadget Emulator, driver 02 May 2005
[   10.555852][    T1] dummy_hcd dummy_hcd.14: Dummy host controller
[   10.556813][    T1] dummy_hcd dummy_hcd.14: new USB bus registered, assigned bus number 15
[   10.558002][    T1] usb usb15: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.558783][    T1] usb usb15: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.559424][    T1] usb usb15: Product: Dummy host controller
[   10.559834][    T1] usb usb15: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.560280][    T1] usb usb15: SerialNumber: dummy_hcd.14
[   10.562170][    T1] hub 15-0:1.0: USB hub found
[   10.562640][    T1] hub 15-0:1.0: 1 port detected
[   10.564734][    T1] dummy_hcd dummy_hcd.15: USB Host+Gadget Emulator, driver 02 May 2005
[   10.565476][    T1] dummy_hcd dummy_hcd.15: Dummy host controller
[   10.566331][    T1] dummy_hcd dummy_hcd.15: new USB bus registered, assigned bus number 16
[   10.567307][    T1] usb usb16: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.567922][    T1] usb usb16: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.568446][    T1] usb usb16: Product: Dummy host controller
[   10.568838][    T1] usb usb16: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.569258][    T1] usb usb16: SerialNumber: dummy_hcd.15
[   10.571007][    T1] hub 16-0:1.0: USB hub found
[   10.571574][    T1] hub 16-0:1.0: 1 port detected
[   10.573718][    T1] dummy_hcd dummy_hcd.16: USB Host+Gadget Emulator, driver 02 May 2005
[   10.574463][    T1] dummy_hcd dummy_hcd.16: Dummy host controller
[   10.575446][    T1] dummy_hcd dummy_hcd.16: new USB bus registered, assigned bus number 17
[   10.576565][    T1] usb usb17: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.577273][    T1] usb usb17: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.577951][    T1] usb usb17: Product: Dummy host controller
[   10.578413][    T1] usb usb17: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.578965][    T1] usb usb17: SerialNumber: dummy_hcd.16
[   10.580849][    T1] hub 17-0:1.0: USB hub found
[   10.581326][    T1] hub 17-0:1.0: 1 port detected
[   10.583347][    T1] dummy_hcd dummy_hcd.17: USB Host+Gadget Emulator, driver 02 May 2005
[   10.583934][    T1] dummy_hcd dummy_hcd.17: Dummy host controller
[   10.584829][    T1] dummy_hcd dummy_hcd.17: new USB bus registered, assigned bus number 18
[   10.586016][    T1] usb usb18: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.586671][    T1] usb usb18: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.587321][    T1] usb usb18: Product: Dummy host controller
[   10.587778][    T1] usb usb18: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.588316][    T1] usb usb18: SerialNumber: dummy_hcd.17
[   10.590190][    T1] hub 18-0:1.0: USB hub found
[   10.590672][    T1] hub 18-0:1.0: 1 port detected
[   10.592672][    T1] dummy_hcd dummy_hcd.18: USB Host+Gadget Emulator, driver 02 May 2005
[   10.593226][    T1] dummy_hcd dummy_hcd.18: Dummy host controller
[   10.594098][    T1] dummy_hcd dummy_hcd.18: new USB bus registered, assigned bus number 19
[   10.595248][    T1] usb usb19: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.595888][    T1] usb usb19: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.596402][    T1] usb usb19: Product: Dummy host controller
[   10.596835][    T1] usb usb19: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.597275][    T1] usb usb19: SerialNumber: dummy_hcd.18
[   10.599167][    T1] hub 19-0:1.0: USB hub found
[   10.599595][    T1] hub 19-0:1.0: 1 port detected
[   10.601672][    T1] dummy_hcd dummy_hcd.19: USB Host+Gadget Emulator, driver 02 May 2005
[   10.602237][    T1] dummy_hcd dummy_hcd.19: Dummy host controller
[   10.603166][    T1] dummy_hcd dummy_hcd.19: new USB bus registered, assigned bus number 20
[   10.604152][    T1] usb usb20: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.604737][    T1] usb usb20: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.605245][    T1] usb usb20: Product: Dummy host controller
[   10.605616][    T1] usb usb20: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.606037][    T1] usb usb20: SerialNumber: dummy_hcd.19
[   10.607714][    T1] hub 20-0:1.0: USB hub found
[   10.608162][    T1] hub 20-0:1.0: 1 port detected
[   10.610396][    T1] dummy_hcd dummy_hcd.20: USB Host+Gadget Emulator, driver 02 May 2005
[   10.611008][    T1] dummy_hcd dummy_hcd.20: Dummy host controller
[   10.611899][    T1] dummy_hcd dummy_hcd.20: new USB bus registered, assigned bus number 21
[   10.612926][    T1] usb usb21: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.613526][    T1] usb usb21: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.614050][    T1] usb usb21: Product: Dummy host controller
[   10.614423][    T1] usb usb21: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.614867][    T1] usb usb21: SerialNumber: dummy_hcd.20
[   10.616642][    T1] hub 21-0:1.0: USB hub found
[   10.617176][    T1] hub 21-0:1.0: 1 port detected
[   10.619779][    T1] dummy_hcd dummy_hcd.21: USB Host+Gadget Emulator, driver 02 May 2005
[   10.620401][    T1] dummy_hcd dummy_hcd.21: Dummy host controller
[   10.621329][    T1] dummy_hcd dummy_hcd.21: new USB bus registered, assigned bus number 22
[   10.622311][    T1] usb usb22: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.622907][    T1] usb usb22: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.623418][    T1] usb usb22: Product: Dummy host controller
[   10.623794][    T1] usb usb22: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.624229][    T1] usb usb22: SerialNumber: dummy_hcd.21
[   10.626142][    T1] hub 22-0:1.0: USB hub found
[   10.626680][    T1] hub 22-0:1.0: 1 port detected
[   10.628668][    T1] dummy_hcd dummy_hcd.22: USB Host+Gadget Emulator, driver 02 May 2005
[   10.629235][    T1] dummy_hcd dummy_hcd.22: Dummy host controller
[   10.630254][    T1] dummy_hcd dummy_hcd.22: new USB bus registered, assigned bus number 23
[   10.631268][    T1] usb usb23: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.631866][    T1] usb usb23: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.632379][    T1] usb usb23: Product: Dummy host controller
[   10.632751][    T1] usb usb23: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.633176][    T1] usb usb23: SerialNumber: dummy_hcd.22
[   10.634961][    T1] hub 23-0:1.0: USB hub found
[   10.635371][    T1] hub 23-0:1.0: 1 port detected
[   10.637565][    T1] dummy_hcd dummy_hcd.23: USB Host+Gadget Emulator, driver 02 May 2005
[   10.638377][    T1] dummy_hcd dummy_hcd.23: Dummy host controller
[   10.639308][    T1] dummy_hcd dummy_hcd.23: new USB bus registered, assigned bus number 24
[   10.640306][    T1] usb usb24: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.640910][    T1] usb usb24: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.641434][    T1] usb usb24: Product: Dummy host controller
[   10.641809][    T1] usb usb24: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.642270][    T1] usb usb24: SerialNumber: dummy_hcd.23
[   10.644037][    T1] hub 24-0:1.0: USB hub found
[   10.644470][    T1] hub 24-0:1.0: 1 port detected
[   10.646414][    T1] dummy_hcd dummy_hcd.24: USB Host+Gadget Emulator, driver 02 May 2005
[   10.647095][    T1] dummy_hcd dummy_hcd.24: Dummy host controller
[   10.648010][    T1] dummy_hcd dummy_hcd.24: new USB bus registered, assigned bus number 25
[   10.649006][    T1] usb usb25: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.649633][    T1] usb usb25: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.650202][    T1] usb usb25: Product: Dummy host controller
[   10.650604][    T1] usb usb25: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.651129][    T1] usb usb25: SerialNumber: dummy_hcd.24
[   10.652900][    T1] hub 25-0:1.0: USB hub found
[   10.653487][    T1] hub 25-0:1.0: 1 port detected
[   10.655527][    T1] dummy_hcd dummy_hcd.25: USB Host+Gadget Emulator, driver 02 May 2005
[   10.656095][    T1] dummy_hcd dummy_hcd.25: Dummy host controller
[   10.656981][    T1] dummy_hcd dummy_hcd.25: new USB bus registered, assigned bus number 26
[   10.658031][    T1] usb usb26: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.658626][    T1] usb usb26: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.659156][    T1] usb usb26: Product: Dummy host controller
[   10.659531][    T1] usb usb26: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.659954][    T1] usb usb26: SerialNumber: dummy_hcd.25
[   10.661773][    T1] hub 26-0:1.0: USB hub found
[   10.662306][    T1] hub 26-0:1.0: 1 port detected
[   10.664370][    T1] dummy_hcd dummy_hcd.26: USB Host+Gadget Emulator, driver 02 May 2005
[   10.664964][    T1] dummy_hcd dummy_hcd.26: Dummy host controller
[   10.665828][    T1] dummy_hcd dummy_hcd.26: new USB bus registered, assigned bus number 27
[   10.666777][    T1] usb usb27: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.667405][    T1] usb usb27: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.667950][    T1] usb usb27: Product: Dummy host controller
[   10.668333][    T1] usb usb27: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.668764][    T1] usb usb27: SerialNumber: dummy_hcd.26
[   10.670584][    T1] hub 27-0:1.0: USB hub found
[   10.671019][    T1] hub 27-0:1.0: 1 port detected
[   10.673100][    T1] dummy_hcd dummy_hcd.27: USB Host+Gadget Emulator, driver 02 May 2005
[   10.673679][    T1] dummy_hcd dummy_hcd.27: Dummy host controller
[   10.674573][    T1] dummy_hcd dummy_hcd.27: new USB bus registered, assigned bus number 28
[   10.675686][    T1] usb usb28: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.676298][    T1] usb usb28: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.676840][    T1] usb usb28: Product: Dummy host controller
[   10.677225][    T1] usb usb28: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.677683][    T1] usb usb28: SerialNumber: dummy_hcd.27
[   10.679543][    T1] hub 28-0:1.0: USB hub found
[   10.679973][    T1] hub 28-0:1.0: 1 port detected
[   10.681921][    T1] dummy_hcd dummy_hcd.28: USB Host+Gadget Emulator, driver 02 May 2005
[   10.682493][    T1] dummy_hcd dummy_hcd.28: Dummy host controller
[   10.683381][    T1] dummy_hcd dummy_hcd.28: new USB bus registered, assigned bus number 29
[   10.684392][    T1] usb usb29: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.685004][    T1] usb usb29: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.685545][    T1] usb usb29: Product: Dummy host controller
[   10.685915][    T1] usb usb29: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.686337][    T1] usb usb29: SerialNumber: dummy_hcd.28
[   10.688109][    T1] hub 29-0:1.0: USB hub found
[   10.688549][    T1] hub 29-0:1.0: 1 port detected
[   10.690555][    T1] dummy_hcd dummy_hcd.29: USB Host+Gadget Emulator, driver 02 May 2005
[   10.691171][    T1] dummy_hcd dummy_hcd.29: Dummy host controller
[   10.692050][    T1] dummy_hcd dummy_hcd.29: new USB bus registered, assigned bus number 30
[   10.693120][    T1] usb usb30: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.693754][    T1] usb usb30: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.694299][    T1] usb usb30: Product: Dummy host controller
[   10.694687][    T1] usb usb30: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.695132][    T1] usb usb30: SerialNumber: dummy_hcd.29
[   10.697102][    T1] hub 30-0:1.0: USB hub found
[   10.697669][    T1] hub 30-0:1.0: 1 port detected
[   10.699768][    T1] dummy_hcd dummy_hcd.30: USB Host+Gadget Emulator, driver 02 May 2005
[   10.700342][    T1] dummy_hcd dummy_hcd.30: Dummy host controller
[   10.701212][    T1] dummy_hcd dummy_hcd.30: new USB bus registered, assigned bus number 31
[   10.702193][    T1] usb usb31: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.702788][    T1] usb usb31: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.703309][    T1] usb usb31: Product: Dummy host controller
[   10.703692][    T1] usb usb31: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.704146][    T1] usb usb31: SerialNumber: dummy_hcd.30
[   10.705913][    T1] hub 31-0:1.0: USB hub found
[   10.706364][    T1] hub 31-0:1.0: 1 port detected
[   10.708670][    T1] dummy_hcd dummy_hcd.31: USB Host+Gadget Emulator, driver 02 May 2005
[   10.709264][    T1] dummy_hcd dummy_hcd.31: Dummy host controller
[   10.710172][    T1] dummy_hcd dummy_hcd.31: new USB bus registered, assigned bus number 32
[   10.711281][    T1] usb usb32: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.711908][    T1] usb usb32: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.712432][    T1] usb usb32: Product: Dummy host controller
[   10.712849][    T1] usb usb32: Manufacturer: Linux 6.19.0-rc6 dummy_hcd
[   10.713281][    T1] usb usb32: SerialNumber: dummy_hcd.31
[   10.714982][    T1] hub 32-0:1.0: USB hub found
[   10.715731][    T1] hub 32-0:1.0: 1 port detected
[   10.751791][    T1] SPI driver max3420-udc has no spi_device_id for maxim,max3421-udc
[   10.752577][    T1] gadgetfs: USB Gadget filesystem, version 24 Aug 2004
[   10.754710][    T1] vhci_hcd vhci_hcd.0: USB/IP Virtual Host Controller
[   10.755725][    T1] vhci_hcd vhci_hcd.0: new USB bus registered, assigned bus number 33
[   10.756587][    T1] vhci_hcd vhci_hcd.0: created sysfs vhci_hcd.0
[   10.757500][    T1] usb usb33: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.758345][    T1] usb usb33: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.758972][    T1] usb usb33: Product: USB/IP Virtual Host Controller
[   10.759470][    T1] usb usb33: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.759956][    T1] usb usb33: SerialNumber: vhci_hcd.0
[   10.761921][    T1] hub 33-0:1.0: USB hub found
[   10.762478][    T1] hub 33-0:1.0: 8 ports detected
[   10.766829][    T1] vhci_hcd vhci_hcd.0: USB/IP Virtual Host Controller
[   10.768020][    T1] vhci_hcd vhci_hcd.0: new USB bus registered, assigned bus number 34
[   10.768867][    T1] usb usb34: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.769906][    T1] usb usb34: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.770607][    T1] usb usb34: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.771258][    T1] usb usb34: Product: USB/IP Virtual Host Controller
[   10.771798][    T1] usb usb34: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.772293][    T1] usb usb34: SerialNumber: vhci_hcd.0
[   10.774163][    T1] hub 34-0:1.0: USB hub found
[   10.774590][    T1] hub 34-0:1.0: 8 ports detected
[   10.780078][    T1] vhci_hcd vhci_hcd.1: USB/IP Virtual Host Controller
[   10.781018][    T1] vhci_hcd vhci_hcd.1: new USB bus registered, assigned bus number 35
[   10.782048][    T1] usb usb35: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.782727][    T1] usb usb35: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.783323][    T1] usb usb35: Product: USB/IP Virtual Host Controller
[   10.783814][    T1] usb usb35: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.784321][    T1] usb usb35: SerialNumber: vhci_hcd.1
[   10.786211][    T1] hub 35-0:1.0: USB hub found
[   10.786687][    T1] hub 35-0:1.0: 8 ports detected
[   10.791099][    T1] vhci_hcd vhci_hcd.1: USB/IP Virtual Host Controller
[   10.792028][    T1] vhci_hcd vhci_hcd.1: new USB bus registered, assigned bus number 36
[   10.792825][    T1] usb usb36: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.793850][    T1] usb usb36: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.794525][    T1] usb usb36: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.795115][    T1] usb usb36: Product: USB/IP Virtual Host Controller
[   10.795616][    T1] usb usb36: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.796101][    T1] usb usb36: SerialNumber: vhci_hcd.1
[   10.797918][    T1] hub 36-0:1.0: USB hub found
[   10.798410][    T1] hub 36-0:1.0: 8 ports detected
[   10.803473][    T1] vhci_hcd vhci_hcd.2: USB/IP Virtual Host Controller
[   10.804463][    T1] vhci_hcd vhci_hcd.2: new USB bus registered, assigned bus number 37
[   10.805416][    T1] usb usb37: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.806005][    T1] usb usb37: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.806531][    T1] usb usb37: Product: USB/IP Virtual Host Controller
[   10.807039][    T1] usb usb37: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.807539][    T1] usb usb37: SerialNumber: vhci_hcd.2
[   10.809586][    T1] hub 37-0:1.0: USB hub found
[   10.810061][    T1] hub 37-0:1.0: 8 ports detected
[   10.814096][    T1] vhci_hcd vhci_hcd.2: USB/IP Virtual Host Controller
[   10.815027][    T1] vhci_hcd vhci_hcd.2: new USB bus registered, assigned bus number 38
[   10.815802][    T1] usb usb38: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.816799][    T1] usb usb38: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.817486][    T1] usb usb38: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.818244][    T1] usb usb38: Product: USB/IP Virtual Host Controller
[   10.818745][    T1] usb usb38: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.819232][    T1] usb usb38: SerialNumber: vhci_hcd.2
[   10.821002][    T1] hub 38-0:1.0: USB hub found
[   10.821412][    T1] hub 38-0:1.0: 8 ports detected
[   10.826425][    T1] vhci_hcd vhci_hcd.3: USB/IP Virtual Host Controller
[   10.827494][    T1] vhci_hcd vhci_hcd.3: new USB bus registered, assigned bus number 39
[   10.828546][    T1] usb usb39: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.829136][    T1] usb usb39: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.829649][    T1] usb usb39: Product: USB/IP Virtual Host Controller
[   10.830066][    T1] usb usb39: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.830491][    T1] usb usb39: SerialNumber: vhci_hcd.3
[   10.832366][    T1] hub 39-0:1.0: USB hub found
[   10.832788][    T1] hub 39-0:1.0: 8 ports detected
[   10.836760][    T1] vhci_hcd vhci_hcd.3: USB/IP Virtual Host Controller
[   10.837671][    T1] vhci_hcd vhci_hcd.3: new USB bus registered, assigned bus number 40
[   10.838520][    T1] usb usb40: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.839410][    T1] usb usb40: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.839991][    T1] usb usb40: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.840502][    T1] usb usb40: Product: USB/IP Virtual Host Controller
[   10.840914][    T1] usb usb40: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.841334][    T1] usb usb40: SerialNumber: vhci_hcd.3
[   10.843069][    T1] hub 40-0:1.0: USB hub found
[   10.843492][    T1] hub 40-0:1.0: 8 ports detected
[   10.848683][    T1] vhci_hcd vhci_hcd.4: USB/IP Virtual Host Controller
[   10.849588][    T1] vhci_hcd vhci_hcd.4: new USB bus registered, assigned bus number 41
[   10.850536][    T1] usb usb41: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.851167][    T1] usb usb41: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.851687][    T1] usb usb41: Product: USB/IP Virtual Host Controller
[   10.852103][    T1] usb usb41: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.852524][    T1] usb usb41: SerialNumber: vhci_hcd.4
[   10.854172][    T1] hub 41-0:1.0: USB hub found
[   10.854597][    T1] hub 41-0:1.0: 8 ports detected
[   10.858627][    T1] vhci_hcd vhci_hcd.4: USB/IP Virtual Host Controller
[   10.859517][    T1] vhci_hcd vhci_hcd.4: new USB bus registered, assigned bus number 42
[   10.860336][    T1] usb usb42: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.861243][    T1] usb usb42: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.861820][    T1] usb usb42: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.862317][    T1] usb usb42: Product: USB/IP Virtual Host Controller
[   10.862730][    T1] usb usb42: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.863141][    T1] usb usb42: SerialNumber: vhci_hcd.4
[   10.864980][    T1] hub 42-0:1.0: USB hub found
[   10.865410][    T1] hub 42-0:1.0: 8 ports detected
[   10.870584][    T1] vhci_hcd vhci_hcd.5: USB/IP Virtual Host Controller
[   10.871495][    T1] vhci_hcd vhci_hcd.5: new USB bus registered, assigned bus number 43
[   10.872428][    T1] usb usb43: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.873013][    T1] usb usb43: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.873601][    T1] usb usb43: Product: USB/IP Virtual Host Controller
[   10.874013][    T1] usb usb43: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.874421][    T1] usb usb43: SerialNumber: vhci_hcd.5
[   10.876070][    T1] hub 43-0:1.0: USB hub found
[   10.877325][    T1] hub 43-0:1.0: 8 ports detected
[   10.881530][    T1] vhci_hcd vhci_hcd.5: USB/IP Virtual Host Controller
[   10.882423][    T1] vhci_hcd vhci_hcd.5: new USB bus registered, assigned bus number 44
[   10.883160][    T1] usb usb44: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.884072][    T1] usb usb44: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.884645][    T1] usb usb44: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.885151][    T1] usb usb44: Product: USB/IP Virtual Host Controller
[   10.885570][    T1] usb usb44: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.885981][    T1] usb usb44: SerialNumber: vhci_hcd.5
[   10.887683][    T1] hub 44-0:1.0: USB hub found
[   10.888127][    T1] hub 44-0:1.0: 8 ports detected
[   10.893240][    T1] vhci_hcd vhci_hcd.6: USB/IP Virtual Host Controller
[   10.894150][    T1] vhci_hcd vhci_hcd.6: new USB bus registered, assigned bus number 45
[   10.895100][    T1] usb usb45: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.895677][    T1] usb usb45: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.896189][    T1] usb usb45: Product: USB/IP Virtual Host Controller
[   10.896604][    T1] usb usb45: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.897013][    T1] usb usb45: SerialNumber: vhci_hcd.6
[   10.898744][    T1] hub 45-0:1.0: USB hub found
[   10.899166][    T1] hub 45-0:1.0: 8 ports detected
[   10.903143][    T1] vhci_hcd vhci_hcd.6: USB/IP Virtual Host Controller
[   10.904026][    T1] vhci_hcd vhci_hcd.6: new USB bus registered, assigned bus number 46
[   10.904817][    T1] usb usb46: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.905723][    T1] usb usb46: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.906293][    T1] usb usb46: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.906799][    T1] usb usb46: Product: USB/IP Virtual Host Controller
[   10.907215][    T1] usb usb46: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.907634][    T1] usb usb46: SerialNumber: vhci_hcd.6
[   10.909347][    T1] hub 46-0:1.0: USB hub found
[   10.909762][    T1] hub 46-0:1.0: 8 ports detected
[   10.914746][    T1] vhci_hcd vhci_hcd.7: USB/IP Virtual Host Controller
[   10.915664][    T1] vhci_hcd vhci_hcd.7: new USB bus registered, assigned bus number 47
[   10.916592][    T1] usb usb47: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.917172][    T1] usb usb47: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.917687][    T1] usb usb47: Product: USB/IP Virtual Host Controller
[   10.918164][    T1] usb usb47: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.918591][    T1] usb usb47: SerialNumber: vhci_hcd.7
[   10.920258][    T1] hub 47-0:1.0: USB hub found
[   10.920710][    T1] hub 47-0:1.0: 8 ports detected
[   10.924606][    T1] vhci_hcd vhci_hcd.7: USB/IP Virtual Host Controller
[   10.925520][    T1] vhci_hcd vhci_hcd.7: new USB bus registered, assigned bus number 48
[   10.926219][    T1] usb usb48: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.927145][    T1] usb usb48: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.927710][    T1] usb usb48: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.928407][    T1] usb usb48: Product: USB/IP Virtual Host Controller
[   10.928828][    T1] usb usb48: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.929259][    T1] usb usb48: SerialNumber: vhci_hcd.7
[   10.931024][    T1] hub 48-0:1.0: USB hub found
[   10.931481][    T1] hub 48-0:1.0: 8 ports detected
[   10.936490][    T1] vhci_hcd vhci_hcd.8: USB/IP Virtual Host Controller
[   10.937421][    T1] vhci_hcd vhci_hcd.8: new USB bus registered, assigned bus number 49
[   10.938423][    T1] usb usb49: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.939000][    T1] usb usb49: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.939509][    T1] usb usb49: Product: USB/IP Virtual Host Controller
[   10.939924][    T1] usb usb49: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.940342][    T1] usb usb49: SerialNumber: vhci_hcd.8
[   10.941998][    T1] hub 49-0:1.0: USB hub found
[   10.942398][    T1] hub 49-0:1.0: 8 ports detected
[   10.946365][    T1] vhci_hcd vhci_hcd.8: USB/IP Virtual Host Controller
[   10.947276][    T1] vhci_hcd vhci_hcd.8: new USB bus registered, assigned bus number 50
[   10.948155][    T1] usb usb50: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.949065][    T1] usb usb50: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.949636][    T1] usb usb50: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.950136][    T1] usb usb50: Product: USB/IP Virtual Host Controller
[   10.950551][    T1] usb usb50: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.950959][    T1] usb usb50: SerialNumber: vhci_hcd.8
[   10.952649][    T1] hub 50-0:1.0: USB hub found
[   10.953087][    T1] hub 50-0:1.0: 8 ports detected
[   10.958178][    T1] vhci_hcd vhci_hcd.9: USB/IP Virtual Host Controller
[   10.959126][    T1] vhci_hcd vhci_hcd.9: new USB bus registered, assigned bus number 51
[   10.960099][    T1] usb usb51: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.960697][    T1] usb usb51: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.961201][    T1] usb usb51: Product: USB/IP Virtual Host Controller
[   10.961615][    T1] usb usb51: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.962028][    T1] usb usb51: SerialNumber: vhci_hcd.9
[   10.963662][    T1] hub 51-0:1.0: USB hub found
[   10.964070][    T1] hub 51-0:1.0: 8 ports detected
[   10.968184][    T1] vhci_hcd vhci_hcd.9: USB/IP Virtual Host Controller
[   10.969113][    T1] vhci_hcd vhci_hcd.9: new USB bus registered, assigned bus number 52
[   10.969819][    T1] usb usb52: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.970748][    T1] usb usb52: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.971331][    T1] usb usb52: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.971838][    T1] usb usb52: Product: USB/IP Virtual Host Controller
[   10.972249][    T1] usb usb52: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.972660][    T1] usb usb52: SerialNumber: vhci_hcd.9
[   10.974362][    T1] hub 52-0:1.0: USB hub found
[   10.974806][    T1] hub 52-0:1.0: 8 ports detected
[   10.979851][    T1] vhci_hcd vhci_hcd.10: USB/IP Virtual Host Controller
[   10.980777][    T1] vhci_hcd vhci_hcd.10: new USB bus registered, assigned bus number 53
[   10.981705][    T1] usb usb53: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   10.982274][    T1] usb usb53: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.982779][    T1] usb usb53: Product: USB/IP Virtual Host Controller
[   10.983194][    T1] usb usb53: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.983615][    T1] usb usb53: SerialNumber: vhci_hcd.10
[   10.985305][    T1] hub 53-0:1.0: USB hub found
[   10.985730][    T1] hub 53-0:1.0: 8 ports detected
[   10.989638][    T1] vhci_hcd vhci_hcd.10: USB/IP Virtual Host Controller
[   10.990963][    T1] vhci_hcd vhci_hcd.10: new USB bus registered, assigned bus number 54
[   10.991736][    T1] usb usb54: We don't know the algorithms for LPM for this host, disabling LPM.
[   10.992644][    T1] usb usb54: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   10.993215][    T1] usb usb54: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.993744][    T1] usb usb54: Product: USB/IP Virtual Host Controller
[   10.994166][    T1] usb usb54: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   10.994607][    T1] usb usb54: SerialNumber: vhci_hcd.10
[   10.996383][    T1] hub 54-0:1.0: USB hub found
[   10.996830][    T1] hub 54-0:1.0: 8 ports detected
[   11.002153][    T1] vhci_hcd vhci_hcd.11: USB/IP Virtual Host Controller
[   11.003149][    T1] vhci_hcd vhci_hcd.11: new USB bus registered, assigned bus number 55
[   11.004170][    T1] usb usb55: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   11.004813][    T1] usb usb55: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.005377][    T1] usb usb55: Product: USB/IP Virtual Host Controller
[   11.005859][    T1] usb usb55: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.006306][    T1] usb usb55: SerialNumber: vhci_hcd.11
[   11.008149][    T1] hub 55-0:1.0: USB hub found
[   11.008559][    T1] hub 55-0:1.0: 8 ports detected
[   11.012548][    T1] vhci_hcd vhci_hcd.11: USB/IP Virtual Host Controller
[   11.013466][    T1] vhci_hcd vhci_hcd.11: new USB bus registered, assigned bus number 56
[   11.014154][    T1] usb usb56: We don't know the algorithms for LPM for this host, disabling LPM.
[   11.015047][    T1] usb usb56: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   11.015609][    T1] usb usb56: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.016107][    T1] usb usb56: Product: USB/IP Virtual Host Controller
[   11.016520][    T1] usb usb56: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.016931][    T1] usb usb56: SerialNumber: vhci_hcd.11
[   11.020977][    T1] hub 56-0:1.0: USB hub found
[   11.021410][    T1] hub 56-0:1.0: 8 ports detected
[   11.026321][    T1] vhci_hcd vhci_hcd.12: USB/IP Virtual Host Controller
[   11.027244][    T1] vhci_hcd vhci_hcd.12: new USB bus registered, assigned bus number 57
[   11.028210][    T1] usb usb57: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   11.028784][    T1] usb usb57: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.029289][    T1] usb usb57: Product: USB/IP Virtual Host Controller
[   11.029711][    T1] usb usb57: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.030119][    T1] usb usb57: SerialNumber: vhci_hcd.12
[   11.031814][    T1] hub 57-0:1.0: USB hub found
[   11.032238][    T1] hub 57-0:1.0: 8 ports detected
[   11.036126][    T1] vhci_hcd vhci_hcd.12: USB/IP Virtual Host Controller
[   11.037276][    T1] vhci_hcd vhci_hcd.12: new USB bus registered, assigned bus number 58
[   11.038117][    T1] usb usb58: We don't know the algorithms for LPM for this host, disabling LPM.
[   11.039060][    T1] usb usb58: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   11.039641][    T1] usb usb58: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.040148][    T1] usb usb58: Product: USB/IP Virtual Host Controller
[   11.040568][    T1] usb usb58: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.040980][    T1] usb usb58: SerialNumber: vhci_hcd.12
[   11.042747][    T1] hub 58-0:1.0: USB hub found
[   11.043172][    T1] hub 58-0:1.0: 8 ports detected
[   11.048324][    T1] vhci_hcd vhci_hcd.13: USB/IP Virtual Host Controller
[   11.049317][    T1] vhci_hcd vhci_hcd.13: new USB bus registered, assigned bus number 59
[   11.050300][    T1] usb usb59: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   11.050945][    T1] usb usb59: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.051507][    T1] usb usb59: Product: USB/IP Virtual Host Controller
[   11.051949][    T1] usb usb59: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.052387][    T1] usb usb59: SerialNumber: vhci_hcd.13
[   11.054267][    T1] hub 59-0:1.0: USB hub found
[   11.054735][    T1] hub 59-0:1.0: 8 ports detected
[   11.059011][    T1] vhci_hcd vhci_hcd.13: USB/IP Virtual Host Controller
[   11.059980][    T1] vhci_hcd vhci_hcd.13: new USB bus registered, assigned bus number 60
[   11.060751][    T1] usb usb60: We don't know the algorithms for LPM for this host, disabling LPM.
[   11.061686][    T1] usb usb60: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   11.062293][    T1] usb usb60: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.062832][    T1] usb usb60: Product: USB/IP Virtual Host Controller
[   11.063260][    T1] usb usb60: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.063695][    T1] usb usb60: SerialNumber: vhci_hcd.13
[   11.065531][    T1] hub 60-0:1.0: USB hub found
[   11.065975][    T1] hub 60-0:1.0: 8 ports detected
[   11.071231][    T1] vhci_hcd vhci_hcd.14: USB/IP Virtual Host Controller
[   11.072212][    T1] vhci_hcd vhci_hcd.14: new USB bus registered, assigned bus number 61
[   11.073170][    T1] usb usb61: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   11.073821][    T1] usb usb61: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.074327][    T1] usb usb61: Product: USB/IP Virtual Host Controller
[   11.074752][    T1] usb usb61: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.075179][    T1] usb usb61: SerialNumber: vhci_hcd.14
[   11.076916][    T1] hub 61-0:1.0: USB hub found
[   11.077374][    T1] hub 61-0:1.0: 8 ports detected
[   11.081880][    T1] vhci_hcd vhci_hcd.14: USB/IP Virtual Host Controller
[   11.082847][    T1] vhci_hcd vhci_hcd.14: new USB bus registered, assigned bus number 62
[   11.083607][    T1] usb usb62: We don't know the algorithms for LPM for this host, disabling LPM.
[   11.084570][    T1] usb usb62: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
[   11.085150][    T1] usb usb62: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.085678][    T1] usb usb62: Product: USB/IP Virtual Host Controller
[   11.086096][    T1] usb usb62: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.086541][    T1] usb usb62: SerialNumber: vhci_hcd.14
[   11.088424][    T1] hub 62-0:1.0: USB hub found
[   11.088879][    T1] hub 62-0:1.0: 8 ports detected
[   11.094074][    T1] vhci_hcd vhci_hcd.15: USB/IP Virtual Host Controller
[   11.095026][    T1] vhci_hcd vhci_hcd.15: new USB bus registered, assigned bus number 63
[   11.096023][    T1] usb usb63: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
[   11.096611][    T1] usb usb63: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.097131][    T1] usb usb63: Product: USB/IP Virtual Host Controller
[   11.097562][    T1] usb usb63: Manufacturer: Linux 6.19.0-rc6 vhci_hcd
[   11.098039][    T1] usb usb63: SerialNumber: vhci_hcd.15
[   11.099851][    T1] hub 63-0:1.0: USB hub found
[   11.100394][    T1] hub 63-0:1.0: 8 ports detected
[   11.104770][    T1] vhci_hcd vhci_hcd.15: USB/IP Virtual Host Controller
[   11.105261][    T1] usbcore: failed to get bus number
[   11.105598][    T1] vhci_hcd vhci_hcd.15: error -E2BIG: usb_add_hcd ss failed
[   11.106065][    T1] vhci_hcd vhci_hcd.15: remove, state 4
[   11.106424][    T1] usb usb63: USB disconnect, device number 1
[   11.111256][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.111643][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.112005][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.112419][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.112764][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.113113][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.113563][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.113906][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.114258][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.114638][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.114975][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.115324][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.115711][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.116050][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.116399][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.116783][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.117130][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.117510][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.117945][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.118312][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.118689][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.119077][   T13] vhci_hcd vhci_hcd.15: stop threads
[   11.119460][   T13] vhci_hcd vhci_hcd.15: release socket
[   11.119800][   T13] vhci_hcd vhci_hcd.15: disconnect device
[   11.120165][    T1] vhci_hcd vhci_hcd.15: USB bus 63 deregistered
[   11.121484][    T1] vhci_hcd vhci_hcd.15: probe with driver vhci_hcd failed with error -7
[   11.122381][    T1] usbcore: registered new device driver usbip-host
[   11.126320][    T1] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[   11.130837][    T1] serio: i8042 KBD port at 0x60,0x64 irq 1
[   11.132051][    T1] serio: i8042 AUX port at 0x60,0x64 irq 12
[   11.135386][    T1] mousedev: PS/2 mouse device common for all mice
[   11.138275][    T1] usbcore: registered new interface driver appletouch
[   11.138927][    T1] usbcore: registered new interface driver bcm5974
[   11.139726][    T1] usbcore: registered new interface driver synaptics_usb
[   11.140387][    T1] usbcore: registered new interface driver iforce
[   11.140954][    T1] usbcore: registered new interface driver pxrc
[   11.141619][    T1] usbcore: registered new interface driver xpad
[   11.142176][    T1] usbcore: registered new interface driver usb_acecad
[   11.142883][    T1] usbcore: registered new interface driver aiptek
[   11.143470][    T1] usbcore: registered new interface driver hanwang
[   11.144028][    T1] usbcore: registered new interface driver kbtab
[   11.144613][    T1] usbcore: registered new interface driver pegasus_notetaker
[   11.145294][    T1] usbcore: registered new interface driver usbtouchscreen
[   11.145890][    T1] usbcore: registered new interface driver sur40
[   11.146418][    T1] usbcore: registered new interface driver ati_remote2
[   11.146879][    T1] cm109: Keymap for Komunikate KIP1000 phone loaded
[   11.147449][    T1] usbcore: registered new interface driver cm109
[   11.148010][  T119] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1
[   11.155282][    T1] cm109: CM109 phone driver: 20080805 (C) Alfred E. Heggestad
[   11.156259][    T1] usbcore: registered new interface driver ims_pcu
[   11.156976][    T1] usbcore: registered new interface driver keyspan_remote
[   11.157802][    T1] usbcore: registered new interface driver powermate
[   11.158912][    T1] usbcore: registered new interface driver yealink
[   11.160882][    T1] rtc_cmos 00:05: RTC can wake from S4
[   11.164206][    T1] rtc_cmos 00:05: registered as rtc0
[   11.164624][    T1] rtc_cmos 00:05: alarms up to one day, y3k, 242 bytes nvram, hpet irqs
[   11.165813][    T1] i2c_dev: i2c /dev entries driver
[   11.166811][    T1] usbcore: registered new interface driver i2c-diolan-u2c
[   11.168705][    T1] usbcore: registered new interface driver i2c-cp2615
[   11.169427][    T1] usbcore: registered new interface driver RobotFuzz Open Source InterFace, OSIF
[   11.170382][    T1] usbcore: registered new interface driver i2c-tiny-usb
[   11.173262][    T1] usbcore: registered new interface driver igorplugusb
[   11.174034][    T1] usbcore: registered new interface driver iguanair
[   11.174770][    T1] usbcore: registered new interface driver imon
[   11.175404][    T1] usbcore: registered new interface driver imon_raw
[   11.176109][    T1] usbcore: registered new interface driver mceusb
[   11.176789][    T1] usbcore: registered new interface driver redrat3
[   11.177484][    T1] usbcore: registered new interface driver streamzap
[   11.179114][    T1] usbcore: registered new interface driver ir_toy
[   11.179784][    T1] usbcore: registered new interface driver ttusbir
[   11.181773][    T1] usbcore: registered new interface driver ati_remote
[   11.182643][    T1] usbcore: registered new interface driver xbox_remote
[   11.184798][    T1] b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV receiver chip loaded successfully
[   11.185979][    T1] usbcore: registered new interface driver b2c2_flexcop_usb
[   11.186750][    T1] usbcore: registered new interface driver dvb_usb_vp7045
[   11.187483][    T1] usbcore: registered new interface driver dvb_usb_vp702x
[   11.188619][    T1] usbcore: registered new interface driver dvb_usb_gp8psk
[   11.189343][    T1] usbcore: registered new interface driver dvb_usb_dtt200u
[   11.190034][    T1] usbcore: registered new interface driver dvb_usb_a800
[   11.190751][    T1] usbcore: registered new interface driver dvb_usb_dibusb_mb
[   11.191505][    T1] usbcore: registered new interface driver dvb_usb_dibusb_mc
[   11.192246][    T1] usbcore: registered new interface driver dvb_usb_nova_t_usb2
[   11.193019][    T1] usbcore: registered new interface driver dvb_usb_umt_010
[   11.193833][    T1] usbcore: registered new interface driver dvb_usb_m920x
[   11.194532][    T1] usbcore: registered new interface driver dvb_usb_digitv
[   11.195242][    T1] usbcore: registered new interface driver dvb_usb_cxusb
[   11.195924][    T1] usbcore: registered new interface driver dvb_usb_ttusb2
[   11.196670][    T1] usbcore: registered new interface driver dvb_usb_dib0700
[   11.197375][    T1] usbcore: registered new interface driver opera1
[   11.198167][    T1] usbcore: registered new interface driver dvb_usb_af9005
[   11.198684][    T1] failing symbol_get of non-GPLONLY symbol af9005_rc_decode.
[   11.199544][    T1] failing symbol_get of non-GPLONLY symbol af9005_rc_decode.
[   11.200059][    T1] failing symbol_get of non-GPLONLY symbol rc_map_af9005_table.
[   11.200867][    T1] failing symbol_get of non-GPLONLY symbol rc_map_af9005_table.
[   11.201396][    T1] failing symbol_get of non-GPLONLY symbol rc_map_af9005_table_size.
[   11.202310][    T1] failing symbol_get of non-GPLONLY symbol rc_map_af9005_table_size.
[   11.202881][    T1] af9005: af9005_rc_decode function not found, disabling remote
[   11.203742][    T1] usbcore: registered new interface driver pctv452e
[   11.204483][    T1] usbcore: registered new interface driver dw2102
[   11.205156][    T1] usbcore: registered new interface driver dvb_usb_dtv5100
[   11.205897][    T1] usbcore: registered new interface driver cinergyT2
[   11.206571][    T1] usbcore: registered new interface driver dvb_usb_az6027
[   11.207293][    T1] usbcore: registered new interface driver dvb_usb_technisat_usb2
[   11.208189][    T1] usbcore: registered new interface driver dvb_usb_af9015
[   11.208952][    T1] usbcore: registered new interface driver dvb_usb_af9035
[   11.209644][    T1] usbcore: registered new interface driver dvb_usb_anysee
[   11.210314][    T1] usbcore: registered new interface driver dvb_usb_au6610
[   11.211029][    T1] usbcore: registered new interface driver dvb_usb_az6007
[   11.211769][    T1] usbcore: registered new interface driver dvb_usb_ce6230
[   11.212518][    T1] usbcore: registered new interface driver dvb_usb_ec168
[   11.213241][    T1] usbcore: registered new interface driver dvb_usb_lmedm04
[   11.213920][    T1] usbcore: registered new interface driver dvb_usb_gl861
[   11.214614][    T1] usbcore: registered new interface driver dvb_usb_mxl111sf
[   11.215305][    T1] usbcore: registered new interface driver dvb_usb_rtl28xxu
[   11.215981][    T1] usbcore: registered new interface driver dvb_usb_dvbsky
[   11.216657][    T1] usbcore: registered new interface driver zd1301
[   11.217317][    T1] usbcore: registered new interface driver s2255
[   11.218029][    T1] usbcore: registered new interface driver smsusb
[   11.218689][    T1] usbcore: registered new interface driver ttusb
[   11.219316][    T1] usbcore: registered new interface driver ttusb-dec
[   11.219991][    T1] usbcore: registered new interface driver Abilis Systems as10x usb driver
[   11.220821][    T1] usbcore: registered new interface driver airspy
[   11.221253][    T1] gspca_main: v2.14.0 registered
[   11.221863][    T1] usbcore: registered new interface driver benq
[   11.222497][    T1] usbcore: registered new interface driver conex
[   11.223139][    T1] usbcore: registered new interface driver cpia1
[   11.223776][    T1] usbcore: registered new interface driver dtcs033
[   11.224496][    T1] usbcore: registered new interface driver etoms
[   11.225224][    T1] usbcore: registered new interface driver finepix
[   11.225898][    T1] usbcore: registered new interface driver jeilinj
[   11.226564][    T1] usbcore: registered new interface driver jl2005bcd
[   11.227246][    T1] usbcore: registered new interface driver kinect
[   11.228288][    T1] usbcore: registered new interface driver konica
[   11.230225][    T1] usbcore: registered new interface driver mars
[   11.230886][    T1] usbcore: registered new interface driver mr97310a
[   11.231579][    T1] usbcore: registered new interface driver nw80x
[   11.232249][    T1] usbcore: registered new interface driver ov519
[   11.232926][    T1] usbcore: registered new interface driver ov534
[   11.233606][    T1] usbcore: registered new interface driver ov534_9
[   11.234270][    T1] usbcore: registered new interface driver pac207
[   11.234941][    T1] usbcore: registered new interface driver gspca_pac7302
[   11.235647][    T1] usbcore: registered new interface driver pac7311
[   11.236309][    T1] usbcore: registered new interface driver se401
[   11.236965][    T1] usbcore: registered new interface driver sn9c2028
[   11.237663][    T1] usbcore: registered new interface driver gspca_sn9c20x
[   11.238505][    T1] usbcore: registered new interface driver sonixb
[   11.239193][    T1] usbcore: registered new interface driver sonixj
[   11.239849][    T1] usbcore: registered new interface driver spca500
[   11.240507][    T1] usbcore: registered new interface driver spca501
[   11.241203][    T1] usbcore: registered new interface driver spca505
[   11.241873][    T1] usbcore: registered new interface driver spca506
[   11.242535][    T1] usbcore: registered new interface driver spca508
[   11.243225][    T1] usbcore: registered new interface driver spca561
[   11.243900][    T1] usbcore: registered new interface driver spca1528
[   11.244544][    T1] usbcore: registered new interface driver sq905
[   11.245175][    T1] usbcore: registered new interface driver sq905c
[   11.245828][    T1] usbcore: registered new interface driver sq930x
[   11.246565][    T1] usbcore: registered new interface driver sunplus
[   11.247242][    T1] usbcore: registered new interface driver stk014
[   11.247996][    T1] usbcore: registered new interface driver stk1135
[   11.250040][    T1] usbcore: registered new interface driver stv0680
[   11.250717][    T1] usbcore: registered new interface driver t613
[   11.251291][    T1] usbcore: registered new interface driver gspca_topro
[   11.251910][    T1] usbcore: registered new interface driver touptek
[   11.252462][    T1] usbcore: registered new interface driver tv8532
[   11.253036][    T1] usbcore: registered new interface driver vc032x
[   11.253583][    T1] usbcore: registered new interface driver vicam
[   11.254127][    T1] usbcore: registered new interface driver xirlink-cit
[   11.254742][    T1] usbcore: registered new interface driver gspca_zc3xx
[   11.255318][    T1] usbcore: registered new interface driver ALi m5602
[   11.255885][    T1] usbcore: registered new interface driver STV06xx
[   11.256422][    T1] usbcore: registered new interface driver gspca_gl860
[   11.256995][    T1] usbcore: registered new interface driver hackrf
[   11.257539][    T1] usbcore: registered new interface driver msi2500
[   11.259520][    T1] usbcore: registered new interface driver Philips webcam
[   11.260399][    T1] usbcore: registered new interface driver uvcvideo
[   11.260828][    T1] au0828: au0828 driver loaded
[   11.261422][    T1] usbcore: registered new interface driver au0828
[   11.262114][    T1] usbcore: registered new interface driver cx231xx
[   11.262933][    T1] usbcore: registered new interface driver em28xx
[   11.263373][    T1] em28xx: Registered (Em28xx v4l2 Extension) extension
[   11.263819][    T1] em28xx: Registered (Em28xx Audio Extension) extension
[   11.264268][    T1] em28xx: Registered (Em28xx dvb Extension) extension
[   11.264728][    T1] em28xx: Registered (Em28xx Input Extension) extension
[   11.265464][    T1] usbcore: registered new interface driver go7007
[   11.266125][    T1] usbcore: registered new interface driver go7007-loader
[   11.266954][    T1] usbcore: registered new interface driver hdpvr
[   11.268341][    T1] usbcore: registered new interface driver pvrusb2
[   11.268804][    T1] pvrusb2: V4L in-tree version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner
[   11.269347][    T1] pvrusb2: Debug mask is 31 (0x1f)
[   11.269958][    T1] usbcore: registered new interface driver stk1160
[   11.270749][    T1] usbcore: registered new interface driver usbtv
[   11.272977][    T1] dvbdev: DVB: registering new adapter (dvb_vidtv_bridge)
[   11.275199][    T1] i2c i2c-0: DVB: registering adapter 0 frontend 0 (Dummy demod for DVB-T/T2/C/S/S2)...
[   11.276013][    T1] dvbdev: dvb_create_media_entity: media entity 'Dummy demod for DVB-T/T2/C/S/S2' registered.
[   11.279778][    T1] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[   11.283122][    T1] vidtv vidtv.0: Successfully initialized vidtv!
[   11.284876][    T1] vicodec vicodec.0: Device 'stateful-encoder' registered as /dev/video0
[   11.285918][    T1] vicodec vicodec.0: Device 'stateful-decoder' registered as /dev/video1
[   11.286857][    T1] vicodec vicodec.0: Device 'stateless-decoder' registered as /dev/video2
[   11.290461][    T1] vim2m vim2m.0: Device registered as /dev/video3
[   11.303413][    T1] vivid-000: using single planar format API
[   11.313278][    T1] vivid-000: CEC adapter cec0 registered for HDMI input
[   11.314326][    T1] vivid-000: V4L2 capture device registered as video7
[   11.315188][    T1] vivid-000: CEC adapter cec1 registered for HDMI output 0
[   11.316045][    T1] vivid-000: V4L2 output device registered as video8
[   11.316821][    T1] vivid-000: V4L2 capture device registered as vbi0, supports raw and sliced VBI
[   11.317824][    T1] vivid-000: V4L2 output device registered as vbi1, supports raw and sliced VBI
[   11.318967][    T1] vivid-000: V4L2 capture device registered as swradio0
[   11.319841][    T1] vivid-000: V4L2 receiver device registered as radio0
[   11.320660][    T1] vivid-000: V4L2 transmitter device registered as radio1
[   11.321532][    T1] vivid-000: V4L2 metadata capture device registered as video9
[   11.322411][    T1] vivid-000: V4L2 metadata output device registered as video10
[   11.323292][    T1] vivid-000: V4L2 touch capture device registered as v4l-touch0
[   11.324189][    T1] vivid-001: using multiplanar format API
[   11.330840][    T1] vivid-001: CEC adapter cec2 registered for HDMI input
[   11.331784][    T1] vivid-001: V4L2 capture device registered as video11
[   11.332583][    T1] vivid-001: CEC adapter cec3 registered for HDMI output 0
[   11.333425][    T1] vivid-001: V4L2 output device registered as video12
[   11.334228][    T1] vivid-001: V4L2 capture device registered as vbi2, supports raw and sliced VBI
[   11.335195][    T1] vivid-001: V4L2 output device registered as vbi3, supports raw and sliced VBI
[   11.336215][    T1] vivid-001: V4L2 capture device registered as swradio1
[   11.337094][    T1] vivid-001: V4L2 receiver device registered as radio2
[   11.338018][    T1] vivid-001: V4L2 transmitter device registered as radio3
[   11.338851][    T1] vivid-001: V4L2 metadata capture device registered as video13
[   11.339660][    T1] vivid-001: V4L2 metadata output device registered as video14
[   11.340545][    T1] vivid-001: V4L2 touch capture device registered as v4l-touch1
[   11.341654][    T1] vivid-002: using single planar format API
[   11.348153][    T1] vivid-002: CEC adapter cec4 registered for HDMI input
[   11.349069][    T1] vivid-002: V4L2 capture device registered as video15
[   11.350270][    T1] vivid-002: CEC adapter cec5 registered for HDMI output 0
[   11.351205][    T1] vivid-002: V4L2 output device registered as video16
[   11.352166][    T1] vivid-002: V4L2 capture device registered as vbi4, supports raw and sliced VBI
[   11.353110][    T1] vivid-002: V4L2 output device registered as vbi5, supports raw and sliced VBI
[   11.354095][    T1] vivid-002: V4L2 capture device registered as swradio2
[   11.354904][    T1] vivid-002: V4L2 receiver device registered as radio4
[   11.355703][    T1] vivid-002: V4L2 transmitter device registered as radio5
[   11.356530][    T1] vivid-002: V4L2 metadata capture device registered as video17
[   11.357388][    T1] vivid-002: V4L2 metadata output device registered as video18
[   11.358617][    T1] vivid-002: V4L2 touch capture device registered as v4l-touch2
[   11.359392][    T1] vivid-003: using multiplanar format API
[   11.365678][    T1] vivid-003: CEC adapter cec6 registered for HDMI input
[   11.366545][    T1] vivid-003: V4L2 capture device registered as video19
[   11.367343][    T1] vivid-003: CEC adapter cec7 registered for HDMI output 0
[   11.368210][    T1] vivid-003: V4L2 output device registered as video20
[   11.369137][    T1] vivid-003: V4L2 capture device registered as vbi6, supports raw and sliced VBI
[   11.371487][    T1] vivid-003: V4L2 output device registered as vbi7, supports raw and sliced VBI
[   11.372560][    T1] vivid-003: V4L2 capture device registered as swradio3
[   11.373364][    T1] vivid-003: V4L2 receiver device registered as radio6
[   11.374147][    T1] vivid-003: V4L2 transmitter device registered as radio7
[   11.374959][    T1] vivid-003: V4L2 metadata capture device registered as video21
[   11.375810][    T1] vivid-003: V4L2 metadata output device registered as video22
[   11.376616][    T1] vivid-003: V4L2 touch capture device registered as v4l-touch3
[   11.377459][    T1] vivid-004: using single planar format API
[   11.384007][    T1] vivid-004: CEC adapter cec8 registered for HDMI input
[   11.384961][    T1] vivid-004: V4L2 capture device registered as video23
[   11.385788][    T1] vivid-004: CEC adapter cec9 registered for HDMI output 0
[   11.386615][    T1] vivid-004: V4L2 output device registered as video24
[   11.387399][    T1] vivid-004: V4L2 capture device registered as vbi8, supports raw and sliced VBI
[   11.388399][    T1] vivid-004: V4L2 output device registered as vbi9, supports raw and sliced VBI
[   11.389492][    T1] vivid-004: V4L2 capture device registered as swradio4
[   11.390365][    T1] vivid-004: V4L2 receiver device registered as radio8
[   11.391140][    T1] vivid-004: V4L2 transmitter device registered as radio9
[   11.393203][    T1] vivid-004: V4L2 metadata capture device registered as video25
[   11.394083][    T1] vivid-004: V4L2 metadata output device registered as video26
[   11.394929][    T1] vivid-004: V4L2 touch capture device registered as v4l-touch4
[   11.395717][    T1] vivid-005: using multiplanar format API
[   11.401897][    T1] vivid-005: CEC adapter cec10 registered for HDMI input
[   11.402800][    T1] vivid-005: V4L2 capture device registered as video27
[   11.403663][    T1] vivid-005: CEC adapter cec11 registered for HDMI output 0
[   11.404526][    T1] vivid-005: V4L2 output device registered as video28
[   11.405327][    T1] vivid-005: V4L2 capture device registered as vbi10, supports raw and sliced VBI
[   11.406304][    T1] vivid-005: V4L2 output device registered as vbi11, supports raw and sliced VBI
[   11.407295][    T1] vivid-005: V4L2 capture device registered as swradio5
[   11.408344][    T1] vivid-005: V4L2 receiver device registered as radio10
[   11.409171][    T1] vivid-005: V4L2 transmitter device registered as radio11
[   11.410016][    T1] vivid-005: V4L2 metadata capture device registered as video29
[   11.410876][    T1] vivid-005: V4L2 metadata output device registered as video30
[   11.411821][    T1] vivid-005: V4L2 touch capture device registered as v4l-touch5
[   11.412680][    T1] vivid-006: using single planar format API
[   11.419541][    T1] vivid-006: CEC adapter cec12 registered for HDMI input
[   11.420465][    T1] vivid-006: V4L2 capture device registered as video31
[   11.421261][    T1] vivid-006: CEC adapter cec13 registered for HDMI output 0
[   11.422166][    T1] vivid-006: V4L2 output device registered as video32
[   11.423044][    T1] vivid-006: V4L2 capture device registered as vbi12, supports raw and sliced VBI
[   11.424044][    T1] vivid-006: V4L2 output device registered as vbi13, supports raw and sliced VBI
[   11.425166][    T1] vivid-006: V4L2 capture device registered as swradio6
[   11.426009][    T1] vivid-006: V4L2 receiver device registered as radio12
[   11.426858][    T1] vivid-006: V4L2 transmitter device registered as radio13
[   11.427678][    T1] vivid-006: V4L2 metadata capture device registered as video33
[   11.428589][    T1] vivid-006: V4L2 metadata output device registered as video34
[   11.429440][    T1] vivid-006: V4L2 touch capture device registered as v4l-touch6
[   11.430368][    T1] vivid-007: using multiplanar format API
[   11.436897][    T1] vivid-007: CEC adapter cec14 registered for HDMI input
[   11.437952][    T1] vivid-007: V4L2 capture device registered as video35
[   11.438816][    T1] vivid-007: CEC adapter cec15 registered for HDMI output 0
[   11.439619][    T1] vivid-007: V4L2 output device registered as video36
[   11.440353][    T1] vivid-007: V4L2 capture device registered as vbi14, supports raw and sliced VBI
[   11.441276][    T1] vivid-007: V4L2 output device registered as vbi15, supports raw and sliced VBI
[   11.442247][    T1] vivid-007: V4L2 capture device registered as swradio7
[   11.443272][    T1] vivid-007: V4L2 receiver device registered as radio14
[   11.444148][    T1] vivid-007: V4L2 transmitter device registered as radio15
[   11.444978][    T1] vivid-007: V4L2 metadata capture device registered as video37
[   11.445894][    T1] vivid-007: V4L2 metadata output device registered as video38
[   11.446795][    T1] vivid-007: V4L2 touch capture device registered as v4l-touch7
[   11.447708][    T1] vivid-008: using single planar format API
[   11.454207][    T1] vivid-008: CEC adapter cec16 registered for HDMI input
[   11.455110][    T1] vivid-008: V4L2 capture device registered as video39
[   11.455898][    T1] vivid-008: CEC adapter cec17 registered for HDMI output 0
[   11.456715][    T1] vivid-008: V4L2 output device registered as video40
[   11.457590][    T1] vivid-008: V4L2 capture device registered as vbi16, supports raw and sliced VBI
[   11.458574][    T1] vivid-008: V4L2 output device registered as vbi17, supports raw and sliced VBI
[   11.459513][    T1] vivid-008: V4L2 capture device registered as swradio8
[   11.460322][    T1] vivid-008: V4L2 receiver device registered as radio16
[   11.461260][    T1] vivid-008: V4L2 transmitter device registered as radio17
[   11.462112][    T1] vivid-008: V4L2 metadata capture device registered as video41
[   11.462964][    T1] vivid-008: V4L2 metadata output device registered as video42
[   11.463855][    T1] vivid-008: V4L2 touch capture device registered as v4l-touch8
[   11.464861][    T1] vivid-009: using multiplanar format API
[   11.471498][    T1] vivid-009: CEC adapter cec18 registered for HDMI input
[   11.472463][    T1] vivid-009: V4L2 capture device registered as video43
[   11.473272][    T1] vivid-009: CEC adapter cec19 registered for HDMI output 0
[   11.474150][    T1] vivid-009: V4L2 output device registered as video44
[   11.475005][    T1] vivid-009: V4L2 capture device registered as vbi18, supports raw and sliced VBI
[   11.475979][    T1] vivid-009: V4L2 output device registered as vbi19, supports raw and sliced VBI
[   11.476957][    T1] vivid-009: V4L2 capture device registered as swradio9
[   11.477793][    T1] vivid-009: V4L2 receiver device registered as radio18
[   11.478808][    T1] vivid-009: V4L2 transmitter device registered as radio19
[   11.479658][    T1] vivid-009: V4L2 metadata capture device registered as video45
[   11.480541][    T1] vivid-009: V4L2 metadata output device registered as video46
[   11.481335][    T1] vivid-009: V4L2 touch capture device registered as v4l-touch9
[   11.482154][    T1] vivid-010: using single planar format API
[   11.489381][    T1] vivid-010: CEC adapter cec20 registered for HDMI input
[   11.490249][    T1] vivid-010: V4L2 capture device registered as video47
[   11.491130][    T1] vivid-010: CEC adapter cec21 registered for HDMI output 0
[   11.492040][    T1] vivid-010: V4L2 output device registered as video48
[   11.492846][    T1] vivid-010: V4L2 capture device registered as vbi20, supports raw and sliced VBI
[   11.493755][    T1] vivid-010: V4L2 output device registered as vbi21, supports raw and sliced VBI
[   11.494650][    T1] vivid-010: V4L2 capture device registered as swradio10
[   11.495417][    T1] vivid-010: V4L2 receiver device registered as radio20
[   11.496212][    T1] vivid-010: V4L2 transmitter device registered as radio21
[   11.497005][    T1] vivid-010: V4L2 metadata capture device registered as video49
[   11.497816][    T1] vivid-010: V4L2 metadata output device registered as video50
[   11.498673][    T1] vivid-010: V4L2 touch capture device registered as v4l-touch10
[   11.499559][    T1] vivid-011: using multiplanar format API
[   11.505857][    T1] vivid-011: CEC adapter cec22 registered for HDMI input
[   11.506757][    T1] vivid-011: V4L2 capture device registered as video51
[   11.507532][    T1] vivid-011: CEC adapter cec23 registered for HDMI output 0
[   11.508600][    T1] vivid-011: V4L2 output device registered as video52
[   11.509625][    T1] vivid-011: V4L2 capture device registered as vbi22, supports raw and sliced VBI
[   11.510581][    T1] vivid-011: V4L2 output device registered as vbi23, supports raw and sliced VBI
[   11.511562][    T1] vivid-011: V4L2 capture device registered as swradio11
[   11.512374][    T1] vivid-011: V4L2 receiver device registered as radio22
[   11.513254][    T1] vivid-011: V4L2 transmitter device registered as radio23
[   11.514171][    T1] vivid-011: V4L2 metadata capture device registered as video53
[   11.514979][    T1] vivid-011: V4L2 metadata output device registered as video54
[   11.515779][    T1] vivid-011: V4L2 touch capture device registered as v4l-touch11
[   11.516590][    T1] vivid-012: using single planar format API
[   11.522463][    T1] vivid-012: CEC adapter cec24 registered for HDMI input
[   11.523353][    T1] vivid-012: V4L2 capture device registered as video55
[   11.524164][    T1] vivid-012: CEC adapter cec25 registered for HDMI output 0
[   11.524984][    T1] vivid-012: V4L2 output device registered as video56
[   11.525739][    T1] vivid-012: V4L2 capture device registered as vbi24, supports raw and sliced VBI
[   11.526670][    T1] vivid-012: V4L2 output device registered as vbi25, supports raw and sliced VBI
[   11.527669][    T1] vivid-012: V4L2 capture device registered as swradio12
[   11.528668][    T1] vivid-012: V4L2 receiver device registered as radio24
[   11.529440][    T1] vivid-012: V4L2 transmitter device registered as radio25
[   11.530288][    T1] vivid-012: V4L2 metadata capture device registered as video57
[   11.531196][    T1] vivid-012: V4L2 metadata output device registered as video58
[   11.532023][    T1] vivid-012: V4L2 touch capture device registered as v4l-touch12
[   11.533049][    T1] vivid-013: using multiplanar format API
[   11.539622][    T1] vivid-013: CEC adapter cec26 registered for HDMI input
[   11.540556][    T1] vivid-013: V4L2 capture device registered as video59
[   11.541365][    T1] vivid-013: CEC adapter cec27 registered for HDMI output 0
[   11.542241][    T1] vivid-013: V4L2 output device registered as video60
[   11.543050][    T1] vivid-013: V4L2 capture device registered as vbi26, supports raw and sliced VBI
[   11.544012][    T1] vivid-013: V4L2 output device registered as vbi27, supports raw and sliced VBI
[   11.545076][    T1] vivid-013: V4L2 capture device registered as swradio13
[   11.545951][    T1] vivid-013: V4L2 receiver device registered as radio26
[   11.546766][    T1] vivid-013: V4L2 transmitter device registered as radio27
[   11.547634][    T1] vivid-013: V4L2 metadata capture device registered as video61
[   11.548674][    T1] vivid-013: V4L2 metadata output device registered as video62
[   11.549541][    T1] vivid-013: V4L2 touch capture device registered as v4l-touch13
[   11.550404][    T1] vivid-014: using single planar format API
[   11.556867][    T1] vivid-014: CEC adapter cec28 registered for HDMI input
[   11.557812][    T1] vivid-014: V4L2 capture device registered as video63
[   11.558773][    T1] vivid-014: CEC adapter cec29 registered for HDMI output 0
[   11.559661][    T1] vivid-014: V4L2 output device registered as video64
[   11.560422][    T1] vivid-014: V4L2 capture device registered as vbi28, supports raw and sliced VBI
[   11.561460][    T1] vivid-014: V4L2 output device registered as vbi29, supports raw and sliced VBI
[   11.562421][    T1] vivid-014: V4L2 capture device registered as swradio14
[   11.563272][    T1] vivid-014: V4L2 receiver device registered as radio28
[   11.564085][    T1] vivid-014: V4L2 transmitter device registered as radio29
[   11.564901][    T1] vivid-014: V4L2 metadata capture device registered as video65
[   11.565737][    T1] vivid-014: V4L2 metadata output device registered as video66
[   11.566628][    T1] vivid-014: V4L2 touch capture device registered as v4l-touch14
[   11.567499][    T1] vivid-015: using multiplanar format API
[   11.575695][  T119] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input3
[   11.577981][    T1] vivid-015: CEC adapter cec30 registered for HDMI input
[   11.578997][    T1] vivid-015: V4L2 capture device registered as video67
[   11.579890][    T1] vivid-015: CEC adapter cec31 registered for HDMI output 0
[   11.580772][    T1] vivid-015: V4L2 output device registered as video68
[   11.581578][    T1] vivid-015: V4L2 capture device registered as vbi30, supports raw and sliced VBI
[   11.582606][    T1] vivid-015: V4L2 output device registered as vbi31, supports raw and sliced VBI
[   11.583528][    T1] vivid-015: V4L2 capture device registered as swradio15
[   11.584414][    T1] vivid-015: V4L2 receiver device registered as radio30
[   11.585262][    T1] vivid-015: V4L2 transmitter device registered as radio31
[   11.586122][    T1] vivid-015: V4L2 metadata capture device registered as video69
[   11.587001][    T1] vivid-015: V4L2 metadata output device registered as video70
[   11.587965][    T1] vivid-015: V4L2 touch capture device registered as v4l-touch15
[   11.588875][    T1] vivid-016: using single planar format API
[   11.595033][    T1] vivid-016: CEC adapter cec32 registered for HDMI input
[   11.595901][    T1] vivid-016: V4L2 capture device registered as video71
[   11.596735][    T1] vivid-016: CEC adapter cec33 registered for HDMI output 0
[   11.597618][    T1] vivid-016: V4L2 output device registered as video72
[   11.598530][    T1] vivid-016: V4L2 capture device registered as vbi32, supports raw and sliced VBI
[   11.599476][    T1] vivid-016: V4L2 output device registered as vbi33, supports raw and sliced VBI
[   11.600430][    T1] vivid-016: V4L2 capture device registered as swradio16
[   11.601241][    T1] vivid-016: V4L2 receiver device registered as radio32
[   11.602236][    T1] vivid-016: V4L2 transmitter device registered as radio33
[   11.603135][    T1] vivid-016: V4L2 metadata capture device registered as video73
[   11.603996][    T1] vivid-016: V4L2 metadata output device registered as video74
[   11.604844][    T1] vivid-016: V4L2 touch capture device registered as v4l-touch16
[   11.605699][    T1] vivid-017: using multiplanar format API
[   11.612135][    T1] vivid-017: CEC adapter cec34 registered for HDMI input
[   11.613020][    T1] vivid-017: V4L2 capture device registered as video75
[   11.613866][    T1] vivid-017: CEC adapter cec35 registered for HDMI output 0
[   11.614772][    T1] vivid-017: V4L2 output device registered as video76
[   11.615574][    T1] vivid-017: V4L2 capture device registered as vbi34, supports raw and sliced VBI
[   11.616546][    T1] vivid-017: V4L2 output device registered as vbi35, supports raw and sliced VBI
[   11.617497][    T1] vivid-017: V4L2 capture device registered as swradio17
[   11.618336][    T1] vivid-017: V4L2 receiver device registered as radio34
[   11.619133][    T1] vivid-017: V4L2 transmitter device registered as radio35
[   11.619929][    T1] vivid-017: V4L2 metadata capture device registered as video77
[   11.620794][    T1] vivid-017: V4L2 metadata output device registered as video78
[   11.621657][    T1] vivid-017: V4L2 touch capture device registered as v4l-touch17
[   11.622529][    T1] vivid-018: using single planar format API
[   11.630085][    T1] vivid-018: CEC adapter cec36 registered for HDMI input
[   11.630974][    T1] vivid-018: V4L2 capture device registered as video79
[   11.631788][    T1] vivid-018: CEC adapter cec37 registered for HDMI output 0
[   11.632681][    T1] vivid-018: V4L2 output device registered as video80
[   11.633513][    T1] vivid-018: V4L2 capture device registered as vbi36, supports raw and sliced VBI
[   11.634480][    T1] vivid-018: V4L2 output device registered as vbi37, supports raw and sliced VBI
[   11.635421][    T1] vivid-018: V4L2 capture device registered as swradio18
[   11.636240][    T1] vivid-018: V4L2 receiver device registered as radio36
[   11.637012][    T1] vivid-018: V4L2 transmitter device registered as radio37
[   11.637894][    T1] vivid-018: V4L2 metadata capture device registered as video81
[   11.638991][    T1] vivid-018: V4L2 metadata output device registered as video82
[   11.639924][    T1] vivid-018: V4L2 touch capture device registered as v4l-touch18
[   11.640773][    T1] vivid-019: using multiplanar format API
[   11.647052][    T1] vivid-019: CEC adapter cec38 registered for HDMI input
[   11.648028][    T1] vivid-019: V4L2 capture device registered as video83
[   11.649053][    T1] vivid-019: CEC adapter cec39 registered for HDMI output 0
[   11.649969][    T1] vivid-019: V4L2 output device registered as video84
[   11.650975][    T1] vivid-019: V4L2 capture device registered as vbi38, supports raw and sliced VBI
[   11.652103][    T1] vivid-019: V4L2 output device registered as vbi39, supports raw and sliced VBI
[   11.653143][    T1] vivid-019: V4L2 capture device registered as swradio19
[   11.654049][    T1] vivid-019: V4L2 receiver device registered as radio38
[   11.654888][    T1] vivid-019: V4L2 transmitter device registered as radio39
[   11.655727][    T1] vivid-019: V4L2 metadata capture device registered as video85
[   11.656564][    T1] vivid-019: V4L2 metadata output device registered as video86
[   11.657421][    T1] vivid-019: V4L2 touch capture device registered as v4l-touch19
[   11.658319][    T1] vivid-020: using single planar format API
[   11.664899][    T1] vivid-020: CEC adapter cec40 registered for HDMI input
[   11.665810][    T1] vivid-020: V4L2 capture device registered as video87
[   11.666870][    T1] vivid-020: CEC adapter cec41 registered for HDMI output 0
[   11.667794][    T1] vivid-020: V4L2 output device registered as video88
[   11.668866][    T1] vivid-020: V4L2 capture device registered as vbi40, supports raw and sliced VBI
[   11.669852][    T1] vivid-020: V4L2 output device registered as vbi41, supports raw and sliced VBI
[   11.670839][    T1] vivid-020: V4L2 capture device registered as swradio20
[   11.671694][    T1] vivid-020: V4L2 receiver device registered as radio40
[   11.672574][    T1] vivid-020: V4L2 transmitter device registered as radio41
[   11.673437][    T1] vivid-020: V4L2 metadata capture device registered as video89
[   11.674315][    T1] vivid-020: V4L2 metadata output device registered as video90
[   11.675198][    T1] vivid-020: V4L2 touch capture device registered as v4l-touch20
[   11.676064][    T1] vivid-021: using multiplanar format API
[   11.682264][    T1] vivid-021: CEC adapter cec42 registered for HDMI input
[   11.683149][    T1] vivid-021: V4L2 capture device registered as video91
[   11.683961][    T1] vivid-021: CEC adapter cec43 registered for HDMI output 0
[   11.684833][    T1] vivid-021: V4L2 output device registered as video92
[   11.685673][    T1] vivid-021: V4L2 capture device registered as vbi42, supports raw and sliced VBI
[   11.686689][    T1] vivid-021: V4L2 output device registered as vbi43, supports raw and sliced VBI
[   11.687712][    T1] vivid-021: V4L2 capture device registered as swradio21
[   11.688761][    T1] vivid-021: V4L2 receiver device registered as radio42
[   11.689714][    T1] vivid-021: V4L2 transmitter device registered as radio43
[   11.690664][    T1] vivid-021: V4L2 metadata capture device registered as video93
[   11.691753][    T1] vivid-021: V4L2 metadata output device registered as video94
[   11.692753][    T1] vivid-021: V4L2 touch capture device registered as v4l-touch21
[   11.693670][    T1] vivid-022: using single planar format API
[   11.700168][    T1] vivid-022: CEC adapter cec44 registered for HDMI input
[   11.701071][    T1] vivid-022: V4L2 capture device registered as video95
[   11.701921][    T1] vivid-022: CEC adapter cec45 registered for HDMI output 0
[   11.702821][    T1] vivid-022: V4L2 output device registered as video96
[   11.703692][    T1] vivid-022: V4L2 capture device registered as vbi44, supports raw and sliced VBI
[   11.704738][    T1] vivid-022: V4L2 output device registered as vbi45, supports raw and sliced VBI
[   11.705789][    T1] vivid-022: V4L2 capture device registered as swradio22
[   11.706722][    T1] vivid-022: V4L2 receiver device registered as radio44
[   11.707565][    T1] vivid-022: V4L2 transmitter device registered as radio45
[   11.708525][    T1] vivid-022: V4L2 metadata capture device registered as video97
[   11.709471][    T1] vivid-022: V4L2 metadata output device registered as video98
[   11.710498][    T1] vivid-022: V4L2 touch capture device registered as v4l-touch22
[   11.711477][    T1] vivid-023: using multiplanar format API
[   11.718182][    T1] vivid-023: CEC adapter cec46 registered for HDMI input
[   11.719088][    T1] vivid-023: V4L2 capture device registered as video99
[   11.719892][    T1] vivid-023: CEC adapter cec47 registered for HDMI output 0
[   11.720711][    T1] vivid-023: V4L2 output device registered as video100
[   11.721502][    T1] vivid-023: V4L2 capture device registered as vbi46, supports raw and sliced VBI
[   11.722559][    T1] vivid-023: V4L2 output device registered as vbi47, supports raw and sliced VBI
[   11.723517][    T1] vivid-023: V4L2 capture device registered as swradio23
[   11.724354][    T1] vivid-023: V4L2 receiver device registered as radio46
[   11.725249][    T1] vivid-023: V4L2 transmitter device registered as radio47
[   11.726079][    T1] vivid-023: V4L2 metadata capture device registered as video101
[   11.727067][    T1] vivid-023: V4L2 metadata output device registered as video102
[   11.728103][    T1] vivid-023: V4L2 touch capture device registered as v4l-touch23
[   11.729050][    T1] vivid-024: using single planar format API
[   11.735253][    T1] vivid-024: CEC adapter cec48 registered for HDMI input
[   11.736171][    T1] vivid-024: V4L2 capture device registered as video103
[   11.737048][    T1] vivid-024: CEC adapter cec49 registered for HDMI output 0
[   11.737553][    T1] videodev: could not get a free minor
[   11.746907][    T1] usbcore: registered new interface driver radioshark2
[   11.747737][    T1] usbcore: registered new interface driver radioshark
[   11.748660][    T1] usbcore: registered new interface driver radio-si470x
[   11.749520][    T1] usbcore: registered new interface driver radio-usb-si4713
[   11.750234][    T1] usbcore: registered new interface driver dsbr100
[   11.750903][    T1] usbcore: registered new interface driver radio-keene
[   11.751595][    T1] usbcore: registered new interface driver radio-ma901
[   11.752285][    T1] usbcore: registered new interface driver radio-mr800
[   11.752961][    T1] usbcore: registered new interface driver radio-raremono
[   11.754225][    T1] pps_ldisc: PPS line discipline registered
[   11.757130][    T1] usbcore: registered new interface driver powerz
[   11.757927][    T1] usbcore: registered new interface driver pcwd_usb
[   11.759572][    T1] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.
[   11.760453][    T1] device-mapper: uevent: version 1.0.3
[   11.761365][    T1] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev
[   11.762613][    T1] device-mapper: multipath round-robin: version 1.2.0 loaded
[   11.763129][    T1] device-mapper: multipath queue-length: version 0.2.0 loaded
[   11.763627][    T1] device-mapper: multipath service-time: version 0.3.0 loaded
[   11.764762][    T1] Bluetooth: HCI UART driver ver 2.3
[   11.765117][    T1] Bluetooth: HCI UART protocol H4 registered
[   11.765502][    T1] Bluetooth: HCI UART protocol BCSP registered
[   11.766052][    T1] Bluetooth: HCI UART protocol LL registered
[   11.766615][    T1] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   11.767215][    T1] Bluetooth: HCI UART protocol QCA registered
[   11.767614][    T1] Bluetooth: HCI UART protocol AG6XX registered
[   11.768307][    T1] Bluetooth: HCI UART protocol Marvell registered
[   11.769216][    T1] usbcore: registered new interface driver bcm203x
[   11.769902][    T1] usbcore: registered new interface driver bpa10x
[   11.770558][    T1] usbcore: registered new interface driver bfusb
[   11.771318][    T1] usbcore: registered new interface driver btusb
[   11.772061][    T1] usbcore: registered new interface driver ath3k
[   11.772868][    T1] Modular ISDN core version 1.1.29
[   11.773700][    T1] NET: Registered PF_ISDN protocol family
[   11.774075][    T1] DSP module 2.0
[   11.774303][    T1] mISDN_dsp: DSP clocks every 80 samples. This equals 1 jiffies.
[   11.776592][    T1] mISDN: Layer-1-over-IP driver Rev. 2.00
[   11.777149][    T1] 0 virtual devices registered
[   11.777802][    T1] usbcore: registered new interface driver HFC-S_USB
[   11.778291][    T1] intel_pstate: CPU model not supported
[   11.778671][    T1] VUB300 Driver rom wait states = 1C irqpoll timeout = 0400
[   11.779510][    T1] usbcore: registered new interface driver vub300
[   11.780669][    T1] usbcore: registered new interface driver ushc
[   11.784477][    T1] iscsi: registered transport (iser)
[   11.785570][    T1] SoftiWARP attached
[   11.793778][    T1] hid: raw HID events driver (C) Jiri Kosina
[   11.815863][    T1] usbcore: registered new interface driver usbhid
[   11.816340][    T1] usbhid: USB HID core driver
[   11.825937][    T1] usbcore: registered new interface driver es2_ap_driver
[   11.826460][    T1] comedi: version 0.7.76 - http://www.comedi.org
[   11.829314][    T1] comedi comedi0: comedi_test: 1000000 microvolt, 100000 microsecond waveform attached
[   11.835393][    T1] comedi comedi0: driver 'comedi_test' has successfully auto-configured 'comedi_test'.
[   11.836486][    T1] usbcore: registered new interface driver dt9812
[   11.837174][    T1] usbcore: registered new interface driver ni6501
[   11.837937][    T1] usbcore: registered new interface driver usbdux
[   11.838628][    T1] usbcore: registered new interface driver usbduxfast
[   11.839281][    T1] usbcore: registered new interface driver usbduxsigma
[   11.839959][    T1] usbcore: registered new interface driver vmk80xx
[   11.840592][    T1] greybus: registered new driver hid
[   11.841311][    T1] greybus: registered new driver gbphy
[   11.841916][    T1] gb_gbphy: registered new driver usb
[   11.842496][    T1] asus_wmi: ASUS WMI generic driver loaded
[   11.845131][    T1] gnss: GNSS driver registered with major 492
[   11.845803][    T1] usbcore: registered new interface driver gnss-usb
[   11.846379][    T1] usbcore: registered new interface driver hdm_usb
[   11.900632][    T1] usbcore: registered new interface driver snd-usb-audio
[   11.902630][    T1] usbcore: registered new interface driver snd-ua101
[   11.904592][    T1] usbcore: registered new interface driver snd-usb-usx2y
[   11.906721][    T1] usbcore: registered new interface driver snd-usb-us122l
[   11.908795][    T1] usbcore: registered new interface driver snd-usb-caiaq
[   11.911065][    T1] usbcore: registered new interface driver snd-usb-6fire
[   11.913071][    T1] usbcore: registered new interface driver snd-usb-hiface
[   11.915009][    T1] usbcore: registered new interface driver snd-bcd2000
[   11.916822][    T1] usbcore: registered new interface driver snd_usb_pod
[   11.918975][    T1] usbcore: registered new interface driver snd_usb_podhd
[   11.920944][    T1] usbcore: registered new interface driver snd_usb_toneport
[   11.923309][    T1] usbcore: registered new interface driver snd_usb_variax
[   11.929969][    T1] drop_monitor: Initializing network drop monitor service
[   11.931918][    T1] NET: Registered PF_LLC protocol family
[   11.933311][    T1] GACT probability on
[   11.934217][    T1] Mirror/redirect action on
[   11.935306][    T1] Simple TC action Loaded
[   11.942613][    T1] netem: version 1.3
[   11.943545][    T1] u32 classifier
[   11.944453][    T1]     Performance counters on
[   11.945500][    T1]     input device check on
[   11.946432][    T1]     Actions configured
[   11.948380][    T1] nf_conntrack_irc: failed to register helpers
[   11.949716][    T1] nf_conntrack_sane: failed to register helpers
[   12.058620][    T1] nf_conntrack_sip: failed to register helpers
[   12.063090][    T1] xt_time: kernel timezone is -0000
[   12.064370][    T1] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
[   12.066028][    T1] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
[   12.068291][    T1] IPVS: ipvs loaded.
[   12.069146][    T1] IPVS: [rr] scheduler registered.
[   12.070222][    T1] IPVS: [wrr] scheduler registered.
[   12.071308][    T1] IPVS: [lc] scheduler registered.
[   12.072399][    T1] IPVS: [wlc] scheduler registered.
[   12.073486][    T1] IPVS: [fo] scheduler registered.
[   12.074559][    T1] IPVS: [ovf] scheduler registered.
[   12.075739][    T1] IPVS: [lblc] scheduler registered.
[   12.076788][    T1] IPVS: [lblcr] scheduler registered.
[   12.078094][    T1] IPVS: [dh] scheduler registered.
[   12.079166][    T1] IPVS: [sh] scheduler registered.
[   12.080219][    T1] IPVS: [mh] scheduler registered.
[   12.081272][    T1] IPVS: [sed] scheduler registered.
[   12.082406][    T1] IPVS: [nq] scheduler registered.
[   12.083491][    T1] IPVS: [twos] scheduler registered.
[   12.084762][    T1] IPVS: [sip] pe registered.
[   12.085917][    T1] ipip: IPv4 and MPLS over IPv4 tunneling driver
[   12.090582][    T1] gre: GRE over IPv4 demultiplexer driver
[   12.091816][    T1] ip_gre: GRE over IPv4 tunneling driver
[   12.099992][    T1] IPv4 over IPsec tunneling driver
[   12.114479][    T1] Initializing XFRM netlink socket
[   12.115683][    T1] IPsec XFRM device driver
[   12.117004][    T1] NET: Registered PF_INET6 protocol family
[   12.144961][    T1] Segment Routing with IPv6
[   12.145963][    T1] RPL Segment Routing with IPv6
[   12.147094][    T1] In-situ OAM (IOAM) with IPv6
[   12.148302][    T1] mip6: Mobile IPv6
[   12.151949][    T1] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[   12.158866][    T1] ip6_gre: GRE over IPv6 tunneling driver
[   12.162829][    T1] NET: Registered PF_PACKET protocol family
[   12.164097][    T1] PFKEY is deprecated and scheduled to be removed in 2027, please contact the netdev mailing list
[   12.166387][    T1] NET: Registered PF_KEY protocol family
[   12.167912][    T1] Bridge firewalling registered
[   12.179628][    T1] NET: Registered PF_X25 protocol family
[   12.180850][    T1] X25: Linux Version 0.2
[   12.221231][    T1] NET: Registered PF_NETROM protocol family
[   12.259627][    T1] NET: Registered PF_ROSE protocol family
[   12.260162][    T1] NET: Registered PF_AX25 protocol family
[   12.260576][    T1] can: controller area network core
[   12.261022][    T1] NET: Registered PF_CAN protocol family
[   12.261387][    T1] can: raw protocol
[   12.261692][    T1] can: broadcast manager protocol
[   12.262056][    T1] can: netlink gateway - max_hops=1
[   12.262437][    T1] can: SAE J1939
[   12.262706][    T1] can: isotp protocol (max_pdu_size 8300)
[   12.263611][    T1] Bluetooth: RFCOMM TTY layer initialized
[   12.264076][    T1] Bluetooth: RFCOMM socket layer initialized
[   12.264657][    T1] Bluetooth: RFCOMM ver 1.11
[   12.265113][    T1] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   12.265542][    T1] Bluetooth: BNEP filters: protocol multicast
[   12.265956][    T1] Bluetooth: BNEP socket layer initialized
[   12.266345][    T1] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   12.266801][    T1] Bluetooth: HIDP socket layer initialized
[   12.279715][    T1] NET: Registered PF_RXRPC protocol family
[   12.280123][    T1] Key type rxrpc registered
[   12.280409][    T1] Key type rxrpc_s registered
[   12.291978][    T1] NET: Registered PF_KCM protocol family
[   12.293685][    T1] lec:lane_module_init: lec.c: initialized
[   12.294938][    T1] mpoa:atm_mpoa_init: mpc.c: initialized
[   12.295817][    T1] l2tp_core: L2TP core driver, V2.0
[   12.296178][    T1] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[   12.296581][    T1] l2tp_ip: L2TP IP encapsulation support (L2TPv3)
[   12.297087][    T1] l2tp_netlink: L2TP netlink interface
[   12.297526][    T1] l2tp_eth: L2TP ethernet pseudowire support (L2TPv3)
[   12.298028][    T1] l2tp_ip6: L2TP IP encapsulation support for IPv6 (L2TPv3)
[   12.298632][    T1] NET: Registered PF_PHONET protocol family
[   12.299125][    T1] 8021q: 802.1Q VLAN Support v1.8
[   12.299611][    T1] sctp: Hash tables configured (bind 32/56)
[   12.310781][    T1] NET: Registered PF_RDS protocol family
[   12.321694][    T1] Registered RDS/infiniband transport
[   12.322525][    T1] Registered RDS/tcp transport
[   12.322868][    T1] tipc: Activated (version 2.0.0)
[   12.323453][    T1] NET: Registered PF_TIPC protocol family
[   12.324188][    T1] tipc: Started in single node mode
[   12.324587][    T1] 9pnet: Installing 9P2000 support
[   12.325284][    T1] NET: Registered PF_CAIF protocol family
[   12.327330][    T1] NET: Registered PF_IEEE802154 protocol family
[   12.328057][    T1] Key type dns_resolver registered
[   12.328484][    T1] Key type ceph registered
[   12.339615][    T1] libceph: loaded (mon/osd proto 15/24)
[   12.351877][    T1] batman_adv: B.A.T.M.A.N. advanced 2025.5 (compatibility version 15) loaded
[   12.353863][    T1] openvswitch: Open vSwitch switching datapath
[   12.356779][    T1] NET: Registered PF_VSOCK protocol family
[   12.358751][    T1] mpls_gso: MPLS GSO support
[   12.371956][    T1] IPI shorthand broadcast: enabled
[   12.775417][    T1] sched_clock: Marking stable (12760012484, 7830616)->(12786791142, -18948042)
[   12.792776][    T1] registered taskstats version 1
[   12.797714][    T1] Loading compiled-in X.509 certificates
[   12.813682][    T1] Loaded X.509 cert 'Build time autogenerated kernel key: c26b3edd4e3d6bc43cd28d65c9fae6a71021842d'
[   12.929721][    T1] zswap: loaded using pool 842
[   12.931855][    T1] Demotion targets for Node 0: null
[   12.932243][    T1] Demotion targets for Node 1: null
[   12.932686][    T1] debug_vm_pgtable: [debug_vm_pgtable         ]: Validating architecture page table helpers
[   12.934617][    T1] Key type .fscrypt registered
[   12.935008][    T1] Key type fscrypt-provisioning registered
[   12.936801][    T1] kAFS: Red Hat AFS client v0.1 registering.
[   12.966551][    T1] Btrfs loaded, assert=on, zoned=yes, fsverity=yes
[   12.967358][    T1] Key type big_key registered
[   12.967714][    T1] Key type encrypted registered
[   12.968116][    T1] AppArmor: AppArmor sha256 policy hashing enabled
[   12.968577][    T1] ima: No TPM chip found, activating TPM-bypass!
[   12.969099][    T1] Loading compiled-in module X.509 certificates
[   12.979167][    T1] Loaded X.509 cert 'Build time autogenerated kernel key: c26b3edd4e3d6bc43cd28d65c9fae6a71021842d'
[   12.979937][    T1] ima: Allocated hash algorithm: sha256
[   12.980471][    T1] ima: No architecture policies found
[   12.981124][    T1] evm: Initialising EVM extended attributes:
[   12.981521][    T1] evm: security.selinux (disabled)
[   12.981845][    T1] evm: security.SMACK64 (disabled)
[   12.982174][    T1] evm: security.SMACK64EXEC (disabled)
[   12.982553][    T1] evm: security.SMACK64TRANSMUTE (disabled)
[   12.982967][    T1] evm: security.SMACK64MMAP (disabled)
[   12.983346][    T1] evm: security.apparmor
[   12.983695][    T1] evm: security.ima
[   12.983958][    T1] evm: security.capability
[   12.984252][    T1] evm: HMAC attrs: 0x1
[   12.985570][    T1] PM:   Magic number: 10:866:980
[   12.985900][    T1] net rose18: hash matches
[   12.986382][    T1] tty ttyc7: hash matches
[   12.986816][    T1] netconsole: network logging started
[   12.987453][    T1] gtp: GTP module loaded (pdp ctx size 128 bytes)
[   12.999464][    T1] rdma_rxe: loaded
[   13.000307][    T1] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   13.001788][    T1] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   13.002682][    T1] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[   13.003315][    T1] clk: Disabling unused clocks
[   13.004068][    T1] ALSA device list:
[   13.004316][    T1]   #0: Dummy 1
[   13.004552][    T1]   #1: Loopback 1
[   13.004782][    T1]   #2: Virtual MIDI Card 1
[   13.005982][    T1] check access for rdinit=/init failed: -2, ignoring
[   13.006286][    T1] md: Waiting for all devices to be available before autodetect
[   13.006617][    T1] md: If you don't use raid, use raid=noautodetect
[   13.006890][    T1] md: Autodetecting RAID arrays.
[   13.007119][    T1] md: autorun ...
[   13.007279][    T1] md: ... autorun DONE.
[   13.012613][   T24] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2
[   13.013047][   T24] faux_driver regulatory: Falling back to sysfs fallback for: regulatory.db
[   13.033438][    T1] EXT4-fs (sda): mounted filesystem 06d0679e-cae9-4a12-8b2f-e888be35acf1 ro with ordered data mode. Quota mode: none.
[   13.034186][    T1] VFS: Mounted root (ext4 filesystem) readonly on device 8:0.
[   13.035446][    T1] devtmpfs: mounted
[   13.060919][    T1] Freeing unused kernel image (initmem) memory: 25944K
[   13.061378][    T1] Write protecting the kernel read-only data: 208896k
[   13.066081][    T1] Freeing unused kernel image (text/rodata gap) memory: 532K
[   13.067446][    T1] Freeing unused kernel image (rodata/data gap) memory: 356K
[   13.110526][    T1] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[   13.112984][    T1] Failed to set sysctl parameter 'max_rcu_stall_to_panic=1': parameter not found
[   13.113601][    T1] Run /sbin/init as init process
[   13.239761][ T5213] modprobe (5213) used greatest stack depth: 22264 bytes left
[   13.245601][    T1] systemd[1]: systemd 247.3-7+deb11u5 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[   13.247664][    T1] systemd[1]: Detected virtualization kvm.
[   13.248705][    T1] systemd[1]: Detected architecture x86-64.

Welcome to Debian GNU/Linux 11 (bullseye)!

[   13.253322][    T1] systemd[1]: Set hostname to <syzkaller>.
[   13.529278][ T5220] systemd-fstab-g (5220) used greatest stack depth: 20104 bytes left
[   13.752059][    T1] systemd[1]: Queued start job for default target Graphical Interface.
[   13.758741][    T1] systemd[1]: Created slice system-getty.slice.
[  OK  ] Created slice system-getty.slice.
[   13.761997][    T1] systemd[1]: Created slice system-modprobe.slice.
[  OK  ] Created slice system-modprobe.slice.
[   13.765021][    T1] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[   13.766623][    T1] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[   13.769869][    T1] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[   13.772512][    T1] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[  OK  ] Set up automount Arbitrary…s File System Automount Point.
[   13.773886][    T1] systemd[1]: Reached target Local Encrypted Volumes.
[  OK  ] Reached target Local Encrypted Volumes.
[   13.774943][    T1] systemd[1]: Reached target Paths.
[  OK  ] Reached target Paths.
[   13.775794][    T1] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[   13.776743][    T1] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[   13.777725][    T1] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[   13.779318][    T1] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[   13.781061][    T1] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[   13.783650][    T1] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[   13.785315][    T1] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[   13.787120][    T1] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[   13.789433][    T1] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[   13.791278][    T1] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[   13.792290][    T1] systemd[1]: Reached target Sockets.
[  OK  ] Reached target Sockets.
[   13.799513][    T1] systemd[1]: Mounting Huge Pages File System...
         Mounting Huge Pages File System...
[   13.806967][    T1] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[   13.814484][    T1] systemd[1]: Mounting /proc/sys/fs/binfmt_misc...
         Mounting /proc/sys/fs/binfmt_misc...
[   13.821441][    T1] systemd[1]: Mounting /sys/kernel/config...
         Mounting /sys/kernel/config...
[   13.848069][    T1] systemd[1]: Mounting /sys/kernel/debug...
         Mounting /sys/kernel/debug...
[   13.857148][    T1] systemd[1]: Mounting Kernel Trace File System...
         Mounting Kernel Trace File System...
[   13.861826][    T1] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped.
[   13.880313][    T1] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[   13.896540][    T1] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[   13.906983][    T1] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[   13.914550][    T1] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[   13.921808][    T1] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[   13.949954][    T1] systemd[1]: Mounted Huge Pages File System.
[  OK  ] Mounted Huge Pages File System.
[   13.951696][    T1] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[   13.958713][    T1] systemd[1]: Mounted /proc/sys/fs/binfmt_misc.
[  OK  ] Mounted /proc/sys/fs/binfmt_misc.
[   13.960324][    T1] systemd[1]: Mounted /sys/kernel/config.
[  OK  ] Mounted /sys/kernel/config.
[   13.961878][    T1] systemd[1]: Mounted /sys/kernel/debug.
[  OK  ] Mounted /sys/kernel/debug.
[   13.963419][    T1] systemd[1]: Mounted Kernel Trace File System.
[  OK  ] Mounted Kernel Trace File System.
[   13.966461][    T1] systemd[1]: modprobe@fuse.service: Succeeded.
[   13.988065][    T1] systemd[1]: Finished Load Kernel Module fuse.
[  OK  ] Finished Load Kernel Module fuse.
[   14.018770][    T1] systemd[1]: Mounting FUSE Control File System...
         Mounting FUSE Control File System...
[   14.021188][    T1] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[   14.040807][    T1] systemd[1]: Finished Load Kernel Modules.
[  OK  ] Finished Load Kernel Modules.
[   14.065435][    T1] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
[   14.088540][ T5241] EXT4-fs (sda): re-mounted 06d0679e-cae9-4a12-8b2f-e888be35acf1 r/w.
[   14.128070][    T1] systemd[1]: Finished Remount Root and Kernel File Systems.
[  OK  ] Finished Remount Root and Kernel File Systems.
[   14.130164][    T1] systemd[1]: Mounted FUSE Control File System.
[  OK  ] Mounted FUSE Control File System.
[   14.132839][    T1] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
[   14.133536][    T1] systemd[1]: Condition check resulted in Platform Persistent Storage Archival being skipped.
[   14.149849][    T1] systemd[1]: Starting Load/Save Random Seed...
         Starting Load/Save Random Seed...
[   14.179602][    T1] systemd[1]: Starting Create System Users...
         Starting Create System Users...
[   14.197934][    T1] systemd[1]: Finished Apply Kernel Variables.
[  OK  ] Finished Apply Kernel Variables.
[   14.356152][    T1] systemd[1]: Finished Load/Save Random Seed.
[  OK  ] Finished Load/Save Random Seed.
[   14.370194][    T1] systemd[1]: Condition check resulted in First Boot Complete being skipped.
[   14.416670][    T1] systemd[1]: Finished Create System Users.
[  OK  ] Finished Create System Users.
[   14.438468][    T1] systemd[1]: Starting Create Static Device Nodes in /dev...
         Starting Create Static Device Nodes in /dev...
[   14.574824][    T1] systemd[1]: Finished Create Static Device Nodes in /dev.
[  OK  ] Finished Create Static Device Nodes in /dev.
[   14.576828][    T1] systemd[1]: Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems (Pre).
[   14.578029][    T1] systemd[1]: Reached target Local File Systems.
[  OK  ] Reached target Local File Systems.
[   14.598626][    T1] systemd[1]: Starting Mark the need to relabel after reboot...
         Starting Mark the need to relabel after reboot...
[   14.600537][    T1] systemd[1]: Condition check resulted in Store a System Token in an EFI Variable being skipped.
[   14.601595][    T1] systemd[1]: Condition check resulted in Commit a transient machine-id on disk being skipped.
[   14.628368][    T1] systemd[1]: Starting Rule-based Manager for Device Events and Files...
         Starting Rule-based Manage…for Device Events and Files...
[   14.647993][    T1] systemd[1]: Finished Mark the need to relabel after reboot.
[  OK  ] Finished Mark the need to relabel after reboot.
[   14.833003][    T1] systemd[1]: Started Rule-based Manager for Device Events and Files.
[  OK  ] Started Rule-based Manager for Device Events and Files.
[   14.903407][    T1] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[   14.972138][ T5236] systemd-journald[5236]: Received client request to flush runtime journal.
[  OK  ] Finished Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Finished Update UTMP about System Boot/Shutdown.
[*     ] (1 of 2) A start job is running for…g All udev Devices (3s / no limit)
[   17.897970][   T24] cfg80211: failed to load regulatory.db
M
[**    ] (1 of 2) A start job is running for…g All udev Devices (4s / no limit)
M
[  OK  ] Reached target Hardware activated USB gadget.
[  OK  ] Reached target Sound Card.
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
[  OK  ] Started Periodic ext4 Onli…ata Check for All Filesystems.
[  OK  ] Started Discard unused blocks once a week.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Basic System.
[  OK  ] Reached target Timers.
[  OK  ] Started Regular background program processing daemon.
         Starting Remove Stale Onli…t4 Metadata Check Snapshots...
         Starting getty on tty2-tty…nd logind are not available...
         Starting Helper to synchronize boot up for ifupdown...
         Starting System Logging Service...
[  OK  ] Finished getty on tty2-tty… and logind are not available.
[  OK  ] Started System Logging Service.
[  OK  ] Found device /dev/ttyS0.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
         Starting Load/Save RF Kill Switch Status...
[***   ] (1 of 3) A start job is running for…ot up for ifupdown (10s / 3min 5s)
M
[ ***  ] (2 of 3) A start job is running for…e RF Kill Switch Status (2s / 30s)
M
[  OK  ] Started Load/Save RF Kill Switch Status.
[  OK  ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots.
[  OK  ] Finished Helper to synchronize boot up for ifupdown.
         Starting Raise network interfaces...
[   25.855920][ T9686] 8021q: adding VLAN 0 to HW filter on device eth0
[   25.873924][   T24] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[  OK  ] Finished Raise network interfaces.
[  OK  ] Reached target Network.
         Starting OpenBSD Secure Shell server...
         Starting Permit User Sessions...
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Getty on tty2.
[  OK  ] Started Getty on tty3.
[  OK  ] Started Getty on tty4.
[  OK  ] Started Getty on tty5.
[  OK  ] Started Getty on tty6.
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started OpenBSD Secure Shell server.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.


Debian GNU/Linux 11 syzkaller ttyS0

syzkaller login: [   81.338752][ T9807] cgroup: Unknown subsys name 'net'
[   81.420246][ T9807] cgroup: Unknown subsys name 'cpuset'
[   81.428003][ T9807] cgroup: Unknown subsys name 'rlimit'
[   81.837608][ T9807] Adding 124996k swap on ./swap-file.  Priority:0 extents:1 across:124996k 
[   83.191637][ T8961] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   83.192031][ T8961] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   83.300802][T10120] Bluetooth: hci0: unexpected cc 0x0c03 length: 249 > 1
[   83.301512][T10120] Bluetooth: hci0: unexpected cc 0x1003 length: 249 > 9
[   83.302101][T10120] Bluetooth: hci0: unexpected cc 0x1001 length: 249 > 9
[   83.302949][T10120] Bluetooth: hci0: unexpected cc 0x0c23 length: 249 > 4
[   83.303592][T10120] Bluetooth: hci0: unexpected cc 0x0c38 length: 249 > 2
[   83.417719][ T9835] chnl_net:caif_netlink_parms(): no params data found
[   83.465738][ T5654] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   83.466109][ T5654] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   83.750866][ T9835] bridge0: port 1(bridge_slave_0) entered blocking state
[   83.751653][ T9835] bridge0: port 1(bridge_slave_0) entered disabled state
[   83.752020][ T9835] bridge_slave_0: entered allmulticast mode
[   83.752658][ T9835] bridge_slave_0: entered promiscuous mode
[   83.753954][ T9835] bridge0: port 2(bridge_slave_1) entered blocking state
[   83.754292][ T9835] bridge0: port 2(bridge_slave_1) entered disabled state
[   83.754647][ T9835] bridge_slave_1: entered allmulticast mode
[   83.755235][ T9835] bridge_slave_1: entered promiscuous mode
[   83.792494][ T9835] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   83.808487][ T9835] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   83.862155][ T9835] team0: Port device team_slave_0 added
[   83.863060][ T9835] team0: Port device team_slave_1 added
[   83.888811][ T9835] batman_adv: batadv0: Adding interface: batadv_slave_0
[   83.889153][ T9835] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   83.890226][ T9835] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   83.897305][ T9835] batman_adv: batadv0: Adding interface: batadv_slave_1
[   83.897637][ T9835] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   83.899100][ T9835] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   83.975577][ T9835] hsr_slave_0: entered promiscuous mode
[   83.976137][ T9835] hsr_slave_1: entered promiscuous mode
[   84.051108][ T9835] netdevsim netdevsim4 netdevsim0: renamed from eth0
[   84.053561][ T9835] netdevsim netdevsim4 netdevsim1: renamed from eth1
[   84.054822][ T9835] netdevsim netdevsim4 netdevsim2: renamed from eth2
[   84.056524][ T9835] netdevsim netdevsim4 netdevsim3: renamed from eth3
[   84.068968][ T9835] bridge0: port 2(bridge_slave_1) entered blocking state
[   84.069386][ T9835] bridge0: port 2(bridge_slave_1) entered forwarding state
[   84.069986][ T9835] bridge0: port 1(bridge_slave_0) entered blocking state
[   84.070306][ T9835] bridge0: port 1(bridge_slave_0) entered forwarding state
[   84.085737][ T9835] 8021q: adding VLAN 0 to HW filter on device bond0
[   84.091592][ T4981] bridge0: port 1(bridge_slave_0) entered disabled state
[   84.092448][ T4981] bridge0: port 2(bridge_slave_1) entered disabled state
[   84.095155][ T9835] 8021q: adding VLAN 0 to HW filter on device team0
[   84.097267][ T4981] bridge0: port 1(bridge_slave_0) entered blocking state
[   84.097633][ T4981] bridge0: port 1(bridge_slave_0) entered forwarding state
[   84.100570][ T4981] bridge0: port 2(bridge_slave_1) entered blocking state
[   84.100924][ T4981] bridge0: port 2(bridge_slave_1) entered forwarding state
[   84.145925][ T9835] 8021q: adding VLAN 0 to HW filter on device batadv0
[   84.197419][ T9835] veth0_vlan: entered promiscuous mode
[   84.200976][ T9835] veth1_vlan: entered promiscuous mode
[   84.208400][ T9835] veth0_macvtap: entered promiscuous mode
[   84.211225][ T9835] veth1_macvtap: entered promiscuous mode
[   84.214846][ T9835] batman_adv: batadv0: Interface activated: batadv_slave_0
[   84.217128][ T9835] batman_adv: batadv0: Interface activated: batadv_slave_1
[   84.221638][T10075] netdevsim netdevsim4 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0
[   84.223647][T10075] netdevsim netdevsim4 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0
[   84.226899][   T13] netdevsim netdevsim4 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0
[   84.227657][   T13] netdevsim netdevsim4 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0
[   84.342071][T10120] Bluetooth: hci1: unexpected cc 0x0c03 length: 249 > 1
[   84.342833][T10120] Bluetooth: hci1: unexpected cc 0x1003 length: 249 > 9
[   84.343375][T10120] Bluetooth: hci1: unexpected cc 0x1001 length: 249 > 9
[   84.343918][T10120] Bluetooth: hci1: unexpected cc 0x0c23 length: 249 > 4
[   84.344400][T10120] Bluetooth: hci1: unexpected cc 0x0c38 length: 249 > 2
[   84.381932][   T56] Bluetooth: hci2: unexpected cc 0x0c03 length: 249 > 1
[   84.382730][   T56] Bluetooth: hci2: unexpected cc 0x1003 length: 249 > 9
[   84.383179][   T56] Bluetooth: hci2: unexpected cc 0x1001 length: 249 > 9
[   84.383712][   T56] Bluetooth: hci2: unexpected cc 0x0c23 length: 249 > 4
[   84.384202][   T56] Bluetooth: hci2: unexpected cc 0x0c38 length: 249 > 2
[   84.411078][T10120] Bluetooth: hci3: unexpected cc 0x0c03 length: 249 > 1
[   84.413990][T10120] Bluetooth: hci3: unexpected cc 0x1003 length: 249 > 9
[   84.414674][T10120] Bluetooth: hci3: unexpected cc 0x1001 length: 249 > 9
[   84.423244][T10120] Bluetooth: hci3: unexpected cc 0x0c23 length: 249 > 4
[   84.443942][ T5199] Bluetooth: hci3: unexpected cc 0x0c38 length: 249 > 2
[   84.445740][ T5199] Bluetooth: hci4: unexpected cc 0x0c03 length: 249 > 1
[   84.446508][ T5199] Bluetooth: hci4: unexpected cc 0x1003 length: 249 > 9
[   84.447131][ T5199] Bluetooth: hci4: unexpected cc 0x1001 length: 249 > 9
[   84.450214][ T5199] Bluetooth: hci4: unexpected cc 0x0c23 length: 249 > 4
[   84.452571][ T5199] Bluetooth: hci4: unexpected cc 0x0c38 length: 249 > 2
[   84.496075][T10120] Bluetooth: hci5: unexpected cc 0x0c03 length: 249 > 1
[   84.497065][T10120] Bluetooth: hci5: unexpected cc 0x1003 length: 249 > 9
[   84.497548][T10120] Bluetooth: hci5: unexpected cc 0x1001 length: 249 > 9
[   84.498262][T10120] Bluetooth: hci5: unexpected cc 0x0c23 length: 249 > 4
[   84.498922][T10120] Bluetooth: hci5: unexpected cc 0x0c38 length: 249 > 2
[   84.502366][T10120] Bluetooth: hci6: unexpected cc 0x0c03 length: 249 > 1
[   84.503257][T10120] Bluetooth: hci6: unexpected cc 0x1003 length: 249 > 9
[   84.503704][T10120] Bluetooth: hci6: unexpected cc 0x1001 length: 249 > 9
[   84.506418][T10120] Bluetooth: hci6: unexpected cc 0x0c23 length: 249 > 4
[   84.506884][T10120] Bluetooth: hci6: unexpected cc 0x0c38 length: 249 > 2
[   84.520931][T10577] Bluetooth: hci7: unexpected cc 0x0c03 length: 249 > 1
[   84.521626][T10577] Bluetooth: hci7: unexpected cc 0x1003 length: 249 > 9
[   84.522143][T10577] Bluetooth: hci7: unexpected cc 0x1001 length: 249 > 9
[   84.523647][T10577] Bluetooth: hci7: unexpected cc 0x0c23 length: 249 > 4
[   84.524821][T10577] Bluetooth: hci7: unexpected cc 0x0c38 length: 249 > 2
[   84.533689][T10120] Bluetooth: hci8: unexpected cc 0x0c03 length: 249 > 1
[   84.534340][T10120] Bluetooth: hci8: unexpected cc 0x1003 length: 249 > 9
[   84.534861][T10120] Bluetooth: hci8: unexpected cc 0x1001 length: 249 > 9
[   84.535526][T10120] Bluetooth: hci8: unexpected cc 0x0c23 length: 249 > 4
[   84.549060][T10120] Bluetooth: hci8: unexpected cc 0x0c38 length: 249 > 2
[   84.741495][   T13] netdevsim netdevsim4 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
[   84.801391][   T13] netdevsim netdevsim4 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
[   84.852180][   T13] netdevsim netdevsim4 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
[   84.912992][   T13] netdevsim netdevsim4 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
[   84.915662][T10551] chnl_net:caif_netlink_parms(): no params data found
[   84.994663][T10542] chnl_net:caif_netlink_parms(): no params data found
[   85.012873][T10593] chnl_net:caif_netlink_parms(): no params data found
[   85.017577][T10554] chnl_net:caif_netlink_parms(): no params data found
[   85.098698][T10599] chnl_net:caif_netlink_parms(): no params data found
[   85.164933][T10557] chnl_net:caif_netlink_parms(): no params data found
[   85.173091][T10580] chnl_net:caif_netlink_parms(): no params data found
[   85.183458][T10551] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.183884][T10551] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.184264][T10551] bridge_slave_0: entered allmulticast mode
[   85.184919][T10551] bridge_slave_0: entered promiscuous mode
[   85.214912][T10551] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.215294][T10551] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.215716][T10551] bridge_slave_1: entered allmulticast mode
[   85.216394][T10551] bridge_slave_1: entered promiscuous mode
[   85.217074][T10583] chnl_net:caif_netlink_parms(): no params data found
[   85.281828][T10542] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.282377][T10542] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.282985][T10542] bridge_slave_0: entered allmulticast mode
[   85.283780][T10542] bridge_slave_0: entered promiscuous mode
[   85.318511][T10551] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.319223][T10593] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.319675][T10593] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.320148][T10593] bridge_slave_0: entered allmulticast mode
[   85.320935][T10593] bridge_slave_0: entered promiscuous mode
[   85.322411][T10551] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.328589][T10542] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.329008][T10542] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.329396][T10542] bridge_slave_1: entered allmulticast mode
[   85.330089][T10542] bridge_slave_1: entered promiscuous mode
[   85.359692][T10593] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.360074][T10593] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.360446][T10593] bridge_slave_1: entered allmulticast mode
[   85.361191][T10593] bridge_slave_1: entered promiscuous mode
[   85.382998][T10554] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.383499][T10554] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.383893][T10554] bridge_slave_0: entered allmulticast mode
[   85.384613][T10554] bridge_slave_0: entered promiscuous mode
[   85.385386][T10599] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.385754][T10599] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.386114][T10599] bridge_slave_0: entered allmulticast mode
[   85.387074][T10599] bridge_slave_0: entered promiscuous mode
[   85.406195][T10551] team0: Port device team_slave_0 added
[   85.408663][T10593] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.414625][T10542] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.418745][T10554] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.419167][T10554] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.419572][T10554] bridge_slave_1: entered allmulticast mode
[   85.420261][T10554] bridge_slave_1: entered promiscuous mode
[   85.426054][T10599] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.426451][T10599] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.426813][T10599] bridge_slave_1: entered allmulticast mode
[   85.427575][T10599] bridge_slave_1: entered promiscuous mode
[   85.436978][T10551] team0: Port device team_slave_1 added
[   85.439562][T10593] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.441048][T10542] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.480277][T10554] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.485085][T10583] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.485824][T10583] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.486218][T10583] bridge_slave_0: entered allmulticast mode
[   85.486888][T10583] bridge_slave_0: entered promiscuous mode
[   85.487599][T10557] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.488304][T10557] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.488707][T10557] bridge_slave_0: entered allmulticast mode
[   85.489680][T10557] bridge_slave_0: entered promiscuous mode
[   85.504935][T10580] bridge0: port 1(bridge_slave_0) entered blocking state
[   85.505326][T10580] bridge0: port 1(bridge_slave_0) entered disabled state
[   85.505735][T10580] bridge_slave_0: entered allmulticast mode
[   85.506417][T10580] bridge_slave_0: entered promiscuous mode
[   85.508798][T10554] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.510385][T10599] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.510887][T10583] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.511264][T10583] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.511655][T10583] bridge_slave_1: entered allmulticast mode
[   85.512299][T10583] bridge_slave_1: entered promiscuous mode
[   85.513125][T10557] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.513484][T10557] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.513856][T10557] bridge_slave_1: entered allmulticast mode
[   85.514517][T10557] bridge_slave_1: entered promiscuous mode
[   85.515279][T10551] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.515632][T10551] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.516797][T10551] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.522827][T10593] team0: Port device team_slave_0 added
[   85.528360][T10542] team0: Port device team_slave_0 added
[   85.528721][T10580] bridge0: port 2(bridge_slave_1) entered blocking state
[   85.529075][T10580] bridge0: port 2(bridge_slave_1) entered disabled state
[   85.529437][T10580] bridge_slave_1: entered allmulticast mode
[   85.530720][T10580] bridge_slave_1: entered promiscuous mode
[   85.536368][T10599] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.543243][T10593] team0: Port device team_slave_1 added
[   85.543753][T10551] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.544080][T10551] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.545260][T10551] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.546505][T10542] team0: Port device team_slave_1 added
[   85.548423][T10557] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.576431][T10557] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.582017][T10554] team0: Port device team_slave_0 added
[   85.589167][T10583] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.594876][T10593] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.595248][T10593] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.596637][T10593] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.610204][T10580] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link
[   85.611484][T10554] team0: Port device team_slave_1 added
[   85.612299][T10599] team0: Port device team_slave_0 added
[   85.613387][T10583] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.619899][T10593] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.620248][T10593] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.621367][T10593] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.622162][T10542] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.622506][T10542] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.623627][T10542] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.630721][T10557] team0: Port device team_slave_0 added
[   85.632738][T10580] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link
[   85.638449][T10599] team0: Port device team_slave_1 added
[   85.651490][T10542] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.651837][T10542] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.652969][T10542] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.670442][T10557] team0: Port device team_slave_1 added
[   85.672242][T10551] hsr_slave_0: entered promiscuous mode
[   85.672757][T10551] hsr_slave_1: entered promiscuous mode
[   85.673821][T10551] debugfs: 'hsr0' already exists in 'hsr'
[   85.674117][T10551] Cannot create hsr debugfs directory
[   85.693688][T10583] team0: Port device team_slave_0 added
[   85.694716][T10583] team0: Port device team_slave_1 added
[   85.721168][T10554] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.721532][T10554] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.722651][T10554] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.748677][T10580] team0: Port device team_slave_0 added
[   85.749137][T10554] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.749463][T10554] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.750605][T10554] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.751707][T10580] team0: Port device team_slave_1 added
[   85.756141][T10599] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.756509][T10599] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.757660][T10599] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.759184][T10583] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.759529][T10583] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.760647][T10583] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.761911][T10599] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.762240][T10599] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.763470][T10599] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.770691][T10593] hsr_slave_0: entered promiscuous mode
[   85.771310][T10593] hsr_slave_1: entered promiscuous mode
[   85.771774][T10593] debugfs: 'hsr0' already exists in 'hsr'
[   85.772028][T10593] Cannot create hsr debugfs directory
[   85.772519][T10557] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.772869][T10557] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.773987][T10557] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.789717][T10583] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.790107][T10583] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.791257][T10583] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.792689][T10557] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.793014][T10557] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.794101][T10557] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.810249][T10542] hsr_slave_0: entered promiscuous mode
[   85.810813][T10542] hsr_slave_1: entered promiscuous mode
[   85.811265][T10542] debugfs: 'hsr0' already exists in 'hsr'
[   85.811542][T10542] Cannot create hsr debugfs directory
[   85.845516][T10599] hsr_slave_0: entered promiscuous mode
[   85.846016][T10599] hsr_slave_1: entered promiscuous mode
[   85.846430][T10599] debugfs: 'hsr0' already exists in 'hsr'
[   85.846690][T10599] Cannot create hsr debugfs directory
[   85.859564][T10580] batman_adv: batadv0: Adding interface: batadv_slave_0
[   85.860011][T10580] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.861232][T10580] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active
[   85.894860][T10580] batman_adv: batadv0: Adding interface: batadv_slave_1
[   85.895190][T10580] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1532 would solve the problem.
[   85.896260][T10580] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active
[   85.941817][T10554] hsr_slave_0: entered promiscuous mode
[   85.942383][T10554] hsr_slave_1: entered promiscuous mode
[   85.942804][T10554] debugfs: 'hsr0' already exists in 'hsr'
[   85.943047][T10554] Cannot create hsr debugfs directory
[   85.970048][T10557] hsr_slave_0: entered promiscuous mode
[   85.970645][T10557] hsr_slave_1: entered promiscuous mode
[   85.971161][T10557] debugfs: 'hsr0' already exists in 'hsr'
[   85.971476][T10557] Cannot create hsr debugfs directory
[   85.981542][T10583] hsr_slave_0: entered promiscuous mode
[   85.989640][T10583] hsr_slave_1: entered promiscuous mode
[   85.990166][T10583] debugfs: 'hsr0' already exists in 'hsr'
[   85.990449][T10583] Cannot create hsr debugfs directory
[   86.091384][T10580] hsr_slave_0: entered promiscuous mode
[   86.091945][T10580] hsr_slave_1: entered promiscuous mode
[   86.092366][T10580] debugfs: 'hsr0' already exists in 'hsr'
[   86.092622][T10580] Cannot create hsr debugfs directory
[   86.276808][   T13] bridge_slave_1: left allmulticast mode
[   86.277145][   T13] bridge_slave_1: left promiscuous mode
[   86.277814][   T13] bridge0: port 2(bridge_slave_1) entered disabled state
[   86.280498][   T13] bridge_slave_0: left allmulticast mode
[   86.280787][   T13] bridge_slave_0: left promiscuous mode
[   86.281116][   T13] bridge0: port 1(bridge_slave_0) entered disabled state
[   86.349350][T10577] Bluetooth: hci1: command tx timeout
[   86.428009][T10577] Bluetooth: hci2: command tx timeout
[   86.434414][   T13] bond0 (unregistering): (slave bond_slave_0): Releasing backup interface
[   86.436264][   T13] bond0 (unregistering): (slave bond_slave_1): Releasing backup interface
[   86.437196][   T13] bond0 (unregistering): Released all slaves
[   86.519103][T10577] Bluetooth: hci4: command tx timeout
[   86.519623][T10120] Bluetooth: hci3: command tx timeout
[   86.579465][T10551] netdevsim netdevsim2 netdevsim0: renamed from eth0
[   86.598731][T10120] Bluetooth: hci8: command tx timeout
[   86.598756][T10577] Bluetooth: hci7: command tx timeout
[   86.599209][   T56] Bluetooth: hci6: command tx timeout
[   86.599684][ T5199] Bluetooth: hci5: command tx timeout
[   86.607820][T10551] netdevsim netdevsim2 netdevsim1: renamed from eth1
[   86.619568][T10551] netdevsim netdevsim2 netdevsim2: renamed from eth2
[   86.634335][T10551] netdevsim netdevsim2 netdevsim3: renamed from eth3
[   86.678262][   T13] hsr_slave_0: left promiscuous mode
[   86.678836][   T13] hsr_slave_1: left promiscuous mode
[   86.679240][   T13] batman_adv: batadv0: Interface deactivated: batadv_slave_0
[   86.679585][   T13] batman_adv: batadv0: Removing interface: batadv_slave_0
[   86.680643][   T13] batman_adv: batadv0: Interface deactivated: batadv_slave_1
[   86.681018][   T13] batman_adv: batadv0: Removing interface: batadv_slave_1
[   86.684753][   T13] veth1_macvtap: left promiscuous mode
[   86.685328][   T13] veth0_macvtap: left promiscuous mode
[   86.685622][   T13] veth1_vlan: left promiscuous mode
[   86.685898][   T13] veth0_vlan: left promiscuous mode
[   86.815661][   T13] team0 (unregistering): Port device team_slave_1 removed
[   86.826723][   T13] team0 (unregistering): Port device team_slave_0 removed
[   87.051421][T10551] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.069961][T10551] 8021q: adding VLAN 0 to HW filter on device team0
[   87.072802][ T5455] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.073160][ T5455] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.075490][ T8532] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.075887][ T8532] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.133634][T10593] netdevsim netdevsim4 netdevsim0: renamed from eth0
[   87.136597][T10593] netdevsim netdevsim4 netdevsim1: renamed from eth1
[   87.138765][T10593] netdevsim netdevsim4 netdevsim2: renamed from eth2
[   87.140613][T10593] netdevsim netdevsim4 netdevsim3: renamed from eth3
[   87.179071][T10599] netdevsim netdevsim7 netdevsim0: renamed from eth0
[   87.186747][T10599] netdevsim netdevsim7 netdevsim1: renamed from eth1
[   87.196006][T10599] netdevsim netdevsim7 netdevsim2: renamed from eth2
[   87.204072][T10599] netdevsim netdevsim7 netdevsim3: renamed from eth3
[   87.226709][T10551] 8021q: adding VLAN 0 to HW filter on device batadv0
[   87.228935][T10554] netdevsim netdevsim1 netdevsim0: renamed from eth0
[   87.230804][T10554] netdevsim netdevsim1 netdevsim1: renamed from eth1
[   87.236409][T10554] netdevsim netdevsim1 netdevsim2: renamed from eth2
[   87.238389][T10554] netdevsim netdevsim1 netdevsim3: renamed from eth3
[   87.257611][T10593] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.274667][T10593] 8021q: adding VLAN 0 to HW filter on device team0
[   87.278910][T10542] netdevsim netdevsim0 netdevsim0: renamed from eth0
[   87.281823][T10542] netdevsim netdevsim0 netdevsim1: renamed from eth1
[   87.293746][T10542] netdevsim netdevsim0 netdevsim2: renamed from eth2
[   87.295916][   T27] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.296260][   T27] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.305760][T10542] netdevsim netdevsim0 netdevsim3: renamed from eth3
[   87.316387][ T5455] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.316851][ T5455] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.328958][T10551] veth0_vlan: entered promiscuous mode
[   87.341568][T10557] netdevsim netdevsim3 netdevsim0: renamed from eth0
[   87.343575][T10557] netdevsim netdevsim3 netdevsim1: renamed from eth1
[   87.353241][T10557] netdevsim netdevsim3 netdevsim2: renamed from eth2
[   87.355207][T10557] netdevsim netdevsim3 netdevsim3: renamed from eth3
[   87.367468][T10551] veth1_vlan: entered promiscuous mode
[   87.399702][T10583] netdevsim netdevsim6 netdevsim0: renamed from eth0
[   87.404567][T10583] netdevsim netdevsim6 netdevsim1: renamed from eth1
[   87.407321][T10599] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.412884][T10583] netdevsim netdevsim6 netdevsim2: renamed from eth2
[   87.423083][T10583] netdevsim netdevsim6 netdevsim3: renamed from eth3
[   87.431026][T10554] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.447216][T10599] 8021q: adding VLAN 0 to HW filter on device team0
[   87.476795][ T6988] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.477299][ T6988] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.480971][T10551] veth0_macvtap: entered promiscuous mode
[   87.489605][ T6988] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.489966][ T6988] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.491116][T10580] netdevsim netdevsim5 netdevsim0: renamed from eth0
[   87.493655][T10554] 8021q: adding VLAN 0 to HW filter on device team0
[   87.494229][T10551] veth1_macvtap: entered promiscuous mode
[   87.497187][T10580] netdevsim netdevsim5 netdevsim1: renamed from eth1
[   87.502013][T10580] netdevsim netdevsim5 netdevsim2: renamed from eth2
[   87.504497][T10580] netdevsim netdevsim5 netdevsim3: renamed from eth3
[   87.510563][T10593] 8021q: adding VLAN 0 to HW filter on device batadv0
[   87.530650][ T6988] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.531018][ T6988] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.544774][T10542] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.547365][T10542] 8021q: adding VLAN 0 to HW filter on device team0
[   87.550125][ T5455] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.550498][ T5455] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.571321][T10551] batman_adv: batadv0: Interface activated: batadv_slave_0
[   87.586772][T10551] batman_adv: batadv0: Interface activated: batadv_slave_1
[   87.596162][ T6988] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.596618][ T6988] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.606720][T11630] netdevsim netdevsim2 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0
[   87.608898][T11630] netdevsim netdevsim2 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0
[   87.615104][T11630] netdevsim netdevsim2 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0
[   87.620638][ T6988] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.621028][ T6988] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.622632][T11630] netdevsim netdevsim2 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0
[   87.643170][T10557] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.694644][T10557] 8021q: adding VLAN 0 to HW filter on device team0
[   87.732546][ T8532] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.733003][ T8532] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.734295][ T8532] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.734780][ T8532] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.750907][T10583] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.787549][T10593] veth0_vlan: entered promiscuous mode
[   87.788863][   T27] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   87.789220][   T27] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   87.795978][T10583] 8021q: adding VLAN 0 to HW filter on device team0
[   87.797115][T10580] 8021q: adding VLAN 0 to HW filter on device bond0
[   87.816104][T10593] veth1_vlan: entered promiscuous mode
[   87.823686][ T8532] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.824067][ T8532] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.824137][   T27] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   87.825033][   T27] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   87.835972][T10580] 8021q: adding VLAN 0 to HW filter on device team0
[   87.840262][T10599] 8021q: adding VLAN 0 to HW filter on device batadv0
[   87.843444][   T27] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.843803][   T27] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.845461][   T27] bridge0: port 1(bridge_slave_0) entered blocking state
[   87.845796][   T27] bridge0: port 1(bridge_slave_0) entered forwarding state
[   87.846824][   T27] bridge0: port 2(bridge_slave_1) entered blocking state
[   87.847159][   T27] bridge0: port 2(bridge_slave_1) entered forwarding state
[   87.889844][T10583] hsr0: Slave A (hsr_slave_0) is not up; please bring it up to get a fully working HSR network
[   87.890334][T10583] hsr0: Slave B (hsr_slave_1) is not up; please bring it up to get a fully working HSR network
[   87.930477][T10554] 8021q: adding VLAN 0 to HW filter on device batadv0
[   87.965785][T10593] veth0_macvtap: entered promiscuous mode
[   87.967478][T10542] 8021q: adding VLAN 0 to HW filter on device batadv0
[   87.971713][T10599] veth0_vlan: entered promiscuous mode
[   87.973399][T10599] veth1_vlan: entered promiscuous mode
[   87.998885][T10593] veth1_macvtap: entered promiscuous mode
[   88.005811][T10599] veth0_macvtap: entered promiscuous mode
[   88.012931][T10599] veth1_macvtap: entered promiscuous mode
[   88.035614][T10554] veth0_vlan: entered promiscuous mode
[   88.041548][T10599] batman_adv: batadv0: Interface activated: batadv_slave_0
[   88.042794][T10599] batman_adv: batadv0: Interface activated: batadv_slave_1
[   88.059649][T10593] batman_adv: batadv0: Interface activated: batadv_slave_0
[   88.060022][ T9662] netdevsim netdevsim7 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0
[   88.060420][ T9662] netdevsim netdevsim7 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0
[   88.063928][T12843] loop2: detected capacity change from 0 to 32768
[   88.072625][ T9662] netdevsim netdevsim7 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0
[   88.073157][ T9662] netdevsim netdevsim7 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0
[   88.080850][T10593] batman_adv: batadv0: Interface activated: batadv_slave_1
[   88.081365][T10554] veth1_vlan: entered promiscuous mode
[   88.095711][T10542] veth0_vlan: entered promiscuous mode
[   88.106511][T12843] XFS (loop2): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
[   88.115211][T10583] 8021q: adding VLAN 0 to HW filter on device batadv0
[   88.115720][ T9662] netdevsim netdevsim4 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0
[   88.116389][ T9662] netdevsim netdevsim4 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0
[   88.124895][T10557] 8021q: adding VLAN 0 to HW filter on device batadv0
[   88.135370][ T9662] netdevsim netdevsim4 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0
[   88.143108][T12843] XFS (loop2): Ending clean mount
[   88.153267][T12843] XFS (loop2): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line 309, on filesystem "loop2"
[   88.154049][T10580] 8021q: adding VLAN 0 to HW filter on device batadv0
[   88.154875][ T9662] netdevsim netdevsim4 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0
[   88.155831][T10554] veth0_macvtap: entered promiscuous mode
[   88.157117][T10542] veth1_vlan: entered promiscuous mode
[   88.172757][T10554] veth1_macvtap: entered promiscuous mode
[   88.184559][ T6988] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   88.185177][ T6988] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   88.211772][T10554] batman_adv: batadv0: Interface activated: batadv_slave_0
[   88.228218][T10551] XFS (loop2): Unmounting Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
[   88.229804][T10551] XFS (loop2): Uncorrected metadata errors detected; please run xfs_repair.
[   88.261687][T10554] batman_adv: batadv0: Interface activated: batadv_slave_1
[   88.294843][ T4888] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   88.295249][ T4888] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   88.297493][T10542] veth0_macvtap: entered promiscuous mode
[   88.301753][T10542] veth1_macvtap: entered promiscuous mode
[   88.335572][T10557] veth0_vlan: entered promiscuous mode
[   88.336022][ T9662] netdevsim netdevsim1 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0
[   88.336457][ T9662] netdevsim netdevsim1 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0
[   88.336872][ T9662] netdevsim netdevsim1 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0
[   88.337279][ T9662] netdevsim netdevsim1 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0
[   88.342226][T10542] batman_adv: batadv0: Interface activated: batadv_slave_0
[   88.356600][T10542] batman_adv: batadv0: Interface activated: batadv_slave_1
[   88.379581][T10580] veth0_vlan: entered promiscuous mode
[   88.402165][ T9662] netdevsim netdevsim0 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0
[   88.402772][ T9662] netdevsim netdevsim0 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0
[   88.403322][ T9662] netdevsim netdevsim0 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0
[   88.403769][ T9662] netdevsim netdevsim0 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0
[   88.404190][ T7810] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   88.404578][ T7810] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   88.411649][T10557] veth1_vlan: entered promiscuous mode
[   88.439757][ T7810] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50
[   88.440133][ T7810] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50
[   88.445747][T10577] Bluetooth: hci1: command tx timeout
[   88.464253][T10580] veth1_vlan: entered promiscuous mode
[   88.484164][T12918] loop2: detected capacity change from 0 to 32768
[   88.497523][T12918] XFS (loop2): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
[   88.507683][T12918] XFS (loop2): Ending clean mount
[   88.508532][T10577] Bluetooth: hci2: command tx timeout
[   88.513190][T12918] XFS (loop2): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line 309, on filesystem "loop2"
[   88.513763][T12918] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
[   88.514313][T12918] KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
[   88.514698][T12918] CPU: 0 UID: 0 PID: 12918 Comm: syz.2.25 Not tainted 6.19.0-rc6 #31 PREEMPT(full) 
[   88.515113][T12918] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
[   88.515522][T12918] RIP: 0010:xchk_btree+0xb9/0x1380
[   88.515757][T12918] Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
[   88.516607][T12918] RSP: 0018:ffffc9000a37f360 EFLAGS: 00010206
[   88.516878][T12918] RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888011dadc40
[   88.517229][T12918] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88804b59b600
[   88.517594][T12918] RBP: ffffc9000a37f510 R08: ffffc9000a37f540 R09: 0000000000000002
[   88.517964][T12918] R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
[   88.518339][T12918] R13: 1ffff9200146fe88 R14: dffffc0000000000 R15: ffffffff8ba6c880
[   88.518711][T12918] FS:  00007f141ad1a640(0000) GS:ffff888098fe0000(0000) knlGS:0000000000000000
[   88.519121][T12918] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   88.519431][T12918] CR2: 00007f1419f54028 CR3: 000000006763f000 CR4: 0000000000752ef0
[   88.519808][T12918] PKRU: 00000000
[   88.519969][T12918] Call Trace:
[   88.520119][T12918]  <TASK>
[   88.520255][T12918]  ? __pfx_xchk_btree+0x10/0x10
[   88.520477][T12918]  ? __lock_acquire+0xad0/0xd50
[   88.520695][T12918]  ? ktime_get+0x3e/0x1f0
[   88.520889][T12918]  xchk_allocbt+0x112/0x190
[   88.521092][T12918]  ? __pfx_xchk_allocbt+0x10/0x10
[   88.521319][T12918]  ? seqcount_lockdep_reader_access+0xaa/0x100
[   88.521596][T12918]  xrep_revalidate_allocbt+0xf3/0x160
[   88.521835][T12918]  ? __pfx_xrep_revalidate_allocbt+0x10/0x10
[   88.522103][T12918]  xfs_scrub_metadata+0xc08/0x1920
[   88.522334][T12918]  ? __pfx_xfs_scrub_metadata+0x10/0x10
[   88.522586][T12918]  xfs_ioc_scrubv_metadata+0x74a/0xaf0
[   88.522830][T12918]  ? __pfx_xfs_ioc_scrubv_metadata+0x10/0x10
[   88.523102][T12918]  ? __pfx_stack_trace_consume_entry+0x10/0x10
[   88.523377][T12918]  ? arch_stack_walk+0xfc/0x150
[   88.523596][T12918]  ? stack_trace_save+0x9c/0xe0
[   88.523826][T12918]  xfs_file_ioctl+0x751/0x1560
[   88.524045][T12918]  ? __pfx_xfs_file_ioctl+0x10/0x10
[   88.524272][T12918]  ? kfree+0x1c0/0x660
[   88.524454][T12918]  ? tomoyo_path_number_perm+0x50f/0x680
[   88.524701][T12918]  ? security_file_ioctl+0xcb/0x2d0
[   88.524929][T12918]  ? __se_sys_ioctl+0x47/0x170
[   88.525181][T12918]  ? do_syscall_64+0xe8/0xf80
[   88.525406][T12918]  ? entry_SYSCALL_64_after_hwframe+0x77/0x7f
[   88.525696][T12918]  ? file_ioctl+0x22d/0x780
[   88.525907][T12918]  ? __pfx_file_ioctl+0x10/0x10
[   88.526129][T12918]  ? kasan_quarantine_put+0xbb/0x1f0
[   88.526373][T12918]  ? tomoyo_path_number_perm+0x1ca/0x680
[   88.526628][T12918]  ? tomoyo_path_number_perm+0x1ca/0x680
[   88.526879][T12918]  ? do_vfs_ioctl+0xb5b/0x13b0
[   88.527099][T12918]  ? __pfx_do_vfs_ioctl+0x10/0x10
[   88.527357][T12918]  ? __lock_acquire+0xad0/0xd50
[   88.527584][T12918]  ? __fget_files+0x2a/0x420
[   88.527797][T12918]  ? __fget_files+0x2a/0x420
[   88.528013][T12918]  ? __fget_files+0x3a0/0x420
[   88.528228][T12918]  ? __fget_files+0x2a/0x420
[   88.528447][T12918]  ? bpf_lsm_file_ioctl+0x9/0x20
[   88.528689][T12918]  ? __pfx_xfs_file_ioctl+0x10/0x10
[   88.528993][T12918]  __se_sys_ioctl+0xfc/0x170
[   88.529255][T12918]  ? entry_SYSCALL_64_after_hwframe+0x77/0x7f
[   88.529608][T12918]  do_syscall_64+0xe8/0xf80
[   88.529868][T12918]  ? trace_irq_disable+0x37/0x100
[   88.530162][T12918]  ? clear_bhb_loop+0x60/0xb0
[   88.530445][T12918]  entry_SYSCALL_64_after_hwframe+0x77/0x7f
[   88.530779][T12918] RIP: 0033:0x7f1419db459d
[   88.531053][T12918] Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
[   88.532187][T12918] RSP: 002b:00007f141ad19f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   88.532662][T12918] RAX: ffffffffffffffda RBX: 00007f141a045fa0 RCX: 00007f1419db459d
[   88.533109][T12918] RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
[   88.533569][T12918] RBP: 00007f1419e52610 R08: 0000000000000000 R09: 0000000000000000
[   88.534032][T12918] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
[   88.534507][T12918] R13: 00007f141a046038 R14: 00007f141a045fa0 R15: 00007f141acfa000
[   88.534996][T12918]  </TASK>
[   88.535185][T12918] Modules linked in:
[   88.535537][T12918] ---[ end trace 0000000000000000 ]---
[   88.536136][T12918] RIP: 0010:xchk_btree+0xb9/0x1380
[   88.536456][T12918] Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
[   88.537602][T12918] RSP: 0018:ffffc9000a37f360 EFLAGS: 00010206
[   88.538117][T12918] RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888011dadc40
[   88.538707][T12918] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88804b59b600
[   88.539192][T12918] RBP: ffffc9000a37f510 R08: ffffc9000a37f540 R09: 0000000000000002
[   88.539673][T12918] R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
[   88.540140][T12918] R13: 1ffff9200146fe88 R14: dffffc0000000000 R15: ffffffff8ba6c880
[   88.540707][T12918] FS:  00007f141ad1a640(0000) GS:ffff888098fe0000(0000) knlGS:0000000000000000
[   88.541255][T12918] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   88.541654][T12918] CR2: 00007f1419f54028 CR3: 000000006763f000 CR4: 0000000000752ef0
[   88.542127][T12918] PKRU: 00000000
[   88.542347][T12918] Kernel panic - not syncing: Fatal exception
[   88.542814][T12918] Kernel Offset: disabled
[   88.543068][T12918] Rebooting in 86400 seconds..
loop2: detected capacity change from 0 to 32768
XFS (loop2): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
XFS (loop2): Ending clean mount
XFS (loop2): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line 309, on filesystem "loop2"
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
CPU: 0 UID: 0 PID: 12918 Comm: syz.2.25 Not tainted 6.19.0-rc6 #31 PREEMPT(full) 
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
RSP: 0018:ffffc9000a37f360 EFLAGS: 00010206
RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888011dadc40
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88804b59b600
RBP: ffffc9000a37f510 R08: ffffc9000a37f540 R09: 0000000000000002
R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
R13: 1ffff9200146fe88 R14: dffffc0000000000 R15: ffffffff8ba6c880
FS:  00007f141ad1a640(0000) GS:ffff888098fe0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f1419f54028 CR3: 000000006763f000 CR4: 0000000000752ef0
PKRU: 00000000
Call Trace:
 <TASK>
 xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
 xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
 xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
 xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
 xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f1419db459d
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f141ad19f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f141a045fa0 RCX: 00007f1419db459d
RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
RBP: 00007f1419e52610 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f141a046038 R14: 00007f141a045fa0 R15: 00007f141acfa000
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
RSP: 0018:ffffc9000a37f360 EFLAGS: 00010206
RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888011dadc40
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88804b59b600
RBP: ffffc9000a37f510 R08: ffffc9000a37f540 R09: 0000000000000002
R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
R13: 1ffff9200146fe88 R14: dffffc0000000000 R15: ffffffff8ba6c880
FS:  00007f141ad1a640(0000) GS:ffff888098fe0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f1419f54028 CR3: 000000006763f000 CR4: 0000000000752ef0
PKRU: 00000000
----------------
Code disassembly (best guess):
   0:	f2 00 66 43          	repnz add %ah,0x43(%rsi)
   4:	c7 44 35 0d f3 f3 43 	movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
   b:	c6
   c:	44 35 0f f3 e8 1c    	rex.R xor $0x1ce8f30f,%eax
  12:	44 39 fe             	cmp    %r15d,%esi
  15:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
  1a:	48 83 c3 48          	add    $0x48,%rbx
  1e:	48 89 d8             	mov    %rbx,%rax
  21:	48 c1 e8 03          	shr    $0x3,%rax
  25:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
* 2a:	42 0f b6 04 30       	movzbl (%rax,%r14,1),%eax <-- trapping instruction
  2f:	84 c0                	test   %al,%al
  31:	0f 85 d6 11 00 00    	jne    0x120d
  37:	44 0f b6 33          	movzbl (%rbx),%r14d
  3b:	41 ff ce             	dec    %r14d
  3e:	bf                   	.byte 0xbf
  3f:	53                   	push   %rbx
syz_mount_image$xfs(&(0x7f0000009680), &(0x7f00000096c0)='./file0\x00', 0x0, &(0x7f0000009700), 0x1, 0x965c, &(0x7f0000009740)="$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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGawc/8xXtcFHMc/d3B3CAUiRki9gaACwePkjl+CilY0z8ZZYevXJJicAh2peDNAFpRa1NzSyZa1SP2DtFZrbMZaTcpsi9mKmvbDuQUl/Rjr1IpskXXuC9/veff1uPl9n+83f/B4/HH3/XyO1+eA7Xmfz3f+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgJXbgQAAAAAAAyP+1EaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwAwckAAAAAIL+v25HoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8FQAAAD//0x8Hu0=")
r0 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file1\x00', 0x101042, 0x1c6)
ioctl$XFS_IOC_ERROR_INJECTION(r0, 0x40085874, &(0x7f0000000000)={0x5, 0x9})
r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file1\x00', 0x42, 0x1ff)
ioctl$XFS_IOC_SCRUBV_METADATA(r1, 0xc0285840, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0xfff9, 0x1, 0x0, &(0x7f0000002700)=[{0x5, 0x101, 0xfffffff1}]})
creat(0x0, 0x30)
Re: [Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Darrick J. Wong 2 weeks, 5 days ago
On Tue, Jan 20, 2026 at 06:13:44PM +0800, Jiaming Zhang wrote:
> Dear Linux kernel developers and maintainers,
> 
> We are writing to report a general protection fault discovered in the
> xfs subsystem with our generated syzkaller specifications. This issue
> is reproducible on the latest version of linux (v6.19-rc6, commit
> 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
> kernel is listed below (formatted by syz-symbolize):
> 
> ---
> 
> loop0: detected capacity change from 0 to 32768
> XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> XFS (loop0): Ending clean mount
> XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
> 309, on filesystem "loop0"
> Oops: general protection fault, probably for non-canonical address
> 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
> KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
> CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
> PKRU: 55555554
> Call Trace:
>  <TASK>
>  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
>  xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
>  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
>  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
>  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
>  vfs_ioctl fs/ioctl.c:51 [inline]
>  __do_sys_ioctl fs/ioctl.c:597 [inline]
>  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
>  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
>  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
>  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x45a879
> Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
> 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
> RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
> RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
> R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
> R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
>  </TASK>
> Modules linked in:
> ---[ end trace 0000000000000000 ]---
> RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
> PKRU: 55555554
> ----------------
> Code disassembly (best guess):
>    0: f2 00 66 43          repnz add %ah,0x43(%rsi)
>    4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
>    b: c6
>    c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
>   12: 44 39 fe              cmp    %r15d,%esi
>   15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
>   1a: 48 83 c3 48          add    $0x48,%rbx
>   1e: 48 89 d8              mov    %rbx,%rax
>   21: 48 c1 e8 03          shr    $0x3,%rax
>   25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
> * 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
>   2f: 84 c0                test   %al,%al
>   31: 0f 85 d6 11 00 00    jne    0x120d
>   37: 44 0f b6 33          movzbl (%rbx),%r14d
>   3b: 41 ff ce              dec    %r14d
>   3e: bf                    .byte 0xbf
>   3f: 53                    push   %rbx
> 
> ---
> 
> The root cause of this issue is that in xchk_btree(), where the
> argument cur can be NULL but the function assume cur is not NULL,
> leading to a NULL pointer dereference when accessing member
> (https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).
> 
> We can add a NULL check at the beginning of xchk_btree() to fix this issue:
> ```
> --- a/fs/xfs/scrub/btree.c
> +++ b/fs/xfs/scrub/btree.c
> @@ -693,6 +693,9 @@ xchk_btree(
>   int level;
>   int error = 0;
> 
> + if (!cur)
> + return -EINVAL;

Uh, no, don't just fling EINVAL up to userspace.  Line 930 is the cntbt
revalidation in xrep_revalidate_allocbt.  Why is that pointer
0xdffffc0000000009?  Did we somehow fail to allocate a cntbt cursor in
xchk_ag_btcur_init?  Did that xchk_should_check_xref free it?  Did we
fail to attach the AGF to sc->sa.agf_bp?

>   /*
>   * Allocate the btree scrub context from the heap, because this
>   * structure can get rather large.  Don't let a caller feed us a
> ```
> 
> After applying changes above and re-running reproducer, another issues
> is triggered:
> 
> ---
> TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner
> 
> XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> XFS (loop6): Ending clean mount
> ==================================================================
> BUG: KASAN: slab-use-after-free in
> xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096
> 
> CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
> #30 PREEMPT(full)
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> Call Trace:
>  <TASK>
>  __dump_stack lib/dump_stack.c:94 [inline]
>  dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
>  print_address_description mm/kasan/report.c:378 [inline]
>  print_report+0x17e/0x810 mm/kasan/report.c:482
>  kasan_report+0x147/0x180 mm/kasan/report.c:595
>  xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
>  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
>  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
>  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
>  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
>  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
>  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
>  vfs_ioctl fs/ioctl.c:51 [inline]
>  __do_sys_ioctl fs/ioctl.c:597 [inline]
>  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
>  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
>  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
>  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x7f71bddb459d
> Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
> 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
> RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
>  </TASK>
> 
> Allocated by task 14096:
>  kasan_save_stack mm/kasan/common.c:57 [inline]
>  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
>  unpoison_slab_object mm/kasan/common.c:340 [inline]
>  __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
>  kasan_slab_alloc include/linux/kasan.h:253 [inline]
>  slab_post_alloc_hook mm/slub.c:4953 [inline]
>  slab_alloc_node mm/slub.c:5263 [inline]
>  kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
>  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
>  xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
>  xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
>  xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
>  xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
>  xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
>  xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
>  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
>  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
>  vfs_ioctl fs/ioctl.c:51 [inline]
>  __do_sys_ioctl fs/ioctl.c:597 [inline]
>  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
>  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
>  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
>  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> 
> Freed by task 14096:
>  kasan_save_stack mm/kasan/common.c:57 [inline]
>  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
>  kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
>  poison_slab_object mm/kasan/common.c:253 [inline]
>  __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
>  kasan_slab_free include/linux/kasan.h:235 [inline]
>  slab_free_hook mm/slub.c:2540 [inline]
>  slab_free mm/slub.c:6670 [inline]
>  kmem_cache_free+0x197/0x620 mm/slub.c:6781
>  xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
>  xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
>  xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
>  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
>  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
>  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
>  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
>  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
>  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
>  vfs_ioctl fs/ioctl.c:51 [inline]
>  __do_sys_ioctl fs/ioctl.c:597 [inline]
>  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
>  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
>  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
>  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> 
> The buggy address belongs to the object at ffff88806af035c8
>  which belongs to the cache xfs_bnobt_cur of size 232
> The buggy address is located 16 bytes inside of
>  freed 232-byte region [ffff88806af035c8, ffff88806af036b0)
> 
> The buggy address belongs to the physical page:
> page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
> ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
> page_type: f5(slab)
> raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
> raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
> page dumped because: kasan: bad access detected
> page_owner tracks the page as allocated
> page last allocated via order 0, migratetype Unmovable, gfp_mask
> 0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
> pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
>  set_page_owner include/linux/page_owner.h:32 [inline]
>  post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
>  prep_new_page mm/page_alloc.c:1892 [inline]
>  get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
>  __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
>  alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
>  alloc_slab_page mm/slub.c:3075 [inline]
>  allocate_slab+0x86/0x3b0 mm/slub.c:3248
>  new_slab mm/slub.c:3302 [inline]
>  ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
>  __slab_alloc+0x65/0x100 mm/slub.c:4779
>  __slab_alloc_node mm/slub.c:4855 [inline]
>  slab_alloc_node mm/slub.c:5251 [inline]
>  kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
>  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
>  xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
>  xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
>  __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
>  xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
>  xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
>  xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
>  xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
>  xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
> page last free pid 785 tgid 785 stack trace:
>  reset_page_owner include/linux/page_owner.h:25 [inline]
>  free_pages_prepare mm/page_alloc.c:1433 [inline]
>  __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
>  vfree+0x25a/0x400 mm/vmalloc.c:3466
>  delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
>  process_one_work kernel/workqueue.c:3257 [inline]
>  process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
>  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
>  kthread+0x711/0x8a0 kernel/kthread.c:463
>  ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
>  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
> 
> Memory state around the buggy address:
>  ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
>  ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> >ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
>                                                     ^
>  ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>  ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
> ==================================================================
> ---
> 
> I also analyzed the root cause of this issue. In
> xchk_btree_check_block_owner(), bs->cur is an alias for
> bs->sc->sa.bnocur (or rmap_cur,
> https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
> The issue occurs when error injection triggers a failure path:
> 
> 1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
> 2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
> non-zero error due to error injection
> 3. Non-zero error causes xchk_should_check_xref() to free curpp (which
> points to bs->sc->sa.bnocur).
> 4. Memory pointed to by bs->cur is freed.
> 
> Control returns to xchk_btree_check_block_owner(), which subsequently
> accesses bs->cur->bc_ops, triggering the UAF.
> 
> P.S. this issue can also be triggered independently by syzkaller using
> our generated specs.
> 
> To fix this issue, we can cache values of
> xfs_btree_is_bno(bs->cur->bc_ops) and
> xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
> ```
> --- a/fs/xfs/scrub/btree.c
> +++ b/fs/xfs/scrub/btree.c
> @@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
>   xfs_agnumber_t agno;
>   xfs_agblock_t agbno;
>   bool init_sa;
> + bool is_bno;
> + bool is_rmap;
>   int error = 0;
> 
>   if (!bs->cur)
> @@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
>   agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
>   agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);
> 
> + is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
> + is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
> +
>   /*
>   * If the btree being examined is not itself a per-AG btree, initialize
>   * sc->sa so that we can check for the presence of an ownership record
> @@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
>   * have to nullify it (to shut down further block owner checks) if
>   * self-xref encounters problems.
>   */
> - if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
> + if (!bs->sc->sa.bno_cur && is_bno)
>   bs->cur = NULL;
> 
>   xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
> - if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
> + if (!bs->sc->sa.rmap_cur && is_rmap)

Indentation problems notwithstanding, that looks like a correct
resolution to the UAF problem.

>   bs->cur = NULL;
> 
>  out_free:
> ```
> 
> After applying above changes, reproducer ran for ~35 minutes without
> triggering any issues.
> 
> If above solutions are acceptable, we are happy to submit patches :)
> 
> The kernel console output, kernel config, syzkaller reproducer, and C
> reproducer are also attached to help with analysis.
> 
> Please let me know if any further information is required.
> 
> Best Regards,
> Jiaming Zhang

Please just link to your dashboard, don't send a 1MB email to dozens
of people.

--D
Re: [Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Jiaming Zhang 2 weeks, 4 days ago
Darrick J. Wong <djwong@kernel.org> 于2026年1月21日周三 03:17写道:
>
> On Tue, Jan 20, 2026 at 06:13:44PM +0800, Jiaming Zhang wrote:
> > Dear Linux kernel developers and maintainers,
> >
> > We are writing to report a general protection fault discovered in the
> > xfs subsystem with our generated syzkaller specifications. This issue
> > is reproducible on the latest version of linux (v6.19-rc6, commit
> > 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
> > kernel is listed below (formatted by syz-symbolize):
> >
> > ---
> >
> > loop0: detected capacity change from 0 to 32768
> > XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > XFS (loop0): Ending clean mount
> > XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
> > 309, on filesystem "loop0"
> > Oops: general protection fault, probably for non-canonical address
> > 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
> > KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
> > CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
> > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > PKRU: 55555554
> > Call Trace:
> >  <TASK>
> >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> >  xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
> >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> >  vfs_ioctl fs/ioctl.c:51 [inline]
> >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > RIP: 0033:0x45a879
> > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
> > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
> > RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
> > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
> > R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
> > R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
> >  </TASK>
> > Modules linked in:
> > ---[ end trace 0000000000000000 ]---
> > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > PKRU: 55555554
> > ----------------
> > Code disassembly (best guess):
> >    0: f2 00 66 43          repnz add %ah,0x43(%rsi)
> >    4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
> >    b: c6
> >    c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
> >   12: 44 39 fe              cmp    %r15d,%esi
> >   15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
> >   1a: 48 83 c3 48          add    $0x48,%rbx
> >   1e: 48 89 d8              mov    %rbx,%rax
> >   21: 48 c1 e8 03          shr    $0x3,%rax
> >   25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
> > * 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
> >   2f: 84 c0                test   %al,%al
> >   31: 0f 85 d6 11 00 00    jne    0x120d
> >   37: 44 0f b6 33          movzbl (%rbx),%r14d
> >   3b: 41 ff ce              dec    %r14d
> >   3e: bf                    .byte 0xbf
> >   3f: 53                    push   %rbx
> >
> > ---
> >
> > The root cause of this issue is that in xchk_btree(), where the
> > argument cur can be NULL but the function assume cur is not NULL,
> > leading to a NULL pointer dereference when accessing member
> > (https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).
> >
> > We can add a NULL check at the beginning of xchk_btree() to fix this issue:
> > ```
> > --- a/fs/xfs/scrub/btree.c
> > +++ b/fs/xfs/scrub/btree.c
> > @@ -693,6 +693,9 @@ xchk_btree(
> >   int level;
> >   int error = 0;
> >
> > + if (!cur)
> > + return -EINVAL;
>
> Uh, no, don't just fling EINVAL up to userspace.  Line 930 is the cntbt
> revalidation in xrep_revalidate_allocbt.  Why is that pointer
> 0xdffffc0000000009?  Did we somehow fail to allocate a cntbt cursor in
> xchk_ag_btcur_init?  Did that xchk_should_check_xref free it?  Did we
> fail to attach the AGF to sc->sa.agf_bp?

Thanks for the feedback! I dug deeper into the root cause as you
suggested, here is what I found:

(1) The program executes XFS_IOC_ERROR_INJECTION branch in
xfs_file_ioctl(), causes xfs_btree_check_block() to return
-EFSCORRUPTED, which consequently marks the AG as sick (via
xfs_btree_mark_sick).

(2) Then, the program executes XFS_IOC_SCRUBV_METADATA branch in
xfs_file_ioctl(), the setup function (xchk_setup_ag_allocbt())
attempts to initialize the cursor. However, the sick flag makes kernel
executes xchk_ag_btree_del_cursor_if_sick(), the cursor is freed and
nullified.

(3) Lastly, the repair_eval function (xrep_revalidate_allocbt()) calls
xchk_allocbt(). Since xchk_allocbt() assumes the cursor is valid, it
passes the NULL pointer to xchk_btree, leading to the null-ptr-deref.

Based on above analysis, I think sc->sa.cnt_cur being NULL is expected
when the AG is sick. I think the appropriate fix is to check NULL
inside xchk_allocbt():
```
--- a/fs/xfs/scrub/alloc.c
+++ b/fs/xfs/scrub/alloc.c
@@ -170,6 +170,9 @@ xchk_allocbt(
        return -EIO;
    }

+   if (!cur)
+       return -ENOENT;
+
    return xchk_btree(sc, cur, xchk_allocbt_rec, &XFS_RMAP_OINFO_AG, &ca);
 }
 ```
What do you think? :)

>
> >   /*
> >   * Allocate the btree scrub context from the heap, because this
> >   * structure can get rather large.  Don't let a caller feed us a
> > ```
> >
> > After applying changes above and re-running reproducer, another issues
> > is triggered:
> >
> > ---
> > TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner
> >
> > XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > XFS (loop6): Ending clean mount
> > ==================================================================
> > BUG: KASAN: slab-use-after-free in
> > xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096
> >
> > CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
> > #30 PREEMPT(full)
> > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > Call Trace:
> >  <TASK>
> >  __dump_stack lib/dump_stack.c:94 [inline]
> >  dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
> >  print_address_description mm/kasan/report.c:378 [inline]
> >  print_report+0x17e/0x810 mm/kasan/report.c:482
> >  kasan_report+0x147/0x180 mm/kasan/report.c:595
> >  xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> >  vfs_ioctl fs/ioctl.c:51 [inline]
> >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > RIP: 0033:0x7f71bddb459d
> > Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
> > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> > RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
> > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
> > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> > R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
> >  </TASK>
> >
> > Allocated by task 14096:
> >  kasan_save_stack mm/kasan/common.c:57 [inline]
> >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> >  unpoison_slab_object mm/kasan/common.c:340 [inline]
> >  __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
> >  kasan_slab_alloc include/linux/kasan.h:253 [inline]
> >  slab_post_alloc_hook mm/slub.c:4953 [inline]
> >  slab_alloc_node mm/slub.c:5263 [inline]
> >  kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
> >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> >  xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
> >  xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
> >  xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
> >  xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
> >  xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
> >  xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
> >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> >  vfs_ioctl fs/ioctl.c:51 [inline]
> >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> >
> > Freed by task 14096:
> >  kasan_save_stack mm/kasan/common.c:57 [inline]
> >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> >  kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
> >  poison_slab_object mm/kasan/common.c:253 [inline]
> >  __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
> >  kasan_slab_free include/linux/kasan.h:235 [inline]
> >  slab_free_hook mm/slub.c:2540 [inline]
> >  slab_free mm/slub.c:6670 [inline]
> >  kmem_cache_free+0x197/0x620 mm/slub.c:6781
> >  xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
> >  xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
> >  xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
> >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> >  vfs_ioctl fs/ioctl.c:51 [inline]
> >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> >
> > The buggy address belongs to the object at ffff88806af035c8
> >  which belongs to the cache xfs_bnobt_cur of size 232
> > The buggy address is located 16 bytes inside of
> >  freed 232-byte region [ffff88806af035c8, ffff88806af036b0)
> >
> > The buggy address belongs to the physical page:
> > page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
> > ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
> > page_type: f5(slab)
> > raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
> > raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
> > page dumped because: kasan: bad access detected
> > page_owner tracks the page as allocated
> > page last allocated via order 0, migratetype Unmovable, gfp_mask
> > 0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
> > pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
> >  set_page_owner include/linux/page_owner.h:32 [inline]
> >  post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
> >  prep_new_page mm/page_alloc.c:1892 [inline]
> >  get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
> >  __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
> >  alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
> >  alloc_slab_page mm/slub.c:3075 [inline]
> >  allocate_slab+0x86/0x3b0 mm/slub.c:3248
> >  new_slab mm/slub.c:3302 [inline]
> >  ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
> >  __slab_alloc+0x65/0x100 mm/slub.c:4779
> >  __slab_alloc_node mm/slub.c:4855 [inline]
> >  slab_alloc_node mm/slub.c:5251 [inline]
> >  kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
> >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> >  xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
> >  xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
> >  __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
> >  xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
> >  xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
> >  xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
> >  xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
> >  xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
> > page last free pid 785 tgid 785 stack trace:
> >  reset_page_owner include/linux/page_owner.h:25 [inline]
> >  free_pages_prepare mm/page_alloc.c:1433 [inline]
> >  __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
> >  vfree+0x25a/0x400 mm/vmalloc.c:3466
> >  delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
> >  process_one_work kernel/workqueue.c:3257 [inline]
> >  process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
> >  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
> >  kthread+0x711/0x8a0 kernel/kthread.c:463
> >  ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
> >  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
> >
> > Memory state around the buggy address:
> >  ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
> >  ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > >ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
> >                                                     ^
> >  ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> >  ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
> > ==================================================================
> > ---
> >
> > I also analyzed the root cause of this issue. In
> > xchk_btree_check_block_owner(), bs->cur is an alias for
> > bs->sc->sa.bnocur (or rmap_cur,
> > https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
> > The issue occurs when error injection triggers a failure path:
> >
> > 1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
> > 2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
> > non-zero error due to error injection
> > 3. Non-zero error causes xchk_should_check_xref() to free curpp (which
> > points to bs->sc->sa.bnocur).
> > 4. Memory pointed to by bs->cur is freed.
> >
> > Control returns to xchk_btree_check_block_owner(), which subsequently
> > accesses bs->cur->bc_ops, triggering the UAF.
> >
> > P.S. this issue can also be triggered independently by syzkaller using
> > our generated specs.
> >
> > To fix this issue, we can cache values of
> > xfs_btree_is_bno(bs->cur->bc_ops) and
> > xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
> > ```
> > --- a/fs/xfs/scrub/btree.c
> > +++ b/fs/xfs/scrub/btree.c
> > @@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
> >   xfs_agnumber_t agno;
> >   xfs_agblock_t agbno;
> >   bool init_sa;
> > + bool is_bno;
> > + bool is_rmap;
> >   int error = 0;
> >
> >   if (!bs->cur)
> > @@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
> >   agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
> >   agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);
> >
> > + is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
> > + is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
> > +
> >   /*
> >   * If the btree being examined is not itself a per-AG btree, initialize
> >   * sc->sa so that we can check for the presence of an ownership record
> > @@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
> >   * have to nullify it (to shut down further block owner checks) if
> >   * self-xref encounters problems.
> >   */
> > - if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
> > + if (!bs->sc->sa.bno_cur && is_bno)
> >   bs->cur = NULL;
> >
> >   xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
> > - if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
> > + if (!bs->sc->sa.rmap_cur && is_rmap)
>
> Indentation problems notwithstanding, that looks like a correct
> resolution to the UAF problem.
>
> >   bs->cur = NULL;
> >
> >  out_free:
> > ```
> >
> > After applying above changes, reproducer ran for ~35 minutes without
> > triggering any issues.
> >
> > If above solutions are acceptable, we are happy to submit patches :)
> >
> > The kernel console output, kernel config, syzkaller reproducer, and C
> > reproducer are also attached to help with analysis.
> >
> > Please let me know if any further information is required.
> >
> > Best Regards,
> > Jiaming Zhang
>
> Please just link to your dashboard, don't send a 1MB email to dozens
> of people.
>
> --D
Re: [Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Darrick J. Wong 2 weeks, 4 days ago
On Wed, Jan 21, 2026 at 06:14:06PM +0800, Jiaming Zhang wrote:
> Darrick J. Wong <djwong@kernel.org> 于2026年1月21日周三 03:17写道:
> >
> > On Tue, Jan 20, 2026 at 06:13:44PM +0800, Jiaming Zhang wrote:
> > > Dear Linux kernel developers and maintainers,
> > >
> > > We are writing to report a general protection fault discovered in the
> > > xfs subsystem with our generated syzkaller specifications. This issue
> > > is reproducible on the latest version of linux (v6.19-rc6, commit
> > > 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
> > > kernel is listed below (formatted by syz-symbolize):
> > >
> > > ---
> > >
> > > loop0: detected capacity change from 0 to 32768
> > > XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > XFS (loop0): Ending clean mount
> > > XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
> > > 309, on filesystem "loop0"
> > > Oops: general protection fault, probably for non-canonical address
> > > 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
> > > KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
> > > CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
> > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > PKRU: 55555554
> > > Call Trace:
> > >  <TASK>
> > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > >  xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
> > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > RIP: 0033:0x45a879
> > > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
> > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
> > > RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
> > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
> > > R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
> > > R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
> > >  </TASK>
> > > Modules linked in:
> > > ---[ end trace 0000000000000000 ]---
> > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > PKRU: 55555554
> > > ----------------
> > > Code disassembly (best guess):
> > >    0: f2 00 66 43          repnz add %ah,0x43(%rsi)
> > >    4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
> > >    b: c6
> > >    c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
> > >   12: 44 39 fe              cmp    %r15d,%esi
> > >   15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
> > >   1a: 48 83 c3 48          add    $0x48,%rbx
> > >   1e: 48 89 d8              mov    %rbx,%rax
> > >   21: 48 c1 e8 03          shr    $0x3,%rax
> > >   25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
> > > * 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
> > >   2f: 84 c0                test   %al,%al
> > >   31: 0f 85 d6 11 00 00    jne    0x120d
> > >   37: 44 0f b6 33          movzbl (%rbx),%r14d
> > >   3b: 41 ff ce              dec    %r14d
> > >   3e: bf                    .byte 0xbf
> > >   3f: 53                    push   %rbx
> > >
> > > ---
> > >
> > > The root cause of this issue is that in xchk_btree(), where the
> > > argument cur can be NULL but the function assume cur is not NULL,
> > > leading to a NULL pointer dereference when accessing member
> > > (https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).
> > >
> > > We can add a NULL check at the beginning of xchk_btree() to fix this issue:
> > > ```
> > > --- a/fs/xfs/scrub/btree.c
> > > +++ b/fs/xfs/scrub/btree.c
> > > @@ -693,6 +693,9 @@ xchk_btree(
> > >   int level;
> > >   int error = 0;
> > >
> > > + if (!cur)
> > > + return -EINVAL;
> >
> > Uh, no, don't just fling EINVAL up to userspace.  Line 930 is the cntbt
> > revalidation in xrep_revalidate_allocbt.  Why is that pointer
> > 0xdffffc0000000009?  Did we somehow fail to allocate a cntbt cursor in
> > xchk_ag_btcur_init?  Did that xchk_should_check_xref free it?  Did we
> > fail to attach the AGF to sc->sa.agf_bp?
> 
> Thanks for the feedback! I dug deeper into the root cause as you
> suggested, here is what I found:
> 
> (1) The program executes XFS_IOC_ERROR_INJECTION branch in
> xfs_file_ioctl(), causes xfs_btree_check_block() to return
> -EFSCORRUPTED, which consequently marks the AG as sick (via
> xfs_btree_mark_sick).

"marks the AG as sick" ... which structure, specifically?  I'm guessing
XFS_SICK_AG_CNTBT from context, but it'd be useful to state these things
from the data you've collected rather than relying on me to infer what's
going on.

> (2) Then, the program executes XFS_IOC_SCRUBV_METADATA branch in
> xfs_file_ioctl(), the setup function (xchk_setup_ag_allocbt())

Which scrub type is it calling, bnobt or cntbt?

> attempts to initialize the cursor. However, the sick flag makes kernel
> executes xchk_ag_btree_del_cursor_if_sick(), the cursor is freed and
> nullified.

Are you talking about the ->setup call after we've rebuilt both free
space btrees, just prior to step three?  When that happens,
xchk_ag_btree_del_cursor_if_sick will see the XREP_ALREADY_FIXED flag
and mask out sc->sick_mask from mask:

	/*
	 * If we just repaired some AG metadata, sc->sick_mask will reflect all
	 * the per-AG metadata types that were repaired.  Exclude these from
	 * the filesystem health query because we have not yet updated the
	 * health status and we want everything to be scanned.
	 */
	if ((sc->flags & XREP_ALREADY_FIXED) &&
	    type_to_health_flag[sc->sm->sm_type].group == XHG_AG)
		mask &= ~sc->sick_mask;

> (3) Lastly, the repair_eval function (xrep_revalidate_allocbt()) calls
> xchk_allocbt(). Since xchk_allocbt() assumes the cursor is valid, it
> passes the NULL pointer to xchk_btree, leading to the null-ptr-deref.

Sure, but xrep_allocbt sets sc->sick_mask to XFS_SICK_AG_BNOBT |
XFS_SICK_AG so any pre-existing bnobt or cntbt sick state in the
xfs_group will be ignored and neither cursor will be deleted when
setting up the revalidation.

> Based on above analysis, I think sc->sa.cnt_cur being NULL is expected
> when the AG is sick. I think the appropriate fix is to check NULL
> inside xchk_allocbt():
> ```
> --- a/fs/xfs/scrub/alloc.c
> +++ b/fs/xfs/scrub/alloc.c
> @@ -170,6 +170,9 @@ xchk_allocbt(
>         return -EIO;
>     }
> 
> +   if (!cur)
> +       return -ENOENT;

This is not correct either.  We've just rebuilt the bnobt and cntbt for
the AG which means that cursors for both btrees should be loaded and
ready for revalidation.

I think you need to look into xchk_ag_btree_del_cursor_if_sick to figure
out exactly what the xfs_group's sick state is, what @mask is, and what
sc->sick_mask is, and from that figure out if it's really deleting the
cntbt cursor.  This is made more difficult because XFS error injection
is probabilistic so it could trigger on /any/ btree.

--D

> +
>     return xchk_btree(sc, cur, xchk_allocbt_rec, &XFS_RMAP_OINFO_AG, &ca);
>  }
>  ```
> What do you think? :)
> 
> >
> > >   /*
> > >   * Allocate the btree scrub context from the heap, because this
> > >   * structure can get rather large.  Don't let a caller feed us a
> > > ```
> > >
> > > After applying changes above and re-running reproducer, another issues
> > > is triggered:
> > >
> > > ---
> > > TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner
> > >
> > > XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > XFS (loop6): Ending clean mount
> > > ==================================================================
> > > BUG: KASAN: slab-use-after-free in
> > > xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096
> > >
> > > CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
> > > #30 PREEMPT(full)
> > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > Call Trace:
> > >  <TASK>
> > >  __dump_stack lib/dump_stack.c:94 [inline]
> > >  dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
> > >  print_address_description mm/kasan/report.c:378 [inline]
> > >  print_report+0x17e/0x810 mm/kasan/report.c:482
> > >  kasan_report+0x147/0x180 mm/kasan/report.c:595
> > >  xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > RIP: 0033:0x7f71bddb459d
> > > Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
> > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> > > RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
> > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
> > > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> > > R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
> > >  </TASK>
> > >
> > > Allocated by task 14096:
> > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > >  unpoison_slab_object mm/kasan/common.c:340 [inline]
> > >  __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
> > >  kasan_slab_alloc include/linux/kasan.h:253 [inline]
> > >  slab_post_alloc_hook mm/slub.c:4953 [inline]
> > >  slab_alloc_node mm/slub.c:5263 [inline]
> > >  kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
> > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > >  xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
> > >  xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
> > >  xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
> > >  xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
> > >  xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
> > >  xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
> > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > >
> > > Freed by task 14096:
> > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > >  kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
> > >  poison_slab_object mm/kasan/common.c:253 [inline]
> > >  __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
> > >  kasan_slab_free include/linux/kasan.h:235 [inline]
> > >  slab_free_hook mm/slub.c:2540 [inline]
> > >  slab_free mm/slub.c:6670 [inline]
> > >  kmem_cache_free+0x197/0x620 mm/slub.c:6781
> > >  xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
> > >  xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
> > >  xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
> > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > >
> > > The buggy address belongs to the object at ffff88806af035c8
> > >  which belongs to the cache xfs_bnobt_cur of size 232
> > > The buggy address is located 16 bytes inside of
> > >  freed 232-byte region [ffff88806af035c8, ffff88806af036b0)
> > >
> > > The buggy address belongs to the physical page:
> > > page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
> > > ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
> > > page_type: f5(slab)
> > > raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
> > > raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
> > > page dumped because: kasan: bad access detected
> > > page_owner tracks the page as allocated
> > > page last allocated via order 0, migratetype Unmovable, gfp_mask
> > > 0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
> > > pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
> > >  set_page_owner include/linux/page_owner.h:32 [inline]
> > >  post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
> > >  prep_new_page mm/page_alloc.c:1892 [inline]
> > >  get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
> > >  __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
> > >  alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
> > >  alloc_slab_page mm/slub.c:3075 [inline]
> > >  allocate_slab+0x86/0x3b0 mm/slub.c:3248
> > >  new_slab mm/slub.c:3302 [inline]
> > >  ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
> > >  __slab_alloc+0x65/0x100 mm/slub.c:4779
> > >  __slab_alloc_node mm/slub.c:4855 [inline]
> > >  slab_alloc_node mm/slub.c:5251 [inline]
> > >  kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
> > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > >  xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
> > >  xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
> > >  __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
> > >  xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
> > >  xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
> > >  xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
> > >  xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
> > >  xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
> > > page last free pid 785 tgid 785 stack trace:
> > >  reset_page_owner include/linux/page_owner.h:25 [inline]
> > >  free_pages_prepare mm/page_alloc.c:1433 [inline]
> > >  __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
> > >  vfree+0x25a/0x400 mm/vmalloc.c:3466
> > >  delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
> > >  process_one_work kernel/workqueue.c:3257 [inline]
> > >  process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
> > >  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
> > >  kthread+0x711/0x8a0 kernel/kthread.c:463
> > >  ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
> > >  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
> > >
> > > Memory state around the buggy address:
> > >  ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
> > >  ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > >ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
> > >                                                     ^
> > >  ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > >  ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
> > > ==================================================================
> > > ---
> > >
> > > I also analyzed the root cause of this issue. In
> > > xchk_btree_check_block_owner(), bs->cur is an alias for
> > > bs->sc->sa.bnocur (or rmap_cur,
> > > https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
> > > The issue occurs when error injection triggers a failure path:
> > >
> > > 1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
> > > 2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
> > > non-zero error due to error injection
> > > 3. Non-zero error causes xchk_should_check_xref() to free curpp (which
> > > points to bs->sc->sa.bnocur).
> > > 4. Memory pointed to by bs->cur is freed.
> > >
> > > Control returns to xchk_btree_check_block_owner(), which subsequently
> > > accesses bs->cur->bc_ops, triggering the UAF.
> > >
> > > P.S. this issue can also be triggered independently by syzkaller using
> > > our generated specs.
> > >
> > > To fix this issue, we can cache values of
> > > xfs_btree_is_bno(bs->cur->bc_ops) and
> > > xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
> > > ```
> > > --- a/fs/xfs/scrub/btree.c
> > > +++ b/fs/xfs/scrub/btree.c
> > > @@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
> > >   xfs_agnumber_t agno;
> > >   xfs_agblock_t agbno;
> > >   bool init_sa;
> > > + bool is_bno;
> > > + bool is_rmap;
> > >   int error = 0;
> > >
> > >   if (!bs->cur)
> > > @@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
> > >   agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
> > >   agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);
> > >
> > > + is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
> > > + is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
> > > +
> > >   /*
> > >   * If the btree being examined is not itself a per-AG btree, initialize
> > >   * sc->sa so that we can check for the presence of an ownership record
> > > @@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
> > >   * have to nullify it (to shut down further block owner checks) if
> > >   * self-xref encounters problems.
> > >   */
> > > - if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
> > > + if (!bs->sc->sa.bno_cur && is_bno)
> > >   bs->cur = NULL;
> > >
> > >   xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
> > > - if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
> > > + if (!bs->sc->sa.rmap_cur && is_rmap)
> >
> > Indentation problems notwithstanding, that looks like a correct
> > resolution to the UAF problem.
> >
> > >   bs->cur = NULL;
> > >
> > >  out_free:
> > > ```
> > >
> > > After applying above changes, reproducer ran for ~35 minutes without
> > > triggering any issues.
> > >
> > > If above solutions are acceptable, we are happy to submit patches :)
> > >
> > > The kernel console output, kernel config, syzkaller reproducer, and C
> > > reproducer are also attached to help with analysis.
> > >
> > > Please let me know if any further information is required.
> > >
> > > Best Regards,
> > > Jiaming Zhang
> >
> > Please just link to your dashboard, don't send a 1MB email to dozens
> > of people.
> >
> > --D
> 
Re: [Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Jiaming Zhang 2 weeks, 3 days ago
Darrick J. Wong <djwong@kernel.org> 于2026年1月22日周四 03:23写道:
>
> On Wed, Jan 21, 2026 at 06:14:06PM +0800, Jiaming Zhang wrote:
> > Darrick J. Wong <djwong@kernel.org> 于2026年1月21日周三 03:17写道:
> > >
> > > On Tue, Jan 20, 2026 at 06:13:44PM +0800, Jiaming Zhang wrote:
> > > > Dear Linux kernel developers and maintainers,
> > > >
> > > > We are writing to report a general protection fault discovered in the
> > > > xfs subsystem with our generated syzkaller specifications. This issue
> > > > is reproducible on the latest version of linux (v6.19-rc6, commit
> > > > 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
> > > > kernel is listed below (formatted by syz-symbolize):
> > > >
> > > > ---
> > > >
> > > > loop0: detected capacity change from 0 to 32768
> > > > XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > XFS (loop0): Ending clean mount
> > > > XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
> > > > 309, on filesystem "loop0"
> > > > Oops: general protection fault, probably for non-canonical address
> > > > 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
> > > > KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
> > > > CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
> > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > PKRU: 55555554
> > > > Call Trace:
> > > >  <TASK>
> > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > >  xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
> > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > RIP: 0033:0x45a879
> > > > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
> > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
> > > > RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
> > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
> > > > R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
> > > > R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
> > > >  </TASK>
> > > > Modules linked in:
> > > > ---[ end trace 0000000000000000 ]---
> > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > PKRU: 55555554
> > > > ----------------
> > > > Code disassembly (best guess):
> > > >    0: f2 00 66 43          repnz add %ah,0x43(%rsi)
> > > >    4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
> > > >    b: c6
> > > >    c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
> > > >   12: 44 39 fe              cmp    %r15d,%esi
> > > >   15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
> > > >   1a: 48 83 c3 48          add    $0x48,%rbx
> > > >   1e: 48 89 d8              mov    %rbx,%rax
> > > >   21: 48 c1 e8 03          shr    $0x3,%rax
> > > >   25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
> > > > * 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
> > > >   2f: 84 c0                test   %al,%al
> > > >   31: 0f 85 d6 11 00 00    jne    0x120d
> > > >   37: 44 0f b6 33          movzbl (%rbx),%r14d
> > > >   3b: 41 ff ce              dec    %r14d
> > > >   3e: bf                    .byte 0xbf
> > > >   3f: 53                    push   %rbx
> > > >
> > > > ---
> > > >
> > > > The root cause of this issue is that in xchk_btree(), where the
> > > > argument cur can be NULL but the function assume cur is not NULL,
> > > > leading to a NULL pointer dereference when accessing member
> > > > (https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).
> > > >
> > > > We can add a NULL check at the beginning of xchk_btree() to fix this issue:
> > > > ```
> > > > --- a/fs/xfs/scrub/btree.c
> > > > +++ b/fs/xfs/scrub/btree.c
> > > > @@ -693,6 +693,9 @@ xchk_btree(
> > > >   int level;
> > > >   int error = 0;
> > > >
> > > > + if (!cur)
> > > > + return -EINVAL;
> > >
> > > Uh, no, don't just fling EINVAL up to userspace.  Line 930 is the cntbt
> > > revalidation in xrep_revalidate_allocbt.  Why is that pointer
> > > 0xdffffc0000000009?  Did we somehow fail to allocate a cntbt cursor in
> > > xchk_ag_btcur_init?  Did that xchk_should_check_xref free it?  Did we
> > > fail to attach the AGF to sc->sa.agf_bp?
> >
> > Thanks for the feedback! I dug deeper into the root cause as you
> > suggested, here is what I found:
> >
> > (1) The program executes XFS_IOC_ERROR_INJECTION branch in
> > xfs_file_ioctl(), causes xfs_btree_check_block() to return
> > -EFSCORRUPTED, which consequently marks the AG as sick (via
> > xfs_btree_mark_sick).
>
> "marks the AG as sick" ... which structure, specifically?  I'm guessing
> XFS_SICK_AG_CNTBT from context, but it'd be useful to state these things
> from the data you've collected rather than relying on me to infer what's
> going on.
>
> > (2) Then, the program executes XFS_IOC_SCRUBV_METADATA branch in
> > xfs_file_ioctl(), the setup function (xchk_setup_ag_allocbt())
>
> Which scrub type is it calling, bnobt or cntbt?
>
> > attempts to initialize the cursor. However, the sick flag makes kernel
> > executes xchk_ag_btree_del_cursor_if_sick(), the cursor is freed and
> > nullified.
>
> Are you talking about the ->setup call after we've rebuilt both free
> space btrees, just prior to step three?  When that happens,
> xchk_ag_btree_del_cursor_if_sick will see the XREP_ALREADY_FIXED flag
> and mask out sc->sick_mask from mask:
>
>         /*
>          * If we just repaired some AG metadata, sc->sick_mask will reflect all
>          * the per-AG metadata types that were repaired.  Exclude these from
>          * the filesystem health query because we have not yet updated the
>          * health status and we want everything to be scanned.
>          */
>         if ((sc->flags & XREP_ALREADY_FIXED) &&
>             type_to_health_flag[sc->sm->sm_type].group == XHG_AG)
>                 mask &= ~sc->sick_mask;
>
> > (3) Lastly, the repair_eval function (xrep_revalidate_allocbt()) calls
> > xchk_allocbt(). Since xchk_allocbt() assumes the cursor is valid, it
> > passes the NULL pointer to xchk_btree, leading to the null-ptr-deref.
>
> Sure, but xrep_allocbt sets sc->sick_mask to XFS_SICK_AG_BNOBT |
> XFS_SICK_AG so any pre-existing bnobt or cntbt sick state in the
> xfs_group will be ignored and neither cursor will be deleted when
> setting up the revalidation.
>
> > Based on above analysis, I think sc->sa.cnt_cur being NULL is expected
> > when the AG is sick. I think the appropriate fix is to check NULL
> > inside xchk_allocbt():
> > ```
> > --- a/fs/xfs/scrub/alloc.c
> > +++ b/fs/xfs/scrub/alloc.c
> > @@ -170,6 +170,9 @@ xchk_allocbt(
> >         return -EIO;
> >     }
> >
> > +   if (!cur)
> > +       return -ENOENT;
>
> This is not correct either.  We've just rebuilt the bnobt and cntbt for
> the AG which means that cursors for both btrees should be loaded and
> ready for revalidation.
>
> I think you need to look into xchk_ag_btree_del_cursor_if_sick to figure
> out exactly what the xfs_group's sick state is, what @mask is, and what
> sc->sick_mask is, and from that figure out if it's really deleting the
> cntbt cursor.  This is made more difficult because XFS error injection
> is probabilistic so it could trigger on /any/ btree.
>
> --D
>
> > +
> >     return xchk_btree(sc, cur, xchk_allocbt_rec, &XFS_RMAP_OINFO_AG, &ca);
> >  }
> >  ```
> > What do you think? :)
> >
> > >
> > > >   /*
> > > >   * Allocate the btree scrub context from the heap, because this
> > > >   * structure can get rather large.  Don't let a caller feed us a
> > > > ```
> > > >
> > > > After applying changes above and re-running reproducer, another issues
> > > > is triggered:
> > > >
> > > > ---
> > > > TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner
> > > >
> > > > XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > XFS (loop6): Ending clean mount
> > > > ==================================================================
> > > > BUG: KASAN: slab-use-after-free in
> > > > xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > > Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096
> > > >
> > > > CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
> > > > #30 PREEMPT(full)
> > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > Call Trace:
> > > >  <TASK>
> > > >  __dump_stack lib/dump_stack.c:94 [inline]
> > > >  dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
> > > >  print_address_description mm/kasan/report.c:378 [inline]
> > > >  print_report+0x17e/0x810 mm/kasan/report.c:482
> > > >  kasan_report+0x147/0x180 mm/kasan/report.c:595
> > > >  xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > RIP: 0033:0x7f71bddb459d
> > > > Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
> > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> > > > RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
> > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
> > > > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> > > > R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
> > > >  </TASK>
> > > >
> > > > Allocated by task 14096:
> > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > >  unpoison_slab_object mm/kasan/common.c:340 [inline]
> > > >  __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
> > > >  kasan_slab_alloc include/linux/kasan.h:253 [inline]
> > > >  slab_post_alloc_hook mm/slub.c:4953 [inline]
> > > >  slab_alloc_node mm/slub.c:5263 [inline]
> > > >  kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
> > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > >  xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
> > > >  xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
> > > >  xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
> > > >  xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
> > > >  xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
> > > >  xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
> > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > >
> > > > Freed by task 14096:
> > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > >  kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
> > > >  poison_slab_object mm/kasan/common.c:253 [inline]
> > > >  __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
> > > >  kasan_slab_free include/linux/kasan.h:235 [inline]
> > > >  slab_free_hook mm/slub.c:2540 [inline]
> > > >  slab_free mm/slub.c:6670 [inline]
> > > >  kmem_cache_free+0x197/0x620 mm/slub.c:6781
> > > >  xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
> > > >  xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
> > > >  xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
> > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > >
> > > > The buggy address belongs to the object at ffff88806af035c8
> > > >  which belongs to the cache xfs_bnobt_cur of size 232
> > > > The buggy address is located 16 bytes inside of
> > > >  freed 232-byte region [ffff88806af035c8, ffff88806af036b0)
> > > >
> > > > The buggy address belongs to the physical page:
> > > > page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
> > > > ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
> > > > page_type: f5(slab)
> > > > raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
> > > > raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
> > > > page dumped because: kasan: bad access detected
> > > > page_owner tracks the page as allocated
> > > > page last allocated via order 0, migratetype Unmovable, gfp_mask
> > > > 0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
> > > > pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
> > > >  set_page_owner include/linux/page_owner.h:32 [inline]
> > > >  post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
> > > >  prep_new_page mm/page_alloc.c:1892 [inline]
> > > >  get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
> > > >  __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
> > > >  alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
> > > >  alloc_slab_page mm/slub.c:3075 [inline]
> > > >  allocate_slab+0x86/0x3b0 mm/slub.c:3248
> > > >  new_slab mm/slub.c:3302 [inline]
> > > >  ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
> > > >  __slab_alloc+0x65/0x100 mm/slub.c:4779
> > > >  __slab_alloc_node mm/slub.c:4855 [inline]
> > > >  slab_alloc_node mm/slub.c:5251 [inline]
> > > >  kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
> > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > >  xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
> > > >  xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
> > > >  __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
> > > >  xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
> > > >  xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
> > > >  xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
> > > >  xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
> > > >  xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
> > > > page last free pid 785 tgid 785 stack trace:
> > > >  reset_page_owner include/linux/page_owner.h:25 [inline]
> > > >  free_pages_prepare mm/page_alloc.c:1433 [inline]
> > > >  __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
> > > >  vfree+0x25a/0x400 mm/vmalloc.c:3466
> > > >  delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
> > > >  process_one_work kernel/workqueue.c:3257 [inline]
> > > >  process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
> > > >  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
> > > >  kthread+0x711/0x8a0 kernel/kthread.c:463
> > > >  ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
> > > >  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
> > > >
> > > > Memory state around the buggy address:
> > > >  ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
> > > >  ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > > >ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
> > > >                                                     ^
> > > >  ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > >  ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
> > > > ==================================================================
> > > > ---
> > > >
> > > > I also analyzed the root cause of this issue. In
> > > > xchk_btree_check_block_owner(), bs->cur is an alias for
> > > > bs->sc->sa.bnocur (or rmap_cur,
> > > > https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
> > > > The issue occurs when error injection triggers a failure path:
> > > >
> > > > 1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
> > > > 2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
> > > > non-zero error due to error injection
> > > > 3. Non-zero error causes xchk_should_check_xref() to free curpp (which
> > > > points to bs->sc->sa.bnocur).
> > > > 4. Memory pointed to by bs->cur is freed.
> > > >
> > > > Control returns to xchk_btree_check_block_owner(), which subsequently
> > > > accesses bs->cur->bc_ops, triggering the UAF.
> > > >
> > > > P.S. this issue can also be triggered independently by syzkaller using
> > > > our generated specs.
> > > >
> > > > To fix this issue, we can cache values of
> > > > xfs_btree_is_bno(bs->cur->bc_ops) and
> > > > xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
> > > > ```
> > > > --- a/fs/xfs/scrub/btree.c
> > > > +++ b/fs/xfs/scrub/btree.c
> > > > @@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
> > > >   xfs_agnumber_t agno;
> > > >   xfs_agblock_t agbno;
> > > >   bool init_sa;
> > > > + bool is_bno;
> > > > + bool is_rmap;
> > > >   int error = 0;
> > > >
> > > >   if (!bs->cur)
> > > > @@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
> > > >   agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
> > > >   agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);
> > > >
> > > > + is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
> > > > + is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
> > > > +
> > > >   /*
> > > >   * If the btree being examined is not itself a per-AG btree, initialize
> > > >   * sc->sa so that we can check for the presence of an ownership record
> > > > @@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
> > > >   * have to nullify it (to shut down further block owner checks) if
> > > >   * self-xref encounters problems.
> > > >   */
> > > > - if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
> > > > + if (!bs->sc->sa.bno_cur && is_bno)
> > > >   bs->cur = NULL;
> > > >
> > > >   xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
> > > > - if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
> > > > + if (!bs->sc->sa.rmap_cur && is_rmap)
> > >
> > > Indentation problems notwithstanding, that looks like a correct
> > > resolution to the UAF problem.
> > >
> > > >   bs->cur = NULL;
> > > >
> > > >  out_free:
> > > > ```
> > > >
> > > > After applying above changes, reproducer ran for ~35 minutes without
> > > > triggering any issues.
> > > >
> > > > If above solutions are acceptable, we are happy to submit patches :)
> > > >
> > > > The kernel console output, kernel config, syzkaller reproducer, and C
> > > > reproducer are also attached to help with analysis.
> > > >
> > > > Please let me know if any further information is required.
> > > >
> > > > Best Regards,
> > > > Jiaming Zhang
> > >
> > > Please just link to your dashboard, don't send a 1MB email to dozens
> > > of people.
> > >
> > > --D
> >

Hi Darrick,

I checked the execution path again and I have to apologize, my
analysis yesterday was partly incorrect.

I have new findings today that point how the cursor is nullified
during the revalidation. I detailed below.

In xrep_revalidate_allocbt(), xchk_allocbt() is called twice (first
for BNOBT, second for CNTBT). The cause of this issue is that the
first call nullified the cursor required by the second call.

Let's first enter xrep_revalidate_allocbt() via following call chain:

xfs_file_ioctl() ->
xfs_ioc_scrubv_metadata() ->
xfs_scrub_metadata() ->
`sc->ops->repair_eval(sc)` ->
xrep_revalidate_allocbt()

xchk_allocbt() is called twice in this function. In the first call:

/* Note that sc->sm->sm_type is XFS_SCRUB_TYPE_BNOPT now */
xchk_allocbt() ->
xchk_btree() ->
`bs->scrub_rec(bs, recp)` ->
xchk_allocbt_rec() ->
xchk_allocbt_xref() ->
xchk_allocbt_xref_other()

since sm_type is XFS_SCRUB_TYPE_BNOPT, pur is set to &sc->sa.cnt_cur.
Kernel called xfs_alloc_get_rec() and returned -EFSCORRUPTED. Call
chain:

xfs_alloc_get_rec() ->
xfs_btree_get_rec() ->
xfs_btree_check_block() ->
(XFS_IS_CORRUPT || XFS_TEST_ERROR), the former is false and the latter
is true, return -EFSCORRUPTED. This should be caused by
ioctl$XFS_IOC_ERROR_INJECTION I guess.

Back to xchk_allocbt_xref_other(), after receiving -EFSCORRUPTED from
xfs_alloc_get_rec(), kernel called xchk_should_check_xref(). In this
function, *curpp (points to sc->sa.cnt_cur) is nullified.

Back to xrep_revalidate_allocbt(), since sc->sa.cnt_cur has been
nullified, it then triggered null-ptr-deref via xchk_allocbt() (second
call) -> xchk_btree().

I noticed that at the beginning of xchk_should_check_xref(), it
checked whether xref should be skipped. Can this issue be fixed if
kernel skips xref in this case? I'm not sure.

I hope the analysis is helpful. Feel free to contact me if any further
information is needed.

Best Regards,
Jiaming Zhang
Re: [Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Darrick J. Wong 2 weeks, 2 days ago
On Thu, Jan 22, 2026 at 07:30:23PM +0800, Jiaming Zhang wrote:
> Darrick J. Wong <djwong@kernel.org> 于2026年1月22日周四 03:23写道:
> >
> > On Wed, Jan 21, 2026 at 06:14:06PM +0800, Jiaming Zhang wrote:
> > > Darrick J. Wong <djwong@kernel.org> 于2026年1月21日周三 03:17写道:
> > > >
> > > > On Tue, Jan 20, 2026 at 06:13:44PM +0800, Jiaming Zhang wrote:
> > > > > Dear Linux kernel developers and maintainers,
> > > > >
> > > > > We are writing to report a general protection fault discovered in the
> > > > > xfs subsystem with our generated syzkaller specifications. This issue
> > > > > is reproducible on the latest version of linux (v6.19-rc6, commit
> > > > > 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
> > > > > kernel is listed below (formatted by syz-symbolize):
> > > > >
> > > > > ---
> > > > >
> > > > > loop0: detected capacity change from 0 to 32768
> > > > > XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > > XFS (loop0): Ending clean mount
> > > > > XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
> > > > > 309, on filesystem "loop0"
> > > > > Oops: general protection fault, probably for non-canonical address
> > > > > 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
> > > > > KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
> > > > > CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
> > > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > > CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > > PKRU: 55555554
> > > > > Call Trace:
> > > > >  <TASK>
> > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > >  xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
> > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > RIP: 0033:0x45a879
> > > > > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
> > > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > > 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
> > > > > RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > > RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
> > > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > > RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
> > > > > R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
> > > > > R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
> > > > >  </TASK>
> > > > > Modules linked in:
> > > > > ---[ end trace 0000000000000000 ]---
> > > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > > CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > > PKRU: 55555554
> > > > > ----------------
> > > > > Code disassembly (best guess):
> > > > >    0: f2 00 66 43          repnz add %ah,0x43(%rsi)
> > > > >    4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
> > > > >    b: c6
> > > > >    c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
> > > > >   12: 44 39 fe              cmp    %r15d,%esi
> > > > >   15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
> > > > >   1a: 48 83 c3 48          add    $0x48,%rbx
> > > > >   1e: 48 89 d8              mov    %rbx,%rax
> > > > >   21: 48 c1 e8 03          shr    $0x3,%rax
> > > > >   25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
> > > > > * 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
> > > > >   2f: 84 c0                test   %al,%al
> > > > >   31: 0f 85 d6 11 00 00    jne    0x120d
> > > > >   37: 44 0f b6 33          movzbl (%rbx),%r14d
> > > > >   3b: 41 ff ce              dec    %r14d
> > > > >   3e: bf                    .byte 0xbf
> > > > >   3f: 53                    push   %rbx
> > > > >
> > > > > ---
> > > > >
> > > > > The root cause of this issue is that in xchk_btree(), where the
> > > > > argument cur can be NULL but the function assume cur is not NULL,
> > > > > leading to a NULL pointer dereference when accessing member
> > > > > (https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).
> > > > >
> > > > > We can add a NULL check at the beginning of xchk_btree() to fix this issue:
> > > > > ```
> > > > > --- a/fs/xfs/scrub/btree.c
> > > > > +++ b/fs/xfs/scrub/btree.c
> > > > > @@ -693,6 +693,9 @@ xchk_btree(
> > > > >   int level;
> > > > >   int error = 0;
> > > > >
> > > > > + if (!cur)
> > > > > + return -EINVAL;
> > > >
> > > > Uh, no, don't just fling EINVAL up to userspace.  Line 930 is the cntbt
> > > > revalidation in xrep_revalidate_allocbt.  Why is that pointer
> > > > 0xdffffc0000000009?  Did we somehow fail to allocate a cntbt cursor in
> > > > xchk_ag_btcur_init?  Did that xchk_should_check_xref free it?  Did we
> > > > fail to attach the AGF to sc->sa.agf_bp?
> > >
> > > Thanks for the feedback! I dug deeper into the root cause as you
> > > suggested, here is what I found:
> > >
> > > (1) The program executes XFS_IOC_ERROR_INJECTION branch in
> > > xfs_file_ioctl(), causes xfs_btree_check_block() to return
> > > -EFSCORRUPTED, which consequently marks the AG as sick (via
> > > xfs_btree_mark_sick).
> >
> > "marks the AG as sick" ... which structure, specifically?  I'm guessing
> > XFS_SICK_AG_CNTBT from context, but it'd be useful to state these things
> > from the data you've collected rather than relying on me to infer what's
> > going on.
> >
> > > (2) Then, the program executes XFS_IOC_SCRUBV_METADATA branch in
> > > xfs_file_ioctl(), the setup function (xchk_setup_ag_allocbt())
> >
> > Which scrub type is it calling, bnobt or cntbt?
> >
> > > attempts to initialize the cursor. However, the sick flag makes kernel
> > > executes xchk_ag_btree_del_cursor_if_sick(), the cursor is freed and
> > > nullified.
> >
> > Are you talking about the ->setup call after we've rebuilt both free
> > space btrees, just prior to step three?  When that happens,
> > xchk_ag_btree_del_cursor_if_sick will see the XREP_ALREADY_FIXED flag
> > and mask out sc->sick_mask from mask:
> >
> >         /*
> >          * If we just repaired some AG metadata, sc->sick_mask will reflect all
> >          * the per-AG metadata types that were repaired.  Exclude these from
> >          * the filesystem health query because we have not yet updated the
> >          * health status and we want everything to be scanned.
> >          */
> >         if ((sc->flags & XREP_ALREADY_FIXED) &&
> >             type_to_health_flag[sc->sm->sm_type].group == XHG_AG)
> >                 mask &= ~sc->sick_mask;
> >
> > > (3) Lastly, the repair_eval function (xrep_revalidate_allocbt()) calls
> > > xchk_allocbt(). Since xchk_allocbt() assumes the cursor is valid, it
> > > passes the NULL pointer to xchk_btree, leading to the null-ptr-deref.
> >
> > Sure, but xrep_allocbt sets sc->sick_mask to XFS_SICK_AG_BNOBT |
> > XFS_SICK_AG so any pre-existing bnobt or cntbt sick state in the
> > xfs_group will be ignored and neither cursor will be deleted when
> > setting up the revalidation.
> >
> > > Based on above analysis, I think sc->sa.cnt_cur being NULL is expected
> > > when the AG is sick. I think the appropriate fix is to check NULL
> > > inside xchk_allocbt():
> > > ```
> > > --- a/fs/xfs/scrub/alloc.c
> > > +++ b/fs/xfs/scrub/alloc.c
> > > @@ -170,6 +170,9 @@ xchk_allocbt(
> > >         return -EIO;
> > >     }
> > >
> > > +   if (!cur)
> > > +       return -ENOENT;
> >
> > This is not correct either.  We've just rebuilt the bnobt and cntbt for
> > the AG which means that cursors for both btrees should be loaded and
> > ready for revalidation.
> >
> > I think you need to look into xchk_ag_btree_del_cursor_if_sick to figure
> > out exactly what the xfs_group's sick state is, what @mask is, and what
> > sc->sick_mask is, and from that figure out if it's really deleting the
> > cntbt cursor.  This is made more difficult because XFS error injection
> > is probabilistic so it could trigger on /any/ btree.
> >
> > --D
> >
> > > +
> > >     return xchk_btree(sc, cur, xchk_allocbt_rec, &XFS_RMAP_OINFO_AG, &ca);
> > >  }
> > >  ```
> > > What do you think? :)
> > >
> > > >
> > > > >   /*
> > > > >   * Allocate the btree scrub context from the heap, because this
> > > > >   * structure can get rather large.  Don't let a caller feed us a
> > > > > ```
> > > > >
> > > > > After applying changes above and re-running reproducer, another issues
> > > > > is triggered:
> > > > >
> > > > > ---
> > > > > TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner
> > > > >
> > > > > XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > > XFS (loop6): Ending clean mount
> > > > > ==================================================================
> > > > > BUG: KASAN: slab-use-after-free in
> > > > > xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > > > Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096
> > > > >
> > > > > CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
> > > > > #30 PREEMPT(full)
> > > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > > Call Trace:
> > > > >  <TASK>
> > > > >  __dump_stack lib/dump_stack.c:94 [inline]
> > > > >  dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
> > > > >  print_address_description mm/kasan/report.c:378 [inline]
> > > > >  print_report+0x17e/0x810 mm/kasan/report.c:482
> > > > >  kasan_report+0x147/0x180 mm/kasan/report.c:595
> > > > >  xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > RIP: 0033:0x7f71bddb459d
> > > > > Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
> > > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > > 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> > > > > RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > > RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
> > > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > > RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
> > > > > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> > > > > R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
> > > > >  </TASK>
> > > > >
> > > > > Allocated by task 14096:
> > > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > > >  unpoison_slab_object mm/kasan/common.c:340 [inline]
> > > > >  __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
> > > > >  kasan_slab_alloc include/linux/kasan.h:253 [inline]
> > > > >  slab_post_alloc_hook mm/slub.c:4953 [inline]
> > > > >  slab_alloc_node mm/slub.c:5263 [inline]
> > > > >  kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
> > > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > > >  xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
> > > > >  xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
> > > > >  xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
> > > > >  xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
> > > > >  xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
> > > > >  xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
> > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > >
> > > > > Freed by task 14096:
> > > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > > >  kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
> > > > >  poison_slab_object mm/kasan/common.c:253 [inline]
> > > > >  __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
> > > > >  kasan_slab_free include/linux/kasan.h:235 [inline]
> > > > >  slab_free_hook mm/slub.c:2540 [inline]
> > > > >  slab_free mm/slub.c:6670 [inline]
> > > > >  kmem_cache_free+0x197/0x620 mm/slub.c:6781
> > > > >  xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
> > > > >  xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
> > > > >  xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
> > > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > >
> > > > > The buggy address belongs to the object at ffff88806af035c8
> > > > >  which belongs to the cache xfs_bnobt_cur of size 232
> > > > > The buggy address is located 16 bytes inside of
> > > > >  freed 232-byte region [ffff88806af035c8, ffff88806af036b0)
> > > > >
> > > > > The buggy address belongs to the physical page:
> > > > > page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
> > > > > ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
> > > > > page_type: f5(slab)
> > > > > raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
> > > > > raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
> > > > > page dumped because: kasan: bad access detected
> > > > > page_owner tracks the page as allocated
> > > > > page last allocated via order 0, migratetype Unmovable, gfp_mask
> > > > > 0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
> > > > > pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
> > > > >  set_page_owner include/linux/page_owner.h:32 [inline]
> > > > >  post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
> > > > >  prep_new_page mm/page_alloc.c:1892 [inline]
> > > > >  get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
> > > > >  __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
> > > > >  alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
> > > > >  alloc_slab_page mm/slub.c:3075 [inline]
> > > > >  allocate_slab+0x86/0x3b0 mm/slub.c:3248
> > > > >  new_slab mm/slub.c:3302 [inline]
> > > > >  ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
> > > > >  __slab_alloc+0x65/0x100 mm/slub.c:4779
> > > > >  __slab_alloc_node mm/slub.c:4855 [inline]
> > > > >  slab_alloc_node mm/slub.c:5251 [inline]
> > > > >  kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
> > > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > > >  xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
> > > > >  xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
> > > > >  __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
> > > > >  xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
> > > > >  xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
> > > > >  xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
> > > > >  xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
> > > > >  xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
> > > > > page last free pid 785 tgid 785 stack trace:
> > > > >  reset_page_owner include/linux/page_owner.h:25 [inline]
> > > > >  free_pages_prepare mm/page_alloc.c:1433 [inline]
> > > > >  __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
> > > > >  vfree+0x25a/0x400 mm/vmalloc.c:3466
> > > > >  delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
> > > > >  process_one_work kernel/workqueue.c:3257 [inline]
> > > > >  process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
> > > > >  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
> > > > >  kthread+0x711/0x8a0 kernel/kthread.c:463
> > > > >  ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
> > > > >  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
> > > > >
> > > > > Memory state around the buggy address:
> > > > >  ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
> > > > >  ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > > > >ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
> > > > >                                                     ^
> > > > >  ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > > >  ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
> > > > > ==================================================================
> > > > > ---
> > > > >
> > > > > I also analyzed the root cause of this issue. In
> > > > > xchk_btree_check_block_owner(), bs->cur is an alias for
> > > > > bs->sc->sa.bnocur (or rmap_cur,
> > > > > https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
> > > > > The issue occurs when error injection triggers a failure path:
> > > > >
> > > > > 1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
> > > > > 2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
> > > > > non-zero error due to error injection
> > > > > 3. Non-zero error causes xchk_should_check_xref() to free curpp (which
> > > > > points to bs->sc->sa.bnocur).
> > > > > 4. Memory pointed to by bs->cur is freed.
> > > > >
> > > > > Control returns to xchk_btree_check_block_owner(), which subsequently
> > > > > accesses bs->cur->bc_ops, triggering the UAF.
> > > > >
> > > > > P.S. this issue can also be triggered independently by syzkaller using
> > > > > our generated specs.
> > > > >
> > > > > To fix this issue, we can cache values of
> > > > > xfs_btree_is_bno(bs->cur->bc_ops) and
> > > > > xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
> > > > > ```
> > > > > --- a/fs/xfs/scrub/btree.c
> > > > > +++ b/fs/xfs/scrub/btree.c
> > > > > @@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
> > > > >   xfs_agnumber_t agno;
> > > > >   xfs_agblock_t agbno;
> > > > >   bool init_sa;
> > > > > + bool is_bno;
> > > > > + bool is_rmap;
> > > > >   int error = 0;
> > > > >
> > > > >   if (!bs->cur)
> > > > > @@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
> > > > >   agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
> > > > >   agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);
> > > > >
> > > > > + is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
> > > > > + is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
> > > > > +
> > > > >   /*
> > > > >   * If the btree being examined is not itself a per-AG btree, initialize
> > > > >   * sc->sa so that we can check for the presence of an ownership record
> > > > > @@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
> > > > >   * have to nullify it (to shut down further block owner checks) if
> > > > >   * self-xref encounters problems.
> > > > >   */
> > > > > - if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
> > > > > + if (!bs->sc->sa.bno_cur && is_bno)
> > > > >   bs->cur = NULL;
> > > > >
> > > > >   xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
> > > > > - if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
> > > > > + if (!bs->sc->sa.rmap_cur && is_rmap)
> > > >
> > > > Indentation problems notwithstanding, that looks like a correct
> > > > resolution to the UAF problem.
> > > >
> > > > >   bs->cur = NULL;
> > > > >
> > > > >  out_free:
> > > > > ```
> > > > >
> > > > > After applying above changes, reproducer ran for ~35 minutes without
> > > > > triggering any issues.
> > > > >
> > > > > If above solutions are acceptable, we are happy to submit patches :)
> > > > >
> > > > > The kernel console output, kernel config, syzkaller reproducer, and C
> > > > > reproducer are also attached to help with analysis.
> > > > >
> > > > > Please let me know if any further information is required.
> > > > >
> > > > > Best Regards,
> > > > > Jiaming Zhang
> > > >
> > > > Please just link to your dashboard, don't send a 1MB email to dozens
> > > > of people.
> > > >
> > > > --D
> > >
> 
> Hi Darrick,
> 
> I checked the execution path again and I have to apologize, my
> analysis yesterday was partly incorrect.
> 
> I have new findings today that point how the cursor is nullified
> during the revalidation. I detailed below.
> 
> In xrep_revalidate_allocbt(), xchk_allocbt() is called twice (first
> for BNOBT, second for CNTBT). The cause of this issue is that the
> first call nullified the cursor required by the second call.
> 
> Let's first enter xrep_revalidate_allocbt() via following call chain:
> 
> xfs_file_ioctl() ->
> xfs_ioc_scrubv_metadata() ->
> xfs_scrub_metadata() ->
> `sc->ops->repair_eval(sc)` ->
> xrep_revalidate_allocbt()
> 
> xchk_allocbt() is called twice in this function. In the first call:
> 
> /* Note that sc->sm->sm_type is XFS_SCRUB_TYPE_BNOPT now */
> xchk_allocbt() ->
> xchk_btree() ->
> `bs->scrub_rec(bs, recp)` ->
> xchk_allocbt_rec() ->
> xchk_allocbt_xref() ->
> xchk_allocbt_xref_other()
> 
> since sm_type is XFS_SCRUB_TYPE_BNOPT, pur is set to &sc->sa.cnt_cur.
> Kernel called xfs_alloc_get_rec() and returned -EFSCORRUPTED. Call
> chain:
> 
> xfs_alloc_get_rec() ->
> xfs_btree_get_rec() ->
> xfs_btree_check_block() ->
> (XFS_IS_CORRUPT || XFS_TEST_ERROR), the former is false and the latter
> is true, return -EFSCORRUPTED. This should be caused by
> ioctl$XFS_IOC_ERROR_INJECTION I guess.

Ah, that's how it happens.  The error gets injected during the
revalidation of a bnobt that involved the cntbt btree, so the cntbt
cursor gets deleted.

> Back to xchk_allocbt_xref_other(), after receiving -EFSCORRUPTED from
> xfs_alloc_get_rec(), kernel called xchk_should_check_xref(). In this
> function, *curpp (points to sc->sa.cnt_cur) is nullified.
> 
> Back to xrep_revalidate_allocbt(), since sc->sa.cnt_cur has been
> nullified, it then triggered null-ptr-deref via xchk_allocbt() (second
> call) -> xchk_btree().

Yep.  So you're right, the revalidation needs to check for
sc->sa.cnt_cur==NULL before calling xchk_allocbt a second time.

> I noticed that at the beginning of xchk_should_check_xref(), it
> checked whether xref should be skipped. Can this issue be fixed if
> kernel skips xref in this case? I'm not sure.
> 
> I hope the analysis is helpful. Feel free to contact me if any further
> information is needed.

That was very helpful.  Could you please take a look at the proposed
fixes that I'm about to send?

--D

> 
> Best Regards,
> Jiaming Zhang
Re: [Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Jiaming Zhang 2 weeks, 2 days ago
Darrick J. Wong <djwong@kernel.org> 于2026年1月23日周五 07:10写道:
>
> On Thu, Jan 22, 2026 at 07:30:23PM +0800, Jiaming Zhang wrote:
> > Darrick J. Wong <djwong@kernel.org> 于2026年1月22日周四 03:23写道:
> > >
> > > On Wed, Jan 21, 2026 at 06:14:06PM +0800, Jiaming Zhang wrote:
> > > > Darrick J. Wong <djwong@kernel.org> 于2026年1月21日周三 03:17写道:
> > > > >
> > > > > On Tue, Jan 20, 2026 at 06:13:44PM +0800, Jiaming Zhang wrote:
> > > > > > Dear Linux kernel developers and maintainers,
> > > > > >
> > > > > > We are writing to report a general protection fault discovered in the
> > > > > > xfs subsystem with our generated syzkaller specifications. This issue
> > > > > > is reproducible on the latest version of linux (v6.19-rc6, commit
> > > > > > 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
> > > > > > kernel is listed below (formatted by syz-symbolize):
> > > > > >
> > > > > > ---
> > > > > >
> > > > > > loop0: detected capacity change from 0 to 32768
> > > > > > XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > > > XFS (loop0): Ending clean mount
> > > > > > XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
> > > > > > 309, on filesystem "loop0"
> > > > > > Oops: general protection fault, probably for non-canonical address
> > > > > > 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
> > > > > > KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
> > > > > > CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
> > > > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > > > CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > > > PKRU: 55555554
> > > > > > Call Trace:
> > > > > >  <TASK>
> > > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > > >  xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
> > > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > > RIP: 0033:0x45a879
> > > > > > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
> > > > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > > > 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
> > > > > > RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > > > RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
> > > > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > > > RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
> > > > > > R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
> > > > > > R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
> > > > > >  </TASK>
> > > > > > Modules linked in:
> > > > > > ---[ end trace 0000000000000000 ]---
> > > > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > > > CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > > > PKRU: 55555554
> > > > > > ----------------
> > > > > > Code disassembly (best guess):
> > > > > >    0: f2 00 66 43          repnz add %ah,0x43(%rsi)
> > > > > >    4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
> > > > > >    b: c6
> > > > > >    c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
> > > > > >   12: 44 39 fe              cmp    %r15d,%esi
> > > > > >   15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
> > > > > >   1a: 48 83 c3 48          add    $0x48,%rbx
> > > > > >   1e: 48 89 d8              mov    %rbx,%rax
> > > > > >   21: 48 c1 e8 03          shr    $0x3,%rax
> > > > > >   25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
> > > > > > * 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
> > > > > >   2f: 84 c0                test   %al,%al
> > > > > >   31: 0f 85 d6 11 00 00    jne    0x120d
> > > > > >   37: 44 0f b6 33          movzbl (%rbx),%r14d
> > > > > >   3b: 41 ff ce              dec    %r14d
> > > > > >   3e: bf                    .byte 0xbf
> > > > > >   3f: 53                    push   %rbx
> > > > > >
> > > > > > ---
> > > > > >
> > > > > > The root cause of this issue is that in xchk_btree(), where the
> > > > > > argument cur can be NULL but the function assume cur is not NULL,
> > > > > > leading to a NULL pointer dereference when accessing member
> > > > > > (https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).
> > > > > >
> > > > > > We can add a NULL check at the beginning of xchk_btree() to fix this issue:
> > > > > > ```
> > > > > > --- a/fs/xfs/scrub/btree.c
> > > > > > +++ b/fs/xfs/scrub/btree.c
> > > > > > @@ -693,6 +693,9 @@ xchk_btree(
> > > > > >   int level;
> > > > > >   int error = 0;
> > > > > >
> > > > > > + if (!cur)
> > > > > > + return -EINVAL;
> > > > >
> > > > > Uh, no, don't just fling EINVAL up to userspace.  Line 930 is the cntbt
> > > > > revalidation in xrep_revalidate_allocbt.  Why is that pointer
> > > > > 0xdffffc0000000009?  Did we somehow fail to allocate a cntbt cursor in
> > > > > xchk_ag_btcur_init?  Did that xchk_should_check_xref free it?  Did we
> > > > > fail to attach the AGF to sc->sa.agf_bp?
> > > >
> > > > Thanks for the feedback! I dug deeper into the root cause as you
> > > > suggested, here is what I found:
> > > >
> > > > (1) The program executes XFS_IOC_ERROR_INJECTION branch in
> > > > xfs_file_ioctl(), causes xfs_btree_check_block() to return
> > > > -EFSCORRUPTED, which consequently marks the AG as sick (via
> > > > xfs_btree_mark_sick).
> > >
> > > "marks the AG as sick" ... which structure, specifically?  I'm guessing
> > > XFS_SICK_AG_CNTBT from context, but it'd be useful to state these things
> > > from the data you've collected rather than relying on me to infer what's
> > > going on.
> > >
> > > > (2) Then, the program executes XFS_IOC_SCRUBV_METADATA branch in
> > > > xfs_file_ioctl(), the setup function (xchk_setup_ag_allocbt())
> > >
> > > Which scrub type is it calling, bnobt or cntbt?
> > >
> > > > attempts to initialize the cursor. However, the sick flag makes kernel
> > > > executes xchk_ag_btree_del_cursor_if_sick(), the cursor is freed and
> > > > nullified.
> > >
> > > Are you talking about the ->setup call after we've rebuilt both free
> > > space btrees, just prior to step three?  When that happens,
> > > xchk_ag_btree_del_cursor_if_sick will see the XREP_ALREADY_FIXED flag
> > > and mask out sc->sick_mask from mask:
> > >
> > >         /*
> > >          * If we just repaired some AG metadata, sc->sick_mask will reflect all
> > >          * the per-AG metadata types that were repaired.  Exclude these from
> > >          * the filesystem health query because we have not yet updated the
> > >          * health status and we want everything to be scanned.
> > >          */
> > >         if ((sc->flags & XREP_ALREADY_FIXED) &&
> > >             type_to_health_flag[sc->sm->sm_type].group == XHG_AG)
> > >                 mask &= ~sc->sick_mask;
> > >
> > > > (3) Lastly, the repair_eval function (xrep_revalidate_allocbt()) calls
> > > > xchk_allocbt(). Since xchk_allocbt() assumes the cursor is valid, it
> > > > passes the NULL pointer to xchk_btree, leading to the null-ptr-deref.
> > >
> > > Sure, but xrep_allocbt sets sc->sick_mask to XFS_SICK_AG_BNOBT |
> > > XFS_SICK_AG so any pre-existing bnobt or cntbt sick state in the
> > > xfs_group will be ignored and neither cursor will be deleted when
> > > setting up the revalidation.
> > >
> > > > Based on above analysis, I think sc->sa.cnt_cur being NULL is expected
> > > > when the AG is sick. I think the appropriate fix is to check NULL
> > > > inside xchk_allocbt():
> > > > ```
> > > > --- a/fs/xfs/scrub/alloc.c
> > > > +++ b/fs/xfs/scrub/alloc.c
> > > > @@ -170,6 +170,9 @@ xchk_allocbt(
> > > >         return -EIO;
> > > >     }
> > > >
> > > > +   if (!cur)
> > > > +       return -ENOENT;
> > >
> > > This is not correct either.  We've just rebuilt the bnobt and cntbt for
> > > the AG which means that cursors for both btrees should be loaded and
> > > ready for revalidation.
> > >
> > > I think you need to look into xchk_ag_btree_del_cursor_if_sick to figure
> > > out exactly what the xfs_group's sick state is, what @mask is, and what
> > > sc->sick_mask is, and from that figure out if it's really deleting the
> > > cntbt cursor.  This is made more difficult because XFS error injection
> > > is probabilistic so it could trigger on /any/ btree.
> > >
> > > --D
> > >
> > > > +
> > > >     return xchk_btree(sc, cur, xchk_allocbt_rec, &XFS_RMAP_OINFO_AG, &ca);
> > > >  }
> > > >  ```
> > > > What do you think? :)
> > > >
> > > > >
> > > > > >   /*
> > > > > >   * Allocate the btree scrub context from the heap, because this
> > > > > >   * structure can get rather large.  Don't let a caller feed us a
> > > > > > ```
> > > > > >
> > > > > > After applying changes above and re-running reproducer, another issues
> > > > > > is triggered:
> > > > > >
> > > > > > ---
> > > > > > TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner
> > > > > >
> > > > > > XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > > > XFS (loop6): Ending clean mount
> > > > > > ==================================================================
> > > > > > BUG: KASAN: slab-use-after-free in
> > > > > > xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > > > > Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096
> > > > > >
> > > > > > CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
> > > > > > #30 PREEMPT(full)
> > > > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > > > Call Trace:
> > > > > >  <TASK>
> > > > > >  __dump_stack lib/dump_stack.c:94 [inline]
> > > > > >  dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
> > > > > >  print_address_description mm/kasan/report.c:378 [inline]
> > > > > >  print_report+0x17e/0x810 mm/kasan/report.c:482
> > > > > >  kasan_report+0x147/0x180 mm/kasan/report.c:595
> > > > > >  xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > > RIP: 0033:0x7f71bddb459d
> > > > > > Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
> > > > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > > > 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> > > > > > RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > > > RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
> > > > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > > > RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
> > > > > > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> > > > > > R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
> > > > > >  </TASK>
> > > > > >
> > > > > > Allocated by task 14096:
> > > > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > > > >  unpoison_slab_object mm/kasan/common.c:340 [inline]
> > > > > >  __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
> > > > > >  kasan_slab_alloc include/linux/kasan.h:253 [inline]
> > > > > >  slab_post_alloc_hook mm/slub.c:4953 [inline]
> > > > > >  slab_alloc_node mm/slub.c:5263 [inline]
> > > > > >  kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
> > > > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > > > >  xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
> > > > > >  xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
> > > > > >  xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
> > > > > >  xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
> > > > > >  xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
> > > > > >  xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
> > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > >
> > > > > > Freed by task 14096:
> > > > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > > > >  kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
> > > > > >  poison_slab_object mm/kasan/common.c:253 [inline]
> > > > > >  __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
> > > > > >  kasan_slab_free include/linux/kasan.h:235 [inline]
> > > > > >  slab_free_hook mm/slub.c:2540 [inline]
> > > > > >  slab_free mm/slub.c:6670 [inline]
> > > > > >  kmem_cache_free+0x197/0x620 mm/slub.c:6781
> > > > > >  xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
> > > > > >  xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
> > > > > >  xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
> > > > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > >
> > > > > > The buggy address belongs to the object at ffff88806af035c8
> > > > > >  which belongs to the cache xfs_bnobt_cur of size 232
> > > > > > The buggy address is located 16 bytes inside of
> > > > > >  freed 232-byte region [ffff88806af035c8, ffff88806af036b0)
> > > > > >
> > > > > > The buggy address belongs to the physical page:
> > > > > > page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
> > > > > > ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
> > > > > > page_type: f5(slab)
> > > > > > raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
> > > > > > raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
> > > > > > page dumped because: kasan: bad access detected
> > > > > > page_owner tracks the page as allocated
> > > > > > page last allocated via order 0, migratetype Unmovable, gfp_mask
> > > > > > 0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
> > > > > > pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
> > > > > >  set_page_owner include/linux/page_owner.h:32 [inline]
> > > > > >  post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
> > > > > >  prep_new_page mm/page_alloc.c:1892 [inline]
> > > > > >  get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
> > > > > >  __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
> > > > > >  alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
> > > > > >  alloc_slab_page mm/slub.c:3075 [inline]
> > > > > >  allocate_slab+0x86/0x3b0 mm/slub.c:3248
> > > > > >  new_slab mm/slub.c:3302 [inline]
> > > > > >  ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
> > > > > >  __slab_alloc+0x65/0x100 mm/slub.c:4779
> > > > > >  __slab_alloc_node mm/slub.c:4855 [inline]
> > > > > >  slab_alloc_node mm/slub.c:5251 [inline]
> > > > > >  kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
> > > > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > > > >  xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
> > > > > >  xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
> > > > > >  __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
> > > > > >  xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
> > > > > >  xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
> > > > > >  xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
> > > > > >  xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
> > > > > >  xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
> > > > > > page last free pid 785 tgid 785 stack trace:
> > > > > >  reset_page_owner include/linux/page_owner.h:25 [inline]
> > > > > >  free_pages_prepare mm/page_alloc.c:1433 [inline]
> > > > > >  __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
> > > > > >  vfree+0x25a/0x400 mm/vmalloc.c:3466
> > > > > >  delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
> > > > > >  process_one_work kernel/workqueue.c:3257 [inline]
> > > > > >  process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
> > > > > >  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
> > > > > >  kthread+0x711/0x8a0 kernel/kthread.c:463
> > > > > >  ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
> > > > > >  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
> > > > > >
> > > > > > Memory state around the buggy address:
> > > > > >  ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
> > > > > >  ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > > > > >ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
> > > > > >                                                     ^
> > > > > >  ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > > > >  ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
> > > > > > ==================================================================
> > > > > > ---
> > > > > >
> > > > > > I also analyzed the root cause of this issue. In
> > > > > > xchk_btree_check_block_owner(), bs->cur is an alias for
> > > > > > bs->sc->sa.bnocur (or rmap_cur,
> > > > > > https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
> > > > > > The issue occurs when error injection triggers a failure path:
> > > > > >
> > > > > > 1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
> > > > > > 2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
> > > > > > non-zero error due to error injection
> > > > > > 3. Non-zero error causes xchk_should_check_xref() to free curpp (which
> > > > > > points to bs->sc->sa.bnocur).
> > > > > > 4. Memory pointed to by bs->cur is freed.
> > > > > >
> > > > > > Control returns to xchk_btree_check_block_owner(), which subsequently
> > > > > > accesses bs->cur->bc_ops, triggering the UAF.
> > > > > >
> > > > > > P.S. this issue can also be triggered independently by syzkaller using
> > > > > > our generated specs.
> > > > > >
> > > > > > To fix this issue, we can cache values of
> > > > > > xfs_btree_is_bno(bs->cur->bc_ops) and
> > > > > > xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
> > > > > > ```
> > > > > > --- a/fs/xfs/scrub/btree.c
> > > > > > +++ b/fs/xfs/scrub/btree.c
> > > > > > @@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
> > > > > >   xfs_agnumber_t agno;
> > > > > >   xfs_agblock_t agbno;
> > > > > >   bool init_sa;
> > > > > > + bool is_bno;
> > > > > > + bool is_rmap;
> > > > > >   int error = 0;
> > > > > >
> > > > > >   if (!bs->cur)
> > > > > > @@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
> > > > > >   agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
> > > > > >   agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);
> > > > > >
> > > > > > + is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
> > > > > > + is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
> > > > > > +
> > > > > >   /*
> > > > > >   * If the btree being examined is not itself a per-AG btree, initialize
> > > > > >   * sc->sa so that we can check for the presence of an ownership record
> > > > > > @@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
> > > > > >   * have to nullify it (to shut down further block owner checks) if
> > > > > >   * self-xref encounters problems.
> > > > > >   */
> > > > > > - if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
> > > > > > + if (!bs->sc->sa.bno_cur && is_bno)
> > > > > >   bs->cur = NULL;
> > > > > >
> > > > > >   xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
> > > > > > - if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
> > > > > > + if (!bs->sc->sa.rmap_cur && is_rmap)
> > > > >
> > > > > Indentation problems notwithstanding, that looks like a correct
> > > > > resolution to the UAF problem.
> > > > >
> > > > > >   bs->cur = NULL;
> > > > > >
> > > > > >  out_free:
> > > > > > ```
> > > > > >
> > > > > > After applying above changes, reproducer ran for ~35 minutes without
> > > > > > triggering any issues.
> > > > > >
> > > > > > If above solutions are acceptable, we are happy to submit patches :)
> > > > > >
> > > > > > The kernel console output, kernel config, syzkaller reproducer, and C
> > > > > > reproducer are also attached to help with analysis.
> > > > > >
> > > > > > Please let me know if any further information is required.
> > > > > >
> > > > > > Best Regards,
> > > > > > Jiaming Zhang
> > > > >
> > > > > Please just link to your dashboard, don't send a 1MB email to dozens
> > > > > of people.
> > > > >
> > > > > --D
> > > >
> >
> > Hi Darrick,
> >
> > I checked the execution path again and I have to apologize, my
> > analysis yesterday was partly incorrect.
> >
> > I have new findings today that point how the cursor is nullified
> > during the revalidation. I detailed below.
> >
> > In xrep_revalidate_allocbt(), xchk_allocbt() is called twice (first
> > for BNOBT, second for CNTBT). The cause of this issue is that the
> > first call nullified the cursor required by the second call.
> >
> > Let's first enter xrep_revalidate_allocbt() via following call chain:
> >
> > xfs_file_ioctl() ->
> > xfs_ioc_scrubv_metadata() ->
> > xfs_scrub_metadata() ->
> > `sc->ops->repair_eval(sc)` ->
> > xrep_revalidate_allocbt()
> >
> > xchk_allocbt() is called twice in this function. In the first call:
> >
> > /* Note that sc->sm->sm_type is XFS_SCRUB_TYPE_BNOPT now */
> > xchk_allocbt() ->
> > xchk_btree() ->
> > `bs->scrub_rec(bs, recp)` ->
> > xchk_allocbt_rec() ->
> > xchk_allocbt_xref() ->
> > xchk_allocbt_xref_other()
> >
> > since sm_type is XFS_SCRUB_TYPE_BNOPT, pur is set to &sc->sa.cnt_cur.
> > Kernel called xfs_alloc_get_rec() and returned -EFSCORRUPTED. Call
> > chain:
> >
> > xfs_alloc_get_rec() ->
> > xfs_btree_get_rec() ->
> > xfs_btree_check_block() ->
> > (XFS_IS_CORRUPT || XFS_TEST_ERROR), the former is false and the latter
> > is true, return -EFSCORRUPTED. This should be caused by
> > ioctl$XFS_IOC_ERROR_INJECTION I guess.
>
> Ah, that's how it happens.  The error gets injected during the
> revalidation of a bnobt that involved the cntbt btree, so the cntbt
> cursor gets deleted.
>
> > Back to xchk_allocbt_xref_other(), after receiving -EFSCORRUPTED from
> > xfs_alloc_get_rec(), kernel called xchk_should_check_xref(). In this
> > function, *curpp (points to sc->sa.cnt_cur) is nullified.
> >
> > Back to xrep_revalidate_allocbt(), since sc->sa.cnt_cur has been
> > nullified, it then triggered null-ptr-deref via xchk_allocbt() (second
> > call) -> xchk_btree().
>
> Yep.  So you're right, the revalidation needs to check for
> sc->sa.cnt_cur==NULL before calling xchk_allocbt a second time.

Sounds good to me. Thanks for your work on XFS :)

>
> > I noticed that at the beginning of xchk_should_check_xref(), it
> > checked whether xref should be skipped. Can this issue be fixed if
> > kernel skips xref in this case? I'm not sure.
> >
> > I hope the analysis is helpful. Feel free to contact me if any further
> > information is needed.
>
> That was very helpful.  Could you please take a look at the proposed
> fixes that I'm about to send?
>
> --D
>
> >
> > Best Regards,
> > Jiaming Zhang
Re: [Linux Kernel Bugs] general protection fault in xchk_btree and another slab-use-after-free issue
Posted by Darrick J. Wong 2 weeks, 2 days ago
On Fri, Jan 23, 2026 at 10:08:57AM +0800, Jiaming Zhang wrote:
> Darrick J. Wong <djwong@kernel.org> 于2026年1月23日周五 07:10写道:
> >
> > On Thu, Jan 22, 2026 at 07:30:23PM +0800, Jiaming Zhang wrote:
> > > Darrick J. Wong <djwong@kernel.org> 于2026年1月22日周四 03:23写道:
> > > >
> > > > On Wed, Jan 21, 2026 at 06:14:06PM +0800, Jiaming Zhang wrote:
> > > > > Darrick J. Wong <djwong@kernel.org> 于2026年1月21日周三 03:17写道:
> > > > > >
> > > > > > On Tue, Jan 20, 2026 at 06:13:44PM +0800, Jiaming Zhang wrote:
> > > > > > > Dear Linux kernel developers and maintainers,
> > > > > > >
> > > > > > > We are writing to report a general protection fault discovered in the
> > > > > > > xfs subsystem with our generated syzkaller specifications. This issue
> > > > > > > is reproducible on the latest version of linux (v6.19-rc6, commit
> > > > > > > 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7). The KASAN report from
> > > > > > > kernel is listed below (formatted by syz-symbolize):
> > > > > > >
> > > > > > > ---
> > > > > > >
> > > > > > > loop0: detected capacity change from 0 to 32768
> > > > > > > XFS (loop0): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > > > > XFS (loop0): Ending clean mount
> > > > > > > XFS (loop0): Injecting error at file fs/xfs/libxfs/xfs_btree.c, line
> > > > > > > 309, on filesystem "loop0"
> > > > > > > Oops: general protection fault, probably for non-canonical address
> > > > > > > 0xdffffc0000000009: 0000 [#1] SMP KASAN NOPTI
> > > > > > > KASAN: null-ptr-deref in range [0x0000000000000048-0x000000000000004f]
> > > > > > > CPU: 1 UID: 0 PID: 9920 Comm: repro.out Not tainted 6.19.0-rc6 #24 PREEMPT(full)
> > > > > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > > > > CR2: 0000200000002700 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > > > > PKRU: 55555554
> > > > > > > Call Trace:
> > > > > > >  <TASK>
> > > > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > > > >  xrep_revalidate_allocbt+0xf3/0x160 fs/xfs/scrub/alloc_repair.c:930
> > > > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > > > RIP: 0033:0x45a879
> > > > > > > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 18 00 00 90 48 89 f8 48
> > > > > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > > > > 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
> > > > > > > RSP: 002b:00007ffda72db7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > > > > RAX: ffffffffffffffda RBX: 00000000004004b8 RCX: 000000000045a879
> > > > > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > > > > RBP: 00007ffda72db860 R08: 0000000000000004 R09: 0000000000000005
> > > > > > > R10: 0000000000000004 R11: 0000000000000246 R12: 000000000040b990
> > > > > > > R13: 0000000000000000 R14: 00000000004ca018 R15: 00000000004004b8
> > > > > > >  </TASK>
> > > > > > > Modules linked in:
> > > > > > > ---[ end trace 0000000000000000 ]---
> > > > > > > RIP: 0010:xchk_btree+0xb9/0x1380 fs/xfs/scrub/btree.c:701
> > > > > > > Code: f2 00 66 43 c7 44 35 0d f3 f3 43 c6 44 35 0f f3 e8 1c 44 39 fe
> > > > > > > 48 89 5c 24 40 48 83 c3 48 48 89 d8 48 c1 e8 03 48 89 44 24 30 <42> 0f
> > > > > > > b6 04 30 84 c0 0f 85 d6 11 00 00 44 0f b6 33 41 ff ce bf 53
> > > > > > > RSP: 0018:ffffc9000854f360 EFLAGS: 00010206
> > > > > > > RAX: 0000000000000009 RBX: 0000000000000048 RCX: ffff888020bebd80
> > > > > > > RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888044710e00
> > > > > > > RBP: ffffc9000854f510 R08: ffffc9000854f540 R09: 0000000000000002
> > > > > > > R10: 0000000000000006 R11: 0000000000000000 R12: ffffffff837c5b20
> > > > > > > R13: 1ffff920010a9e88 R14: dffffc0000000000 R15: ffffffff8ba6c880
> > > > > > > FS:  000000001d1543c0(0000) GS:ffff8880ec5e0000(0000) knlGS:0000000000000000
> > > > > > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > > > > > CR2: 00007fbbbc0430c8 CR3: 00000000229e4000 CR4: 0000000000752ef0
> > > > > > > PKRU: 55555554
> > > > > > > ----------------
> > > > > > > Code disassembly (best guess):
> > > > > > >    0: f2 00 66 43          repnz add %ah,0x43(%rsi)
> > > > > > >    4: c7 44 35 0d f3 f3 43 movl   $0xc643f3f3,0xd(%rbp,%rsi,1)
> > > > > > >    b: c6
> > > > > > >    c: 44 35 0f f3 e8 1c    rex.R xor $0x1ce8f30f,%eax
> > > > > > >   12: 44 39 fe              cmp    %r15d,%esi
> > > > > > >   15: 48 89 5c 24 40        mov    %rbx,0x40(%rsp)
> > > > > > >   1a: 48 83 c3 48          add    $0x48,%rbx
> > > > > > >   1e: 48 89 d8              mov    %rbx,%rax
> > > > > > >   21: 48 c1 e8 03          shr    $0x3,%rax
> > > > > > >   25: 48 89 44 24 30        mov    %rax,0x30(%rsp)
> > > > > > > * 2a: 42 0f b6 04 30        movzbl (%rax,%r14,1),%eax <-- trapping instruction
> > > > > > >   2f: 84 c0                test   %al,%al
> > > > > > >   31: 0f 85 d6 11 00 00    jne    0x120d
> > > > > > >   37: 44 0f b6 33          movzbl (%rbx),%r14d
> > > > > > >   3b: 41 ff ce              dec    %r14d
> > > > > > >   3e: bf                    .byte 0xbf
> > > > > > >   3f: 53                    push   %rbx
> > > > > > >
> > > > > > > ---
> > > > > > >
> > > > > > > The root cause of this issue is that in xchk_btree(), where the
> > > > > > > argument cur can be NULL but the function assume cur is not NULL,
> > > > > > > leading to a NULL pointer dereference when accessing member
> > > > > > > (https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L701).
> > > > > > >
> > > > > > > We can add a NULL check at the beginning of xchk_btree() to fix this issue:
> > > > > > > ```
> > > > > > > --- a/fs/xfs/scrub/btree.c
> > > > > > > +++ b/fs/xfs/scrub/btree.c
> > > > > > > @@ -693,6 +693,9 @@ xchk_btree(
> > > > > > >   int level;
> > > > > > >   int error = 0;
> > > > > > >
> > > > > > > + if (!cur)
> > > > > > > + return -EINVAL;
> > > > > >
> > > > > > Uh, no, don't just fling EINVAL up to userspace.  Line 930 is the cntbt
> > > > > > revalidation in xrep_revalidate_allocbt.  Why is that pointer
> > > > > > 0xdffffc0000000009?  Did we somehow fail to allocate a cntbt cursor in
> > > > > > xchk_ag_btcur_init?  Did that xchk_should_check_xref free it?  Did we
> > > > > > fail to attach the AGF to sc->sa.agf_bp?
> > > > >
> > > > > Thanks for the feedback! I dug deeper into the root cause as you
> > > > > suggested, here is what I found:
> > > > >
> > > > > (1) The program executes XFS_IOC_ERROR_INJECTION branch in
> > > > > xfs_file_ioctl(), causes xfs_btree_check_block() to return
> > > > > -EFSCORRUPTED, which consequently marks the AG as sick (via
> > > > > xfs_btree_mark_sick).
> > > >
> > > > "marks the AG as sick" ... which structure, specifically?  I'm guessing
> > > > XFS_SICK_AG_CNTBT from context, but it'd be useful to state these things
> > > > from the data you've collected rather than relying on me to infer what's
> > > > going on.
> > > >
> > > > > (2) Then, the program executes XFS_IOC_SCRUBV_METADATA branch in
> > > > > xfs_file_ioctl(), the setup function (xchk_setup_ag_allocbt())
> > > >
> > > > Which scrub type is it calling, bnobt or cntbt?
> > > >
> > > > > attempts to initialize the cursor. However, the sick flag makes kernel
> > > > > executes xchk_ag_btree_del_cursor_if_sick(), the cursor is freed and
> > > > > nullified.
> > > >
> > > > Are you talking about the ->setup call after we've rebuilt both free
> > > > space btrees, just prior to step three?  When that happens,
> > > > xchk_ag_btree_del_cursor_if_sick will see the XREP_ALREADY_FIXED flag
> > > > and mask out sc->sick_mask from mask:
> > > >
> > > >         /*
> > > >          * If we just repaired some AG metadata, sc->sick_mask will reflect all
> > > >          * the per-AG metadata types that were repaired.  Exclude these from
> > > >          * the filesystem health query because we have not yet updated the
> > > >          * health status and we want everything to be scanned.
> > > >          */
> > > >         if ((sc->flags & XREP_ALREADY_FIXED) &&
> > > >             type_to_health_flag[sc->sm->sm_type].group == XHG_AG)
> > > >                 mask &= ~sc->sick_mask;
> > > >
> > > > > (3) Lastly, the repair_eval function (xrep_revalidate_allocbt()) calls
> > > > > xchk_allocbt(). Since xchk_allocbt() assumes the cursor is valid, it
> > > > > passes the NULL pointer to xchk_btree, leading to the null-ptr-deref.
> > > >
> > > > Sure, but xrep_allocbt sets sc->sick_mask to XFS_SICK_AG_BNOBT |
> > > > XFS_SICK_AG so any pre-existing bnobt or cntbt sick state in the
> > > > xfs_group will be ignored and neither cursor will be deleted when
> > > > setting up the revalidation.
> > > >
> > > > > Based on above analysis, I think sc->sa.cnt_cur being NULL is expected
> > > > > when the AG is sick. I think the appropriate fix is to check NULL
> > > > > inside xchk_allocbt():
> > > > > ```
> > > > > --- a/fs/xfs/scrub/alloc.c
> > > > > +++ b/fs/xfs/scrub/alloc.c
> > > > > @@ -170,6 +170,9 @@ xchk_allocbt(
> > > > >         return -EIO;
> > > > >     }
> > > > >
> > > > > +   if (!cur)
> > > > > +       return -ENOENT;
> > > >
> > > > This is not correct either.  We've just rebuilt the bnobt and cntbt for
> > > > the AG which means that cursors for both btrees should be loaded and
> > > > ready for revalidation.
> > > >
> > > > I think you need to look into xchk_ag_btree_del_cursor_if_sick to figure
> > > > out exactly what the xfs_group's sick state is, what @mask is, and what
> > > > sc->sick_mask is, and from that figure out if it's really deleting the
> > > > cntbt cursor.  This is made more difficult because XFS error injection
> > > > is probabilistic so it could trigger on /any/ btree.
> > > >
> > > > --D
> > > >
> > > > > +
> > > > >     return xchk_btree(sc, cur, xchk_allocbt_rec, &XFS_RMAP_OINFO_AG, &ca);
> > > > >  }
> > > > >  ```
> > > > > What do you think? :)
> > > > >
> > > > > >
> > > > > > >   /*
> > > > > > >   * Allocate the btree scrub context from the heap, because this
> > > > > > >   * structure can get rather large.  Don't let a caller feed us a
> > > > > > > ```
> > > > > > >
> > > > > > > After applying changes above and re-running reproducer, another issues
> > > > > > > is triggered:
> > > > > > >
> > > > > > > ---
> > > > > > > TITLE: KASAN: slab-use-after-free Read in xchk_btree_check_block_owner
> > > > > > >
> > > > > > > XFS (loop6): Mounting V5 Filesystem 9f91832a-3b79-45c3-9d6d-ed0bc7357fe4
> > > > > > > XFS (loop6): Ending clean mount
> > > > > > > ==================================================================
> > > > > > > BUG: KASAN: slab-use-after-free in
> > > > > > > xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > > > > > Read of size 8 at addr ffff88806af035d8 by task syz.6.59/14096
> > > > > > >
> > > > > > > CPU: 1 UID: 0 PID: 14096 Comm: syz.6.59 Not tainted 6.19.0-rc6-dirty
> > > > > > > #30 PREEMPT(full)
> > > > > > > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > > > > > > Call Trace:
> > > > > > >  <TASK>
> > > > > > >  __dump_stack lib/dump_stack.c:94 [inline]
> > > > > > >  dump_stack_lvl+0x10e/0x190 lib/dump_stack.c:120
> > > > > > >  print_address_description mm/kasan/report.c:378 [inline]
> > > > > > >  print_report+0x17e/0x810 mm/kasan/report.c:482
> > > > > > >  kasan_report+0x147/0x180 mm/kasan/report.c:595
> > > > > > >  xchk_btree_check_block_owner+0x3a2/0x600 fs/xfs/scrub/btree.c:401
> > > > > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > > > RIP: 0033:0x7f71bddb459d
> > > > > > > Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
> > > > > > > 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
> > > > > > > 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> > > > > > > RSP: 002b:00007f71bed71f98 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > > > > > > RAX: ffffffffffffffda RBX: 00007f71be045fa0 RCX: 00007f71bddb459d
> > > > > > > RDX: 00002000000000c0 RSI: 00000000c0285840 RDI: 0000000000000005
> > > > > > > RBP: 00007f71bde52610 R08: 0000000000000000 R09: 0000000000000000
> > > > > > > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> > > > > > > R13: 00007f71be046038 R14: 00007f71be045fa0 R15: 00007f71bed52000
> > > > > > >  </TASK>
> > > > > > >
> > > > > > > Allocated by task 14096:
> > > > > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > > > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > > > > >  unpoison_slab_object mm/kasan/common.c:340 [inline]
> > > > > > >  __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
> > > > > > >  kasan_slab_alloc include/linux/kasan.h:253 [inline]
> > > > > > >  slab_post_alloc_hook mm/slub.c:4953 [inline]
> > > > > > >  slab_alloc_node mm/slub.c:5263 [inline]
> > > > > > >  kmem_cache_alloc_noprof+0x37d/0x710 mm/slub.c:5270
> > > > > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > > > > >  xfs_bnobt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:485
> > > > > > >  xchk_ag_btcur_init+0xe0/0x5d0 fs/xfs/scrub/common.c:612
> > > > > > >  xchk_ag_init fs/xfs/scrub/common.c:698 [inline]
> > > > > > >  xchk_setup_ag_btree+0x295/0x310 fs/xfs/scrub/common.c:943
> > > > > > >  xchk_setup_ag_allocbt+0x70/0x190 fs/xfs/scrub/alloc.c:35
> > > > > > >  xfs_scrub_metadata+0xa9e/0x1920 fs/xfs/scrub/scrub.c:709
> > > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > > >
> > > > > > > Freed by task 14096:
> > > > > > >  kasan_save_stack mm/kasan/common.c:57 [inline]
> > > > > > >  kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
> > > > > > >  kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
> > > > > > >  poison_slab_object mm/kasan/common.c:253 [inline]
> > > > > > >  __kasan_slab_free+0x58/0x80 mm/kasan/common.c:285
> > > > > > >  kasan_slab_free include/linux/kasan.h:235 [inline]
> > > > > > >  slab_free_hook mm/slub.c:2540 [inline]
> > > > > > >  slab_free mm/slub.c:6670 [inline]
> > > > > > >  kmem_cache_free+0x197/0x620 mm/slub.c:6781
> > > > > > >  xchk_should_check_xref+0xf9/0x420 fs/xfs/scrub/common.c:1351
> > > > > > >  xchk_xref_is_used_space+0x14b/0x210 fs/xfs/scrub/alloc.c:190
> > > > > > >  xchk_btree_check_block_owner+0x2fe/0x600 fs/xfs/scrub/btree.c:395
> > > > > > >  xchk_btree+0x57e/0x1320 fs/xfs/scrub/btree.c:797
> > > > > > >  xchk_allocbt+0x112/0x190 fs/xfs/scrub/alloc.c:173
> > > > > > >  xrep_revalidate_allocbt+0x69/0x160 fs/xfs/scrub/alloc_repair.c:925
> > > > > > >  xfs_scrub_metadata+0xc08/0x1920 fs/xfs/scrub/scrub.c:-1
> > > > > > >  xfs_ioc_scrubv_metadata+0x74a/0xaf0 fs/xfs/scrub/scrub.c:981
> > > > > > >  xfs_file_ioctl+0x751/0x1560 fs/xfs/xfs_ioctl.c:1266
> > > > > > >  vfs_ioctl fs/ioctl.c:51 [inline]
> > > > > > >  __do_sys_ioctl fs/ioctl.c:597 [inline]
> > > > > > >  __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
> > > > > > >  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> > > > > > >  do_syscall_64+0xe8/0xf80 arch/x86/entry/syscall_64.c:94
> > > > > > >  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > > > > > >
> > > > > > > The buggy address belongs to the object at ffff88806af035c8
> > > > > > >  which belongs to the cache xfs_bnobt_cur of size 232
> > > > > > > The buggy address is located 16 bytes inside of
> > > > > > >  freed 232-byte region [ffff88806af035c8, ffff88806af036b0)
> > > > > > >
> > > > > > > The buggy address belongs to the physical page:
> > > > > > > page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6af03
> > > > > > > ksm flags: 0x4fff00000000000(node=1|zone=1|lastcpupid=0x7ff)
> > > > > > > page_type: f5(slab)
> > > > > > > raw: 04fff00000000000 ffff88801dd96a00 ffffea000094fdc0 0000000000000003
> > > > > > > raw: 0000000000000000 00000000800d000d 00000000f5000000 0000000000000000
> > > > > > > page dumped because: kasan: bad access detected
> > > > > > > page_owner tracks the page as allocated
> > > > > > > page last allocated via order 0, migratetype Unmovable, gfp_mask
> > > > > > > 0x1052c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOLOCKDEP),
> > > > > > > pid 13126, tgid 13119 (syz.4.29), ts 58027826746, free_ts 57929202822
> > > > > > >  set_page_owner include/linux/page_owner.h:32 [inline]
> > > > > > >  post_alloc_hook+0x234/0x290 mm/page_alloc.c:1884
> > > > > > >  prep_new_page mm/page_alloc.c:1892 [inline]
> > > > > > >  get_page_from_freelist+0x24e4/0x2580 mm/page_alloc.c:3945
> > > > > > >  __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5240
> > > > > > >  alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
> > > > > > >  alloc_slab_page mm/slub.c:3075 [inline]
> > > > > > >  allocate_slab+0x86/0x3b0 mm/slub.c:3248
> > > > > > >  new_slab mm/slub.c:3302 [inline]
> > > > > > >  ___slab_alloc+0xe70/0x1860 mm/slub.c:4656
> > > > > > >  __slab_alloc+0x65/0x100 mm/slub.c:4779
> > > > > > >  __slab_alloc_node mm/slub.c:4855 [inline]
> > > > > > >  slab_alloc_node mm/slub.c:5251 [inline]
> > > > > > >  kmem_cache_alloc_noprof+0x40f/0x710 mm/slub.c:5270
> > > > > > >  xfs_btree_alloc_cursor fs/xfs/libxfs/xfs_btree.h:683 [inline]
> > > > > > >  xfs_cntbt_init_cursor+0x64/0x210 fs/xfs/libxfs/xfs_alloc_btree.c:511
> > > > > > >  xfs_free_ag_extent+0x570/0x1890 fs/xfs/libxfs/xfs_alloc.c:2149
> > > > > > >  __xfs_free_extent+0x2a7/0x460 fs/xfs/libxfs/xfs_alloc.c:4047
> > > > > > >  xfs_extent_free_finish_item+0x299/0x840 fs/xfs/xfs_extfree_item.c:555
> > > > > > >  xfs_defer_finish_one+0x5a6/0xcc0 fs/xfs/libxfs/xfs_defer.c:595
> > > > > > >  xfs_defer_finish_noroll+0x94a/0x1300 fs/xfs/libxfs/xfs_defer.c:707
> > > > > > >  xfs_defer_finish+0x1e/0x270 fs/xfs/libxfs/xfs_defer.c:741
> > > > > > >  xrep_defer_finish+0x16e/0x240 fs/xfs/scrub/repair.c:242
> > > > > > > page last free pid 785 tgid 785 stack trace:
> > > > > > >  reset_page_owner include/linux/page_owner.h:25 [inline]
> > > > > > >  free_pages_prepare mm/page_alloc.c:1433 [inline]
> > > > > > >  __free_frozen_pages+0xbc4/0xd40 mm/page_alloc.c:2973
> > > > > > >  vfree+0x25a/0x400 mm/vmalloc.c:3466
> > > > > > >  delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3385
> > > > > > >  process_one_work kernel/workqueue.c:3257 [inline]
> > > > > > >  process_scheduled_works+0xa45/0x1670 kernel/workqueue.c:3340
> > > > > > >  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421
> > > > > > >  kthread+0x711/0x8a0 kernel/kthread.c:463
> > > > > > >  ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
> > > > > > >  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
> > > > > > >
> > > > > > > Memory state around the buggy address:
> > > > > > >  ffff88806af03480: fc fc fc fc fa fb fb fb fb fb fb fb fb fb fb fb
> > > > > > >  ffff88806af03500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > > > > > >ffff88806af03580: fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
> > > > > > >                                                     ^
> > > > > > >  ffff88806af03600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> > > > > > >  ffff88806af03680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
> > > > > > > ==================================================================
> > > > > > > ---
> > > > > > >
> > > > > > > I also analyzed the root cause of this issue. In
> > > > > > > xchk_btree_check_block_owner(), bs->cur is an alias for
> > > > > > > bs->sc->sa.bnocur (or rmap_cur,
> > > > > > > https://github.com/torvalds/linux/blob/v6.19-rc6/fs/xfs/scrub/btree.c#L396-L400).
> > > > > > > The issue occurs when error injection triggers a failure path:
> > > > > > >
> > > > > > > 1. xchk_btree_check_block_owner() calls xchk_xref_is_used_space()
> > > > > > > 2. In xchk_xref_is_used_space(), xfs_alloc_has_records() returns a
> > > > > > > non-zero error due to error injection
> > > > > > > 3. Non-zero error causes xchk_should_check_xref() to free curpp (which
> > > > > > > points to bs->sc->sa.bnocur).
> > > > > > > 4. Memory pointed to by bs->cur is freed.
> > > > > > >
> > > > > > > Control returns to xchk_btree_check_block_owner(), which subsequently
> > > > > > > accesses bs->cur->bc_ops, triggering the UAF.
> > > > > > >
> > > > > > > P.S. this issue can also be triggered independently by syzkaller using
> > > > > > > our generated specs.
> > > > > > >
> > > > > > > To fix this issue, we can cache values of
> > > > > > > xfs_btree_is_bno(bs->cur->bc_ops) and
> > > > > > > xfs_btree_is_rmap(bs->cur->bc_ops) at the beginning of the function:
> > > > > > > ```
> > > > > > > --- a/fs/xfs/scrub/btree.c
> > > > > > > +++ b/fs/xfs/scrub/btree.c
> > > > > > > @@ -371,6 +371,8 @@ xchk_btree_check_block_owner(
> > > > > > >   xfs_agnumber_t agno;
> > > > > > >   xfs_agblock_t agbno;
> > > > > > >   bool init_sa;
> > > > > > > + bool is_bno;
> > > > > > > + bool is_rmap;
> > > > > > >   int error = 0;
> > > > > > >
> > > > > > >   if (!bs->cur)
> > > > > > > @@ -379,6 +381,9 @@ xchk_btree_check_block_owner(
> > > > > > >   agno = xfs_daddr_to_agno(bs->cur->bc_mp, daddr);
> > > > > > >   agbno = xfs_daddr_to_agbno(bs->cur->bc_mp, daddr);
> > > > > > >
> > > > > > > + is_bno = xfs_btree_is_bno(bs->cur->bc_ops);
> > > > > > > + is_rmap = xfs_btree_is_rmap(bs->cur->bc_ops);
> > > > > > > +
> > > > > > >   /*
> > > > > > >   * If the btree being examined is not itself a per-AG btree, initialize
> > > > > > >   * sc->sa so that we can check for the presence of an ownership record
> > > > > > > @@ -398,11 +403,11 @@ xchk_btree_check_block_owner(
> > > > > > >   * have to nullify it (to shut down further block owner checks) if
> > > > > > >   * self-xref encounters problems.
> > > > > > >   */
> > > > > > > - if (!bs->sc->sa.bno_cur && xfs_btree_is_bno(bs->cur->bc_ops))
> > > > > > > + if (!bs->sc->sa.bno_cur && is_bno)
> > > > > > >   bs->cur = NULL;
> > > > > > >
> > > > > > >   xchk_xref_is_only_owned_by(bs->sc, agbno, 1, bs->oinfo);
> > > > > > > - if (!bs->sc->sa.rmap_cur && xfs_btree_is_rmap(bs->cur->bc_ops))
> > > > > > > + if (!bs->sc->sa.rmap_cur && is_rmap)
> > > > > >
> > > > > > Indentation problems notwithstanding, that looks like a correct
> > > > > > resolution to the UAF problem.
> > > > > >
> > > > > > >   bs->cur = NULL;
> > > > > > >
> > > > > > >  out_free:
> > > > > > > ```
> > > > > > >
> > > > > > > After applying above changes, reproducer ran for ~35 minutes without
> > > > > > > triggering any issues.
> > > > > > >
> > > > > > > If above solutions are acceptable, we are happy to submit patches :)
> > > > > > >
> > > > > > > The kernel console output, kernel config, syzkaller reproducer, and C
> > > > > > > reproducer are also attached to help with analysis.
> > > > > > >
> > > > > > > Please let me know if any further information is required.
> > > > > > >
> > > > > > > Best Regards,
> > > > > > > Jiaming Zhang
> > > > > >
> > > > > > Please just link to your dashboard, don't send a 1MB email to dozens
> > > > > > of people.
> > > > > >
> > > > > > --D
> > > > >
> > >
> > > Hi Darrick,
> > >
> > > I checked the execution path again and I have to apologize, my
> > > analysis yesterday was partly incorrect.
> > >
> > > I have new findings today that point how the cursor is nullified
> > > during the revalidation. I detailed below.
> > >
> > > In xrep_revalidate_allocbt(), xchk_allocbt() is called twice (first
> > > for BNOBT, second for CNTBT). The cause of this issue is that the
> > > first call nullified the cursor required by the second call.
> > >
> > > Let's first enter xrep_revalidate_allocbt() via following call chain:
> > >
> > > xfs_file_ioctl() ->
> > > xfs_ioc_scrubv_metadata() ->
> > > xfs_scrub_metadata() ->
> > > `sc->ops->repair_eval(sc)` ->
> > > xrep_revalidate_allocbt()
> > >
> > > xchk_allocbt() is called twice in this function. In the first call:
> > >
> > > /* Note that sc->sm->sm_type is XFS_SCRUB_TYPE_BNOPT now */
> > > xchk_allocbt() ->
> > > xchk_btree() ->
> > > `bs->scrub_rec(bs, recp)` ->
> > > xchk_allocbt_rec() ->
> > > xchk_allocbt_xref() ->
> > > xchk_allocbt_xref_other()
> > >
> > > since sm_type is XFS_SCRUB_TYPE_BNOPT, pur is set to &sc->sa.cnt_cur.
> > > Kernel called xfs_alloc_get_rec() and returned -EFSCORRUPTED. Call
> > > chain:
> > >
> > > xfs_alloc_get_rec() ->
> > > xfs_btree_get_rec() ->
> > > xfs_btree_check_block() ->
> > > (XFS_IS_CORRUPT || XFS_TEST_ERROR), the former is false and the latter
> > > is true, return -EFSCORRUPTED. This should be caused by
> > > ioctl$XFS_IOC_ERROR_INJECTION I guess.
> >
> > Ah, that's how it happens.  The error gets injected during the
> > revalidation of a bnobt that involved the cntbt btree, so the cntbt
> > cursor gets deleted.
> >
> > > Back to xchk_allocbt_xref_other(), after receiving -EFSCORRUPTED from
> > > xfs_alloc_get_rec(), kernel called xchk_should_check_xref(). In this
> > > function, *curpp (points to sc->sa.cnt_cur) is nullified.
> > >
> > > Back to xrep_revalidate_allocbt(), since sc->sa.cnt_cur has been
> > > nullified, it then triggered null-ptr-deref via xchk_allocbt() (second
> > > call) -> xchk_btree().
> >
> > Yep.  So you're right, the revalidation needs to check for
> > sc->sa.cnt_cur==NULL before calling xchk_allocbt a second time.
> 
> Sounds good to me. Thanks for your work on XFS :)

You're welcome!  And thank /you/ for being willing to try to fix the
problems you find; I very much appreciate that. :)

--D

> 
> >
> > > I noticed that at the beginning of xchk_should_check_xref(), it
> > > checked whether xref should be skipped. Can this issue be fixed if
> > > kernel skips xref in this case? I'm not sure.
> > >
> > > I hope the analysis is helpful. Feel free to contact me if any further
> > > information is needed.
> >
> > That was very helpful.  Could you please take a look at the proposed
> > fixes that I'm about to send?
> >
> > --D
> >
> > >
> > > Best Regards,
> > > Jiaming Zhang
>