Warning: Permanently added '[localhost]:49764' (ED25519) to the list of known hosts. executing program [ 69.035550][ T5327] loop0: detected capacity change from 0 to 1024 executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program [ 74.133003][ T55] [ 74.134008][ T55] ============================================ [ 74.136352][ T55] WARNING: possible recursive locking detected [ 74.138495][ T55] 6.12.0-syzkaller-09567-g7eef7e306d3c #0 Not tainted [ 74.140698][ T55] -------------------------------------------- [ 74.142775][ T55] kworker/u4:4/55 is trying to acquire lock: [ 74.144598][ T55] ffff888036718108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21b/0x1b70 [ 74.149428][ T55] [ 74.149428][ T55] but task is already holding lock: [ 74.151848][ T55] ffff8880367187c8 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_ext_write_extent+0x8e/0x1f0 [ 74.155577][ T55] [ 74.155577][ T55] other info that might help us debug this: [ 74.158179][ T55] Possible unsafe locking scenario: [ 74.158179][ T55] [ 74.160621][ T55] CPU0 [ 74.161796][ T55] ---- [ 74.162822][ T55] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.164706][ T55] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.166593][ T55] [ 74.166593][ T55] *** DEADLOCK *** [ 74.166593][ T55] [ 74.169191][ T55] May be due to missing lock nesting notation [ 74.169191][ T55] [ 74.171790][ T55] 5 locks held by kworker/u4:4/55: [ 74.173557][ T55] #0: ffff888030f0d148 ((wq_completion)writeback){+.+.}-{0:0}, at: process_scheduled_works+0x93b/0x1850 [ 74.177552][ T55] #1: ffffc9000103fd00 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x976/0x1850 [ 74.181678][ T55] #2: ffff888034e260e0 (&type->s_umount_key#42){.+.+}-{4:4}, at: super_trylock_shared+0x22/0xf0 [ 74.185137][ T55] #3: ffff8880367187c8 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_ext_write_extent+0x8e/0x1f0 [ 74.188902][ T55] #4: ffff8880362640b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x14a/0x1c0 [ 74.192359][ T55] [ 74.192359][ T55] stack backtrace: [ 74.194301][ T55] CPU: 0 UID: 0 PID: 55 Comm: kworker/u4:4 Not tainted 6.12.0-syzkaller-09567-g7eef7e306d3c #0 [ 74.198153][ T55] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 74.201988][ T55] Workqueue: writeback wb_workfn (flush-7:0) [ 74.203979][ T55] Call Trace: [ 74.205223][ T55] [ 74.206227][ T55] dump_stack_lvl+0x241/0x360 [ 74.207857][ T55] ? __pfx_dump_stack_lvl+0x10/0x10 [ 74.209733][ T55] ? __pfx__printk+0x10/0x10 [ 74.211317][ T55] ? lockdep_unlock+0x16a/0x300 [ 74.213104][ T55] print_deadlock_bug+0x483/0x620 [ 74.214970][ T55] validate_chain+0x15e2/0x5920 [ 74.216763][ T55] ? stack_trace_save+0x118/0x1d0 [ 74.218644][ T55] ? __pfx_validate_chain+0x10/0x10 [ 74.220979][ T55] ? __pfx_stack_trace_save+0x10/0x10 [ 74.222739][ T55] ? check_noncircular+0x259/0x4a0 [ 74.224558][ T55] ? __pfx_check_noncircular+0x10/0x10 [ 74.226491][ T55] ? lockdep_unlock+0x16a/0x300 [ 74.228413][ T55] ? look_up_lock_class+0x77/0x170 [ 74.230051][ T55] ? register_lock_class+0x102/0x980 [ 74.231831][ T55] ? add_lock_to_list+0x1e8/0x2f0 [ 74.233482][ T55] ? __pfx_register_lock_class+0x10/0x10 [ 74.235399][ T55] ? validate_chain+0x15c0/0x5920 [ 74.236963][ T55] ? mark_lock+0x9a/0x360 [ 74.238284][ T55] __lock_acquire+0x1397/0x2100 [ 74.239852][ T55] lock_acquire+0x1ed/0x550 [ 74.241346][ T55] ? hfsplus_file_extend+0x21b/0x1b70 [ 74.243374][ T55] ? __pfx_lock_acquire+0x10/0x10 [ 74.245311][ T55] ? __pfx___might_resched+0x10/0x10 [ 74.247150][ T55] ? lockdep_unlock+0x16a/0x300 [ 74.249059][ T55] __mutex_lock+0x1ac/0xee0 [ 74.250815][ T55] ? hfsplus_file_extend+0x21b/0x1b70 [ 74.252941][ T55] ? __lock_acquire+0x1397/0x2100 [ 74.254684][ T55] ? hfsplus_file_extend+0x21b/0x1b70 [ 74.256616][ T55] ? __pfx___mutex_lock+0x10/0x10 [ 74.258351][ T55] hfsplus_file_extend+0x21b/0x1b70 [ 74.260079][ T55] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 74.262046][ T55] ? rcu_is_watching+0x15/0xb0 [ 74.263750][ T55] ? trace_contention_end+0x3c/0x120 [ 74.265644][ T55] ? __mutex_lock+0x37f/0xee0 [ 74.267304][ T55] ? hfsplus_brec_find+0x19d/0x570 [ 74.269106][ T55] ? __pfx___mutex_lock+0x10/0x10 [ 74.270928][ T55] hfsplus_bmap_reserve+0x105/0x4e0 [ 74.272942][ T55] __hfsplus_ext_write_extent+0x2a4/0x5c0 [ 74.275037][ T55] hfsplus_ext_write_extent+0x16a/0x1f0 [ 74.276949][ T55] ? __pfx_hfsplus_ext_write_extent+0x10/0x10 [ 74.279125][ T55] ? do_raw_spin_lock+0x14f/0x370 [ 74.280994][ T55] hfsplus_write_inode+0x22/0x5e0 [ 74.282850][ T55] __writeback_single_inode+0x711/0x10d0 [ 74.284852][ T55] writeback_sb_inodes+0x80c/0x1370 [ 74.286692][ T55] ? mark_lock+0x2ae/0x360 [ 74.288216][ T55] ? __pfx_writeback_sb_inodes+0x10/0x10 [ 74.290284][ T55] ? __pfx_move_expired_inodes+0x10/0x10 [ 74.292456][ T55] ? do_raw_spin_lock+0x14f/0x370 [ 74.294299][ T55] __writeback_inodes_wb+0x11b/0x260 [ 74.296474][ T55] wb_writeback+0x427/0xbc0 [ 74.298220][ T55] ? queue_io+0x3b1/0x5a0 [ 74.299860][ T55] ? __pfx_wb_writeback+0x10/0x10 [ 74.301797][ T55] wb_workfn+0xc58/0x1090 [ 74.303533][ T55] ? __pfx_wb_workfn+0x10/0x10 [ 74.305301][ T55] ? lockdep_hardirqs_on_prepare+0x43d/0x780 [ 74.307336][ T55] ? __pfx_lockdep_hardirqs_on_prepare+0x10/0x10 [ 74.309696][ T55] ? process_scheduled_works+0x976/0x1850 [ 74.311790][ T55] process_scheduled_works+0xa63/0x1850 [ 74.313910][ T55] ? __pfx_process_scheduled_works+0x10/0x10 [ 74.315982][ T55] ? assign_work+0x364/0x3d0 [ 74.317687][ T55] worker_thread+0x870/0xd30 [ 74.319479][ T55] ? _raw_spin_unlock_irqrestore+0xdd/0x140 [ 74.321585][ T55] ? __kthread_parkme+0x169/0x1d0 [ 74.323273][ T55] ? __pfx_worker_thread+0x10/0x10 [ 74.325251][ T55] kthread+0x2f0/0x390 [ 74.326774][ T55] ? __pfx_worker_thread+0x10/0x10 [ 74.328543][ T55] ? __pfx_kthread+0x10/0x10 [ 74.330290][ T55] ret_from_fork+0x4b/0x80 [ 74.331897][ T55] ? __pfx_kthread+0x10/0x10 [ 74.333486][ T55] ret_from_fork_asm+0x1a/0x30 [ 74.335228][ T55] executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program VM DIAGNOSIS: 12:38:50 Registers: info registers vcpu 0 CPU#0 RAX=0000000000000034 RBX=ffffffff9a76b400 RCX=0000000000000000 RDX=00000000000003f8 RSI=0000000000000000 RDI=0000000000000020 RBP=0000000000000000 RSP=ffffc9000103e130 R8 =ffffffff854e15fb R9 =1ffff11003d6c046 R10=dffffc0000000000 R11=ffffffff854e15b0 R12=dffffc0000000000 R13=ffffffff9a466fb2 R14=0000000000000034 R15=00000000000003f8 RIP=ffffffff854e162e RFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 ffffffff 00c00000 CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0000 0000000000000000 ffffffff 00c00000 DS =0000 0000000000000000 ffffffff 00c00000 FS =0000 0000000000000000 ffffffff 00c00000 GS =0000 ffff88801fc00000 ffffffff 00c00000 LDT=0000 0000000000000000 ffffffff 00c00000 TR =0040 fffffe0000003000 00004087 00008b00 DPL=0 TSS64-busy GDT= fffffe0000001000 0000007f IDT= fffffe0000000000 00000fff CR0=80050033 CR2=0000000020002380 CR3=0000000040608000 CR4=00352ef0 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000fffe0ff0 DR7=0000000000000400 EFER=0000000000000d01 FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 Opmask00=00000000fffffff0 Opmask01=0000000000000001 Opmask02=00000000fff7ffff Opmask03=0000000000000000 Opmask04=0000000000000000 Opmask05=0000000000000000 Opmask06=0000000000000000 Opmask07=0000000000000000 ZMM00=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM01=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 00007fffaf68d4a0 0000003000000010 ZMM02=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 00007f4d9a571560 00007f4d9a5655d8 ZMM03=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 00007f4d9a556a64 00007f4d9a56a240 ZMM04=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM05=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM06=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM07=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM08=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM09=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM10=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM11=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM12=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM13=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM14=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM15=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM16=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM17=0000000000000000 0000000000000000 0000000000000000 0000000000000000 2525252525252525 2525252525252525 2525252525252525 2525252525252525 ZMM18=0000000000000000 0000000000000000 0000000000000000 0000000000000000 642f006a64615f65 726f63735f6d6f6f 2f666c65732f636f 72702f0030303031 ZMM19=0000000000000000 0000000000000000 0000000000000000 0000000000000000 410a004f41445f40 574a46565f484a4a 0a434940560a464a 57550a0015151514 ZMM20=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM21=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM22=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM23=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM24=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM25=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM26=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM27=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM28=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM29=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM30=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ZMM31=0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000