AW_TRACEPOINT_LOAD(0x5, &(0x7f0000000700)={0x0, 0x2, &(0x7f0000001900)=ANY=[@ANYBLOB="0000f9ffffffffffffff00006a3bbde447517c6da9c82a740a9dd58266c039e668ea20fdcb1f8a6d5ce71fbe1c325910ba54372f8722a0a7f93b578a55bb53d9bc63900e359eff6736b30ecf798d44715211cde67f4ff58f985c0a5ca0bdcafad8002a1bf91403ee8fa4e3cab126430733075fbf0c7cb72c1a3d1db2d3122a6bac5427771083dcc46922fb5e7850d1c553256344ec9bec1f6effec775069e5f9f344fad7094831a87072ff5f02deff8b68d3ab7a77c45599d716d05013769643b87f805c97e4d3b44e260e7814ba9e5a319ff9df93a630c44037c1baa5e914b5e498cc8037e6a6b0de2dae9c3182ccf6c6966a7c841686b2b1e71967caf5c5e83b6888cca40063f7ac4fe3d0235f8c4f7f3b3070286957c498167785bc81c222607d574c2637d0eb504610dfecd21c7f9b3e1041cca7a8795e5be0e7e91162d7a3e25963cdf29cff3b8908b488318a8f0ebf1a452957bf89c7f1ea210602a09c9cd47a29d36189e8fa212deeefc9207d586240d8ac04e6260875ca8ef5aa9e96969b58"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x2, 0x3}, 0x8, 0x10, &(0x7f0000000300)={0x2, 0x3, 0xb8a4, 0x2}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000540)=[0xffffffffffffffff, r0, 0xffffffffffffffff, 0xffffffffffffffff, 0x1]}, 0x80) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) read$hiddev(r11, &(0x7f0000000580)=""/248, 0xf8) 15:21:30 executing program 0: socketpair(0x27, 0x0, 0x0, &(0x7f0000000100)) 15:21:30 executing program 3: io_setup(0x9, &(0x7f00000010c0)=0x0) io_submit(r0, 0x0, 0x0) 15:21:30 executing program 1: getresuid(&(0x7f00000013c0), &(0x7f0000001400), &(0x7f0000001440)) 15:21:30 executing program 1: r0 = epoll_create(0xa473) write$binfmt_elf32(r0, 0x0, 0x0) 15:21:30 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000640001"], 0x6c}}, 0x0) 15:21:30 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000380)=[@rights={{0x14, 0x1, 0x1, [r1]}}], 0x18}, 0x0) [ 310.911370][ T8786] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. 15:21:30 executing program 0: socket$packet(0x5, 0x0, 0x300) io_setup(0xe35a, &(0x7f00000001c0)) [ 310.918033][ T8784] loop2: detected capacity change from 0 to 1024 [ 310.962268][ T8784] EXT4-fs (loop2): mounted filesystem without journal. Quota mode: writeback. 15:21:30 executing program 2: sched_setscheduler(0x0, 0x0, 0x0) r0 = creat(0x0, 0x2) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendto(r2, &(0x7f0000000140)="6b6e533a085fc539f0dc214689d0effbd6e0a3ef", 0x14, 0x40040, 0x0, 0x0) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000480)='rcu_utilization\x00'}, 0x10) r4 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80000, 0x10, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000006856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="03000000040000000500000016000f000300040000000000000000000f00698c", 0x20, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f00000000000004002000000000000800050000000af301000400000000000000000000000100000010", 0x3d, 0x1500}, {&(0x7f0000011000)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000030000000020000000400000032", 0x49, 0x1600}, {&(0x7f0000011100)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000040000000020000000400000042", 0x49, 0x1700}, {&(0x7f0000011700)="ed8100000a000000ddf4655fddf4655fddf4655f00000000000001", 0x1b, 0x2200}, {&(0x7f0000011a00)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0001001000050266696c65300000000f0000001000050166696c6531", 0x49, 0x4000}, {&(0x7f0000012700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0xc000}, {&(0x7f00000000c0)="2719c0d901000000803a0900803a09000000000006", 0x15, 0x10000}, {&(0x7f0000012e00)="02", 0x1, 0x10400}, {0x0, 0x0, 0x10800}, {&(0x7f0000013000)="04", 0x1, 0x10c00}, {&(0x7f0000013100)="05", 0x1, 0x11000}, {&(0x7f0000000380)="0000000000000000010000000000000000000032ed2fbf000d000000000000000000000000000040000000000000000000000001000000000000000000000000c0010000000000000000000000000000000000000000000000000000000000bc000000", 0x63, 0x113fe}], 0x0, &(0x7f0000000380)=ANY=[], 0x0) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(r4, &(0x7f0000000080)='./file1\x00', 0x0, r8, 0x0) read$FUSE(r0, &(0x7f0000001ac0)={0x2020, 0x0, 0x0, 0x0}, 0x2020) lstat(&(0x7f0000000680)='./file0\x00', &(0x7f0000000980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000006c0)=[{{0x0, 0x0, &(0x7f0000000440)=[{&(0x7f0000000400)="cbde9a8c518fb0f168f4e74a9e67464a89c3c49f7bf81f0e765b058a9c2152ed6a0b2e3886905d14", 0x28}, {&(0x7f0000000780)="9e71653c6dbd1862346a328794567935b6543e8e56c943330f5979b90bf555e379e3160fd44f96311c7d9fcbdd325de79a0175dfb99c0cac4669ad4a7bfbaafcc782172bfd14d22b22272387c6c10687b22c5e6c9311a80625d493155e976989792d93798b2786834ecd733c1630f2b4888b1044ed465a1e158964f88b9f38746f8ae36be9797968bd4c7b29cc9f49028d507fde5ea162bfa9439337683316a6a71203cfe44e5b7c39d3d101395633ff1c99082fae730843f18a546d284a8e699469db3a8268e47ba1299136e2f54c2b3ca94672de6fb5bbcdc2509de3d47be904700dc9", 0xe4}], 0x2, &(0x7f0000000a00)=[@rights={{0x18, 0x1, 0x1, [r2, r4]}}, @rights={{0x28, 0x1, 0x1, [r2, 0xffffffffffffffff, 0xffffffffffffffff, r2, r3, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {r6, r7, r8}}}, @rights={{0x10}}, @cred={{0x1c}}, @cred={{0x1c, 0x1, 0x2, {r6, r9, r10}}}], 0xb0}}], 0x1, 0x800) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000700)={0x0, 0x2, &(0x7f0000001900)=ANY=[@ANYBLOB="0000f9ffffffffffffff00006a3bbde447517c6da9c82a740a9dd58266c039e668ea20fdcb1f8a6d5ce71fbe1c325910ba54372f8722a0a7f93b578a55bb53d9bc63900e359eff6736b30ecf798d44715211cde67f4ff58f985c0a5ca0bdcafad8002a1bf91403ee8fa4e3cab126430733075fbf0c7cb72c1a3d1db2d3122a6bac5427771083dcc46922fb5e7850d1c553256344ec9bec1f6effec775069e5f9f344fad7094831a87072ff5f02deff8b68d3ab7a77c45599d716d05013769643b87f805c97e4d3b44e260e7814ba9e5a319ff9df93a630c44037c1baa5e914b5e498cc8037e6a6b0de2dae9c3182ccf6c6966a7c841686b2b1e71967caf5c5e83b6888cca40063f7ac4fe3d0235f8c4f7f3b3070286957c498167785bc81c222607d574c2637d0eb504610dfecd21c7f9b3e1041cca7a8795e5be0e7e91162d7a3e25963cdf29cff3b8908b488318a8f0ebf1a452957bf89c7f1ea210602a09c9cd47a29d36189e8fa212deeefc9207d586240d8ac04e6260875ca8ef5aa9e96969b58"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x2, 0x3}, 0x8, 0x10, &(0x7f0000000300)={0x2, 0x3, 0xb8a4, 0x2}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000540)=[0xffffffffffffffff, r0, 0xffffffffffffffff, 0xffffffffffffffff, 0x1]}, 0x80) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) read$hiddev(r11, &(0x7f0000000580)=""/248, 0xf8) 15:21:30 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x1c, 0x24, 0x1}, 0x1c}}, 0x0) 15:21:30 executing program 3: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000300)) io_setup(0x3, &(0x7f0000000080)) 15:21:30 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000000200)={'ip6tnl0\x00', &(0x7f0000000180)={'ip6_vti0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @local, @private2}}) 15:21:30 executing program 1: socket(0xa, 0x5, 0xe) 15:21:30 executing program 0: r0 = socket$xdp(0x2c, 0x3, 0x0) bind$xdp(r0, &(0x7f0000000080), 0x4f) [ 311.645679][ T3713] EXT4-fs (loop2): unmounting filesystem. 15:21:30 executing program 0: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000080)='net/rpc\x00') 15:21:31 executing program 0: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000680), 0x0, 0x0) ioctl$RTC_ALM_READ(r0, 0x80247008, &(0x7f00000006c0)) [ 311.826254][ T8813] loop2: detected capacity change from 0 to 1024 [ 311.848817][ T8813] EXT4-fs (loop2): mounted filesystem without journal. Quota mode: writeback. 15:21:31 executing program 1: syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = syz_clone(0x44200000, 0x0, 0x0, &(0x7f0000000040), 0x0, 0x0) syz_open_procfs$namespace(r0, &(0x7f0000000100)='ns/user\x00') 15:21:31 executing program 0: syz_clone(0x60045780, 0x0, 0x0, 0x0, 0x0, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000280), 0xffffffffffffffff) 15:21:31 executing program 2: sched_setscheduler(0x0, 0x0, 0x0) r0 = creat(0x0, 0x2) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendto(r2, &(0x7f0000000140)="6b6e533a085fc539f0dc214689d0effbd6e0a3ef", 0x14, 0x40040, 0x0, 0x0) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000480)='rcu_utilization\x00'}, 0x10) r4 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80000, 0x10, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000006856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="03000000040000000500000016000f000300040000000000000000000f00698c", 0x20, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f00000000000004002000000000000800050000000af301000400000000000000000000000100000010", 0x3d, 0x1500}, {&(0x7f0000011000)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000030000000020000000400000032", 0x49, 0x1600}, {&(0x7f0000011100)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000040000000020000000400000042", 0x49, 0x1700}, {&(0x7f0000011700)="ed8100000a000000ddf4655fddf4655fddf4655f00000000000001", 0x1b, 0x2200}, {&(0x7f0000011a00)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0001001000050266696c65300000000f0000001000050166696c6531", 0x49, 0x4000}, {&(0x7f0000012700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0xc000}, {&(0x7f00000000c0)="2719c0d901000000803a0900803a09000000000006", 0x15, 0x10000}, {&(0x7f0000012e00)="02", 0x1, 0x10400}, {0x0, 0x0, 0x10800}, {&(0x7f0000013000)="04", 0x1, 0x10c00}, {&(0x7f0000013100)="05", 0x1, 0x11000}, {&(0x7f0000000380)="0000000000000000010000000000000000000032ed2fbf000d000000000000000000000000000040000000000000000000000001000000000000000000000000c0010000000000000000000000000000000000000000000000000000000000bc000000", 0x63, 0x113fe}], 0x0, &(0x7f0000000380)=ANY=[], 0x0) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(r4, &(0x7f0000000080)='./file1\x00', 0x0, r8, 0x0) read$FUSE(r0, &(0x7f0000001ac0)={0x2020, 0x0, 0x0, 0x0}, 0x2020) lstat(&(0x7f0000000680)='./file0\x00', &(0x7f0000000980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000006c0)=[{{0x0, 0x0, &(0x7f0000000440)=[{&(0x7f0000000400)="cbde9a8c518fb0f168f4e74a9e67464a89c3c49f7bf81f0e765b058a9c2152ed6a0b2e3886905d14", 0x28}, {&(0x7f0000000780)="9e71653c6dbd1862346a328794567935b6543e8e56c943330f5979b90bf555e379e3160fd44f96311c7d9fcbdd325de79a0175dfb99c0cac4669ad4a7bfbaafcc782172bfd14d22b22272387c6c10687b22c5e6c9311a80625d493155e976989792d93798b2786834ecd733c1630f2b4888b1044ed465a1e158964f88b9f38746f8ae36be9797968bd4c7b29cc9f49028d507fde5ea162bfa9439337683316a6a71203cfe44e5b7c39d3d101395633ff1c99082fae730843f18a546d284a8e699469db3a8268e47ba1299136e2f54c2b3ca94672de6fb5bbcdc2509de3d47be904700dc9", 0xe4}], 0x2, &(0x7f0000000a00)=[@rights={{0x18, 0x1, 0x1, [r2, r4]}}, @rights={{0x28, 0x1, 0x1, [r2, 0xffffffffffffffff, 0xffffffffffffffff, r2, r3, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {r6, r7, r8}}}, @rights={{0x10}}, @cred={{0x1c}}, @cred={{0x1c, 0x1, 0x2, {r6, r9, r10}}}], 0xb0}}], 0x1, 0x800) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000700)={0x0, 0x2, &(0x7f0000001900)=ANY=[@ANYBLOB="0000f9ffffffffffffff00006a3bbde447517c6da9c82a740a9dd58266c039e668ea20fdcb1f8a6d5ce71fbe1c325910ba54372f8722a0a7f93b578a55bb53d9bc63900e359eff6736b30ecf798d44715211cde67f4ff58f985c0a5ca0bdcafad8002a1bf91403ee8fa4e3cab126430733075fbf0c7cb72c1a3d1db2d3122a6bac5427771083dcc46922fb5e7850d1c553256344ec9bec1f6effec775069e5f9f344fad7094831a87072ff5f02deff8b68d3ab7a77c45599d716d05013769643b87f805c97e4d3b44e260e7814ba9e5a319ff9df93a630c44037c1baa5e914b5e498cc8037e6a6b0de2dae9c3182ccf6c6966a7c841686b2b1e71967caf5c5e83b6888cca40063f7ac4fe3d0235f8c4f7f3b3070286957c498167785bc81c222607d574c2637d0eb504610dfecd21c7f9b3e1041cca7a8795e5be0e7e91162d7a3e25963cdf29cff3b8908b488318a8f0ebf1a452957bf89c7f1ea210602a09c9cd47a29d36189e8fa212deeefc9207d586240d8ac04e6260875ca8ef5aa9e96969b58"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x2, 0x3}, 0x8, 0x10, &(0x7f0000000300)={0x2, 0x3, 0xb8a4, 0x2}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000540)=[0xffffffffffffffff, r0, 0xffffffffffffffff, 0xffffffffffffffff, 0x1]}, 0x80) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) read$hiddev(r11, &(0x7f0000000580)=""/248, 0xf8) 15:21:31 executing program 3: bpf$BPF_MAP_GET_FD_BY_ID(0xe, &(0x7f0000000140)={0xffffffffffffffff, 0x0, 0x38}, 0xc) [ 312.601503][ T3713] EXT4-fs (loop2): unmounting filesystem. 15:21:31 executing program 3: r0 = socket$unix(0x1, 0x2, 0x0) recvmmsg$unix(r0, &(0x7f000000a380)=[{{&(0x7f0000008e80)=@abs, 0x6e, 0x0, 0x0, 0x0, 0x78}}], 0x1, 0x21, 0x0) 15:21:31 executing program 3: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_STATISTICS(r0, 0x11b, 0x7, &(0x7f00000005c0), &(0x7f0000000600)=0x30) 15:21:31 executing program 3: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000040)={0x2, &(0x7f0000000000)=[{0x2}, {0x8}]}, 0x10) 15:21:32 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x38, 0x48, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback={0xfe80ffff00000000}}, @IFAL_LABEL={0x8}]}, 0x38}}, 0x0) [ 312.747251][ T8836] loop2: detected capacity change from 0 to 1024 [ 312.775824][ T8836] EXT4-fs (loop2): mounted filesystem without journal. Quota mode: writeback. 15:21:32 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x38, 0x48, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x4, 0x1, @loopback}, @IFAL_LABEL={0x8}]}, 0x38}}, 0x0) 15:21:32 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xc0046209, 0x0) 15:21:32 executing program 1: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x100010, r0, 0x0) syz_open_dev$usbmon(&(0x7f0000001480), 0x0, 0x0) 15:21:32 executing program 2: sched_setscheduler(0x0, 0x0, 0x0) r0 = creat(0x0, 0x2) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendto(r2, &(0x7f0000000140)="6b6e533a085fc539f0dc214689d0effbd6e0a3ef", 0x14, 0x40040, 0x0, 0x0) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000480)='rcu_utilization\x00'}, 0x10) r4 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80000, 0x10, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000006856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="03000000040000000500000016000f000300040000000000000000000f00698c", 0x20, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f00000000000004002000000000000800050000000af301000400000000000000000000000100000010", 0x3d, 0x1500}, {&(0x7f0000011000)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000030000000020000000400000032", 0x49, 0x1600}, {&(0x7f0000011100)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000040000000020000000400000042", 0x49, 0x1700}, {&(0x7f0000011700)="ed8100000a000000ddf4655fddf4655fddf4655f00000000000001", 0x1b, 0x2200}, {&(0x7f0000011a00)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0001001000050266696c65300000000f0000001000050166696c6531", 0x49, 0x4000}, {&(0x7f0000012700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0xc000}, {&(0x7f00000000c0)="2719c0d901000000803a0900803a09000000000006", 0x15, 0x10000}, {&(0x7f0000012e00)="02", 0x1, 0x10400}, {0x0, 0x0, 0x10800}, {&(0x7f0000013000)="04", 0x1, 0x10c00}, {&(0x7f0000013100)="05", 0x1, 0x11000}, {&(0x7f0000000380)="0000000000000000010000000000000000000032ed2fbf000d000000000000000000000000000040000000000000000000000001000000000000000000000000c0010000000000000000000000000000000000000000000000000000000000bc000000", 0x63, 0x113fe}], 0x0, &(0x7f0000000380)=ANY=[], 0x0) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(r4, &(0x7f0000000080)='./file1\x00', 0x0, r8, 0x0) read$FUSE(r0, &(0x7f0000001ac0)={0x2020, 0x0, 0x0, 0x0}, 0x2020) lstat(&(0x7f0000000680)='./file0\x00', &(0x7f0000000980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000006c0)=[{{0x0, 0x0, &(0x7f0000000440)=[{&(0x7f0000000400)="cbde9a8c518fb0f168f4e74a9e67464a89c3c49f7bf81f0e765b058a9c2152ed6a0b2e3886905d14", 0x28}, {&(0x7f0000000780)="9e71653c6dbd1862346a328794567935b6543e8e56c943330f5979b90bf555e379e3160fd44f96311c7d9fcbdd325de79a0175dfb99c0cac4669ad4a7bfbaafcc782172bfd14d22b22272387c6c10687b22c5e6c9311a80625d493155e976989792d93798b2786834ecd733c1630f2b4888b1044ed465a1e158964f88b9f38746f8ae36be9797968bd4c7b29cc9f49028d507fde5ea162bfa9439337683316a6a71203cfe44e5b7c39d3d101395633ff1c99082fae730843f18a546d284a8e699469db3a8268e47ba1299136e2f54c2b3ca94672de6fb5bbcdc2509de3d47be904700dc9", 0xe4}], 0x2, &(0x7f0000000a00)=[@rights={{0x18, 0x1, 0x1, [r2, r4]}}, @rights={{0x28, 0x1, 0x1, [r2, 0xffffffffffffffff, 0xffffffffffffffff, r2, r3, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {r6, r7, r8}}}, @rights={{0x10}}, @cred={{0x1c}}, @cred={{0x1c, 0x1, 0x2, {r6, r9, r10}}}], 0xb0}}], 0x1, 0x800) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000700)={0x0, 0x2, &(0x7f0000001900)=ANY=[@ANYBLOB="0000f9ffffffffffffff00006a3bbde447517c6da9c82a740a9dd58266c039e668ea20fdcb1f8a6d5ce71fbe1c325910ba54372f8722a0a7f93b578a55bb53d9bc63900e359eff6736b30ecf798d44715211cde67f4ff58f985c0a5ca0bdcafad8002a1bf91403ee8fa4e3cab126430733075fbf0c7cb72c1a3d1db2d3122a6bac5427771083dcc46922fb5e7850d1c553256344ec9bec1f6effec775069e5f9f344fad7094831a87072ff5f02deff8b68d3ab7a77c45599d716d05013769643b87f805c97e4d3b44e260e7814ba9e5a319ff9df93a630c44037c1baa5e914b5e498cc8037e6a6b0de2dae9c3182ccf6c6966a7c841686b2b1e71967caf5c5e83b6888cca40063f7ac4fe3d0235f8c4f7f3b3070286957c498167785bc81c222607d574c2637d0eb504610dfecd21c7f9b3e1041cca7a8795e5be0e7e91162d7a3e25963cdf29cff3b8908b488318a8f0ebf1a452957bf89c7f1ea210602a09c9cd47a29d36189e8fa212deeefc9207d586240d8ac04e6260875ca8ef5aa9e96969b58"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x40f00, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x2, 0x3}, 0x8, 0x10, &(0x7f0000000300)={0x2, 0x3, 0xb8a4, 0x2}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000540)=[0xffffffffffffffff, r0, 0xffffffffffffffff, 0xffffffffffffffff, 0x1]}, 0x80) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) read$hiddev(r11, &(0x7f0000000580)=""/248, 0xf8) [ 313.501021][ T8844] binder: 8842:8844 ioctl c0306201 0 returned -14 [ 313.501879][ T3713] EXT4-fs (loop2): unmounting filesystem. 15:21:32 executing program 1: r0 = socket$nl_audit(0x10, 0x3, 0x9) connect$netlink(r0, &(0x7f00000006c0)=@proc, 0xc) sendmsg$AUDIT_TTY_SET(r0, &(0x7f0000000680)={0x0, 0x0, &(0x7f0000000640)={&(0x7f0000000600)={0x18}, 0x18}}, 0x0) [ 313.506384][ T8844] binder: 8842:8844 ioctl c0046209 0 returned -22 15:21:32 executing program 0: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f00000000c0), 0x200000, 0x0) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r0, 0x6, 0x23, 0x0, 0x0) 15:21:32 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$int_out(r0, 0x0, 0x0) 15:21:32 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x16, 0x111, 0x0, 0x0, {0x2}}, 0x1c}}, 0x0) 15:21:32 executing program 1: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000640), 0x0, 0x0) sendmsg$TIPC_NL_NET_SET(r0, 0x0, 0x0) 15:21:32 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$MPTCP_PM_CMD_GET_ADDR(r0, &(0x7f0000000300)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)={0x14}, 0x14}}, 0x0) 15:21:32 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x5452, 0x0) [ 313.703899][ T8862] loop2: detected capacity change from 0 to 1024 [ 313.712868][ T8862] EXT4-fs (loop2): mounted filesystem without journal. Quota mode: writeback. 15:21:33 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000440)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000480)={0x2020, 0x0, 0x0, 0x0}, 0x2020) setreuid(r1, 0x0) ioprio_set$uid(0x3, r1, 0x0) 15:21:33 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000140001002abd7000fcdbdf2502000100100000004c0002"], 0x6c}}, 0x0) 15:21:33 executing program 1: io_setup(0x3, &(0x7f0000000080)=0x0) io_pgetevents(r0, 0x0, 0x0, 0x0, 0x0, 0x0) [ 314.441558][ T3713] EXT4-fs (loop2): unmounting filesystem. [ 314.444947][ T8869] netlink: 'syz-executor.3': attribute type 2 has an invalid length. [ 314.455914][ T8869] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. 15:21:33 executing program 0: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000100)='/sys/module/printk', 0x0, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0, 0x11, r0, 0x8000000) 15:21:33 executing program 3: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x0, 0x0) write$ppp(r0, 0x0, 0x0) 15:21:33 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=ANY=[@ANYBLOB="18000000140001002abd7000fcdbdf25024d"], 0x6c}}, 0x0) 15:21:33 executing program 3: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8918, 0x0) 15:21:33 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$AUDIT_GET_FEATURE(r0, &(0x7f0000000740)={&(0x7f0000000680)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000700)={&(0x7f00000006c0)={0x10}, 0x10}}, 0x0) 15:21:33 executing program 0: openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x200002, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_inet_udp_SIOCINQ(r0, 0x541b, &(0x7f0000000200)) 15:21:33 executing program 1: io_setup(0x3, &(0x7f0000000080)=0x0) io_pgetevents(r0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080), 0x8}) 15:21:33 executing program 3: r0 = openat$tcp_congestion(0xffffffffffffff9c, &(0x7f0000000000), 0x1, 0x0) fgetxattr(r0, &(0x7f0000001140)=@random={'user.', '/proc/sys/net/ipv4/tcp_congestion_control\x00'}, 0x0, 0x0) 15:21:33 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x13, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}]}, 0x30}}, 0x0) 15:21:33 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_GET_BYNAME(r0, &(0x7f0000000740)={0x0, 0x0, &(0x7f0000000700)={0x0, 0x74}}, 0x0) connect$netlink(r0, &(0x7f0000000040)=@proc, 0xc) 15:21:33 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) [ 314.590894][ T8887] netlink: 16 bytes leftover after parsing attributes in process `syz-executor.2'. 15:21:33 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) bind$netlink(r0, &(0x7f0000000400)={0x10, 0x0, 0x0, 0x4000000}, 0xc) 15:21:33 executing program 3: r0 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r0, 0x11b, 0x4, &(0x7f00000000c0)={&(0x7f0000000000)=""/153, 0x3121000, 0x1000}, 0x20) 15:21:33 executing program 0: r0 = syz_genetlink_get_family_id$tipc(&(0x7f0000000040), 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_SHOW_NAME_TABLE(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000180)={0x30, r0, 0x1, 0x0, 0x0, {{}, {}, {0x14}}}, 0x30}}, 0x0) 15:21:33 executing program 2: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) ioctl$sock_SIOCBRADDBR(r0, 0x89a0, 0x0) 15:21:33 executing program 0: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x891c, 0x0) 15:21:33 executing program 1: pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0x480}, &(0x7f00000000c0)={0x0, 0x3938700}, &(0x7f0000000140)={&(0x7f0000000100)={[0x401]}, 0x8}) 15:21:33 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x6) sendmsg$AUDIT_USER_AVC(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)={0x10}, 0x10}}, 0x0) 15:21:33 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x9, &(0x7f0000000140)=@framed={{}, [@initr0, @cb_func, @ldst, @func]}, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:34 executing program 0: r0 = socket$netlink(0x10, 0x3, 0xf) sendmsg$TIPC_CMD_DISABLE_BEARER(r0, &(0x7f0000000240)={&(0x7f0000000140)={0x10, 0x0, 0x9a, 0x80202}, 0xc, &(0x7f0000000200)={&(0x7f00000001c0)={0x34, 0x0, 0x0, 0x0, 0x0, {{}, {}, {0x18, 0x13, @l2={'ib', 0x3a, 'veth1_virt_wifi\x00'}}}}, 0x34}}, 0x0) 15:21:34 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x44, 0x1e, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FRA_DST={0x14, 0x1, @local}]}, 0x44}}, 0x0) 15:21:34 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'ip6gre0\x00', 0x2}) 15:21:34 executing program 2: openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) openat$pfkey(0xffffffffffffff9c, &(0x7f00000000c0), 0x200000, 0x0) 15:21:34 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x1e, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}]}, 0x30}}, 0x0) 15:21:34 executing program 0: openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x342, 0x0) 15:21:34 executing program 2: r0 = gettid() wait4(r0, 0x0, 0x60000008, 0x0) 15:21:34 executing program 1: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_DEL_RULE(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0}, 0x300}, 0x0) 15:21:34 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) getsockname$unix(r0, &(0x7f0000000000), &(0x7f0000000080)=0x6e) 15:21:34 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000ac0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000dc0)={0x50, 0x0, &(0x7f0000000cc0)=[@enter_looper, @transaction_sg={0x40486311, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}], 0x0, 0x0, 0x0}) 15:21:34 executing program 2: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000001f00)={0x2, &(0x7f0000001ec0)=[{}, {}]}) 15:21:34 executing program 1: sendmsg$xdp(0xffffffffffffffff, 0x0, 0x0) 15:21:34 executing program 2: socketpair(0x1f, 0x0, 0x0, &(0x7f00000011c0)) 15:21:34 executing program 3: socket$inet_tcp(0x2, 0x1, 0x0) pselect6(0x40, &(0x7f00000000c0)={0xb}, 0x0, 0x0, 0x0, 0x0) 15:21:34 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_NEWPDP(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={0x0, 0x14}}, 0x0) sendmsg$TIPC_CMD_SET_NETID(r0, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000080)={0x24, 0x0, 0x1, 0x0, 0x0, {{}, {}, {0x8}}}, 0x24}}, 0x0) 15:21:34 executing program 1: syz_open_procfs(0x0, &(0x7f0000002100)='fdinfo\x00') 15:21:34 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x3, &(0x7f0000000140)=@framed, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:34 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x3, &(0x7f0000000140)=@framed, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, &(0x7f00000002c0), 0x8, 0x10, 0x0}, 0x80) 15:21:34 executing program 1: sendmsg$TIPC_NL_MEDIA_GET(0xffffffffffffffff, 0x0, 0x0) 15:21:34 executing program 3: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) setsockopt$sock_linger(r0, 0x1, 0xd, &(0x7f0000000000), 0x8) 15:21:34 executing program 0: r0 = syz_open_procfs$namespace(0xffffffffffffffff, &(0x7f0000000000)='ns/net\x00') pwrite64(r0, 0x0, 0x0, 0x0) 15:21:34 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c0000005e0001002abd7000fcdbdf250200010010"], 0x6c}}, 0x0) 15:21:34 executing program 2: r0 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r0, &(0x7f0000000000)={0x2}, 0xc) 15:21:34 executing program 2: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000100)='/sys/module/printk', 0x0, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f0000001540), r0) 15:21:34 executing program 3: pselect6(0x40, &(0x7f0000000180), &(0x7f00000001c0)={0x2}, 0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000280)={[0x2]}, 0x8}) 15:21:34 executing program 0: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000300)) madvise(&(0x7f0000ffa000/0x3000)=nil, 0x3000, 0xb) 15:21:34 executing program 1: r0 = socket$nl_audit(0x10, 0x3, 0x9) bind$netlink(r0, &(0x7f0000000040)={0x2}, 0xfffffffffffffd63) 15:21:34 executing program 0: pipe2$9p(&(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RLOCK(r0, &(0x7f0000000500)={0x8}, 0x8) 15:21:34 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) 15:21:34 executing program 1: openat$rtc(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) 15:21:34 executing program 2: openat$uhid(0xffffffffffffff9c, &(0x7f0000003680), 0x0, 0x0) 15:21:34 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x38, 0x48, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback}, @IFAL_LABEL={0x8}]}, 0x38}}, 0x0) 15:21:34 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) bind$netlink(r0, &(0x7f0000000040)={0x10, 0x0, 0x0, 0x100000}, 0xc) 15:21:34 executing program 2: io_setup(0x800, &(0x7f00000001c0)=0x0) io_cancel(r0, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) 15:21:34 executing program 0: bpf$MAP_CREATE(0x0, &(0x7f0000000480)=@base={0x0, 0x0, 0x0, 0x0, 0x6}, 0x48) 15:21:34 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) connect$unix(r0, 0x0, 0x0) 15:21:34 executing program 1: add_key$fscrypt_v1(&(0x7f0000000100), &(0x7f0000000140)={'fscrypt:', @desc3}, &(0x7f0000000180)={0x0, "2071ecf75f0508f120f8e77c71143e6dd2a1f5a19b2b666c052c03e255fca5a356030eac1d446f86ff700f3e9578c60d95e3273460f7ec5412d35ea7a7467c88"}, 0x48, 0xffffffffffffffff) 15:21:34 executing program 0: getresuid(&(0x7f00000013c0), &(0x7f0000001400), &(0x7f0000001440)) r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x100010, r0, 0x0) 15:21:34 executing program 1: openat$pfkey(0xffffffffffffff9c, &(0x7f0000000380), 0x4000, 0x0) accept4$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) 15:21:34 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000001100)={&(0x7f0000001040)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f00000010c0)={&(0x7f0000001080)=@ipv6_getmulticast={0x14}, 0x14}}, 0x0) 15:21:34 executing program 0: io_getevents(0x0, 0x0, 0x0, 0x0, &(0x7f00000002c0)) 15:21:34 executing program 2: epoll_create(0xa473) 15:21:34 executing program 1: r0 = socket$unix(0x1, 0x1, 0x0) sendmsg$unix(r0, &(0x7f0000009ec0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000009e40)=ANY=[@ANYBLOB="1800000000000000", @ANYRES32, @ANYRES32, @ANYBLOB="2c000000000000000100000001"], 0x68}, 0x0) 15:21:34 executing program 3: openat$null(0xffffffffffffff9c, 0x0, 0x0, 0x0) syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) 15:21:34 executing program 0: r0 = socket$unix(0x1, 0x2, 0x0) recvmmsg$unix(r0, &(0x7f000000a380)=[{{&(0x7f0000008e80)=@abs, 0x6e, 0x0, 0x40000, 0x0, 0x78}}], 0x1, 0x0, 0x0) 15:21:34 executing program 1: io_setup(0x2e4, &(0x7f0000000100)) 15:21:34 executing program 3: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) read$FUSE(r0, &(0x7f00000001c0)={0x2020}, 0x2020) 15:21:34 executing program 2: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000300)) io_setup(0x3, &(0x7f0000000080)=0x0) io_cancel(r0, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) 15:21:34 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x12, 0x111}, 0x1c}}, 0x0) syz_genetlink_get_family_id$SEG6(&(0x7f0000000040), r0) 15:21:34 executing program 3: socketpair(0x21, 0x0, 0x0, &(0x7f0000002700)) [ 315.365964][ T9005] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. [ 315.372871][ T9005] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. 15:21:34 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x4018620d, 0x0) [ 315.381508][ T9005] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. 15:21:34 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x94, 0x21, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FRA_DST={0x14, 0x1, @local}, @FRA_SRC={0x14, 0x2, @private0}, @FRA_SRC={0x14, 0x2, @ipv4={'\x00', '\xff\xff', @loopback}}, @FRA_DST={0x14, 0x1, @dev={0xfe, 0x80, '\x00', 0xe}}, @FIB_RULE_POLICY=@FRA_OIFNAME={0x14, 0x11, 'caif0\x00'}]}, 0x94}}, 0x40000) 15:21:34 executing program 1: ioctl$HIDIOCGUSAGES(0xffffffffffffffff, 0xd01c4813, &(0x7f0000000000)={{0x0, 0x0, 0x0, 0x401, 0x6}, 0x11, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x101, 0x0, 0x0, 0x9, 0x2, 0x3, 0x6, 0x3, 0x7, 0x2, 0x7, 0x7ff, 0x3, 0xff, 0x2, 0x7fffffff, 0x7fff, 0x0, 0x5, 0x2, 0x7, 0x1, 0x20, 0x40, 0x80, 0x6, 0x9, 0x5, 0x101, 0x8, 0x0, 0x8, 0x10de858, 0x81, 0x7, 0x3f, 0x1f, 0x6, 0x80000000, 0x3ff, 0x5, 0x400, 0x401, 0x400, 0x1, 0x33, 0x9, 0xffffffff, 0x6, 0x0, 0x6, 0x5, 0xffffffff, 0x7, 0x4, 0x4, 0x6, 0x6, 0xfff, 0x1, 0x6, 0x2, 0x7ff, 0x0, 0x401, 0xa3ee, 0x6, 0x4, 0xff, 0xd4b7, 0x8, 0x400, 0x2, 0x3, 0x81, 0x7, 0x3, 0xfffffffe, 0x0, 0xb2f, 0xfffeffff, 0x3, 0x1, 0x18000, 0x1ff, 0x1, 0x3, 0x80000001, 0x10000, 0x2, 0x401, 0x5, 0x5, 0x1, 0x3, 0x1, 0x7fffffff, 0x3f, 0x7, 0x4, 0x4, 0x0, 0x200, 0x28d, 0x0, 0x6fb, 0x8, 0xfffffffa, 0x100, 0xffffffff, 0xc1, 0x8, 0x10000, 0x100, 0x9, 0xfff, 0x10001, 0x1f, 0xfffffffb, 0x4, 0x93, 0x2, 0xffff, 0x7, 0x9, 0x4, 0x1084e177, 0x1, 0x3f, 0x7ff, 0x1af0, 0x8, 0x6, 0x2, 0x7821, 0x1, 0xfff, 0xff, 0x9, 0xe8, 0x5, 0x0, 0x0, 0xe71e, 0xc5, 0x5, 0x8, 0xeb, 0xb0b, 0x7, 0x1f, 0x4b, 0x80000001, 0x8815, 0x2, 0x4, 0x1, 0xffffffff, 0x56, 0x0, 0x8, 0x6, 0x1, 0x45, 0x7, 0x10001, 0x800, 0x2, 0x0, 0x1, 0x80000000, 0x4daf, 0x67, 0x0, 0xfff, 0x4, 0x8, 0x80000001, 0x6, 0x0, 0x2, 0xcf7b, 0x4, 0xfffffff7, 0x8a28, 0xfffffffc, 0x3, 0x839d, 0x3, 0xffff, 0xaa54, 0x800, 0x7fff, 0x3, 0xda81, 0x3, 0x10000, 0x400, 0x2c00, 0x10000, 0x28, 0x9, 0x3, 0x0, 0x4, 0x9, 0x4, 0x2, 0xf098, 0x0, 0x9, 0x8001, 0x6, 0x3, 0x1, 0x4, 0x41, 0xffffffff, 0x3, 0x38e, 0x1ff, 0xfd9d, 0x40, 0x3, 0x3, 0x80000001, 0x4, 0x0, 0x9, 0x7c, 0xe15, 0x2, 0x2, 0xffff, 0x1, 0x476, 0xfffffff7, 0x4, 0x7fffffff, 0x4, 0x7, 0x4, 0x6, 0x1c, 0x5, 0x401, 0x1, 0x0, 0xff, 0x0, 0x1ff, 0xbe, 0x5, 0x80000000, 0x7, 0x4, 0x7, 0x9, 0x4, 0x8, 0x5, 0x9, 0x6, 0xffffffff, 0x3a1f, 0xffffffff, 0xf3, 0x400, 0x8000, 0x2, 0x202f, 0x3ff, 0x9, 0x8, 0x1f32, 0x101, 0x8, 0x6, 0x8, 0x4, 0x56, 0x111b, 0x0, 0x3, 0x4, 0x4, 0x9, 0x80000000, 0x6, 0x7, 0x6, 0x9694, 0x4, 0x0, 0x5, 0x578a, 0x9, 0x58, 0x4, 0x3, 0x8, 0x5, 0x3f, 0x2, 0x2, 0x0, 0x100, 0x2, 0x5, 0xee, 0x1, 0x5, 0x10000, 0xfffffffa, 0x0, 0x4, 0x8, 0x800, 0x3ff, 0x23, 0x7, 0x81, 0x8, 0x7, 0x80000001, 0x6, 0x1ff, 0x5b, 0x4, 0x0, 0x6, 0x8, 0x3ff, 0x2, 0x7, 0x8, 0x4, 0xeb, 0x7ff, 0x1, 0x7, 0x0, 0x0, 0x7, 0x1, 0x7, 0x7, 0x9, 0x1, 0x10000, 0x8, 0xd5, 0x8a5, 0x5, 0x5, 0x32f, 0x8, 0x7f, 0x9, 0x8001, 0x48bc7659, 0x2, 0x2, 0x7, 0x3f, 0xd39, 0x10000, 0x7, 0x1, 0x2, 0x1, 0x3d0, 0x401, 0x8000, 0x6, 0x4e, 0x3f, 0x81, 0x5, 0xccc, 0x2e852bf0, 0x0, 0x9, 0x3, 0x401, 0x8001, 0x2, 0x9, 0x60e, 0x10000, 0x0, 0x0, 0xfd0, 0x40, 0x4, 0x80000000, 0x3, 0x2, 0xb9f1, 0x17a, 0x4ec36138, 0x8, 0x2, 0x400, 0x0, 0x7, 0x0, 0x80000000, 0xdf, 0x3, 0x6, 0x3f, 0x1, 0x0, 0xa96, 0x80000000, 0x9, 0x5, 0x3f, 0x7, 0x81, 0x0, 0x0, 0x10000, 0xffffffff, 0x1, 0x8cb5, 0xe9, 0x9, 0xa5, 0x1, 0x5, 0x4, 0x80, 0x3, 0x0, 0x3, 0x0, 0x5, 0x1ff, 0xfff, 0x0, 0x1, 0x61, 0x3, 0x9, 0x6, 0x7, 0x3, 0x2ea, 0x2, 0x3, 0x374, 0x8000, 0x800, 0x7, 0x2, 0xd5, 0xfffffffe, 0x7fffffff, 0x20, 0x2, 0x8a, 0x1, 0x9, 0x4, 0xffffffff, 0x8000, 0x4445, 0x800, 0x3, 0x80000000, 0x3, 0x7e7, 0x8001, 0x6, 0x6, 0x0, 0x0, 0x0, 0x0, 0x2, 0x9, 0xfc05, 0x6, 0x47, 0x400, 0x9, 0x8, 0xffff, 0x200, 0x1, 0x4, 0x1, 0x80000000, 0x0, 0x3, 0xffff0000, 0xa4, 0x81, 0x1ff, 0x3, 0x3, 0x5, 0x80000000, 0x4, 0x2, 0x5, 0x7, 0x0, 0xe2cd, 0x100, 0x3ff, 0x4, 0x3, 0x5, 0xd, 0x7, 0x1, 0x4, 0x3, 0xe0000000, 0x3, 0x5, 0x7, 0x4, 0x8, 0x1, 0x7, 0xfea, 0x2, 0x7ff, 0x1, 0x9, 0x10001, 0xff, 0x3, 0x8001, 0x80, 0x3, 0x7, 0x7, 0x9, 0x1, 0x5, 0x827a, 0x51, 0xfffffffd, 0x2, 0x2, 0x5, 0x800, 0x9, 0x6, 0x8000, 0x40, 0x4, 0xfff, 0x8, 0xaf8, 0x3f, 0x1ff, 0x3, 0x7, 0x8001, 0x4, 0xb5c, 0x7f, 0x6, 0x7fffffff, 0x40, 0xfffffffd, 0x2, 0x8, 0x7, 0x7ff, 0x8, 0x10000, 0x3, 0x7, 0x401, 0x1000, 0x10000, 0x4, 0x1, 0x6, 0x9, 0x1f, 0x7, 0x8, 0xfffffff7, 0x3, 0x8, 0x6, 0xf, 0x8b5b, 0x791, 0x100020, 0x3ff, 0x4, 0x800, 0x1c, 0x0, 0x400, 0x9, 0x80000000, 0x1ff, 0x40000000, 0x0, 0x0, 0x0, 0x401, 0x3589, 0x78e7, 0x1, 0x3ff, 0x8001, 0xfffff59f, 0xfff, 0x1, 0x9, 0x1, 0x4, 0xffffc948, 0x8001, 0x300000, 0x6, 0x6beebae8, 0x6, 0x6, 0x0, 0xfffffffe, 0x1, 0x1, 0x3, 0x5, 0xffffffe0, 0x8, 0xfffffffc, 0x86, 0x4, 0x20, 0x0, 0xffff, 0x60, 0x0, 0x7b, 0x7, 0xff, 0x80000001, 0x200, 0x9, 0xbe5a, 0x40, 0x1, 0x3f, 0xe17e, 0x5, 0x9, 0x79c, 0x7, 0x1, 0x2, 0x6, 0xfff, 0x20, 0x5, 0x0, 0x4, 0x9, 0x9b6, 0x9, 0xea1a, 0x5, 0x7, 0x7, 0x176c, 0x1, 0x9, 0x80000000, 0x5, 0xd74d, 0x101, 0x6, 0x0, 0xfffffffe, 0x9, 0x4, 0x1, 0xfffffff8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x100000, 0xa100, 0x80000000, 0x1, 0x1000, 0x400, 0x101, 0x0, 0x8, 0x1, 0x7, 0x5, 0x6, 0x8, 0x6, 0xb, 0xfff, 0x1, 0xfffffff9, 0x9, 0xa317, 0x3, 0x10001, 0x0, 0x80000000, 0x6, 0xb10, 0x1, 0x7fffffff, 0x7, 0x7fff, 0x8, 0x5, 0x9, 0xfffffffc, 0x3ff, 0x200, 0x9, 0x26, 0x2, 0x4, 0xd438, 0x3, 0x9, 0x1, 0x0, 0x7244, 0x6, 0x0, 0x800, 0x8, 0x20, 0x0, 0x67, 0x48b7, 0x3, 0x200, 0x400, 0x9, 0xf7b, 0x8, 0xa2, 0xd32, 0x0, 0x9, 0x3, 0x9, 0xca2, 0xffffffff, 0x8, 0x10001, 0x2, 0x7, 0x80000000, 0x5, 0x148, 0x7, 0x8, 0xfa95, 0x1, 0x8, 0x8, 0xda30, 0x800, 0x2, 0x100, 0x3ff, 0x1, 0x7, 0xfff, 0x7, 0x9, 0x9, 0x7ff, 0xe59, 0x7, 0x2, 0x4, 0x9, 0x1, 0x401, 0x0, 0xa7f9, 0x0, 0x5, 0x80000001, 0x3, 0x2, 0x4, 0x80000000, 0xe1e, 0x8, 0x6, 0x2, 0x80000000, 0x81, 0x9, 0x81, 0x5, 0x0, 0x81, 0x81, 0xfffffffb, 0x1000, 0x74, 0x1f, 0x0, 0x0, 0x0, 0x1000, 0x0, 0x7f, 0x6, 0x10000, 0xfb42, 0x3f, 0x20, 0x2, 0x80000000, 0x2, 0x0, 0x8, 0x1ff, 0x9, 0x7ff, 0x400, 0x7, 0x4, 0x3, 0x9, 0x40, 0x10000, 0xfffffffc, 0x10000, 0x8, 0x4, 0x8, 0x7fffffff, 0x7, 0x7, 0xb87, 0xfae, 0x40, 0x5, 0x8, 0xffffffff, 0x7fff, 0x7, 0x0, 0xfff, 0x1, 0x800, 0x7fffffff, 0x1, 0x1, 0x2, 0x3f, 0x3, 0x3ff, 0x1, 0x80000001, 0x8, 0x4, 0x3, 0x8, 0x2, 0x7fffffff, 0x9, 0x2, 0x0, 0x9, 0x2, 0x32, 0x3ff, 0x2a, 0x1, 0x8000, 0x45, 0x2, 0x1, 0x101, 0x6, 0x6, 0x3, 0x3, 0x81, 0x7ff, 0x37dffa08, 0x5, 0x7ff, 0xffffffe0, 0x7f, 0x4, 0x8, 0xdfa, 0x81, 0x7, 0x101, 0x6, 0x3, 0x9, 0x40, 0x7fffffff, 0x5, 0x2, 0x4b3, 0x6, 0x5, 0x3, 0x1, 0x0, 0x2, 0x1ff, 0xfffffff7, 0x5, 0x2, 0x2, 0xfffff089, 0x2, 0x4, 0x100, 0x100, 0x4, 0x7f, 0x1, 0xf52, 0x8, 0x34371e5, 0x8, 0x6a, 0x4, 0xc248, 0x1, 0x545, 0x4, 0xffffffff, 0x3ff, 0x9, 0xffffffff, 0x3, 0x8, 0x80000000, 0x81, 0x3, 0x0, 0x0, 0x0, 0x1, 0x9, 0x3ff, 0x6, 0x1, 0x0, 0xffff, 0x9, 0x80, 0x0, 0x2, 0x0, 0x20, 0x8001, 0x1, 0x1, 0x6, 0x2340, 0x6, 0x2, 0x4695, 0x8000, 0xfffffffc, 0x80000001, 0x5, 0x8, 0x3930879d, 0xff, 0x7, 0x1, 0x7, 0x8, 0x0, 0x6, 0x1, 0x4, 0xe6b]}) ioctl$HIDIOCGREPORTINFO(0xffffffffffffffff, 0xc00c4809, 0x0) openat$null(0xffffffffffffff9c, 0x0, 0x0, 0x0) write$ppp(0xffffffffffffffff, 0x0, 0x0) openat$null(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) syz_open_dev$vcsn(0x0, 0x0, 0x0) sendmsg$IPCTNL_MSG_CT_DELETE(0xffffffffffffffff, 0x0, 0x0) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000001f00)={0x1, &(0x7f0000001ec0)=[{}]}) [ 315.423555][ T9009] binder: 9008:9009 ioctl 4018620d 0 returned -22 15:21:34 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_NEWPDP(r0, &(0x7f0000000200)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)={0x14}, 0x14}}, 0x0) 15:21:34 executing program 3: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x2, 0x0, 0x0, 0x659fc9e5}]}, 0x10) 15:21:34 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) getsockname$unix(r0, 0x0, 0x0) 15:21:34 executing program 0: pipe2(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) ioctl$PPPIOCGUNIT(r0, 0x80047456, 0x0) 15:21:34 executing program 1: syz_open_dev$hidraw(&(0x7f00000000c0), 0x0, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000003c40)) 15:21:34 executing program 0: ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) syz_open_dev$vcsn(0x0, 0x0, 0x0) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000001f00)={0x1, &(0x7f0000001ec0)=[{0x2, 0x0, 0x0, 0xebe}]}) 15:21:34 executing program 3: select(0x40, &(0x7f00000003c0), &(0x7f0000000400)={0x1}, 0x0, &(0x7f0000000480)={0x77359400}) 15:21:34 executing program 2: r0 = epoll_create(0xa473) io_setup(0x9, &(0x7f00000010c0)=0x0) io_submit(r1, 0x1, &(0x7f0000002580)=[&(0x7f0000001140)={0x0, 0x0, 0x0, 0x0, 0x0, r0, 0x0}]) 15:21:34 executing program 3: syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) 15:21:34 executing program 0: r0 = socket$inet_tcp(0x2, 0x1, 0x0) sendto(r0, 0x0, 0x0, 0xc000, 0x0, 0x0) 15:21:34 executing program 0: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x0, 0x2010, r0, 0x0) 15:21:34 executing program 3: openat$pfkey(0xffffffffffffff9c, &(0x7f0000000800), 0x20241, 0x0) 15:21:34 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) syz_genetlink_get_family_id$tipc(&(0x7f0000000000), r0) 15:21:34 executing program 3: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000100)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) timerfd_gettime(r0, 0x0) 15:21:34 executing program 2: io_setup(0xe35a, &(0x7f00000001c0)=0x0) io_getevents(r0, 0x0, 0x0, 0x0, 0x0) 15:21:34 executing program 0: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x80086601, 0x0) 15:21:34 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000ac0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000dc0)={0x4, 0x0, &(0x7f0000000cc0)=[@enter_looper], 0x0, 0x0, 0x0}) 15:21:34 executing program 3: syz_clone(0x1f000000, 0x0, 0xffc7, 0x0, 0x0, 0x0) pipe2(&(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) ioctl$TUNGETIFF(r0, 0x800454d2, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(0xffffffffffffffff, 0x8933, &(0x7f0000000040)={'batadv_slave_1\x00'}) sendmsg$nl_route(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000100)={&(0x7f0000000280)=@can_delroute={0x44, 0x19, 0x300, 0x70bd2d, 0x25dfdbfb, {0x1d, 0x1, 0x4}, [@CGW_MOD_XOR={0x15, 0x3, {{{0x4, 0x0, 0x0, 0x1}, 0x3, 0x0, 0x0, 0x0, "f553989728fec620"}, 0x7}}, @CGW_MOD_AND={0x15, 0x1, {{{0x1, 0x1, 0x0, 0x1}, 0x6, 0x3, 0x0, 0x0, "87a55b895c7236e0"}, 0x1}}]}, 0x44}, 0x1, 0x0, 0x0, 0xc041}, 0x4801) ioctl$RTC_VL_READ(r1, 0x80047013, &(0x7f0000000080)) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x9, 0x1f, 0xcb3, 0x2100}, 0x48) socket(0x2a, 0xa, 0xfffffff8) [ 315.672384][ T9046] binder: 9044:9046 ioctl 80086601 0 returned -22 15:21:34 executing program 0: syz_open_dev$mouse(&(0x7f00000110c0), 0x0, 0x0) 15:21:34 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_WIPHY(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x14, r1, 0x309}, 0x14}}, 0x0) pselect6(0x40, &(0x7f00000000c0)={0x8}, 0x0, 0x0, 0x0, 0x0) 15:21:35 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f00000002c0)={0x300, r1, 0x1, 0x0, 0x0, {{}, {@void, @void}}, [@NL80211_ATTR_BEACON_HEAD={0x1cd, 0xe, {@wo_ht={{}, {}, @device_b, @device_a, @from_mac=@broadcast}, 0x0, @default, 0x0, @void, @void, @void, @val={0x4, 0xfd9b}, @void, @void, @val={0x25, 0x3}, @void, @void, @val={0x2d, 0x1a}, @void, @void, @void, [{0xdd, 0xc4, "47fafbfea05a5857ea9b3baed3b86c79bc786ceaed0c5efad561bea61a2084465f19d2cdf9fc62bbfdc04a99d362da10442a321fe626dc29a0a73e1d624f6d7350c216460cef21b2d6cc4bd72af177f512f025e2b5886bef76e9d6cb01707c09eb3b765bf87bb5571a9bdffeba9bbea93ef7df4b780fbf8eaffef5829df600c5d9f888f304c380c105fd7b85f958cc15f2257c80146d1a1f0f0c7ccbf7b6c7d623db0385e83faec1de990ef81ac745119631047a314e1c03f605b71525fa1841f32fd1ee"}, {0xdd, 0x4a, "77f8915eba3caf7d4332231201af4fd6fba9f1597474eedac5f1b2b47cc4ca23a003642368346a623aeefc5d7905dced8cf9284cf828843c4c67d3d525ed17335ea8f813631adadeec8b"}, {0xdd, 0x68, "59d1f2f311466d76dff43ea651507c5f0ba25bf48b4c8dd397c43a80537365e74a796a36cb6d49487b6abf4ff942b920d62b93a49b2ac1cd38efe9488b1e6ee00e3bbea1821440b5f2a3bb43d708bf4075db1aeb3aaca80fe263fcef24be70e0cd4414be3f1bd031"}]}}, @NL80211_ATTR_IE_PROBE_RESP={0x45, 0x7f, [@dsss={0x3, 0x1}, @challenge={0x10, 0x1}, @mesh_chsw={0x76, 0x6}, @mic={0x8c, 0x10, {0x0, "cbcd9de0b53d", @short="91f1b8d4a518eec8"}}, @prep={0x83, 0x1f, @not_ext={{}, 0x0, 0x0, @device_b, 0x0, "", 0x0, 0x0, @broadcast}}]}, @NL80211_ATTR_IE_ASSOC_RESP={0xc1, 0x80, [@rann={0x7e, 0x15, {{}, 0x0, 0x0, @broadcast}}, @fast_bss_trans={0x37, 0x7c, {0x0, 0x2, "c62799568a7f7117cc71b2ce954d251c", "fb0b430b44fb5033b888469ada810a960c96c9da342f818d8999cb870302842d", "742b79618396bcad3121064e6e3809e07c346971c2cd3142871d0f3a6693a83c", [{0x0, 0x23, "d3d6f04df952c33067a95c09f78c69dd2f00117f89b5a3946124353cf19225b7e3b7ba"}, {0x0, 0x3, "5dd202"}]}}, @mic={0x8c, 0x18, {0x0, "fd9ed0d3bb30", @long="3cbfd063e5b609133caeb97cf080e970"}}, @mesh_chsw={0x76, 0x6}, @ext_channel_switch={0x3c, 0x4}]}, @NL80211_ATTR_IE={0xf, 0x2a, [@dsss={0x3, 0x1}, @gcr_ga={0xbd, 0x6}]}]}, 0x300}}, 0x4008000) 15:21:35 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) fsetxattr$trusted_overlay_nlink(r0, &(0x7f0000000000), 0x0, 0x0, 0x0) 15:21:35 executing program 2: io_setup(0x2, &(0x7f00000000c0)=0x0) io_submit(r0, 0x1, &(0x7f0000000440)=[0x0]) 15:21:35 executing program 1: socketpair(0x2b, 0x0, 0x0, &(0x7f0000000380)) 15:21:35 executing program 0: r0 = socket$inet(0x2, 0x3, 0x6) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x4b47, 0x0) 15:21:35 executing program 3: bpf$OBJ_GET_PROG(0x7, &(0x7f0000002700)={0x0, 0x0, 0x20}, 0x10) 15:21:35 executing program 1: socketpair(0x28, 0x0, 0x1ff, &(0x7f0000000000)) 15:21:35 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_TTY_SET(r0, &(0x7f0000000580)={&(0x7f0000000000), 0xc, &(0x7f0000000540)={&(0x7f0000000500)={0x18, 0x3f9, 0x0, 0x0, 0x0, {}, ["", "", "", "", ""]}, 0xffffffffffffff70}}, 0x0) 15:21:35 executing program 2: io_setup(0x0, &(0x7f00000000c0)) 15:21:35 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x1c, 0x1e, 0xd82f869737138495}, 0x1c}}, 0x0) 15:21:35 executing program 0: pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0xb8a}, 0x0, &(0x7f0000000140)={&(0x7f0000000100)={[0x3]}, 0x8}) 15:21:35 executing program 2: pselect6(0x8b, &(0x7f00000000c0)={0x0, 0x0, 0x2}, 0x0, 0x0, 0x0, 0x0) 15:21:35 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={0x0}}, 0x0) 15:21:35 executing program 0: syz_open_procfs(0x0, &(0x7f000000f140)='net/netlink\x00') 15:21:35 executing program 2: io_setup(0x9, &(0x7f00000010c0)=0x0) io_submit(r0, 0x1, &(0x7f0000002580)=[0x0]) 15:21:35 executing program 3: r0 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000080)={0x1, &(0x7f0000000040)=[{}]}, 0x10) 15:21:35 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=ANY=[@ANYBLOB="1c00000052001101"], 0x1c}}, 0x0) 15:21:35 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000e80)={0xffffffffffffffff}) bind$unix(r0, &(0x7f0000000ec0)=@abs, 0x6e) 15:21:35 executing program 3: socket$inet(0xa, 0x1, 0x6) 15:21:35 executing program 0: clock_gettime(0xfe40a9f9abfdf155, 0x0) 15:21:35 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f00000037c0)='/sys/module/kernel', 0x690882, 0x0) 15:21:35 executing program 3: r0 = mmap$KVM_VCPU(&(0x7f0000ffb000/0x4000)=nil, 0x930, 0x200000b, 0x31, 0xffffffffffffffff, 0x0) syz_memcpy_off$KVM_EXIT_HYPERCALL(r0, 0x20, &(0x7f0000000000)="b381ec460dde13e8387a4336b1f232f296e088d9675b8d084e48361036bb2d1534e0af9827244a1665838c796ad7e4431ce3a7947d6936ca38c29542692befb130c5d039227af6b2", 0x0, 0x48) mmap$KVM_VCPU(&(0x7f0000ffb000/0x4000)=nil, 0x930, 0x0, 0x31, 0xffffffffffffffff, 0x0) mmap$KVM_VCPU(&(0x7f0000ffb000/0x4000)=nil, 0x930, 0x0, 0x31, 0xffffffffffffffff, 0x0) 15:21:35 executing program 2: io_cancel(0x0, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) 15:21:35 executing program 0: socketpair(0x14, 0x0, 0x0, &(0x7f0000000840)) 15:21:35 executing program 1: getresuid(&(0x7f000000d4c0), 0x0, 0x0) pipe2(&(0x7f000000d5c0), 0x0) 15:21:35 executing program 3: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000300)) times(&(0x7f0000000000)) 15:21:35 executing program 1: ioctl$HIDIOCGUSAGES(0xffffffffffffffff, 0xd01c4813, &(0x7f0000000000)) clock_gettime(0x0, &(0x7f00000014c0)) 15:21:35 executing program 3: r0 = syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) sendmmsg(r0, &(0x7f00000096c0)=[{{&(0x7f00000001c0)=@llc={0x1a, 0x337, 0x6, 0x6, 0x3, 0x1, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x1c}}, 0x80, &(0x7f0000003640)=[{&(0x7f0000000240)="c7569275d2", 0x5}, {&(0x7f0000000280)="43376d8e7db19556e8f689cb57a7a8bec4ed574b506fc5a7cc3d38baa23661dd29bdfaf8830363affa45cd28fff18689f3377e7c58ebf952d278f7e15e57f7c8e62804f87213a24ac1ff62", 0x4b}, {&(0x7f0000000640)="0fc5d3ea74fd5eb27585f7e8e637dc0be1f89690a8318ef7b5cbfea360eadfb490f41973676f21d294b6058dadc19804e87de89727bd3637067022c254f82dd2ab1388c9536bf1b088cca4140c9971bbc087fcf3abd07231c414f11853f9c3f1af55c79a92b395261b70afde1f1fb9694e7385acdf2bb357129339e6e7de73368b4749a2356443f6882fa090fba7c15ebc67d8e79199f6cfccbc2192dd7fc400ae1bb4937964fd21908023bcf2dd4acd7bf5d36bee95f225f575b91c0afd5ebb3bf6c3acdec0b521b986dea7a60387155fed04641e61e691c5ec5176eaade0f52b044497886d0b85a3b5612692276fa0ce7a10f275546a9b1a8954fe5097794f6eb39dc3263665d8d976b40c82f96d7ccb03328d0b737a9f78a0d4447f3dff1f3c0f04ee3dca03327cff280a31bd313dd46ab328472d5bd529d233ddb591a08c9a61da1bb69b621b5b367ffc5103415f6189b188fa2d45fc8dfc17f501c7aefdd981ae87e84a6bd3e00fa9487105ce4536180e4e908029b2169663f73c6ec7b418df74cb59661046a63ccbb1b0633125c739903b2a55402d1676b3101d4feea8c62cf81afdb0102deb2b0f56ea3c7a236454a35acb2c12e32b2124a762e15043b9e8606ed387afaeff5f02f4bfd6eecc49b9dd4b71f46b761f062465881430d1bcc9b35b8882ed6949c8015ff3ebd1160d618d0b783939ab4074b0bb597c6bda1fc0409412bac69ea0e2dfe67422c1709bb2eb0a52a3e7fa2fc16d3ed7d9a0163a90f08ad95be2404745de0dfe227461fc65ccfee7c1cd67e17744f63330afb8c6c7a132a5a0195528fb4a2abf13e89755818ade1428af05661d35e272463950253474268659e0bb8184e4fd2cddd28ff6701257b87741209edeb2093350b95f3a508b76beb252be691b2410b8d472af3201769b89909d16b6c9ff1faadd36dd395003e4a71c05c8f9ba8bbfaa8f0aae2fc31fa4eb6fe1d541dd436250ae2e2a782bee350d61522e54db0043c71c4b9fb73e943f9986dec2413945e9d2320d7914925b13afb5eaf3a5bf971f0d4972ed3994b144f47e51ba266a5bdedfb7ec8031c2f5066f755bca2b6330a398a44ae7cff22b2f2a04e0bc1359feeae3d2defc665f5ec9ca08c5a0800e6813415fef00033ff40eebbfeca82d99bcc9badf17a06540fd556cf347701c439dd71da3d17d32d7ba1786103c33de7df99ac13863574bf245b0147901887c1a29b7dbe0c3055358c27f9900f9595c56c8643b2cfc0e9ffb5e4f21bba9be1fc7e9e3c7648d8ec9ee79d3a31a887b909cf9d9a159600d110c1d2c37ecabf94d35c55022eb3c9766ebd9fe11ed1892c510b08c86598ce430de4a08ef5742c1e4ea26b4681ff46443877a7fb6371469c4b7d33cb28ed0637e2c0aeea6aacc85ff0cebf54d0357d5b3a5ce8669f0e2016a58cfb56efcf2391932afaff405ab3de535c1451a5adb51d4d51dc133825986eb500b9385e9e803d02f61ffb6d9b2e01b154ebdc1d29e27b544aacfbe367ee4a7a474f0277131acc9b69b7c91d92936702ef9afb58cf52501f24c768fa59f88e5cdfef754887df03e736cccd14daedd15bd646dbc82a9fe0936fc9754fc733149e95801917bf6fe9544e29bda7c41419e3a63c787af8df8746cf94611ef228b3564bd1c14761c54556b201e74bc6fb177dac7b9ed8af1b68f9cea3155e6f21116821738975c3c62ccdb115f58f1a99a17aa0ddd6a58e983544235027f3078e1a097f45904217e2eb5cefd383108f57e85e9c78b10243e0365f4c7947e44c1824eff2c95d283e09025b78975a26eb8dbbcf5187a4479aa22fc39d79b1ed6daed1b289812f44984547dc20b2b2286b0ad62eb94d3afd0889f42646ffb85959cf41961ff20efce4bb3ba11575a84a92924a33ec4813a995e6a407bfb8ffae3944fa1cb0dd867a10c27e8f6f9bcecea6fcbec1570979b9e704de36aa296d1b20ac23713a848409a7f0f5d6700c79f1a9cf33fb1fd9a60817cf93e8952ce5bc7246edb5a041ea69f4ff23972c1663a59603fced33cdabfe5f44f2c1082a72eb1f04d2e707488f251e13ca8d44dffaa576e6f2c3f3af2195a618fbb8e5aab60524a05f1e00e49096667887eb39256be29ef98a8897bbbbd92b0471d2ea2a153b984851a7fc368e57131500f8221ff81293d0eb814504f810f1b477cffb69a62bb017dec6c829ed4d05ddb004641c6f26198bfd841dc0031e8aec8dbf742c16237f0756435274662803407cb4c5216a5521a9b0005574c2447a4ff588897c04a67aa947d73f3337d2cd3779df02af094a62079846311283342f3e0fc05b82c3e45715b1bf7a9f68183a2407c45695970849225d885d1691adfc134540737bffd1efe4498b3a2240b912d46b0d905e4a884fe959dd409b9aa9cc551e586e8500bd9e1450ccdca90633dd632c298dc54f5dd8e050b93de310b9b4fea73a56ba1fb1e88b8598541cc6e0f58f6d39d293528a194e94054a796f8965fdbf578f9a446e1b425fc65a68f32dae705b23d4c175ec26bfb60e239b1f3d627c1ecfab477e6733b5491d04ce7acbd72e7228d5e0e8c0b551827fa49ecf7bd53b21d3549c1f76a423856cc9ae122af176397d83073c958b5755e2cc1386aa08399fb93e0d05b67d5689b2d9a2ad005d8c9b6e1fe3a2f0243668a95ee37ad284ecfb0748b49c66f933ca21d750571b89670a30830dab2eef3d346afca58c60923e4a5ec40efee0c78ac87d7a6c13866927c46ac62bc682742a2835c35dcbe6afc6ec1ab6800c73cd39f61aaad715bb7c3ad48de42d53b7ba4cd5b7d65652ed38ab99c652eae06ff9fc519b4db1fcb8aabad52746c0bbb9811c76a561fa14dea099680266c85fd4d106f4344734d354889994db6de33fda62083f8383f66742629131535e57ac84e10996cd56b2b02d413cf9539fa5fce55e36893cbc365420d4d2d757d39bf61d71146f8364353535f46d265b08c08eae603ebc2d1875874d2f73491397a832d4eded0f52295a6a99cf0931c1d9361fa99758d7deb7c1c3aec4d54c96c7c61f5317f30d20c34c2080a034e15f23a7eab5e2e6b7d7f1da6ed1f807267e5c99312a26358086ef52dd9fa10ef30f703e64109a878b1de23ca08dc65ea05de6cac2312bcbf157690b30991e29a5fec9bfda6e7b5580272d2e0b34e98c0b2000b801bacd6c0c50473e6e9d01407fe06bf9e329825774beb1df6fe8dbfffb589346a29badcaa7b0c7b2a337b30b96f850a1409fbe2ad444dfd1ee9fa9a6e203607ea0ddeeb2d51c2c8a2a34b59ecacf289da5757541c2d4b0676c752bf877401dbf57d560d3cedd59731759b0421cb9fb36160f5c0519ba0cc3ceab33a3b4a5e54d2ea9f0bff506861ba325bd7aa72dd50d84698493eb22ed3887cd15ddd8ed19579d536ed065ec9d228d9acd370e1277b086d4b4aa72a1cf92c805cbc21845fb331e9ee97853818603f560582174b985993ebc718c284c9a760cd5c940c8311c85e4d167143a54b08f4d0e0a51ccb03189cae6678465503ae3ddb5760930eea35616c3a245775777743984abe3bc8e3dbbd6f0e7f1d6f905c39f00db4b9f43ff5adabaa44ac4ef1ac555c900a06ac17459c916b5c6007b0e9399530e9f265d885d151dd9a4357f1be59d5ada8e24c620c4265b1ac46aab628f7762d05f552dba08fd9f71d6ed0086ad201720011fce10c968e8f1e77920d76e51c7f3285483724b0ae716404960eee0284734d88f2289252790b22043890cfd6e05c6eeddf575819265632b6131d59d55d90a1f316883063cfb89f81d1212f153626da49ed1be6dce07f9143dd6e6f4d8bc62e22d211679d18ecd95957c070d4124d391351c51b86e1c9970de4197051fcbef0b12a1772c3f8c2a4ef2e226742e01d346f8947650dcd2e964b5389c6b748dfa676854969e1c09ba6a1d6931e656219bd26219276ed60d366888c65bd353400fce5b1f72636b75323f58b72bbb431c27a0fe419c468ae4e2b72d69764f2cb77ca48de00d62cb907369db629d272a76d6e5ae357e327ef3c72714b1d9d12c88b3504fb117ad228fe6e6859edfe6860c072b59a304b36516b3a99840d38aa604d38a10a524c2eac901ea851942dd8fc1ee16dbffa12a031643874c60132722139491adf6831b0707b735f01199421271c1716f4f17eaebadcf48c566953a5b03b47a5e9a17c47d1a0d12de3a9aa5900c502798127e3513c24ec2ac2b87aa330eaf8abf1a29d621f2b074a3cb7a2ed225a9b7f82bf9048f9e5c902b9014a41efb48d16960450d35917d5c1684db5461405012bd5397b52d05721deba37d3746ae53008be7a2561b57995eb5233c58b92c80d80f67a56734d2996c84194668b95d7df4612fcb572cf2794807685d43f4a2c0ad93314624266dd5fac142e6d6bbc66a9373ebf1552366e5ae101a8578d1f7d442943f0bf257c6dabbc5906435bf96ac71ecddfccdda2aecb414a6e47cdda4a409e7a90249e0b46d4769a10ed0285a4012dcfcb3d7852ddabe22beff8a9a0262f9cf67ff80ba78de943686cec9593272d14f700880d3ed954879acd4f6f24e2c08fdd0e512ab935a5673cd1ac2fcd4d4ef4a113795c5d5f2824ba918f5bff9fd7d7034abbc4b852e11b68968dff7dc34db207b323600198669b23e8168068c9fe7b317de13052eb5ab32fd89a410d4227d33c3dd6933fa9b1789f2a0ce5c2a4f981ceda01072a4d877a05c284c24983793897693d4e36f218c4eaa9d747a9ca46688e780a83a16673e8093c3c1c1ff1a390239cf623de0c7f363f3393d0847a8ccacab4ac76259df7e646bedd8b8e1c62f620692776789f63362f15bb741e7479ab3892487b2ccd20a2d8ae601245a5931e9e50bcdea542e48aa06d829570f4ffe585b3f32cb4c44ff7ffc801c134d52a2bae7052210916f5433067d54c5606ddc8444337d9787873d994d277b0bd5d84cae22a3cfdbbd8def6fc69a9a84daebb0defb3b4aac195d4ef26ed04b09449bab74034fa2b3f2cb2e335fcb7b41b95da41a38662de3df525bd05768ec7bbb06fe71cadc5b2d123183e5dda329a0710bca8fa208f13b72bd3733119cd3ccfba50ea246c3c20333297c332a7afa71ce502fcf828b1373400f5d1c635ebc6fb36e1dd6dde4b639b7728db35bf835022211c78c99eefc67bffeb3a6d13a8feb5b5824a44ef1662efbb89491a0c4970549b9c587077dd759f0f68a5ca95a1504cfdbb8ca8ed0418a3c04d9627adeeab3f507fc633019322bc04eef9b80dd83ffb192b3da49a05299b0fa5519f5756213e79ff6e1b6d95cf8eb5d24f4974c3ceb61d25aba81121d98844b9bd47dc9f51fafdfbfe5a07c848448f4e7807ea6c2f4d4fdc8bd92c2c06886d77ffde1e96a4d7c4e5b037393fa2b9296f1a4f21914bdc49a9d1422b93a0b7917dbf8a54e6b3a97c404cf56dd87fe8768b550f0909ffe855055dbc747dec73e0508e04c074cddba7925334df30f473154eff59bfa62d6b6a970aaf1c88b2d09b9b18baddb55390f9b1125b4e0f9d4ff62a58b3cf00919349f558b6a0322e702c788a647af86aa3af37512446f741af77368e0c9fce93f4ced433c2adc51467b8d4534ea2dd4a1b92664904b271a67f16a857d364c90e9ce2e0a2632925712f3c3a2d2c4cdd5db987e4f5f251112bc792f5ec107de2e43da0701fd843e40e6ef1eb026504e8e1432fc85d3df18c4da6a8e6926ca8eee4f78e1c9a4f16e66d8a281aeee68a7fdc234d34613ecc58e1cad76477c8e0e0cb7a02ef93", 0x1000}, {&(0x7f0000000300)="49b8ae6ca082256de851b911ee1579050c192a6b11920104a3102e462276326b9357c76d87beb9b257ada363f411701e3e8247cf767b08710917965ed2882f0b702125f883fc1073c2c245ac3b9111fac5a8f658a08f48a47103", 0x5a}, {&(0x7f0000000380)="c02101e0c167348832e66a07a24ff1ef7946b3ea5a449faaa432b7c825f39a5bbd60662a73463b6835bb46eb79f7cacc5b74e5fa155c899a883a68d881fc70d4284f160c1ea8f2de1757b5ec2fb95baa4153f0a0711a76a840d44b93133cd229e508b301e750dc10f859ed3680daf9e097b6b8841dd796b698065534dffebc704b420a300ef43f0e3f5a542e3576544f9ce239a2727821d2fcbec97bf64f8bd8fc44f6f3f0702803cf1e021e4579700b01b558e8fe8bfeb51445f324057765baff37528d51d3e8b3ee3153ffa10c", 0xce}, {&(0x7f0000000480)="3f7aaf23a54074712ae800a6892e3c203d76a7acfa47ad9512ad48cdfd46950bc7d1c49a904048a48d5b", 0x2a}, {&(0x7f00000004c0)="17ee6725b2b25726b6e2f576fb4eed434cd63b99a0ea574cbc44913ce5535da7adae64f63227caaad2a46b18009370b746cf3bed55da3fc2469527dbe8b25510027ae8e327b595b07543773e8df9d1330ecb2237ed65024800a6ad18e948352411114a738260cceaa5db2339", 0x6c}, {&(0x7f0000000540)="4b8df76fdd4962781ddee8afc7ede204540dbc8e5dcb203cf12ae558755170c74648c023bce88946b74b13720968f0101519b879c15468deada64e1fd91c8303da457d", 0x43}, {&(0x7f0000001640)="be86e65c3880b1023fbfb599484ee6c3c7daea8d63bafc273753ced5a2ab8c84f9363765545cdc164b8dbda77cb810ad05d83d9426fef1070b4ddbeb6d09781e417e1072108e75de274bbc90661f66118a730630c26d1276ad091d5a2d686c32ccddc23748e4fa1a0c7c3466c208a72df7b1c4d37bfd449393f6c09bbe1e8334b56f99204eacdc221829ce8acefe465e76ff384542a59b9eabf7014c938ce3a9cfabed51058b1baf91f8b201cfed2418aecd37d1338c18208b9827148a58fe5edca46b95490dda0264e1dda74b58d607bda9b38613a4f6b266d9cf2169307357e07cc58cb31fc14dd36c371a70103ac906323995626b28f597a96bbf5a0b6961c6835555e7226a6d30c0d5042b86dd0e570e63f655926ee8831ab99630ff076ae19e71a1256a0f310635103f21e4b5bc93ed7546a5afb00b4bc1e20d435ff2b21f7efa1090e5c86cfd5bd9b4e7b1ff6c0fb1a714412e909323a0bbc7921c784e101571bc440861367b256ed75a64bbfa839fc576267a38f9bb18aad691028357509df13845a5e5443a1d25fdbbfc952ae1afb647b6605a25ef156f649696d00bf8074080ead001eba9170ff0b3b83e9600f561d0467c876a9dd544893d688d0e6ffa8a7b626f716b7d3246d578818a252887760f00610e6d721c28ade238aeb0477fef48aeef8da80877db49094d5729ec90f20903f1adba1f067b033da8fda0cc4f32df437b55712bbbbb7d0ace8ec92db1283078216258b17b4ecd7308cf408775ed4ca51d8050edd72775258dca27a7d3c956f99bbc80f84c7dd063decd3f034a3989b8ae17a11b61da9b8605b35b91cc24482f6a014c6fd8a156def521bdf3f50ee094f231d053d93a041678e04029faa2d477412f988a4afa1182e6e9b430ba051ad20291838779bf268fa1af882f8e31183737acf19115089306341bd7a9f121c6d52b3f8170aca5d684fca85a7eff3702eefc46aff5c7723c5920ea0a73c32da9b4409693e6d23c0792e49585c033ce0578a70305623ece04f4fbb53f94c2a8c4bcdd84269741a6f7ac299725b07fc532ee498d38a00ac36fd5edf627d4d9e2f7951fa13fb3d2084bf061c1ac6d0321666b5b9be00952d046d5082c6b6d9946713d5323c63a8e22992649108de93bfc01f09ccfe72abcf890a598e5aaa46d5f7c76bbe88fec3067eee19da7d4713cdf9cf4e0a3af4b872134a7f0667adee6220b6b99d8320d45dcccddbb0478cc56ec647303dab4ea0c6f6b031ee3c1de9a9bc83f867336ce9a8a1bf638a37ca1a600aac9820edd456a8603868154ce062a9ec1fd00a4aa4c6ac9f04406a12a89510662f565bf63222c7438f2fc4bb86fefbb7c0b5032c2d4649fcca0141a6daa393a5324ed3a52ac90a8cd09153ce622b26c14ab5eeb3d22883b8a01892696ef4b095e251603743b07a63c8e7c348f2cf000af03f0353750affa76281483f71d35aa28731c893e15f75b45b47d7030a7f77f84d5ddc618134f2848c7602e54f2e4a947d34cc196e2623c05d2d5fa570cd984aaf17e44d75e060502ddfcc1d13b9676636e247508956833a496df3e7424a41b23174a51cf6b06052b0335b9942b07169b2dcdf289ad5b1350d4acfb8beeb9a29281f354c78c118194f8cd458a94a8f19563fb076c834c6bedf9c377a6c6db30b959e124293e1f050d083adce69b2b72ce2bfe4d1483edc1a8e565c3942098319a542735123c5c318ab0d23c74b212c432be3ae9bd0dcf7521b28ac84b28b0540c56b570c2cc6cb7376fb89e6c7453caa44c584f7d532a1b42be1c61cf881012df8a64987420e1dd2a3836d7b28f64f3eeac49a02bffc2eb5396121ff7ba4bdf5f690ab0701151ffee2a4a03316475fcf82bd9e22857e1541c447da0c2179ba86525587258d7895ae82e69faaad6d20b73f47fb6e4e12275dbf0d42496ab1d8d0b830f6328db9db32406578bab78450a877eb22a5b213b4ddb332fa0272e727954ee50942c18d0f53a99e43ae5c6eaba932e51da7e8485a2272dde78eaf7f32567504c8af49dea3a4c8ba198e9e2a677259afd906fb15f54adfd6fb4bbcdbd37de6703315a595fba9e64e9de90eb0dfca49e2fdb201eacc734a893931b0e4edb03b93270b75797eb6c5a56066af2295a1e8f6492b52d526f3db8c487a5961315c7a5f0029ce81d1b5f485f47ea218e72084549c8baa19419cf2684ee47a14ae1fe3fdf0c758f9e8e8c68b180c931f59e034ca35c5c01b91f0903663025e3d18aa856161605b0926b55a66a148f0e21f9ce7c28ccad5f7dc6e86562f9279bd6810e6329b60693dc999def74cb41cc554601280d4e782037e368a1778832a3f7c9e06545ca3eab4984153b6184930bd7b94da0afe6778f54d5c70f933b46be4a94ac11722939858a888024efafb4806e57938cc554205cd08ed02bc915bd8dfeca8e6fecccfc76b68b57e2b604e0c2e45864ab5a8cdeb66daf8f4b5f75cd498da07e98f2f76831a041c002ee1e28c4ffe33efec09ef404c285e530d2fccd4522e3b3ffb38ed1d5335f787895ab22d009e140c6f204858aaac500c50cf468825229c72f7a5b0417d21fcaa163f8a15a657da039289c194405c0411631fda9798501f5b8bc6628c8b9f08fc2a2d2a579ad76d600a6936a30ccd42a72073a9d9f20008333149dec8f3ca7fe1e3c14898b8fc52e580454b6c87f3030b00e6b868cacb4af0bd87d5fca20250db2a4a8eca8a0eff4b9486e21200066c892dc249b2eb43ddea51308be00e93c0331093e1218cabd882bc7570a5bfa65785448865bd10e7adaa3efee30be10f49528b6758d02988548409a48ed37c391be8683dd32523b3846b54086a4afaca7497385453bb70421cecf72717bedd4c76f9f7bd8161ce967338a88b43bde3e0e1187c8bbdf74bd487db090233f3129e05de72c5078e008e74944f74d5ee5454929eaa49cdf757ef7c7f60b9b7ab1df06c85d357f07ef356937d2aae0f4b130711a971d9befd2d4a3915a4b71937b38f7a954494768b88e751bc603437c874b2c1d8ab9f15c2c122945cdfbcf3e81a80cce830d83b6d36d8e040d6479e454570c98e131d89d7b2baf005368357f19ea292874e3ca8bbe3248460bd04d1fb48c560d33a76b32bc2882b90771c1673cc6d2a1662b31d9e89ad921b2e1ceeae7f49855ec208952b1180fa2e7f2680f67a178960cb1e91885cc78ea8e0bd8f337bbd9cd200b17e90a0c88d9f69cb715f98474b7ddafcc03864cb13241f8acf6067655ec5e4f2f5984737df3f9dfa8110c6d0f3ada9c8549dd3e4bb76a7c8c99f6bc81c313ec0d125d386c93a3d1d604cb95d495895f71e66d16fd90baee73cc1af3a009b77c5d4307d27367f8719ee4b63615a1ed93eae112b688a345e91c46c6dbb16f3eff6c18729acf3b0ecb88ce264c4cf1297e2273af55d958c02800e710a173ae327baedd1c510dc72caa7ebee9149823c9dfda52227d2168bdb990fd390a79ecca46884339340948ed9f3a7deb89b6c8146e440b53bcacb5cea45e50a4e4c5f0dd7bb4bd69adc932250798976a1724486458a716fe66c81a7a6552332f8caf2b3bb49d91b875c13133fc2df9f39e846ba944a6469d48ea2eedfe5ab8ff3588a6c01bc2e5ce44d5dcfa980307f06beeaa35e5aa0167fe4d21e3e70f6722010238f0502a88e263878c52b26ac45d887b0846f11f5f4e967f22d3297685b073de481ace9b29eb8ee4cd022b6a61a1e2623f849092792d6f05fef0adad7d22c5479c6aa9735e9f5b33393368294d70a638999c8f784d2059e313335b296e136f753796c55e98f2a61dd0645ba2b1c6176ad0e3b1839d138588e0720c9e2fee5b2f304065cead26c60e7bb42f4d0c3631b3ce3512af41d1af50cf4b311bc1c817a6418206ca701e7c027ab19ee3dff9b1b348fe6131882af7b2d7979febecef76af067a3cf52241ae671b82afe46b1d59b5230e06405cc400bccc01801ce18549abb8131577636f2001f29fae66967fd1d6eed1f2f5ab80a86687bdc983ebfc89c1dbcabf375c1976a134134cf676089b980fe9da68b0545a4e15972aa6a27f36559b135edb296cd76f76be8b3f6f09242abbf8e7d222769cc126c5af2170d7f6cec18eb4e916ecaa62fede99bebaea32ff2239f0f2509cea129eb6bf021f0af1694c85a9a2d5868dec86e50960f503e804fe9708acccaef037d8bfd728bda46721214c41f58a7086ed815110f1556504fd1cc32a47e163af695465d07513e8e7a0f2cea22a21dba0ea5e9bd400420d1509d0c0a47a79c6f7d5c2a2b185f3806c5fe5c4ad3f4dda38bede81155dd501879979e5548f18a0621624d513ad1e7597457f6a97497a91cd49a96c3cfd076b3c12bf265721cb201cd6d096fdfe0b7b45c2b46986af5e594ada8c8f5661ee0221d2253371d536c2e1911c99667f2503b7c6d4c4876b2025168c8112c423994004a2fee0baa4787157055d7419433ea492caebd7bacda0674b78bcbfc9b612dcc6a004a639b551153acc46e6ee00e1bbed6af0726478d5b42376645020835fa785fab03ea409f06b05b0bfb05b8e1069e1301fcd3232975a93bd3a032939c99f07a6a5b1dfbb22f97685dd2eff8d141baca168c53789e63c97e89dbc8e1ee6ba20803d8146ef4b7bbfb41dbac44213b1834ca0961e3c6d20e4c8391e45634c0bea3d4397474b52d3631830eb20444c3130b8dadeb402b6dfafdecb532220e44f29657a921ad91b29e19d94db88fdc61f127d94c6f1c83f482296876e79ddf8bc2e8ec0169b0fd9550b21712b7a425065b2284c62299416e429fd14cc7ed19d7eb8dbd5da05e32f21e1e38e012ea6a9e3ebbdb514571d14987349a50bdbb0c3107b809cddcd654d49cdd3368543b5b29b9da16bc3dd95cfc8b66ee092dd65087c54fd53cada14cd3002390e8ff6c30395fd200d0f19ce76c7db7c6e4bf0cb9835949d28069f55a8341cb983e9259a11c06ec835599bf5a8cd5c756376edb978461bcfda58b88725d04f359e5cbeae29d8246d06e7241c75d967469a261aba46fcb682e3a942eaeb5d57bc8711460208b32c0c8a848cd2bbd9c0e46a41dc75aa502e4d7c04259665654903439cc93608ccf01b331dbd3cb4bb14403869dbca0adc29e23d39406b8e371de53939f46d5e651b13526d55e9e91114e9a386894f43d8ff2b0ea0f1423579fb4ed327799d4734c338466d237f74fc6a8b4fcaff3612e5f6abe40c35223d306e44e0a20ae62b09d22fea238d2cbe972359628ce631b8d46dc2d5dd981457b159d20846110368c04328c1da36fb39e3bd844cd2b390030837fc00c8b49240cdcd38f0878f2f702aff7f74e3d440bcf3acd8794d9f3777d761726e6e0fec0ae299a25b5276ce7566b00b413fd08d3b4947b486bfe01e56aed2d5acaaf114877b8927f6f5b52b24272cd54f16dbda457e1a92c0b14b10a10f5ad2be693fafcc315f9d1269cef09157f29612b38e0bd3fd4de6bfd2bbb0f0294c2d9d7a0d09b7737031fafdacef7b8e28c9795c76ae8c720057037e9d407849a25eab9ab9a8bc4c2a45d5c3cbd5817490d90ac2a3a721e458c6a2f5475eec709a3eca60463ea95699ff66d7c8c65624638a72d5d5756b5fc6f6b3597f02a25997924685326782cab99485dcce36966afcb925ff72aff881ae6d9e8718ae82209c1902c6bd661d1bc74b867a795c74efc5ec1058e5c82bb4167244cc37523febab9c5d424922898ac6e35dbc0252d31479cc364c04deb4c1517a3438b77f4bc96303d61b539ebe", 0x1000}, {&(0x7f0000002640)="447c82e3b353cfe0e4c67967dc63f7f872e7c14d60b8c555dcef6b830e61389e7be54c5cd010d8902b595fe77c28a6c214ff234737ac26cceecb3ab4dc2333ec427e81e48814975214c19683e21fb90a5815b7f2eb31100c72bb47610be42f87694980a5f4a5552de3376d74817d309486b2397526afc10cde2f59090c6ae79b626b2b502adc8cce5c889dfbfabd96d26942a1d2a37f07a0c4b34163ac8945002fa7c7dd67be6cea009b6f1b7996b35c1b0e2c120e95960a5a1641a729f3cf8295182460e34559e2862545326387a6161686b18b426a9ba9f9467b23f89af8f6154eb2635b111b95bfea6e07baade4296f44edba2641d74fa9ce605b900e945ac0453b1f408ef124de0d178d827bc2cf28f80c86ebeb4fcfa89858b934aa9ce8800116317860383938b0302877bb3ab1eb1a1dc334318247ff3b466aca16ca02158bce98ade7b8670cbf5976fd23d7b9ab229cd8925be943fd06d61eff6c47b0000e40db1a170760224e968ce02676ef39b45922b54f77139623e739a6e01b43fe55a3cacc1846d4bf6c3b2d065a50a76e1d1c1c79770a2a486a91546f6aef90cf15311d61cb4981fc3a61ced6ade0487ecce840260a1d1885ba442b68a3dc891fe6e4ad879e6ea1cdfdbd628b81b97177dd7711d07d842443cd64ef88fd870deede4c07b0a5f40d7fcebbe683bf90ab50945155bcf3a4611bf151f0d2734269063e7a832522fbfc4e1b7e59dd3e7c33e1d9f4bd40dda7f3ea9c7334a849c6494aa1548075b1d760288e61836d4b1ce0b5b854551d23fc957c81d2bab23e9e986ded6df0d7aefeb994031afb2b1b90ff3acc0a196210eb8f835f5d17b581791c352e06502b613cce09766db282f765ba98c15ba094df6ce34f8ed2a4ee18c4f1d485112a328ddfa36df50b63614da32f43229cda77f2e535a0f920175039469326f001a43110c91febdfed7374297548a587071c4f71d7bc3c439c6cb205344a91fe72dce57c37014ff22ec6a99938623b595c0b5d48aa4cd02606cacc721d1bdda32da1ed5d4be1ace0c85fac1ecff04f90b1f087b846b9c0c032686fc8bfc0531772b81429dda5fd8a0dca8785cf5d7832518918bc2c55138fc3a74cacc1114c0639d7039abf2e1930ced6bc4f5fddcffb2d97eb115ad1a6a3b1591e6541312e671bb06738b9bc80ea898c6796670ddc5aa89332affda787f55eaa09c075514476ec4ba75334c99c9aede0927750a11442b4f23b7b31e567612fa15d1edfe5bcaef3d401cc19a59480b6495f28caaf0cf148465bb5d4dedeb45fd57a2c4fb9ba11ba4ac12f5af1f4f9701e3a28f2f2b6c2c894001b54c725c2feede0bbda7556e663213456d1fa0bd3d07c9328f56efeeb20272c5c90ce24372bd5a7c4dd37b8de232824a31d69b80c540d241c1a8b39f9c0a718f887944b3d3438c99baf9e0681ad12bbd13942f3218e081550103e8d3b5799c33241625f42b6756e630fef445de0d827875df953d0f14e29061e38eec3170a5488be02fb7e1f57d3435d4ebc1c03de3ce01ed9a061893419ae1191c67fbdd7a40b9ad5add2da5b00a9006d4c56decdb62dac4bc3064e3be985f3572b39342d284f471f660fcf962959c19a4369c32aa313db5973c8e59ded79fe949d100410f7fd619526673a6988fec1379d79e220f45a6e68e1f8b08bf00b2b8a85c52b1c5aadbedd515211259fb3442820bc12f3f63de95d3d927580e445757237b287f700a13a2188dd77bf95571ac9f3101553b50bfffec32f9a8d234bf3205954b89a1b0ad8bd63d923a4466bb0407b3a9ef1b8e217737439b1a9613fe455250d9efc84938e7686908e410e4a9aa13c00183c16fa3391558e085f0fa6c64b48a0683e21d2d42e20599bbec14622fbdc1c640567a06a6ae2c4ddcc75a234acde6e0c8b978299df9ad2caf9fcd96f65a93938d20081b09860bb9d62e1cf0778a09ddff789e382bfda86ae9ae8aa973f5d641037c7e87e614f34e68be5893790967100ae3cfee582fd252203032eaa2dfcb8c16b48b1bae27fb0f4a100ef0b9d92450d14cff201f65d40a2b94b665c70017210d2708f775a783e32a39df055586bd5af4e6f272250bf6d34d29fc42b31202a8688c31a46cea13e26d7e85f0726bb3b56710889eaddb3230515ba7204ad32139f7aca75fbcdb7d4f75ecc395d660243ce9f0c0ca93d35722691643bb53a3b892fd253568d9949570c226a03b8998d5d274499a6c857c88163af24ecdd7e296cc98ce23e3c8d3a7467bfdbdbd25bf59cc47dfdef35b6a717fca76824413a2e8b81c85cd1c58d0129dbe0490d17fda001d2fc0442e410da17310cc5f0be4cd58175077ee7ddd58fccd5d7a006e28603746f65c085ea79df6f8bb9cf42d7f3ac9a503c8e5ad885e4865a3bb214c071adba906577e38668b55a0bf44b005d58f37113c3417b3dc5fcab7c8b3f3fbd88aa35a03922b8aedd6a47d45cfd5e8a98c22e0053614b819618a50a214b9e59c842253a7e8625af6d36dca8aed5a997a5a09e5c4bcb76f2ccd663aff620e5fd8a735d30f92888534d20c8fa961211627e221537c5dcf56ae7cfabf20bd7daadecedc38030748d771576c116a27a84cdacaaa3b1dd5098a48c87630e86fb170d37d3e206e596bafca0665e19ad2a8b1b4d95938d7d5f1562a9ef58c05de64c796748cc88055bea474c1d906bea2ae4af54fdb93ee8f638d3399ee27740b38c3b06ed3ec097d95216fd2f2b8a961dc302bfa3677ad6052af0cd3ebd3b015c04efb562b825e7bf273a7358ae7f561522796aaae68d91e7287be62353bcecc35379fef5d3689da6c43a184cab466435d77f1aecba6d6721a019fe1250d3bae534ef210ac2dd3c5146cd7ebb3aa90e50f6cb55810391832f40082f1d2a7da89ee1462aebadb32b3dcd6c500c781dfb5c7d56fffd8330a1889fe3cc8c526c9886676acd53d264a7ecfe462a54047d92cf020bce17734b444abb5c19549d99fe0281ab89e80115b9663a7657b08c78c8f9ffc53f4b725dd15a9288b4745dbce6e788f11e91643299890952981b16ea25999b86b5f0789fdc5be98491a42ab2d5ede37d3cb225fdd78fbf8f9cba02929b2d910a6572b6cba2d516df507296ea6571ef1ef75b67e578c63be097e53a64a3269d3e1d41e38082b885b43b9c338fc9632d1f1a6b7ce292d3cb3855fe555f82dd829f4f806bdbe784839acae42182e76b185d828f5b202eed0c1af96d9e09a2fdbc279bbb5aff6b972accb10516765c231167791011690866b6a8bd89291fc9a9fb3a3a9bfe70f5a77b9369fc89045c3a1a0500349dbd535a367d4d1461ae69f611002cfc5425c6f26e955fcf5f26c93028ca4ef451f2d269fa2993f5fc4b6ea899274b27444ce03059064cbb5f8299aef78a389d7c6b8559aee0a87c6ff4cef74a061434c9290f8ff4f022430e22c1ff4788747870a91369d3fffa52bacc2c5abb9028df63024d70344c17ffc9898db23ac8dd48799b615dd2b646ae8b4415f08c3db48be9e4448d28e4d0efa6984bef9f0587eacae9dc6d00d1d2cb071db9ad12821dd3aa65d9caa605d7387595120e19898c8d4002b53a9a81caf56eb7a0aa6dd800e90a322658ddd958b6a89f66a6ed718a54e141be93d19d2460856c8c7e9d7b125f9ea25030e29dcc104616e21c22fa2f0e039b17b9e193df1542ee3a34b934f2bba205def374348f9de71b939de5330aefd990760cc0ed519a786d77c0fb7e4c5185d52213712946be73a5ea50eec312f9da708aae9da913c5d85bde1605f687bccd1df4253c7a6cfbe9077a3662185ae69870160ed51e4427c1a0f1c40b169fe8c4b4f4cfc6ed5397ebb9ceae05447829f41d6988e68cfca37892838d78791350a54af6f4e5862ba36b722c9de1aacf19be836e4ee0c1ffe7dacb32e67655f50089a644c5f19175fc7ddd0b9d2b4f3442d181f5985a42c0daca10c3a3197efc4359e2d8cb19ebf360e0d42890c9653468cf82f8613975be931b4cc504e50bb36dd563fa43480d3a57ef4fd0b99eb7e78f4230751c69379b216fc9f365bb727a9be9ea209b54ac7701972a5953913bc44edbd0f2ea0e6da22da78a1950c581ee64ee4528a0d971f26710d5918827758f5dbb8d3cd8bc2fb370dd3d4ee68a285e1069cf17054107a59cc93595f91c052b247920782ba38a8fcda952fd8c368f15ae0b5e6385a335eea44d8ad0198f590af1da961eeef85ae250e35a6168d5516bbd76d54dc28f32475c2611407b17b1168fbb2ba4a5d48e039a97396a77a4f6de9943cd13633e02050d099ccb796eebce66a99c1018c4ece330c9aa37c62e542f98451ff129e571428a6358c3fd6bf6c776dfba40ab81609a7fa5f5c4b5ce7df01d4d141021450a65652c663c65096df57d56b1d1fa151ad84275a9fde33bbc8b91f41bfa1c22406f10b782d80dee4800ba9e9e25bb1c1ea2e6b838d5c72b9225ce800129d0c467244bcd0e3107c14fd5d0a6add9fa3efdd278d49c532e033ad52dff0bbe1e768840f986c05971e0ba3762ab8189f998211ce88a04694f2d0ec0cd295814ec60322776e93df0e3bf417eef3f826b2372f5cf6612c44acc98dbab8fc6fcaa90173f1856f5cdab502be74b462d0084ea6ca2f81fb7052845719e6ee4adb050e1204089eca11270cc8ffedc770a59dbe9818329c6aefb60d78f0ed3921a9e6cd7051883cfea97583d0aa67d23b5aea7d7b5e115ba1ce7e53b777e466cc1d5af2531ac0305f2d193a6609d96afa1bc62f0e244f13f305e4db2bafe6e7e239b77c38b8b17561f8147283370fe5d12e9b4545fe31a3a207a25f18ceb8b599d77693ea6107e82bae1c89e2d5ffaf5517962624583fb40979212171275bdaa34a0f122077855c1c7a556f2e6eac9175d7528275611aab0c3792515e35a56204dcc1cdda51022b313e457fa8bf25c9c9e1c4323590260cf01028db665aea56c3568234495655cdf3ba34c72412738671d03d566bfcbaff59344b335798af8b4164406c6f1123fc2554cfe444b9dc2e80525dbf36baf0e333f9f9ea75ba4ade8d56ddf7f1e6f2777517e14ef319affad29398c6431e86967294b002d8f7664f3f90271370afc3d3bcb5d62fded8e0e0297657a84b335479b3f5c48379c3f36d97cb41fa0f2e852fbdbfcd8bc9d8964171b33b33baf6fbbe0005748757d6208447c041399c6a16d7e93e47890e853616a14dd22eb9e419024787f97961b1e7c4709619aa86caae827a6d3f81b8508f2135c059a063cdfbacb6bc48891ae727bbd3358914a68c62261329b87145de415f4bf728738fb47f7dbece8ac828cb0c1dd9dc7ec078a7e4d2ddd33094f063b7e4c190e62614267de307c8fd250ac17543872db214bee00c435b5edb594f0b0eda4369f3d9fe70dfacac6be9c2c520c6bec401a113b269325f77030835ee8da94ec6a41915274edd63a3c9c4badcbdd29c6aad3c9a4a4493f5f34d49c2c15dabd91f47dedded9031cf440f3a3d49b5b72bbb2e8479bc43d21e8adaf29d83679b64033579da1231caf01f63cd368ca711b7fb6880ab954323ea5785894531cfa85bef324dbc87bdb5b8a657820ef0f2fbf2240c3035498a24682f50c26f734b2cd1d036b527ded5eea1986f386b319f38616afd3c825915336da4cb2edbc01adcf8ea7e8acf12d820043dc578d13ffe93db36c29b12e497acab2bdb487d9e187a51356002a328b86bee4c0ef4b1cc5c4e6b3ec0b3069da9729a5d6d282b83a762eb2ae9b02775d99b088afda0399ef47d0", 0x1000}], 0xa, &(0x7f0000003700)=ANY=[@ANYBLOB="5000000000000000973d80d45af0ffff876327fafee7e80c8e46c9548e8626b8d0cd12dd880f8dd4044446c98039896f533ed3a3e80a15b70d8fd3d6fa43dff019c571413f37ee715e4378e08e000000980000000000000015010000010000007de3618cae12d6bb114b93007f0b2c0502ca1f44b842ec3ba2bd9968f1788624c980ee7fc1645be6c5b81727e7c8750d7d1d315787bb47b789df3d86df3e44c3376a8b49d2230b4465405ac5155faf243c7e0ba249630f78954d34363194286a1e0af24c92ba8273929b01932755e87566605351908e15506fd99e4331544ba3f75eceaf74000000c8000000000000000a0100002c020000d842b986116d489562946a5e64302ab633620a40e56a3e7ffbe32336ef607d043c90adf78b782ba7e6adf65a9f46d8e08c45d1f48bc8ea8bb5405b044eed248bda60d7b6f0c88e960149a2b0d9bca4293db722ebcc28893489f3c0597cfbc5a4b1c573149a2bedebe38b30dd6b8afadc4a8392f2c9024670cae1920baa3f5f11cfccce3f654ba8e885cf9dcbb8f7e22c90c91882e79085e11dce3d8da49cfe8612e2fdae4335e9e1ad581a8a9c1168f0d9e43fce560cf400c0000000000000001801000000000000bea16fc42f6115415002e9c77a9557fdc12a541d63abd3f2ac8fc6e74464a4c8e5706e83fe4eee25660c4744f8a42582931594e2adf3b65b944f584c7f55c47cd21ac66e95f5c78d34583f6b25c3abcd871582aca3c17f6fae47571a66defa44db4bb73113ed3ec2d83bb049ee4abbb7a8b95f26d4f3f659a3627e3381cd7df3e346fb26174ea8707530a62014b10a3fc66b081fca5fb73cd71c24681432d3dceb52d46329c13abc39cec30000000000"], 0x270}}, {{&(0x7f0000003980)=@alg={0x26, 'rng\x00', 0x0, 0x0, 'stdrng\x00'}, 0x80, &(0x7f0000005d40)=[{&(0x7f0000003a00)}, {&(0x7f0000003a40)="8d5ae8dd408d334eaf53ef9752790d70ac68ba721b81a0df650c50378d8d945e9e7a59d1782ad67af416c15b2eeeca44b49cb6041790bf21453be42416eab1c45323894acc5448b665150c2f8254c216d67c0a4e5d4b6c8d303c3ad3931b83eae00e4ef6260bd4d5508da3940863a7a3cf4e17ea25fa41f0f5b5a0436fc23970d046d796cd2ac4aeeed2ea2d2326af4f9d0d4836ceb095ad91398bf8ae212bdf9c2c68d4ee92038bfc", 0xa9}, {&(0x7f0000003b00)="3c7645cb894cf84d7d75685fc24ca636815593ca6635e62b3790a1a8bd1de070bd2471707e268d19a36923f21c5c", 0x2e}, {&(0x7f0000003b40)="2fdd6ac6e8b747939948923feaf2c82f661843a806b2db4a1cf4b41dc09d123169fcb638dd9545167a968b6db6751a324368005b53cdfc786c7a1f313a83cd02dd73eaba30fbac3c", 0x48}, {&(0x7f0000003bc0)="aa469e5be2cceda62d6a489936c3d3be", 0x10}, {&(0x7f0000003c00)="8c1425d0f6d57eb439eba815a03e137971c9b2e838d63620378d023e2a64bd3097cb94bdb2efbbbcd9a56a4017561c7243ea0e5771969fafbdbb566ce916a08f8c5c82f8ffa190796c0788a515e3a145662bb327dd38b5b74519cb79b2d355df31711ccad5d13123dc197ca34b092688e3442e76f05b6e472f438488ca183167679a613af09911627bfa2037e7ce7194fe51e7348e0f41809e5c4b7ee06b955891b9ab6e2c2726e0ed3f785c194cbfbf6e20cafc5a5ea92eb36eaae8f002b51b99e9431822826f72bafb157cacf0f4ddc17b469bcf93232fbba93f3bd048a784390d9e85ffe07d6cbdf5c2a22918c3e46dd28d1716d00d38cc0a43a871a86f26184f999b938052c59cff54df4ab9621c60e4a121f7692fc80545428cd955ffcac014255c7692bf1461c5c050ee7e54548310d9046a1baa2ed85b454aa524a65400d07f6cf5ecf07028e891d061ffd8fcbd7b26c7ad9b589490fdc7aaea51c7c65c51dc787a00c1ff849a6182dec8e08462863432a152dc808028850ad48744f91cfec81957fea9656e3b175ad857bcc66fcb4205093fb1fc87753b112c9d6fb403c08a5704d4e6d84ec820f96cb255c27cb769fb0c39705dae9dd525ee52d7b76d904ba99887c77e1d467235e4ff2be3570f2e0ea26e7abdef3063743ef9972b5e170f100105794f674b4ae8f8ee2817425d7e0e04266e970f2718b4be8609af2c9caff7ddfe8854cb6652d6e75c9a38567f67dd4399332d0fb9f408fc0a56754ec9e1585ad4ff75de80dbcefa8fca19fc047d25b8ca5fbc8ccd40e082290221576084c3be9a17576bf62355f4ebc30236cdbd269a603489a7ebbc50d025b36410e24c1d9c2b4f9180381368e9feca398f0f3a144eb021f98d86d98ce79cf87850f644e7225d0fb625eb689d60f0fa87e42a563aaff6ae6720c4a8017079e74922f2c441a699b81e03101b51f4cee3d6e0b7e76790ba8c2cf11a41d2cdc292873498823fcc3d5d4d762b40202f15dbbbfc9c063c0507cff6c1a1cf3d4e1666937eb9491fa8b3d1f5b70f674b43b08d957c454b9d20438618abb2c92a538e46b9d1eeccaa362b065bd7888332017e4578d0f7990a56872d3cc2754e43d99c7734219997895fb30bed282435a0f8f1e718f19465b0eb7d04ba1e1ebbac16a11404269b8a7c0536361db14e706af8450d6ff3e4779a94cbd2e461ae9f95fd6412db52d06851a7ec25d188fbcb060932421349b1044387cbf455d7c2c5ecbde8c88b4eb46bb0a70dc483bf4dd6c70a3bf17b8929fbae02cc8be7116a350dc10644fa5764964c269f67d74fb19409004975a4c449b971ddff2e481bcbbb06a2bc943f27bc2f626852ba10c6539d209bae47f40d68cb2391a9bddd75fc3515a8730ef7bac5b55d3aaf6c3d31d9fba8950adcd55ec0be535e59b0596bf32194e9b3659056079d5072071cd4e1cbac36dda950c2703be9d8e4a688b5f9acae7285d836b3081ba031911d064a8234aa33420580cf434fa83af8da70fb1e8c997499901c453000a567b665cc6c066907b49a3eb95761a5a98ea274cd4644ca032ef002f53a0ba2dc54991d209e4ab48587f1989c685ab9adabeada1a358a7c03c71060a890dd2a0a5e188641d2d6b391bf7c8801c58fccda247b06c95050002d58f00c5c48dc0dedb9491a23f6de34c02af984097bc7158a30ac5b290ec30c02652fb3ad86861066559c2d91ae812e33a4046cf6244e61d17e138a4c47969fdf85bc942698eb524fed80a05fe2c9dd999505a3faf32111006554e9168c01d9da6c217c53ffc8220165ed1678b46986441562cd8945473e6e2d0bfe330def229e79f96f30845bf27ab61641f3ffe03acddd876094324f0e58a5396114c7eb5171f849a898fe888d6f50eec9d0280a85d8dc242626998b7c9ec5ab3c7d781ed0935a42e1f88a452e50dfb9a9d0a5cec8fc04ac357ac531a5ac33dcc659e31398f85e2369ccbd01f2430c5ff6c7435ac01dfcb8f878992542dbf5dc1d415ff19160a761908c28601948e05ab1237b9fc06b269efd7b4f2d53a882851cff85a57dc9bd8f0b5f5b4b2f66311dd12db10a8e120b9871c7f6378b54ed2190836871471bf18cccf744d8ba12788bd70d0b956c67eac0ad10afc2e60152ba0c88704dffea5a9c4a9e5258b85d2704bbc0663e96e3dbb5972017488194de641b5f937f248de6d2f70cb10177a1d77fc50efa618d433a2741643eed26160c5fd41f69fb154f765096574ff8046c9355a59e46a0e7f90603267ef7be47e0cdaa9e233b1c2b19c28f8ab77ca028cc10cdc7115e44cb06710493a468c52e073586425ec9527c3a81dde2e883e1d1d63e50e210db17becc3a64a438100daa2c3ce7d0f1e6cff335b68cd53da99acaaa915ba98947c8f846fae61ae7eece0aa7eb5428f76845a3ef5b29943787f20aa8419fa6ba49392b04bb562b74ba15f9db510c3707b82e0e55236b4002a52142e96d746263591c020797798e928610b3de8d7f55285d0cc3c557f61df6ecbdafa04a6ddd0366a50d29e3dfa5c56568e2e909832dca847240fb128f631da728afd7300bf5cae1c2b2c99153c81b5b13d3f5b461cb0da49a401200ce4dd94f903c1497adbfb7e94695ab55194b8a7960f86ac07c6b32a01f7b531b825625461ac0accde322528cc260417c8f19cffebb0f55d70e01d50081e24400e03417ff5b3fe51d767a413f031f59c2e27215389239770f9f65aafc2d89b715e3fca2c19d7cfb1b06b7f8fc6ba8d05addb26ec825399055cdd921a8175c5389dbdea42d1c1eea619424cec63041a79b91a459682c9e3d8407f889cee2318a282423e976ac58063a48d47a61794b0a0e1be4da28e7fc37c58ab5c255ea7caa682806b7f2a05993393fa3d1c81e77ea6455726d243f653226666c63a9e46fcbb8ef3f011195cf1406dbb0dfd412854c9384565955327d9df8c18e5e3b28dda3555e4b0cf415264b818b6ed7a211012bd3aedefd9b36918fcea3353004e831f0479fb79ee231be206f7b3dd27136035609b2a36e6ec8ae9e10e943b6d1b14f4713749bcbd1755ce6d59d1dfb368ec41c6b4145730526714c44f196e33d545395aa593ac10e3dfeccccb53eab4be42690ba3c62f461097e4aa5b929f31528856a60e4942f0ef1f1495e1cde3765731ecd571c80466a5c235370a3f3ee20426bc3857e7a273b3a03dc8e6718d4a18cae6ceecc5d33f720d995ed0b3aba4a54ae0297e3588d75f3928d936e13fd8b4e3177908310f586fc4845e762370b166b0ed313f88df95f2fe7a6d1cc21b69cd4e82a21e463f9160a7121203ee2690ee267a8b8d487fb7b971bea125b25e77a3e2f741de4f0d21da7f4b4cad7b4cce365d75921f0a4caba4bd6dcfcaca69cd5111215cfed651d06c51bc7a39c46c144b13216e56cd04a961e9fdfaa05b32479847ae19bdb90f6dfa46a1048a1aac29577a0c4ebb91a9503413b08f903a87f2ad200a8aff6e3b32207a7be4938e8decbc63742131062a80e21b54c2ec80cb6b6766a02f979b493eb1d46c9585ff1dfb948b71eae8c347fa2aa4141caebe532f23f9c2ea5f794b2b974b2137cf31215012a43c44fea6f1ed1741bf49ba5043725f32508df495121b3ae84e75b6c90bb14e7a1bb536e283d11a4e7a9da0b30fd3c5812aa64b851f626fd6c6caeca55ef98ce5e104f45cddaa66f11ac69f4b943e25aed75c39caeb0e377cfe174c71d7ad2f7e8989d239ce372763b2df36da87ceb5b503bae945ec9091f7dfd43680f508045ddca050fee76b3d5da21a3537c1bd3c9fec69b3cc6257c13bb98a13964ef4c5628d03fe6e8850c05f0ec9cb6784dd396a27372c9b7b6cb95d00aac2f34ad675bc247486694c6e5e027163a870a5915ce1c41f5b67ed071bdc0c635717fde6706bd7d769545850847031c67755a276d7e652360f3ff39a613f6853361cf228745d54787e0b9a2efb8417ec8ba9e5df928bafe01b2dfd1284fbec1adc499195fab5d85ed73795f12a4f7e2033aa3f62f33b4f9d8d3b5929935f8574ccdf9503fa71b9828dfdf8c3029dafbd3c79ff77c473b4cddac78c4fa7f04ffb7a3ae0498915c84581b2a23a37605625088c4a8c8046e781bad1922e0babc22902a78bee8f92e64333c8ebdf8f1c64fc9641eac246870feaf6808048124f6fb6085bd8bfd3b72b69a233841bd98fecdf3c620de2d7ccb45b530b8052c00b9bac351835cb3aaf0c36417937101a271cdb653cb0abf7a709235ad849b8b00a8cab381494f0b47e402adc50015ee109d6bcbe996f862e2e75859068c242a73584bbd1238f09e0e4350dd7b88037be11cef89dbe1f9f587ee853d6a93dca997778bb6b0986923316bce0f635beef2dd9cec8aba7a4f8fcaad57ffa106647d596e5041f5195d3ee75162850c53573cdb77c3433200eb90dcd5c18fbd929901e23d56eee5dca121bf0b8b374dcb4a3815739fa4bbdad4f7be9a3cceaa3dddd2275d60cee044d98f6abfc1e644ea2bc7c763962ec027b416faa4931c8532b4bb655d751a1f54b77b8279bf437c43af7393d060ef1ac99fe5ebb0355349d31cb88c7972951041f3d51514686951132a7c672ead286bce6fb803e69f57c2e19d917f9fb436c6a34b4f9c4575a12324377165224b1e2f9c1d19090e803e73eb7d29aaa93ea42fd8e34f8ab3273e428b992a1a60f402365f0b874182b61a943154984cebc81fbe884954b8cf36ecd23079bdd1adb112c10aae38407260848d34ccabb3a3d25e0998e2564d4824ed44270fab8075d6c69c1d87dba40ab1568546f96b3360aa241254883166235ca1495f8251436106118d43d5c9dcbe0c3d161ef399f7d721643dd53a80554387b047095082ca09619b72d6730c446397959cd78460bf1eb0632811675c3293cd73fb1263de9660313cb916d0feb6ce576bbc413d2e779288049e1e6230426f09517e6d7692beefc9fa5ab90af7448e30168274f3e4388abfd8a12ab669e76719dbe580d98f57ce68195573c7b4c09bf4deaa28a65b686083d1dbbb9a588bbfa8a376b5a91527789c05c40e065f1acf6857f647b899e4d52346869212b67704e6cdae0633f60a19a21ceac847c3c54a04e4706dbc7a659b60335c1015f61d42202685a323dd491e6fbbf401fac43da5a12b7a69518304cc33e8fe8cbc961ef5e82ddf88c2db8723ea86050b490f1feb61c735250919c8ce18b7aaf7670635aacd70980411d036e361dbde8d64042eac4229b7ab86a9f11a4b56b5cf155a5ea7e9a4e8f3145fd88262e36414a14332f4228a059514461bed4f17185a38900a4105a437067953a2173643de731620ca7e3db38e5b3f9eef1fbdaa3e344975b706757501ad3bba48ceb87fff5640b10d7a849f0e9a3c3feccce8886d0cef4a2d7fdf7021599c392cc8509d9b7ba08509c013f176926e358f9a0dad46b8e41c748339ba6b21c420c891fd8e14f54b169c165ca9af4c97b296bf5069bf3618e4083bec2709a7de229db1ba90cf79291e049d81941202cccd8687c29f94d751857865e4e3b713936ce3f8cf69470914fd18d4107d5e33210ec75042a90e4e6002df56d733f8afe2dac67ae1d9c1582fa779962f5ba464b0c47408426a73c1e3b24c539a8750c757071fc7e0e8743cabba6510fd6febe25e47c082a77437ec4507678f956ce987e657a721fedc5aed24154e177e1cc22aa0712ac37b741919f46b63522e84bddede09a850ba2f80b2408dd84f9b114c850efad9f932e09067b27344daed7fb17178d2", 0x1000}, {&(0x7f0000004c00)="a29f3e0ba51885eb9bb25f8814cbb4ccefbcfdace2f41311915fed242c245995686651af29aaa599bb2e5e06fcab87699eb8ca5e327eb6f2422a89dbef80ffd8a5dd87ead87ffc1a9750af0346832083964b69d2b5dead40f749bb18f446228c87ae9a376c55e0bddb2b70ad7741073f56fc5ac08b02ffa2be83912a2c28696c2d715611254ce33b47a0b529487627ad3dead64e4cea99bcb4fec741f9e3e4c4366c6e862158ee7e14f0a24a5bd453afde7530d2caaf4d3dddf8adbde66bab08ad7f81fc65f3c856cb91f2a0af26c0d8a8d4c1f459c01b871721d3fbd6548b9f5a017e1e2218a67be6304488d023f3a76fff960c9f35c2f3830560e5e67d3bdc96f432abe4676764f315c5b794bfee3421fcd7ce16e71e2922a22cb32a2b02f8ab63d21d766131c79fed9e8b144be203d49cb0c6672f1f1a9b6969194fcb630769f4f97b6bac025500dd66c8c7bc698746b1ccd118585e6d3cf0ece92f0fd4be1e12eceedc75f19fb78ab7f1a78f54cfd33f92b6abef8e9b28fdef9176083e95534b47715da25ea8520a1b44c0eb78d32b63893a1a60390b45ef7fd7c7f930b87cb614f553ea6b2dcfb6cb95c781a583580ebdf3fe863cd23627830e2e54a4bcf7e8892deb9ebfca9c1119bb8436ad5417fbdf83dbbccafb4f7a74cc67290799990003696df0ef772c7bd1986fdf97f6131be4306b75b22eccad874ca89704db1bacaa5071b03231de6564a8a66925b014833a3a1274fdd34e7afc1d5fb6becb8f0f21ed1d2d663bec4d429dddeea77711c5573e80c98fb6847ecba8336506128486dd3d9fb6cb3166207764f349fd4498d1a66dbf469a820771563967e5c40b2784bd72ea9d43f91f9b7800b5e4dbc47b1bbecee2ef8783fea4afe3160124bc3625efbc6150894ac98703ec3cfd72dc4e1daa79f01394a1d2dbe50ac5bfc41db0b34d62ba167bd05bf4f3c65be77dc704e589c9d4002b63768bcfc0dbea0d2d31f3452948de4418fea6d5fb503593fab952a9142fea417e4e2d3b46e4eea3dac66e0d05d0bef7129c05a4bc428fd74484704f505306aca375f3bdcb7b54a3cd6382a1058859f4c71e6ef8e320fb47e3504b7f7400bfed10298c234a135171d22f967fa02ddacac864411bab431f8e669f50037bad39b57d5cbf4819f2698d017890e37a57274476e6c9069bcb270d75111a937c7262a94e36c7065ee22e269439ca7c8bd426ab8d97cd29eaf9561ae608fe53d35909c7669c4b4ea32bb7dc87274e38352f14b627709c30c32ff805f958e6ec56eb806a24b333a053b7a005dcd148991526f269947e39a3adc62e470acf7c8466ba1883b7c147de23d52fa69bd9f0d4653fc69fe2ed2d7c774f2fbae16cc4a9f019d77a6c16ee374b048ecbe74500c406b78e9293886972fc315cc1ce3e4fa927650aca3c011bdd6bb6734753fb9866a23abf337c5a4188844c21d7fbdc2175a08cc52c2aefa27d2737c5b83eccda796a13c08a8a214348a881c0a689ce0f195a5cf7d61a42d80d82d54bb92867a3ba716b9cb0e1f82e58b8f88960a11d5dc04eef0a5511236e15ae33d0032822bc6b052da59388b49a6facc708de3b1774048effd1f9f90893ea89a0b722aaf529ec7001c044b3b3dee92c91d32eee4c7f8cb9febfca3ba53c446428350b898036248b0cb6b1d1452b98939cb5e59dad78b5585cc1757006d5720b938b3a6e8f8cee6e03fe12a3523a489307b1f322b697beb655c6499d879c11937874ebf0065c810a41a32144f319da7448776b1904ef7ab4194b2f656f6e7437bcf57972828bb2633ee1da2531f4e13853333a4b3985613aa36522aa072901646f5a4e09ef214bbe7fd0de2ad0c49ece5ccbbf719175eea854553ed9b85c892c96249b6cf7dc14ea195409731fe6955012ac903d99b6f30e78184025d5b6fad30c9c57c323bf6348a8e4d174801c5135aa7ab35474a1306bc41bb6bd15d8e583fe39da0ed197143269ca9a5e3a233f2ea82f1dc2faf9a599a9b73da172fcf8db951ed5a77e30f9e3e14336b004acd8108c35ab1ca413b397eeb605e8984b897bc2c34a1f682a03897f074e0c3d2fbf6c62ad71426de3604877cb64aeefa1dd734ae4381b70efcceeca0cedba3ab860408c7d6d44d7f3b26d8babc8d478946d92144e533d619d05a0a682e0ae9f121c3a66040049ee06f26c7bc2989c6d0f18b768f9ce143b0eeaa101434810d884a05093293cbbce98126595f93df419080fa25d28b20572557ca636e7e9c7422a59ba8858f3d9bca1047af4e3910b8ffc524bc459008cd6ff592ecdac949b665d3a46f5e49833e5985fef0ed40ec017fd4389fa62b9802eee0c442c4fa5d7005d806643a5c3a81debf1702940e5dd3748a6147962588565b56b1036599836cfcbb4f164f6bff2043f7ee9ee3754591f1a5b0be1905ecdd81018e03d813eba8208f85183a1fe62936cb8035b790057a028b960238457676c5a536208bc7e188dd8ce6e4779d3859bfda8caae954792f67f1d88769707ed7afc7fbe233d7d0e0011280948faeb01b517f662611cf3e683121eafc6a07390d5dd75f56a8e65ebd6b5a31f685c1b85abfac43f674ae1cface91819c47f1a43174fa35308b63d310ef37c5819c842b7f5ec0a95f1664d5836b66115b002ca75656f04425bcf09c2007135a57effa53a11373afd93f0569cc567c2a9a143ed87553057dec0ecffdf85b5cba055bad34bf61d96609a6a285d348989178adf11bb8531d50ac533b305c4cc99b8c009a0f13c58c3e328777f6decc99ec18dbcb9e2b2688726cdbfabd4757150058695e4d36f097cddfbf33e5392678bf68b5eafcff9a89e22cef5d83a7ae056618f4146526111f3fd19455df11485b4648d1c2051b595e18a0ee4464c3fce90a9be21b4ac012e936d74292516598a8ceacc9319532bb9a07669b0293016437e805d38e3e1733625edc0cf3d558cb329ed03a1778c7477e98f4b54041c880c2aa49732c4f136c9bc2fffd18bb5c57b8691a66c05a455fb8db118d115ec6b52f1c71ab14bb97b57db8004f36b76d218289d9e4c13e148fbd93b40dc002e2166b856d3deffbc206795ecd8fde018e7945728c808bf46a172c3cd4883326b878d4412707db9ce5c89accaee563f420216175d12c19576f09586908fbd12e5cb271093a525ef9f7b125796fbdc80c3d2b8fa4a673f1513c17b4ea82ca0ca3eb113cecf9b4e07cdbaeb19c862b4d30f8321f4d0c4e8c6ac07cc222956b17c2dbcc977195a4c0f2590347ecfc1623e65679ada72391def8cbc190ed0eeb3e4a81e52db108ccaf5adc0e4bcfcef6907c958cfa3a105b59f4f3bc7982ea93fe7ca2d5b227067d62612891d42982593e7fb9ba595a03c9f203fedb588e06d7cdf8bc6ee84cf8c926dbbbb4c5deecd0bb798fe8901b8688d422196f04d460f6ade422c753890f9bad1bedc0d3b408521acad18397f7dd5ed21160cc4bb9ea3162eee0c64ed71f10abfb532ab08b53496db6822e9a3f5143bf21f3d60cb0799f7193fb337bb955cb8fba6ae2a931a81e55ad84d8ed1b2d793ac45cfd3f11882fbbb06799e5950053b8a0b3058dce81254fefec83a2a58afad098cff8ff6defc16b997dc1cdab5d964d90204cbaf4ba1d61f68f65b8a04d5142fc18d185b4c8e6d36b4d6b79f60071ef15e9639f70ac42d077610aa49666e3b9aef555f068bf2c8a482a9af3133e34c0801612ec4b1730730fc50e2bfaf8d8828dca86aa7507d6be026c92c4e54c2f04b216d8122fd0a9392391553d85162a5e699745cc2c69ff63ccedc7d0a5ff04b6eb557bcdd0e154cbf6bf656633c3171464636c69d87958a3d34b942de16b09adf58e0c8f3bb6f2fcbf46993f694ddf7af15b0c05c2086498246ba13b0bda65ff46d7619e1d0fb056eec58dcd55ae2709a43a28765d3f782147c3e06e4a490d74fcdad65bfc9156314a39bd0c62158c5822b7ef425246b44c0858c0c4d9ad5687c6515ab59e4343b59bbadf379ed766fdac9988b5c3e09b4bceb8f07ef302ac5b3abd4e5ae56290f30086cd10207a01d31b2d9e5e123aa8e6cb989df79e5b5760954da6e27693fc5d727a49e7ff51baaf810cd83581b63ef34ecc6c7fb19fc9caeb910263969b3bbd147c1a49e8872b17d083b7b5211b1ee3cb18bf163651c5753a67d3158b230a7c0949d7f1e0f14909aa97cf0ea874dfd16edc718c7cb135884d063795ec21b7c85d9d94fe31ab6d0d9cd0d69a960374fba92e2ee6282264bb36a610dae292c3ee281d0bccb194be8818b5ec45ff03ada489b61906ccf14b42f7651dec7ebf5a32f2cb5be84ba91b1ee5c91680463df445120078842b82c187ab4d786a959ba47ace26f2f0261d6c887bac6e1b3f3db4d7b0df36989d6a6711688f42ba6dd24638c0a7960b9c6c3d60a827ec5fd3152e415a9a6c52207432b29610bb6cdf378a98d34f3b4372992be0208e4d04d247ff95cb3437e53585af5acfddb7dcef9f183582b4750ccd12d2b5e3cd26b73c8d6e96fa8fe6004a6a6631014413285163fb9644d5bd458d2a0b646a90683bc4a7ad52a6a43ceb3025c1c91fcd841a15e8e7ef967cf86c854533b342c3a0bcadb2efba34f0628a4a50a01f1474e3067b3f3ca88d0e6bb40c4280ce527c623d44e20680cbefeda1bbb64b99ed8473cd2743cfa463ef1c5cc9e415bfa653dee655c7633d7e96e94d434547109cf2484237392ab38bbb3fe1c20b0db2d2a7433a630a33d8e67f520eda9c1ca36fed3a7b2aef94a3ad3e9c9c36c4740b5b9105aff9d5f38dfca105e05499e13a3b7e83e8f13946688b07a6de77accc556a75630da3938382f1a41414f0d910f2418b43eb4815fd9b40aa7bd6cc9c834be458937bbd7adad6ee8323681f697e0d6322181c29cd706f2dc7a0068a4c3d715eaf9225630a5ab72ee2cd5b90d48aa0b21182dedfc0f52fdce08c3c3cfac542c5e7f305c054ec26abf2ecb9fc4f102f5455373747d97ff4364f3a5b11657880a2cc3a14218a1307c13c24a205d1b7bb362581ed604f5e0fda93e1dea2f4cff631bc932c3207253e70d57b890dff7c52b5edf9bb080d9fb0cb13851ae8b042e3e1738cee55bc24d3e1baa1580436b63458e38235dd36e85bf5f23c1393892435694c23398ed8841e59b635698d82076b70697d746f4408f649588941897fb8c6f3520eca16f58e6878f39bc261392467a2e2dff8a9581e51a9e4a44a325d519caeafa673190cfdae6a8733094123adebdb3712f15e03b3ab7e848ebfd45cca16355f81fb21581ecb098a29c08accfed3920a0c616ceda33e066a263fe4ccc4bb2eff165526df56c05414d5b1b1dc4595107db4d2a4d88a6edb210fa9cccef4f3ec7b1c73b4a6707a842c5f84c5879689c4c5e49b882d2067dd8e81a1dc1146225b9", 0xf00}, {&(0x7f0000005c00)="5d2d44f5a9ada228656b1f833de7d31279a2d7ee52043cc1cc9a783c7a6bb86fde14092be98233e3fee6107146d9de270fdec0e13fb88bf34f419723382e8bb82409a25fe06ff748f62404b3e42b8911685d382481dc236ec99c554be4d094b61a28cfdcd78ff210eb9f5f79bb90a57e0db834c9b125d7e8cd9a", 0x7a}, {&(0x7f0000005c80)}], 0x9, &(0x7f0000005e00)=[{0x50, 0x119, 0x6, "07e5a8183bae20598625ec8017c89606f88402bc3ce31fffd34d25d8220d15298f168602a73704e36cb7dde48182e70d8a2a867a47fb8cb85c584abd99fa94d9"}, {0xa0, 0x101, 0x800, "a84f60e65586e28670f69dd72b1792c5e4660884fa8b0347a48e1c9175c310d46533e479c56ea07f83372ab7e999c54101b5853ce219f650a8af4f9563afc4e372717900816eed9607421ae442d82efeea2dd9108c267c50d9eb25cbed36835d60bd9869121ccf3d272cc4038d698cdbb695bf0ae390813366cf54af0652c2c46f0ae48a10c03afcc4217a6f1e4f5bdd"}, {0x1010, 0x118, 0xc0000, "ee9e2df910d5204c9391fa026e5cd58b5dde3152897d3d4be614853b1a8aeb87b25c5517f4d304ac09c4c7bfafed6e01ef1322a5cdd453ad99d084219671297be8faa846d5d41413fb09725336fc443bcf202f28ea24f2247bdc87a56d0c0d7cc376fa7ed834c90433e212fc60bf3efa5fb1cb09a3da9bbe3c89d89fc28d1763ba6d42002f816cd20de64903f0ec098268cd81ee7a7f20dcee4daa6d8ac7ed9a1b3e772dcc1e1931b9fba9b306279428514ac426f9520583a252e98e90abe7c8c1f02d76b1d4f366345417c0ff5dbceb6dc81b8e36c50c3ec2b836ef753d5ebd76fff2055d40d3574cf39e969aa483f7d1664c21ce3038c028458b8299e4e6cd0e2ba5d7850a72aaf8d4a895e4fa3d700788741526ae7f3c38e8538ade7edd0aad0476989ca0c4e872c372539a514177b3044733abc032c8bc41d3d114274d81b3cfea2e8ca49229beb54a041d2056297ddb816791b040117dacfcced9ba50d64979b83cd5d91aa34289512adfae14f325dbb1a99e32bbeef1b3fada9266b8c3fd1bedaf29a3ade9e315abe5b4ec1d2ee9bd147a0512ed23aff168cbeafe773309e3157c7b33db7926ace7a40164b2754296dbeb2936d9c0c949a4f814ed7d1a0bd8bbbbc3d17e1d1667364f9614a672cc0994bb93424ab77609b94aa578232a8bec4c52b8edafa60404b9ec74b21f77b4c7a7a254f2a4831c30650f109a26f1e4686d8f3cb37310ee2630b85ca9710d4a5f0491fd50f8a92e5634662e4d0d594045afa1d92a3ce9c9149ee849e9626d8be06a46ec4ca716aa36327c37246201b1afc968ae1adf82239a8653a9ddb8c8992ef510700fd5c1581c644db6602545c7abd4923db2fcd3a377ae6a2aae46adb47bcb42ba122400b7c7c56cb4ca35c64f7bf3a67ca3dfc5b2b873aac80068a7d71fc1bb847d5046b968364256de6705299203ea4e1a26e92c22449fc72f394654390bffa16e575755ae5154b00fe075eb3d14b420f23a0da3dc4604b853e7dccbd7e25e955f8fbba6ee07f9ddae7761df0e09c43cff15579dc00daa37aefb8bf80cdbc7d2d9ca9df4ae7144b3624c3bb52cf473c16d245d7ec5e46b37a4c2773ca98e67e242371663d8b5c063447133fd77d5b666f0b72dfd451634c4ea387a225cd3e566e668fea2ff031426a8a6d96d7ee6c886c0a4f40a49cccc20bb1b3368fed19899e6da08c8ae1d1f3890abc6f43e067b1ae3bacd9601b14847f4d12ccd3cc0fa40bdee35bcf6018ce907b8f4b22b1468e37efa97c42a1b5fbdf542e8cb97ae9e66af6b9c06868a87d216821c76c24e4e6016a70ffc046c5463ad08e5e1aafa959b8e2ca49529f11d5a170583c00c75e0d9bb119ae0a7d83003c40306519de6b3e6dbe12bc09eb7d86b7017e5f7b9860b01424972d152d4bce5fadc611ef4880fd72a22c448068bf7a8aee2046e0d8957faae52f149db5273a865d88fd190171ea99b2eeda723bef859b4becd4ff7645238615f4d7d9a284cd50ab63d3c923368f9b0a72e36b790bbade715c4666faf8cd3168c6d035ceb78c6451f5aa014213abb2b43c0246f58dc6647ac009bd58d0d4b0df7c92ef96779c8aa9df525f8d004cb138ce823cb68e096544e12727cdd99247da7b8495adf4b764c7544d41d7101b58a95a5cdf6a6538320f7f49894ff5cb846318f368cda33658adf1b4b6cd2be5e35d8ff2c605122b488f2d090b53c38489862d01b43941bcca0c5bafe8c4f30f3febcc961a5148dfb388a538144436257c6a094e334487fd9d418ee04b9750b89528903db08952a9a4d0006f422ded72afd134fe78da65227e2f5363d7a0d2ac55205a89f9b30038389dbc4cce6443710e4a8d1c9ed28764c40908aa43255fab2c81c063b859306fa4c6b964c465670670e0845ee4462c76aa8730dd0423681669db4811c74a09eda1381d4879488e2a8df88c28609db8f8129bee8a92a3d6f4f82235aa2e4b9cbbd3add9b6dfaaf36f483408a2e3aff2ccbcece706e4661447f8d7c4ab84d6f05f41c25e3c2bae5f8c1597e9fee9ac2c70e9f535ff2692d9943934efa3e53ab12c41150d35a51e7eda118036e01dea9981686b5bf0c50b07df536cd1ec61dd07d23859477e613f532aeed9580f37d05d2823d2156ea30e3a911c362a61a6ebc1a955bf08fb05307d52230628607475cf8d7a233e2b0eeb77a6557a1a978d8ab016a2c65b643b35be6e5d6ece65078cc33c7868f2c61b29a2b12f20f686f80c693e7632688432b3d573dfc3bee580f417901d7ae8a8ad5552e9b89d3514c793c0b764cade21b59993130b98ffe5c6fe84904b3a253659eb2327dd6cd2fe5440234443ff70edf0e7c76d0afd0a1f5cb308ed57478192ea062a8e79cb17742bef6ac13e09235e01dd2355b0cfb7fa6a3c5364b1377c5f7e4f5a123051aa30f4777290eba9fee35807779a63a5d7df3a5cd74bc610775cc2a55b3002e01273969be3fec6498273be9ead5fa9def1779a56946ca99c969955714aabd449362769ad089f27a31b9ebe98d9cf043529833f4a221a475763bfc8311650bfa308ee6596a1180c972c397ed26ff12c827bded0cf478a22fe7644292e34ee4a1a04e8c6406c86b52d91171a414f1f1b386f39db7009f6800522a41b837c7a9c7ff16f6ee3adbc702dda2ac69ac802bafd8badef2cb63ed6c83eb5c28845e8335612f9a8c726bd2df776e3aaad5c31625a7971c0dbb4e75d4c99c4035082f3eedb50b2688d22adb410bc45f8511cab7efe19fbba586605587ed6377169f39d2108d17f44742a049cde8fe5a80c69e81acc7a0acebd7f852cda3491872f0c6fbc9940061ac718bae9afc74707b614a3641b92f613896890ebbd5066d9d2e6a6376e7a764e9ab5d63ef7c8c247b50d6043be482fd3862df2845d924231882d02f3e3d90ecdf076633f548d08de371b37e0e68316c90f1819735897f14486a1c36dfe7eddbbd8a18fd36a7cd7737c4923c7a2194cb913689058da9c341544e26b45459a16259d296fb588f037e498e59f80c4d075d52e6127dfae48d9164e412d7cd5851938af435905222c69eb70f69356f1bb2a766c03af1620cd821d4d5e8b5268e1718e3a1a2b19b5d0dc87e8c462b79db0e1b6702d3028acb969ab5b3ac548a402e18f7b0fcac026909bd1148cff2620eea86dc904753ec204e9d0cb244754edbade5ae1f1b384adc835795e8c176cb6a89cb923b460026b32b15d22448e6e7b8fced57e5a969a1f0b62440d289765ef68d4b291ff671dbb574701a1c74db1edff3ca75617199c8330ea49b91280a8dbb3036b953c4c73a6b14fbe29772e27f35a29b2acfdee62f5dc568ff1d65ba26f66193440455b2c6a03c258ce281d6cfdd972e9c1a2803374694adcff03e6907ec8d95047b770b72938b8690ae9954289a3460c86367dcf0be7c7bb864f6dbfe8a455e8702966577b665588206f40bd6bda716ae2e2c8dca737d7c35c6c79c3c1a2bce198209a303c69ec6ff45360d2a90d1fc5542cad6df2c78004735de5b2d441f21e45b9e692fedc531416fcb055391a977f8486227ca5b5bf873d0c9691de6f8bba0fd95f002e61cb860c426ae2bd790129dbc17870beb13b0269ddb38c88674a173b83b31570468cdc479a59a0475ead48ec968c359da0ff537b89d20a3bf8cdfa16db43e3d114c8194618df29f8d1ddda744025ec4aedb905c2dceb39caf97db31b4de99bc36cb63976980dca1cd5b4a3ea268442e53c5b77662e6bdbb52dad0907b436ddd5c6aac2f9f207ca698d86c9c6aae6c5342206ff8432da8bd5a06c45149fb9c656fd3c4e5d49bd5c3ec6603e99fffcd0c452e9c1d14426e2d6a88394d3734b9368db5d1ca5c7b1bf6dd7c84a1af7e62320644e755583d425a31ed24e368c0c5ba6dbddce45a0dacb47ed7a9151aebf18bf68c7d41aba53b2106390f373239c433a27c2fcd5c85f0f834fedb5c43af314d0fae9b45a6efa08a39f3f71571bfa153a186c863d3f16578f69f6b5270653d9a60c27915946b07a8eefcc765d51d55e4a7781ca87b2eecfc51a43afebda6fe1ac068e16955d8595c2859af19ee452912efc4aeb4a513b56c989defc0db1e7f8a725b0b3621e0ded22f198469351344faa3c4e0d3ea3e059dae1c4f3202140ba1ec00053e58aaad37d7cf92bf6132e8d8683e03066a26adde5ff53193302f2bfa2ad8d3e24b8ec1cc247fab083e51c66d486aba7e9feb124bc5992453753a6c00ca3b84c208c58208837380ff18baf0f6bd8dd496efac66dd8f91b6884a44b08437e87541da350b37f9dd5facab7f63a8f04f0e8335b77cf8c81ce73e63c00438b01fb2f695f8c10a2303175e66e6b2f7ebd6aee07bb41a305c36483adf479ececba2cefe422e1eaa981883c7f1da952b609203e9e199bf995265f40fc7fce7b03f9febec71e44bd2f50c453894ada8e53778c8a690040330ec3bf76b3076501525a0eb4b8fdddc3ce03a11a7fb0c7584f23f2085dbbbe554bc03a74ed2f86d1e0998fb99710be2c5298ebebde740521ced6d9567cb4a493b54b576d7c2bff697b3f89b30d41ec25c763a27e672c9ec61c58d6f3c6227308f286ebe4d7083801a3300e01d655da66526952aa096e318c86a776b24e2856c1be0ef0febae850e33162c8518c49769c0e353e3ff83e7a92057fbce4adcb0f9f79dfdc6ffac788ca8d68d6c23c6a4e4e681026a1e731df692ee82ea0e71b0ee9f87a8a4c7ddc918b93cd32b071ebe0f4c1e8119b0faa5020b8ba886280beee29c82422d9db2e2658bb8ddd4af8e1cbac6d2629d27498c308a2c6f6d477261dd7fd1d16988e7c5fab894d2be6f96318f3d23e451682bd2c9f29bee03be3cf556d3dc4c8c820d39a6d6466b55b4f1e364d35084697c6b27dd1596264076c75d08336a648d7b64e65b1285cfd7eb3f24a7729403ce651cebd1e65c61ac40448a8a5afa65fb0204f1545ebdd0c3911d41f95fa8add8f361b47d24de13d4cb5b6afa558176c82cb4a28504c970b5c3ce90bd44ea73af701d975d76711a33ef3e7176c9b615e7132faee1d3f82add19d99e7d1d774805045173e6d413910c0c0ed9efa980a655e059e01dc0cd7345f3d3f4b8711208a7bd82cdbfd647106a1ab4859b9eded40963f4ab2939f401e9615e1726dc7ae2eed81d168b56dac76109660b1483e3b9a000e74dc5e0a9de65033f336c0083e92fd06f9abce68e42b33a23b061ec736c1e31b0c9a0959469ed45ed5ba0eeeb60137d5ca26507694a54364eb17db6394594307953d71cb58212b25b1230fd40af9c21280ccb928b4e7568f0435593ad8b6fffdc6c00f78647ad3c1e20c76b940b0df70f7a75469ede569f4c0296b6634ffbaaeccfd387bcd9ac45d73d2f24e33f34af6c07be73715fd7810e17cb12f9614a7130142f106e0c4b080d01ceec03ddfb59dd1c10a66168674041092da58c35967687d18d19d5f4ae716ab43e163faa46ecc471a9873738972878400f996122f356429100d603cc292eb21d457ff1c2d48c4a9ecb8135c24cc612570fc3da40e19a51a9bf62e447ea28ae4bf196854dd8141ddddfb36394ecd7b32ed3f3a827b00d998753f9bab949d2f832fd806d8c1d18d6b2d52c3d1b92f834cff8233018fec660c12d1ee53df9e35209774f18d66cddbda9dd048c23c98413389201cea93783e623c45f6549be0b9980807977fef49ad1a65f9ce58a05ea3175f4a4b8218d1a30b650bbb2f4934783b0d5e63bcccc67d2c9e46aadfd5073a3df71998870ba9895c819444249"}, {0x10, 0x119, 0x80000000}], 0x1110}}, {{&(0x7f0000006f40)=@nfc_llcp={0x27, 0x0, 0x0, 0x4, 0x37, 0x7, "09dc6409bf8c07d6fb8e497572f8edfc66b83584f90d109310eda00772f037bc67a028e7fc94d8d5043b2b72c4ac13dc25648f74860cdf44320e377ed3f3f0", 0x37}, 0x80, 0x0}}], 0x3, 0x8004) r1 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_STATISTICS(r1, 0x11b, 0x7, &(0x7f00000005c0), &(0x7f0000000600)=0x30) syz_clone(0x60000200, &(0x7f0000000000)="aaad742652f5a2676ecb7312019f51b12b4d5947a0dcf387ff3dd6ee422e8f012cd8a097f116bcd4dcfd316c66c5d3694a8296f88694f36cba20fe7d40c62a4f4c9757c842312e0b58ad21d2a385495d0c8e5d465e1fd9bf0fd4c5ecb4563d7cd827e4dff496785c321f74a5e524300fda8eae48328edd9d0031dada0adc744b51ecba148c1dc1278af49f9a60af4a955659b2d4824468b987f6ed761df07af2475d4fa7fbaf910046", 0xa9, &(0x7f00000000c0), &(0x7f0000000100), &(0x7f0000000140)="293877c97c52b290ae48f2871fdbe920ed83708d5346e7686f9142151e77361c5e5235575ffb5f63a587a538b3aee60a90a484a6ee73f9eb6c6a9b67981abbda698d3ba2cbf16e8d7de787c515aac0") 15:21:35 executing program 0: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8955, 0x0) 15:21:35 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) accept4$unix(r0, 0x0, 0x0, 0x0) 15:21:35 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x44, 0x19, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FRA_DST={0x14, 0x1, @local}]}, 0x44}}, 0x0) 15:21:35 executing program 0: syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x300, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0}) 15:21:35 executing program 2: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000000040), 0x802, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz0\x00', 'syz1\x00', 'syz1\x00', 0x0}}, 0x120) 15:21:35 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000200001002abd7000fcdbdf2502"], 0x6c}}, 0x0) [ 316.254265][ T9125] netlink: 80 bytes leftover after parsing attributes in process `syz-executor.1'. 15:21:35 executing program 2: add_key$user(&(0x7f0000000100), &(0x7f0000000140)={'syz', 0x1}, &(0x7f0000000180)="a7", 0x1, 0xfffffffffffffffd) 15:21:35 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000200001002abd7000fcdbdf2502"], 0x6c}}, 0x0) 15:21:35 executing program 3: pselect6(0x8b, &(0x7f00000000c0), 0x0, 0x0, 0x0, 0x0) 15:21:35 executing program 2: syz_genetlink_get_family_id$tipc2(&(0x7f0000011080), 0xffffffffffffffff) [ 316.319399][ T9131] netlink: 80 bytes leftover after parsing attributes in process `syz-executor.1'. 15:21:35 executing program 2: openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) openat$binderfs(0xffffffffffffff9c, &(0x7f0000000040)='./binderfs/binder0\x00', 0x0, 0x0) [ 316.505033][ T177] usb 5-1: new high-speed USB device number 3 using dummy_hcd [ 316.934754][ T177] usb 5-1: unable to get BOS descriptor or descriptor too short [ 317.014861][ T177] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 317.174735][ T177] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 317.180693][ T177] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 317.186400][ T177] usb 5-1: Product: syz [ 317.189333][ T177] usb 5-1: Manufacturer: syz [ 317.192158][ T177] usb 5-1: SerialNumber: syz [ 317.235635][ T177] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 317.442901][ T5311] usb 5-1: USB disconnect, device number 3 15:21:37 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x10, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}]}, 0x30}}, 0x0) 15:21:37 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000200001002abd7000fcdbdf2502"], 0x6c}}, 0x0) 15:21:37 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=ANY=[@ANYBLOB="380000004800010000000000000000000a000000", @ANYRES32=0x0, @ANYBLOB="00000000140001"], 0x38}}, 0x0) 15:21:37 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000ac0)='./binderfs/binder0\x00', 0x800, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000dc0)={0x0, 0x0, 0x0, 0x1, 0x0, &(0x7f0000000d40)='&'}) [ 317.959751][ T9141] netlink: 80 bytes leftover after parsing attributes in process `syz-executor.1'. 15:21:37 executing program 3: io_setup(0x3, &(0x7f0000000080)=0x0) io_pgetevents(r0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={[0x8000000]}, 0x8}) [ 317.961115][ T9142] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.2'. 15:21:37 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000200001002abd7000fcdbdf2502"], 0x6c}}, 0x0) [ 317.979769][ T9144] netlink: 16 bytes leftover after parsing attributes in process `syz-executor.0'. 15:21:37 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000000280)={0x8c, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_BEACON_HEAD={0x6f, 0xe, {@with_ht={{{0x0, 0x2}, {}, @device_b, @device_a, @random="1962d7351274"}}, 0x0, @default, 0x0, @val, @val, @val={0x3, 0x1}, @val={0x4, 0x6}, @val={0x6, 0x2}, @void, @void, @val={0x2a, 0x1}, @void, @val={0x2d, 0x1a}, @void, @val={0x71, 0x7}, @val={0x76, 0x6}}}]}, 0x8c}}, 0x0) 15:21:37 executing program 0: r0 = socket$xdp(0x2c, 0x3, 0x0) sendmmsg(r0, &(0x7f0000005440)=[{{&(0x7f0000000040)=@ethernet={0x0, @remote}, 0x80, &(0x7f00000017c0)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}}], 0x1, 0x0) 15:21:37 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) read$FUSE(r0, 0x0, 0x0) 15:21:37 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x1c, 0x30, 0x1}, 0x1c}}, 0x0) 15:21:37 executing program 0: lstat(&(0x7f0000000000)='./file0\x00', 0x0) lstat(&(0x7f00000000c0)='./file0\x00', 0x0) 15:21:37 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [0x0, 0x400]}) 15:21:37 executing program 3: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_DEL_RULE(r0, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x300}, 0x0) 15:21:37 executing program 1: clock_gettime(0x0, &(0x7f0000000100)={0x0, 0x0}) pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x0, r0+60000000}, 0x0) 15:21:37 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/ip6_tables_matches\x00') write$FUSE_BMAP(r0, 0x0, 0x0) 15:21:37 executing program 3: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000440)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000480)={0x2020, 0x0, 0x0, 0x0}, 0x2020) setreuid(0xffffffffffffffff, r1) r2 = geteuid() setreuid(r1, r2) ioprio_set$uid(0x3, 0x0, 0x0) 15:21:37 executing program 0: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) connect$unix(r0, 0x0, 0x0) 15:21:37 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x1a, 0x111}, 0x1c}}, 0x0) 15:21:37 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x12, 0x111, 0x0, 0x0, {0xa}}, 0x1c}}, 0x0) 15:21:37 executing program 2: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000100)='net/snmp\x00') 15:21:37 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x1a, 0x111}, 0x1c}}, 0x0) 15:21:37 executing program 1: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8917, 0x0) 15:21:37 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET_UNCONFIRMED(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000a00)={&(0x7f00000009c0)={0x14}, 0x14}}, 0x0) 15:21:37 executing program 2: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f00000001c0)) 15:21:37 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x1a, 0x111}, 0x1c}}, 0x0) 15:21:37 executing program 2: openat$tun(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) 15:21:37 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x1a, 0x111}, 0x1c}}, 0x0) 15:21:37 executing program 0: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x4, 0x13, r0, 0x0) 15:21:37 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r0, &(0x7f0000000000)=@file={0x1, './file0\x00'}, 0x6e) 15:21:37 executing program 1: syz_open_dev$usbfs(&(0x7f0000011100), 0x0, 0x644000) 15:21:37 executing program 0: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000100)='net/sco\x00') 15:21:37 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [0x0, 0x0, 0x0, 0x1000000000000000]}) 15:21:37 executing program 3: mincore(&(0x7f0000ffa000/0x3000)=nil, 0x3000, &(0x7f0000000300)=""/166) 15:21:37 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0xe80, 0x111}, 0x1c}}, 0x0) 15:21:37 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_RUN(r2, 0x8090ae81, 0xffffffffff600000) 15:21:37 executing program 3: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='stat\x00') 15:21:37 executing program 0: syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) syz_clone(0x60000200, &(0x7f0000000000)="aaad742652f5a2676ecb7312019f51b12b4d5947a0dcf387ff3dd6ee422e8f012cd8a097f116bcd4dcfd316c66c5d3694a8296f88694f36cba20fe7d40c62a4f4c9757c842312e0b58ad21d2a385495d0c8e5d465e1fd9bf0fd4c5ecb4563d7cd827e4", 0x63, &(0x7f00000000c0), &(0x7f0000000100), 0x0) 15:21:38 executing program 3: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$RTC_IRQP_SET(r0, 0x4008700c, 0xc88) 15:21:38 executing program 3: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/vmallocinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f00000024c0)={0x2020}, 0x2020) read$FUSE(r0, &(0x7f0000000480)={0x2020}, 0x2020) 15:21:38 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_PKTINFO(r0, 0x10e, 0x3, &(0x7f0000000000)=0x9, 0x4) syz_genetlink_get_family_id$tipc(&(0x7f0000000280), r0) 15:21:38 executing program 2: socket$netlink(0x10, 0x3, 0x0) clock_gettime(0x0, &(0x7f0000000100)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000040)={0x9}, 0x0, 0x0, &(0x7f0000000180)={0x0, r0+60000000}, &(0x7f00000002c0)={&(0x7f0000000280)={[0x401]}, 0x8}) 15:21:38 executing program 3: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8916, 0x0) 15:21:38 executing program 0: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/bus/pci', 0x113041, 0x0) 15:21:38 executing program 0: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x100010, r0, 0x0) mincore(&(0x7f0000ffa000/0x3000)=nil, 0x3000, &(0x7f0000000300)=""/166) 15:21:38 executing program 1: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8919, 0x0) 15:21:38 executing program 3: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000001f00)={0x1, &(0x7f0000001ec0)=[{0x32c}]}) 15:21:38 executing program 0: sendmsg$NL80211_CMD_START_SCHED_SCAN(0xffffffffffffffff, &(0x7f00000025c0)={&(0x7f00000001c0), 0xc, &(0x7f0000002580)={&(0x7f0000003740)={0x18c4, 0x0, 0x0, 0x0, 0x0, {{}, {@void, @val={0xc}}}, [@NL80211_ATTR_SCHED_SCAN_MULTI={0x4}, @NL80211_ATTR_SCAN_SUPP_RATES={0x18a0, 0x7d, 0x0, 0x1, [@NL80211_BAND_6GHZ={0x29, 0x3, "b1b85daefb1b87e933d9d08ef7f547a9250a8dd91a49da4525ddb68957727a77cee7790949"}, @NL80211_BAND_60GHZ={0x9, 0x2, "3d30913461"}, @NL80211_BAND_60GHZ={0x41, 0x2, "e834bfa833ba6db9a7c8e42d17f67b2496dbe832a9b172d5b69a5ac13e86c62155bbb1bd7dfba9d94f4fd3e9d2c60dec59cd6ecd45ced913ad137dc5db"}, @NL80211_BAND_5GHZ={0x89, 0x1, "f2f20808684bb17cd96ca2cd475d7d5fdf0e54da35f460de85a0570a00a2555bedc49791c624dbdd6dbcdeb590e5ad37d16263b2ed594d70321f8001ea56e79f53b8a76f5f0cc890cddec2e69612c9c3f313ae207178dc1aa0e85eebf9cef4faa76cdf2e6890272123f7e36d3d3dcf77f26bed39ae1c009d0577006cbfff7217e1ef1732c7"}, @NL80211_BAND_60GHZ={0x1001, 0x2, "d2caf893bd39bdee4f573dc48fe9ad83723c739c4b70a5abbe9c7101e7bff64f25549d2c24a5a73b899e63a45270f8821dc9657a13bd5950343bf7e0f6d616c4906b38b127ada4933f51a0b692d09b6350cea6e53042bef731e259fa74c28df02b843b11230db7f75548a17d241576356242f1e9df7cc288bffe5a494de41339c4f334840069e28e69c2502285a0778af4fd0f74e07ba747f2406e8668ebfdad373b331740280e5718682ba80974ff5bd8ecdc54c99f1028f5455951f7ace880accd3243f71f9d1a121efc7c4cfd303b075b4d503f3554bf78fb40045c4b049ac66062d6b9e66934883f73f2c73349d79378b1107b66eae774c0aa8c4f8e53a09f83581a35acff8c03b78f42b834b2048f20475e0380a7bcaa4442dd3e6704c4cdda39727a8e4bd5c60ca68304efd3ed29dbb306f2c391b2a3ec041cbb6d883b25d461ea643efddfb7144a6c7fa244332bc0a555771ed3a8254175ad4a3f54863f75844292d8d5197f68e9d100e105cd3382914bf923f2e5663bfabd60df1eb466f3765304bc0265fcae5068883518d3e2f8aea13ea832c6bb81b9cc471c7b60bd9eaf814a9615010831c735a7bea6af6bb437ddf19078e140eb2f389563426e291dbbb66877b38eedd1efc0c02ec7757b33c0244c0088e8cb8ef8681e1a448db9673b5ba41a6b49205681e15b674ba7ef224d266e4aad8e0f65ad2fd07dc42e84cb4913732e544434e5f3c90d5079a9873fd611c2a40c0b5593856e049ecbc5ce53145a0c24f21f99c4e52a3c2960d2b9c881a652a9f6dcfde8309d66722c10bca1ce1ef42b72adb240f27c1d282d88ae3db650029705e85382462877f22f16fd2454638e340c230063050496f7c2c7c2b311cfb2378393b5f169d090f7312a21d0aeb5f1a15f7b84c9df4d2d58623c7ecb6d8a115e0c37a0f48e463e9ef9a93e1aa9d54fe23b71175c374c9ce27fcc2f6383e0c3088e47e4612c3cf835aed133a6c65aeaa887ce29e169534e0c99a4b01b079a332b00728c471a3ca4d4688c69b0b8c18e2f8ef2ab1cb17d0896a4398bc8db1bd74b615e898fdde9cc581482e323398e4e7ca1c5f73b0eb7a4cfd99c1a612013b3845649898d36ea75f5d12577ba83ce315fbe1e2a5110d16b34dad3211ba3539061e36a1bd9c8417641c327331b9e3a8dbcde7e1b70daf7d1af49c0896eb14985df13e76d5dcd410b70c8cc0b0657ebfd012309a0e3c5fe5d2af6bf37448257e335f0b6674241436c9abc90a1fc268c5efe0d4aa05c746ec064e55b06d5d7a0798254036888e59abbb5948711dfb6d1c80f3dc44bea600ee882d22569e46f20f3238b61b38d09818bf168bf41b3a615b899210eb0cd332c1efd03e253c4f2c07edc8ded09249ec9326dc1ff97276e0c563691fc21dcb0a372bda74a841752f76ac0f64a7364e9f89a84f761d73a4a25b2ed4d6a8f51c584a772077f371a002a1ec65ee2b12674a31be73e02bad517888a6612441a794ef7183d6b4c5937ded0cfb9488aad22b92febb0c2943a5c77486efbaa04c19cba24a9c1e8b24980410c853a4aeee4c9a0aa7595ddce8bd3812577da2347cc6026da92841a4f0be2181a900a0d789d2552c99d28f0c4124b9f8f7bd555897b4c6d7d6dcc6c765923a3783654da0a32d0fadae1ed74a2fcd4f4ccccec3007445a0402c2e83d42c5c730b868cef891479213d8001899d049be47fd5500468bc5b9919f794eb82b725383594c3b2dd6001a9ec4234f2825b2027ae462de5812b7e972cc2295a93fcb05b2806a636d31f0b022ee426b66e5642deca1daa5320ea6abb185db195027c55b1a0e2d403431ccbb8dbdba56443b26fe75ead3a69588c41a79c2afb48cef1dc16f4bb48ad99e8c35b5f3cb81c9d4fd12f96dff5eacf4a65fa0c2c590ea4d5d15784e94cf5934949e86877dbe44ccd6830f908926004129f280457a4e32f730ace634a9ce23acd5034a9cd064aa91098eb049794e2937c9adf7bdfe78fb11e0b69f2ff05f407163448ee3be30f49f91f75e303414d3f57b0cc8cb8a2aaefe10ae1e7aabdfd49d64119c0f738ab549491cb32eba8cd798750c907002f7d7d015cb152a3345b6adce06fdfd3936df5a2798e0e1575a85cd3274885e2808ab2efa8aa2f466b7e2c09a9d842d82b61dba1f81d67b8fa727b91c51be0b711490d0c9d44ee0c56507e69baf2d3c7744d892db6c70d3a74f4fe5ffffe8abbabd38980019bff4c761949ead62e3ac2f70b424168ccdc6814587fa7a3cd928b172cb4eec4f09632df5a8205990573a46bdf2c188a73b2a3ce13ae9855a232ef9853e7ce6d7ae2e57e809b1679d959b2db951eccc4835719abb123e2524fa63d93cb104c9e85e7f03c2d8d65a83dce26ec10c356e58fe0d2a9a64010d1e6837a5a7e33e20d304e36b7e02b8bf1cb73e6167f939d191d49654cf27a1fe8bec2f948edac02b62374338c80474bec7d62e98f3bcea1cb45b910088cf32fa3c846acaa6ac387dcb1117363164b89e2c4f694c9daaa803ee576fe196be261b9fa04716c0f9e2824f3a3e4987396f4b2f2abf240ae4da8e11d2a3e00bf1cc9f2d4ea78b2f6f4be65ec5bd0ed5264fff9dc40bfbe3e2eb9a7afd22d21f734b881f2f0541d9af7f29c80c3829ef7778aa9d2a1b931757307cd8f1e30960034ecb0a15335497e4b81da3b5696b711306a41217dd843ec0647a5cc281d4ec71cdcce1604550b9a86fae3c93e9fc735a9e74db17c6e5a210ae16c2555edeb0b67f35fb45a273580f6a4be6a792dd84cef99f94a5e6f6e974b9c230648e096bc02caa3f62328c935f29e6b7c67e64777cfda44927bd933e1fe34fdcacb0916200ce22b584d5a694049da0bbe34bf041f93376881f429abf463e30dbfb452b0a27e0c466f8d994fa9bbb562268034fb5342238b8af13d2cb0943ff357ef5ca2120ae7cdca02db6fcdbf9a5a43c05e997b9bfd29d2b88dd6b8997e4c6401c1794a258c388fbec14a612dd763d6f64d9b5e00de80c4db1bc5e93cf01ff439bdf51a893ca69a99c3024e82105cab8b64910469ffef9478d772c29bf248d765db8ba5613068cbed29bbcd6c17e3a5089e2698b1e2faf8d90b604ddbffb7c02142f836ed4da4d03c838b1f1fcfd2026835486d00f0f8d368b5f651a97118611e374176d5353c2c29e6b34655b90705fbc76121d27c940db8febde802c721b28603a76b6a1219fad00f94442e9ccae5cb0726a385a52ff98f396b3ca73f59fc90de654420751dfc0c5ea7efd671234be67c32ec3e6fc7ca459418e346c4c2bb8bcd2765632ad25e744a2ac8c34a53678b7bdcf96de76520a382072e6f7ad01353c8eb8c9b3fb5607f52e8aa30762f5dd774e7c4c418513f2488abf4e15cbcdac51fb97dbfcad88536471b540151f3c3e8d2319c1f4c3f429cda615fe7732d76d99c13adce6cc4da0d2bce677101eea4a8432de0955b0ca98b9b57ea8703c7c5c23a956b4133e5fb5cf696684078707b42c04a6fc1972056997e090e26dd5ee042fe358d59c1925c08a23441d373bc7f07c54881e12666aa047dc2c99e0b752f234a8e7e0ea082a862c49934d2f68050425d494152a7d386592a30af259ac210d3a6029ea6e5697a10b4ba51d15599c31a792b54ee29cf6c6b6ae5e38bf9777c2c8d2845b6d265faf31eda0b81a2412a91d344e74fb7cd5e27b82c190dc1051e70a19bd9eb993fa27b0cd250f87b2914c257d88eb403c1b99a2b575c9d3e25e3a0982755c11a77eed8742257aa53834d0fb062fba14b45d9c252f7bf83f4b9d3109af43c83dd06322dfca810fa41b6edc56307bfaaf83f7d57d3d467e5bd65f066219d537cddeacb7ad60c75b1eadabe035d889639d208c10712dfd358607cba3947ead3ac6831ba19abbc9b1e7378ea44d3f2af7d49560b338b64d0442c5b124a837ab9b249f253d3c04b3ed171a08dcd59d34060f9a96ba3d31275248ab6b1a34a84369ef7881019d439407f07ad2a561c03038fafb8c230171663d2e9c6b80a6be0008a1a55f9531eb14bac830f63339dbf0ab25ae02ee9a0f6dcc2a354d73e394ebf0959a29d5dcbfc5ab5c8b6d015a745218f0b82ceebd64979805267c9e337ac0903d20fce08421b2dcdb08a0c5fe38455c598d4cd72f157692c7d1f0f1a2725d6268399ca13ed1bcaf9d76c355eed946213e8fda9c4252b078bda550ab6a0ff92ef6058bed0408e14de051b4d654de6516bde1d0f4426cafdd27eb5afcdcccb486112573f082276e1354c34659c6ae3fa1fdbbace947afba40e4bea42766881c11c42135336f1e2e5d222c0f36578741014cef38def2baac232994762b852b5148446f4f6524a3b52eda5060981edaa55ddcf4e218e12e2501ddde7e0289b996cc5220bc1646468e9d78f68de8d52edd136f0c46a6715e84f4711b232adb21bbdab44f352e382e5d9d35303a724878a9166dceffbb79e6b21f577e98a761835fc06e875a38396381adf1a2582331e8c8a32c33e6b38fe359727352ca69988293b382b83c7ec5cfce90b7d97a0e26f0e758de3d1b1724006298c0ef5dcd6eab77ffb539b78b696762382b4ef27629f3fb396b129f2ea279d1b4303e8cbd58ca3a76be3bcf573668e755165bbb56030c86c83b6ec29920fd1fae5ef2f450090a767d7261dd8cb3c9be5e5c539bfb57e182cb95bcf7b370b69d8a338233714f2dbf0edff8a7e53fba15cbd1d575ab040f8fee68d180c19322d93c36a6f4f516cb146ce0f7957cd4aae00d396b83cc42b3b16a62b2d3f4cd934ad0622a1b351f80ca02b2944982ab254b9c0f79f8f9c71027cb744b0a725f5f81a548a14a6e1b8be1998eefcf9dff0deda2992a23f96892bc59bcfaab5ca99fa0b04a5d22fee231f16a488bc8189ea39d22a36a850444892eb86184a7d78d339cf8c6044d5ea211e07cf30712f7d7e9abbe232df0b742c1c468b8e12775ef01ff685ea7ec25f1ea83385a68f2234f5555adbdd1048af69e2694040b13fe6dadfaae26064d5ec9606eee01d70f016bdcadbd242247e3294f2bb40d4dfe20de64417b03acff060a511079d121a9fbbb52047ddbe858884fb5437cf0afedea52ee983cb62cd15178b895a114dcc102e801352dff7c00bba3566d12278ce1dd2b8eebc4ccdd93ea555ec5758b97e64313fbf06dfd726172bd608117f2ea733c3c5748753085a57d2419586c3ac4b02e16158e5cf6a9396948c0e8bd8e7108b1cb240fca81182cacb3fe5f0e797911f1a2383d19a6d745f72dbf4560768e313a7623980e3dc6956125ff63e30797b2df06ebd0d228007696d74b274e4bf3c38bde8a09033dbcd5523ba28132f0121a61d971aef10ab6cb1e0dba8daf6b401b8206a8c8c900873a9c0d8951a84d4189d8ce3b3eb188a115734fb0b94d2c1def3302cd756eac82f0b68fa14ee1edc4d86787419c6dc9f62328f9058b7b8b704f4c758d0734bc67a5b1528a2c02b7bf0723523944ae987282d55dff80d00fd776e20008b0941ff3cc09c51ad3df74051995a6eaed471867d9ebcbd8295a31834a57f9b08624ef30e4b1a07c6f600f99cfb2f652231a4aa531aa8db408c13dba854451ef51c403eb9f50345d2cc9b524eddd5bab32483604e56e606468c1c14c6ddf85ed099f43c10d6478f8c1f7f5bf11dd5fc2c0a78836bf5d724ccbd82e1209123f87911973736e9221b9e5b63e1b90c299cb2ca22e60b63de4f7fb3e2d9b6fc3007921f84e2db4ad50fe24d63a3359ba26a4ca6b34868c7e253c41b22df419170b6a"}, @NL80211_BAND_2GHZ={0x31, 0x0, "ad553e15c71dae8c999c9c393377530a07c3153ac86887a9fb15b61b15127c3de5e47e939fa1cb3bc405c1f29b"}, @NL80211_BAND_2GHZ={0xcd, 0x0, "bd74d14ce86ab5e5d14b36ccee82a81fd8e1bfadc5d5b767d7f659f1cee02c7226f8fae865f1f4176ee33ddc51fb7bdb7f06a9fe2e610c48b83466e3f85f10fc8322a18f8eda461cf7a96223551c9effbc6e45871c504103a642a6a27054569701196b4770fe26caee3acd25d9f459a78f81da765b0612a534cac5f90fb3e269fb4d34a838f02d2eb4e476cab8059ddf411f27cde487c2acdcb7520a76732746cc5ce7a895aebb5a0c693b430575b73e8d12fb3e93c8cf9324e26d955f9b646c6ed0debeb30831c9e8"}, @NL80211_BAND_5GHZ={0x689, 0x1, "d41f02db3d5c052d6cd703ac7e78a019caf35126b1c95671ee74d5f885fa19dd7613391778b4b1e0d429cf9f2ca926ff009a4769953c4b405eff25a0216c7296a38caf0ffe710cca5820fbef1a1a9f9853daaf341b7257a71d6698a8d2bca505daae3997562fe7173f67e9c858dc6bca27f494b033ebc9b2f90abf92e6b01e1720d65be53e274cc9f154a8e3f465f314e1bd76f61b3c440d0d6b5d7a81e45a6f2da803598e8865ffb5ba12f77f0b78a4fe8931619b4a36f656d446345a1e4db21cf29f58c282965ed841997e8cf6bf2323920f7892e77262fd11157fd42c971423280719f1ccb3a0c96ccea405c7c1241d12ff04ded78adcf89cda2f8d555a754acd929e663b3ef1265afd49624d5b54f213a793f4b0cf73bf8e90e862bc9330db64be7dc9df290caed36cd037b29589a0778d5b0fc7e1668e2527f47567dd7fba263e12d5c9c2d8be833b66534f608baeaef7e214b5470d82dd50289d6f59b45f71883cceb70f91db94b9a2af95d1dfcd4235e3926be6032d52e426ad3c5aff69c9c0d07439acbb4e4983dec3f37bdc8cf2234450f30c1e14282196669c85ccf6a06a3ccbd3a41c04665d2b5aae5780672791694a829fd3e2f29764f2fae6f7aba78760c2a892ee2bbcb83f936b1bd1d4be822e32099f8d083a64ee9b2af57c9269192cc9d3eb19a5a4b385d32ac4992d8f6f78171796a2db9692a8995e6e51a5f8895a0bf07cbfa7bd96e9e270be56c37e75ca8f9369f2d59c25b64f002d9c7319e18b1bb75dab2b1299075c8903608cc30d542c843a3676e9177146eef1239b9cb52023df5b0648fbba878fdad44b4f99e5f11a0692ab893d0d5bb09d3035abb08a343f19e2b4e58589cfa13d8923a8b0983a052429fe05b08d3f9cc97248f20759ae97444cba2cfcf211cfd43c5b99b133550cc0790abb74eaa54a368a1e683b0221b55dbe653e10183bb10535d9a7a6d486ae227bc1829d0f2fe800b3312fa1bfe899329adf3bcbbbef405dc50dec3f58ba4b8c5a8cf9ea4f9fefb2833ca730a3c0557ed291e2b11e59548f3fd639085f35690ee1f885021e356a2e9af14231e8fd007d174b5cee8d11b311026ddad75924a541e7d293eef2f1083022da4963d6384d26f242346e1bb1ac0e24502f839273728e195abd40916d34f49e268894dcfe20df2504a3448e1c3807130f369ba193f8aebc53a3232a48dcea501e18e2374b2d59f8b805878670a90bf2224952447fe40e8da242756eeb8c346d6488662e611a2f30d7d17281c4f2325213bf7f63697579aadae054f16878ac54f782d8c3081ecf98388ef7db3ef5abc238cc5f1e16d7fd6a40428f39b5ab0aba944a30e2a33ebdb356563c3fbec5badf8174648551537f35c73220f2682b9b5d2fd7ac10ccf4f848a9d67dc812926b8e0f2eca74f4b4629de7b9034884f6da5b3676a4452a080d2ae55fe22d79e3c1af0119d49a327fa051f93ef352800c9908ad1562371ccc3830128f4c2e865c2302f798cb920942edb4fa7d995db6dca18bb6b948af5c465da7bffe70c66598f88dcbb5f80cf415b681019a35ed277ba759b808bff6ad84746d6311390c0db89a41149d8eadc7df974cce552b3ed571d6a8653c2add5f3741bab8b4db7dcb758f95fa2895bb5ae65566a7c1e8e3c7b3e456edb074a08648d07ff3d69adb81424df8a39067cade0fb07b21759c538bdc25e06de956945d2fb9b14fc6cb5edaf2342e6244e26be8c767bbb906e47bdc873802d188cd121c96a03a62c42431c23d67f6f7e10a011c8d6d02041ec02212481d89f74a30ec2a5272c7dbf7d13ff98a2bb303dc4b2af44d83cfad826e11167996f3dea3d8bc346419808cc5f9e393ddd2a7f5ed6d1d83a927c52afcdeeb1e38df5fa9273c8be788157e96ac9bf2b2451c78c5bf187e186b27562cc11ca5319432e9d0fd9df50d712c02deef2847a0397d14339062e39bef6b470152032a143eda758a7774c7fbedd1d9803c71ddeae49526d7e8cf9e50ed519b77f94549b1bf13b51d8f0493db390b590aeb4f051ccfc6f38c88520898350524221600e2b76c936b1086c8b3f837076980a9fb0cfc96ce4729bf2dd6786cbd5cf3c535b7ea0f6099b6c972448518f83e8d2b88a96e0fd94cc151ec378896417b1ab6b58caa6f915e79cfa51320ec25a591fbf9ff17bd0a5655576846c327bcb3096b3086ea0345bffe33bfee68b100da26e9c22dd7d058186743282a0fb39ae1b2adb8620e2f3a017fa1fd3a117bf1d19ba7c4f07e89c7ee8e749c313f4a25fc379af420e88ca152ef6a04438625950db60fef9689f2433402a498d075aec22641d242a9533a422b2996c87eafd3"}]}]}, 0x18c4}}, 0x0) syz_genetlink_get_family_id$nl80211(0x0, 0xffffffffffffffff) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 15:21:38 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000002cc0)={0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000002c80)}, 0x80) 15:21:38 executing program 2: syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x300, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, 0x0) 15:21:38 executing program 0: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000000c0)=@getae={0x40, 0x1f, 0x1, 0x0, 0x0, {{@in=@broadcast, 0x0, 0xa}, @in=@empty}}, 0x40}}, 0x0) 15:21:38 executing program 3: syz_open_procfs$namespace(0x0, 0x0) sched_rr_get_interval(0x0, &(0x7f0000000000)) 15:21:38 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$TIPC_CMD_DISABLE_BEARER(r0, &(0x7f0000000240)={&(0x7f0000000140)={0x18}, 0xc, &(0x7f0000000200)={&(0x7f00000001c0)={0x34, 0x0, 0x0, 0x0, 0x0, {{}, {}, {0x18, 0x13, @l2={'ib', 0x3a, 'veth1_virt_wifi\x00'}}}}, 0x34}}, 0x0) 15:21:38 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{0x0, 0x0, &(0x7f00000005c0)=[{0x0}, {0x0}, {&(0x7f00000003c0)="f9", 0x1}], 0x3}}], 0x1, 0x0) 15:21:38 executing program 0: pipe2(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$FUSE_DIRENTPLUS(r0, 0x0, 0x0) 15:21:38 executing program 1: r0 = epoll_create(0xa473) fgetxattr(r0, &(0x7f0000000340)=@random={'os2.', '/dev/usbmon#\x00'}, 0x0, 0x0) 15:21:38 executing program 3: pselect6(0x40, &(0x7f00000000c0)={0x1}, 0x0, 0x0, 0x0, 0x0) 15:21:38 executing program 0: r0 = socket$inet(0x2, 0x3, 0x5) ioctl$sock_TIOCOUTQ(r0, 0x5411, &(0x7f0000000000)) [ 319.395070][ T824] usb 7-1: new high-speed USB device number 5 using dummy_hcd [ 319.774799][ T824] usb 7-1: unable to get BOS descriptor or descriptor too short [ 319.854597][ T824] usb 7-1: unable to read config index 0 descriptor/start: -71 [ 319.859518][ T824] usb 7-1: can't read configurations, error -71 15:21:39 executing program 2: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000001f00)={0x5, &(0x7f0000001ec0)=[{0x2, 0x90, 0x0, 0xebe}, {0x32c, 0x1f, 0x2, 0xfffffff7}, {0x9, 0x88, 0x0, 0xc8}, {0x7, 0x0, 0x1}, {0x3, 0x6, 0x6, 0x9}]}) 15:21:39 executing program 1: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/block/fd1', 0x0, 0x0) io_setup(0x2, &(0x7f00000000c0)=0x0) io_submit(r1, 0x1, &(0x7f0000000440)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0, r0, 0x0, 0x0, 0x0, 0x0, 0x1}]) 15:21:39 executing program 0: timer_create(0x7, &(0x7f0000000000)={0x0, 0x0, 0x1}, &(0x7f0000000040)) timer_gettime(0x0, &(0x7f00000000c0)) 15:21:39 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000200)=@mpls_getroute={0x1c, 0x1a, 0x66c8a1f50a05b735}, 0x1c}}, 0x0) 15:21:39 executing program 0: r0 = openat$null(0xffffffffffffff9c, &(0x7f0000000040), 0x41, 0x0) write$ppp(r0, &(0x7f00000007c0)="19", 0x1) 15:21:39 executing program 3: sendmsg$tipc(0xffffffffffffffff, 0x0, 0x9298d90aef764f65) 15:21:39 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x38, 0x49, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback}, @IFAL_LABEL={0x8}]}, 0x38}}, 0x0) 15:21:39 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{0x0, 0x0, &(0x7f00000005c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f00000004c0)="a2", 0x1}], 0x4}}], 0x1, 0x0) 15:21:39 executing program 1: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f00000003c0)=@bpf_tracing={0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:39 executing program 3: syz_open_procfs(0x0, &(0x7f0000000440)='net/softnet_stat\x00') 15:21:39 executing program 2: select(0x40, &(0x7f0000001400), &(0x7f0000001440)={0x1}, 0x0, 0x0) 15:21:39 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f00000002c0)=ANY=[@ANYBLOB="17000000", @ANYRES16=r1, @ANYBLOB="010000000000000000000e000000cd010e0080000000080211"], 0x300}}, 0x0) [ 320.356234][ T9277] __nla_validate_parse: 3 callbacks suppressed 15:21:39 executing program 2: delete_module(&(0x7f00000000c0)=',\xfe\xff\xc4\x18 \xee\xa8\xd1\x83\xf9\x986\xff\xf7\xff\xff\xbf\xffr^@-%-/\"/\xdc\xf0\x19n\xfb\xff\xff\xf2r\xb4o\xca\x9c\xb3\xe4\xdf\x1f\xf4\xbe\x14\xac\x9b\xb2\xc4Y\xa7:\x1a\xd46\xf1<\xfdI\x10\xc5\xa2\xc7M\x0e\x1c\xd4!z\x97\xf6+\xa2 \x89\xceE\xf2\xa5\x8a\xdf\x81\xee*\x9e', 0x0) 15:21:39 executing program 3: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000440)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000480)={0x2020, 0x0, 0x0, 0x0}, 0x2020) ioprio_set$uid(0x2, r1, 0x0) [ 320.356248][ T9277] netlink: 3 bytes leftover after parsing attributes in process `syz-executor.0'. 15:21:39 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) r1 = gettid() sendmsg$unix(r0, &(0x7f0000008580)={0x0, 0x0, 0x0, 0x0, &(0x7f0000008480)=[@cred={{0x1c, 0x1, 0x2, {r1}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xffffffffffffffff}}}], 0x40}, 0x0) 15:21:39 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) r2 = epoll_create(0xa473) sendmsg$unix(r1, &(0x7f0000009ec0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000009e40)=ANY=[@ANYBLOB="18000000000000000100000001000000", @ANYRES32=r0, @ANYRES32=r2, @ANYBLOB="2c0000000000000001"], 0x68}, 0x0) 15:21:39 executing program 0: syz_usb_connect$cdc_ecm(0x2, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x300, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x10, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0}) 15:21:39 executing program 1: syz_open_dev$usbmon(&(0x7f0000001480), 0x0, 0xc002) 15:21:39 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x400c620e, 0x0) 15:21:39 executing program 2: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000005980)={0x1, &(0x7f0000005940)=[{}]}) [ 320.426138][ T9296] binder: 9295:9296 ioctl 400c620e 0 returned -14 15:21:39 executing program 1: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NLBL_CIPSOV4_C_LISTALL(r0, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000300)={0x14}, 0x14}}, 0x0) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$netlbl_cipso(&(0x7f0000000b80), r1) 15:21:39 executing program 3: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000100)='/sys/module/printk', 0x0, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x1000002, 0x11, r0, 0x8000000) 15:21:39 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040), 0xffffffffffffffff) socket(0x21, 0x5, 0x6) socket$nl_generic(0x10, 0x3, 0x10) r1 = openat$procfs(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCCHGTUNNEL(r1, 0x89f3, 0x0) getsockopt$TIPC_NODE_RECVQ_DEPTH(0xffffffffffffffff, 0x10f, 0x83, &(0x7f0000000140), 0x0) pselect6(0x40, &(0x7f00000000c0)={0x9, 0x0, 0x0, 0x0, 0x80}, 0x0, 0x0, 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f0000000000), r0) 15:21:39 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000140)='/sys/module/drm', 0x1a482, 0x0) [ 320.684719][ T8488] usb 5-1: new full-speed USB device number 4 using dummy_hcd [ 321.084939][ T8488] usb 5-1: unable to get BOS descriptor or descriptor too short [ 321.124987][ T8488] usb 5-1: not running at top speed; connect to a high speed hub [ 321.204785][ T8488] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 321.364931][ T8488] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 321.371358][ T8488] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 321.377439][ T8488] usb 5-1: Product: syz [ 321.380163][ T8488] usb 5-1: Manufacturer: syz [ 321.383185][ T8488] usb 5-1: SerialNumber: syz [ 321.425668][ T8488] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 321.633681][ T8488] usb 5-1: USB disconnect, device number 4 15:21:41 executing program 3: syz_genetlink_get_family_id$tipc2(&(0x7f0000011080), 0xffffffffffffffff) syz_open_dev$usbfs(0x0, 0x77, 0x0) write$FUSE_POLL(0xffffffffffffffff, 0x0, 0x0) 15:21:41 executing program 2: socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$TIPC_CONN_TIMEOUT(r0, 0x10f, 0x82, 0x0, 0x0) 15:21:41 executing program 0: munlock(&(0x7f0000ffb000/0x3000)=nil, 0x3000) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) 15:21:41 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) connect$unix(r0, &(0x7f0000000000)=@abs, 0x6e) 15:21:41 executing program 2: r0 = syz_open_procfs$namespace(0xffffffffffffffff, &(0x7f0000000000)='ns/mnt\x00') ioctl$BTRFS_IOC_SPACE_INFO(r0, 0xc0109414, 0x0) 15:21:41 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000580001"], 0x6c}}, 0x0) 15:21:41 executing program 3: r0 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) mmap$IORING_OFF_SQ_RING(&(0x7f0000ffa000/0x3000)=nil, 0x3000, 0x0, 0x40010, r0, 0x0) 15:21:41 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) accept4(r0, 0x0, 0x0, 0x80800) [ 322.185707][ T9319] netlink: 88 bytes leftover after parsing attributes in process `syz-executor.1'. 15:21:41 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xc020660b, 0x0) 15:21:41 executing program 1: select(0x40, &(0x7f0000001400), 0x0, 0x0, &(0x7f0000001500)) 15:21:41 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x5, &(0x7f0000000140)=@framed={{}, [@cb_func]}, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:41 executing program 3: mremap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x1000, 0x7, &(0x7f0000ffb000/0x1000)=nil) 15:21:41 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f00000003c0)={&(0x7f0000000040)=@abs, 0x6e, &(0x7f0000000340)=[{0x0}, {0x0}], 0x2, &(0x7f0000000380)=[@rights={{0x14, 0x1, 0x1, [r1]}}], 0x18}, 0x40845) 15:21:41 executing program 1: r0 = socket$packet(0x11, 0x3, 0x300) sendmmsg$unix(r0, &(0x7f0000007840)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000007740)=[@rights={{0x10}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xee00}}}], 0x30}}], 0x1, 0x0) 15:21:41 executing program 0: io_setup(0x9, &(0x7f00000000c0)) 15:21:41 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd(0x0) ioctl$KVM_IOEVENTFD(r1, 0x4040ae79, &(0x7f00000001c0)={0x0, 0x0, 0x0, r2, 0x5}) 15:21:41 executing program 2: syz_open_procfs(0x0, &(0x7f0000000440)='clear_refs\x00') 15:21:41 executing program 1: pselect6(0x40, &(0x7f0000000000), &(0x7f0000000040)={0x1}, 0x0, &(0x7f00000000c0)={0x0, 0x3938700}, 0x0) 15:21:41 executing program 2: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000180)={0x1, &(0x7f0000000040)=[{}]}) 15:21:41 executing program 1: syz_usb_connect$cdc_ecm(0x2, 0x4d, &(0x7f0000000080)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}, {[], {{0x9, 0x5, 0x82, 0x2, 0x20}}}}}]}}]}}, 0x0) 15:21:41 executing program 2: syz_open_dev$usbfs(&(0x7f0000011100), 0x0, 0x0) 15:21:41 executing program 2: mmap$KVM_VCPU(&(0x7f0000ffb000/0x4000)=nil, 0x930, 0x0, 0x31, 0xffffffffffffffff, 0x0) pkey_mprotect(&(0x7f0000ffd000/0x2000)=nil, 0x2000, 0x0, 0xffffffffffffffff) mmap$KVM_VCPU(&(0x7f0000ffb000/0x4000)=nil, 0x930, 0x0, 0x31, 0xffffffffffffffff, 0x0) 15:21:41 executing program 0: mmap$KVM_VCPU(&(0x7f0000ffb000/0x4000)=nil, 0x930, 0x200000a, 0x2071, 0xffffffffffffffff, 0x0) 15:21:41 executing program 3: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='loginuid\x00') ioctl$PPPIOCGUNIT(r0, 0x80047456, 0x0) 15:21:41 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{0x0, 0x0, &(0x7f00000005c0)=[{&(0x7f0000000280)='{', 0x1}, {0x0}, {&(0x7f00000003c0)="f9", 0x1}], 0x3}}], 0x1, 0x0) 15:21:41 executing program 3: r0 = socket$inet(0x2, 0x2, 0x0) getsockopt$inet_pktinfo(r0, 0x0, 0x8, &(0x7f0000000080)={0x0, @loopback, @broadcast}, &(0x7f0000000040)=0x2) 15:21:41 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_DEL_RULE(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000000)=ANY=[@ANYBLOB=' '], 0x420}}, 0x0) [ 322.594809][ T8486] usb 6-1: new full-speed USB device number 5 using dummy_hcd [ 322.907959][ T1351] ieee802154 phy0 wpan0: encryption failed: -22 [ 322.912636][ T1351] ieee802154 phy1 wpan1: encryption failed: -22 [ 322.964906][ T8486] usb 6-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 323.125056][ T8486] usb 6-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 323.131733][ T8486] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 323.137199][ T8486] usb 6-1: Product: syz [ 323.140531][ T8486] usb 6-1: Manufacturer: syz [ 323.143565][ T8486] usb 6-1: SerialNumber: syz [ 323.195818][ T8486] cdc_ether: probe of 6-1:1.0 failed with error -22 [ 323.397677][ T5314] usb 6-1: USB disconnect, device number 5 15:21:43 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c0000002c0001"], 0x6c}}, 0x0) 15:21:43 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x10, r0, 0x0) 15:21:43 executing program 3: openat$ppp(0xffffffffffffff9c, &(0x7f00000003c0), 0x410102, 0x0) 15:21:43 executing program 0: syz_open_dev$vcsn(&(0x7f0000000280), 0x0, 0x60641) 15:21:43 executing program 3: openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x0, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000001180), 0x0, 0x0) syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) select(0x40, &(0x7f0000001400), 0x0, &(0x7f0000001480)={0x3f}, &(0x7f0000001500)) 15:21:43 executing program 2: r0 = openat$tcp_congestion(0xffffffffffffff9c, &(0x7f0000000000), 0x1, 0x0) fgetxattr(r0, &(0x7f0000001140)=@random={'user.', '/proc/sys/net/ipv4/tcp_congestion_control\x00'}, &(0x7f0000001180)=""/65, 0x41) 15:21:43 executing program 0: r0 = syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) sendmmsg(r0, &(0x7f00000096c0)=[{{&(0x7f00000001c0)=@llc={0x1a, 0x337, 0x6, 0x6, 0x3, 0x1, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x1c}}, 0x80, &(0x7f0000003640)=[{&(0x7f0000000240)="c7569275d2", 0x5}, {&(0x7f0000000280)="43376d8e7db19556e8f689cb57a7a8bec4ed574b506fc5a7cc3d38baa23661dd29bdfaf8830363affa45cd28fff18689f3377e7c58ebf952d278f7e15e57f7c8e62804f87213a24ac1ff62", 0x4b}, {&(0x7f0000000640)="0fc5d3ea74fd5eb27585f7e8e637dc0be1f89690a8318ef7b5cbfea360eadfb490f41973676f21d294b6058dadc19804e87de89727bd3637067022c254f82dd2ab1388c9536bf1b088cca4140c9971bbc087fcf3abd07231c414f11853f9c3f1af55c79a92b395261b70afde1f1fb9694e7385acdf2bb357129339e6e7de73368b4749a2356443f6882fa090fba7c15ebc67d8e79199f6cfccbc2192dd7fc400ae1bb4937964fd21908023bcf2dd4acd7bf5d36bee95f225f575b91c0afd5ebb3bf6c3acdec0b521b986dea7a60387155fed04641e61e691c5ec5176eaade0f52b044497886d0b85a3b5612692276fa0ce7a10f275546a9b1a8954fe5097794f6eb39dc3263665d8d976b40c82f96d7ccb03328d0b737a9f78a0d4447f3dff1f3c0f04ee3dca03327cff280a31bd313dd46ab328472d5bd529d233ddb591a08c9a61da1bb69b621b5b367ffc5103415f6189b188fa2d45fc8dfc17f501c7aefdd981ae87e84a6bd3e00fa9487105ce4536180e4e908029b2169663f73c6ec7b418df74cb59661046a63ccbb1b0633125c739903b2a55402d1676b3101d4feea8c62cf81afdb0102deb2b0f56ea3c7a236454a35acb2c12e32b2124a762e15043b9e8606ed387afaeff5f02f4bfd6eecc49b9dd4b71f46b761f062465881430d1bcc9b35b8882ed6949c8015ff3ebd1160d618d0b783939ab4074b0bb597c6bda1fc0409412bac69ea0e2dfe67422c1709bb2eb0a52a3e7fa2fc16d3ed7d9a0163a90f08ad95be2404745de0dfe227461fc65ccfee7c1cd67e17744f63330afb8c6c7a132a5a0195528fb4a2abf13e89755818ade1428af05661d35e272463950253474268659e0bb8184e4fd2cddd28ff6701257b87741209edeb2093350b95f3a508b76beb252be691b2410b8d472af3201769b89909d16b6c9ff1faadd36dd395003e4a71c05c8f9ba8bbfaa8f0aae2fc31fa4eb6fe1d541dd436250ae2e2a782bee350d61522e54db0043c71c4b9fb73e943f9986dec2413945e9d2320d7914925b13afb5eaf3a5bf971f0d4972ed3994b144f47e51ba266a5bdedfb7ec8031c2f5066f755bca2b6330a398a44ae7cff22b2f2a04e0bc1359feeae3d2defc665f5ec9ca08c5a0800e6813415fef00033ff40eebbfeca82d99bcc9badf17a06540fd556cf347701c439dd71da3d17d32d7ba1786103c33de7df99ac13863574bf245b0147901887c1a29b7dbe0c3055358c27f9900f9595c56c8643b2cfc0e9ffb5e4f21bba9be1fc7e9e3c7648d8ec9ee79d3a31a887b909cf9d9a159600d110c1d2c37ecabf94d35c55022eb3c9766ebd9fe11ed1892c510b08c86598ce430de4a08ef5742c1e4ea26b4681ff46443877a7fb6371469c4b7d33cb28ed0637e2c0aeea6aacc85ff0cebf54d0357d5b3a5ce8669f0e2016a58cfb56efcf2391932afaff405ab3de535c1451a5adb51d4d51dc133825986eb500b9385e9e803d02f61ffb6d9b2e01b154ebdc1d29e27b544aacfbe367ee4a7a474f0277131acc9b69b7c91d92936702ef9afb58cf52501f24c768fa59f88e5cdfef754887df03e736cccd14daedd15bd646dbc82a9fe0936fc9754fc733149e95801917bf6fe9544e29bda7c41419e3a63c787af8df8746cf94611ef228b3564bd1c14761c54556b201e74bc6fb177dac7b9ed8af1b68f9cea3155e6f21116821738975c3c62ccdb115f58f1a99a17aa0ddd6a58e983544235027f3078e1a097f45904217e2eb5cefd383108f57e85e9c78b10243e0365f4c7947e44c1824eff2c95d283e09025b78975a26eb8dbbcf5187a4479aa22fc39d79b1ed6daed1b289812f44984547dc20b2b2286b0ad62eb94d3afd0889f42646ffb85959cf41961ff20efce4bb3ba11575a84a92924a33ec4813a995e6a407bfb8ffae3944fa1cb0dd867a10c27e8f6f9bcecea6fcbec1570979b9e704de36aa296d1b20ac23713a848409a7f0f5d6700c79f1a9cf33fb1fd9a60817cf93e8952ce5bc7246edb5a041ea69f4ff23972c1663a59603fced33cdabfe5f44f2c1082a72eb1f04d2e707488f251e13ca8d44dffaa576e6f2c3f3af2195a618fbb8e5aab60524a05f1e00e49096667887eb39256be29ef98a8897bbbbd92b0471d2ea2a153b984851a7fc368e57131500f8221ff81293d0eb814504f810f1b477cffb69a62bb017dec6c829ed4d05ddb004641c6f26198bfd841dc0031e8aec8dbf742c16237f0756435274662803407cb4c5216a5521a9b0005574c2447a4ff588897c04a67aa947d73f3337d2cd3779df02af094a62079846311283342f3e0fc05b82c3e45715b1bf7a9f68183a2407c45695970849225d885d1691adfc134540737bffd1efe4498b3a2240b912d46b0d905e4a884fe959dd409b9aa9cc551e586e8500bd9e1450ccdca90633dd632c298dc54f5dd8e050b93de310b9b4fea73a56ba1fb1e88b8598541cc6e0f58f6d39d293528a194e94054a796f8965fdbf578f9a446e1b425fc65a68f32dae705b23d4c175ec26bfb60e239b1f3d627c1ecfab477e6733b5491d04ce7acbd72e7228d5e0e8c0b551827fa49ecf7bd53b21d3549c1f76a423856cc9ae122af176397d83073c958b5755e2cc1386aa08399fb93e0d05b67d5689b2d9a2ad005d8c9b6e1fe3a2f0243668a95ee37ad284ecfb0748b49c66f933ca21d750571b89670a30830dab2eef3d346afca58c60923e4a5ec40efee0c78ac87d7a6c13866927c46ac62bc682742a2835c35dcbe6afc6ec1ab6800c73cd39f61aaad715bb7c3ad48de42d53b7ba4cd5b7d65652ed38ab99c652eae06ff9fc519b4db1fcb8aabad52746c0bbb9811c76a561fa14dea099680266c85fd4d106f4344734d354889994db6de33fda62083f8383f66742629131535e57ac84e10996cd56b2b02d413cf9539fa5fce55e36893cbc365420d4d2d757d39bf61d71146f8364353535f46d265b08c08eae603ebc2d1875874d2f73491397a832d4eded0f52295a6a99cf0931c1d9361fa99758d7deb7c1c3aec4d54c96c7c61f5317f30d20c34c2080a034e15f23a7eab5e2e6b7d7f1da6ed1f807267e5c99312a26358086ef52dd9fa10ef30f703e64109a878b1de23ca08dc65ea05de6cac2312bcbf157690b30991e29a5fec9bfda6e7b5580272d2e0b34e98c0b2000b801bacd6c0c50473e6e9d01407fe06bf9e329825774beb1df6fe8dbfffb589346a29badcaa7b0c7b2a337b30b96f850a1409fbe2ad444dfd1ee9fa9a6e203607ea0ddeeb2d51c2c8a2a34b59ecacf289da5757541c2d4b0676c752bf877401dbf57d560d3cedd59731759b0421cb9fb36160f5c0519ba0cc3ceab33a3b4a5e54d2ea9f0bff506861ba325bd7aa72dd50d84698493eb22ed3887cd15ddd8ed19579d536ed065ec9d228d9acd370e1277b086d4b4aa72a1cf92c805cbc21845fb331e9ee97853818603f560582174b985993ebc718c284c9a760cd5c940c8311c85e4d167143a54b08f4d0e0a51ccb03189cae6678465503ae3ddb5760930eea35616c3a245775777743984abe3bc8e3dbbd6f0e7f1d6f905c39f00db4b9f43ff5adabaa44ac4ef1ac555c900a06ac17459c916b5c6007b0e9399530e9f265d885d151dd9a4357f1be59d5ada8e24c620c4265b1ac46aab628f7762d05f552dba08fd9f71d6ed0086ad201720011fce10c968e8f1e77920d76e51c7f3285483724b0ae716404960eee0284734d88f2289252790b22043890cfd6e05c6eeddf575819265632b6131d59d55d90a1f316883063cfb89f81d1212f153626da49ed1be6dce07f9143dd6e6f4d8bc62e22d211679d18ecd95957c070d4124d391351c51b86e1c9970de4197051fcbef0b12a1772c3f8c2a4ef2e226742e01d346f8947650dcd2e964b5389c6b748dfa676854969e1c09ba6a1d6931e656219bd26219276ed60d366888c65bd353400fce5b1f72636b75323f58b72bbb431c27a0fe419c468ae4e2b72d69764f2cb77ca48de00d62cb907369db629d272a76d6e5ae357e327ef3c72714b1d9d12c88b3504fb117ad228fe6e6859edfe6860c072b59a304b36516b3a99840d38aa604d38a10a524c2eac901ea851942dd8fc1ee16dbffa12a031643874c60132722139491adf6831b0707b735f01199421271c1716f4f17eaebadcf48c566953a5b03b47a5e9a17c47d1a0d12de3a9aa5900c502798127e3513c24ec2ac2b87aa330eaf8abf1a29d621f2b074a3cb7a2ed225a9b7f82bf9048f9e5c902b9014a41efb48d16960450d35917d5c1684db5461405012bd5397b52d05721deba37d3746ae53008be7a2561b57995eb5233c58b92c80d80f67a56734d2996c84194668b95d7df4612fcb572cf2794807685d43f4a2c0ad93314624266dd5fac142e6d6bbc66a9373ebf1552366e5ae101a8578d1f7d442943f0bf257c6dabbc5906435bf96ac71ecddfccdda2aecb414a6e47cdda4a409e7a90249e0b46d4769a10ed0285a4012dcfcb3d7852ddabe22beff8a9a0262f9cf67ff80ba78de943686cec9593272d14f700880d3ed954879acd4f6f24e2c08fdd0e512ab935a5673cd1ac2fcd4d4ef4a113795c5d5f2824ba918f5bff9fd7d7034abbc4b852e11b68968dff7dc34db207b323600198669b23e8168068c9fe7b317de13052eb5ab32fd89a410d4227d33c3dd6933fa9b1789f2a0ce5c2a4f981ceda01072a4d877a05c284c24983793897693d4e36f218c4eaa9d747a9ca46688e780a83a16673e8093c3c1c1ff1a390239cf623de0c7f363f3393d0847a8ccacab4ac76259df7e646bedd8b8e1c62f620692776789f63362f15bb741e7479ab3892487b2ccd20a2d8ae601245a5931e9e50bcdea542e48aa06d829570f4ffe585b3f32cb4c44ff7ffc801c134d52a2bae7052210916f5433067d54c5606ddc8444337d9787873d994d277b0bd5d84cae22a3cfdbbd8def6fc69a9a84daebb0defb3b4aac195d4ef26ed04b09449bab74034fa2b3f2cb2e335fcb7b41b95da41a38662de3df525bd05768ec7bbb06fe71cadc5b2d123183e5dda329a0710bca8fa208f13b72bd3733119cd3ccfba50ea246c3c20333297c332a7afa71ce502fcf828b1373400f5d1c635ebc6fb36e1dd6dde4b639b7728db35bf835022211c78c99eefc67bffeb3a6d13a8feb5b5824a44ef1662efbb89491a0c4970549b9c587077dd759f0f68a5ca95a1504cfdbb8ca8ed0418a3c04d9627adeeab3f507fc633019322bc04eef9b80dd83ffb192b3da49a05299b0fa5519f5756213e79ff6e1b6d95cf8eb5d24f4974c3ceb61d25aba81121d98844b9bd47dc9f51fafdfbfe5a07c848448f4e7807ea6c2f4d4fdc8bd92c2c06886d77ffde1e96a4d7c4e5b037393fa2b9296f1a4f21914bdc49a9d1422b93a0b7917dbf8a54e6b3a97c404cf56dd87fe8768b550f0909ffe855055dbc747dec73e0508e04c074cddba7925334df30f473154eff59bfa62d6b6a970aaf1c88b2d09b9b18baddb55390f9b1125b4e0f9d4ff62a58b3cf00919349f558b6a0322e702c788a647af86aa3af37512446f741af77368e0c9fce93f4ced433c2adc51467b8d4534ea2dd4a1b92664904b271a67f16a857d364c90e9ce2e0a2632925712f3c3a2d2c4cdd5db987e4f5f251112bc792f5ec107de2e43da0701fd843e40e6ef1eb026504e8e1432fc85d3df18c4da6a8e6926ca8eee4f78e1c9a4f16e66d8a281aeee68a7fdc234d34613ecc58e1cad76477c8e0e0cb7a02ef93", 0x1000}, {&(0x7f0000000300)="49b8ae6ca082256de851b911ee1579050c192a6b11920104a3102e462276326b9357c76d87beb9b257ada363f411701e3e8247cf767b08710917965ed2882f0b702125f883fc1073c2c245ac3b9111fac5a8f658a08f48a47103", 0x5a}, {&(0x7f0000000380)="c02101e0c167348832e66a07a24ff1ef7946b3ea5a449faaa432b7c825f39a5bbd60662a73463b6835bb46eb79f7cacc5b74e5fa155c899a883a68d881fc70d4284f160c1ea8f2de1757b5ec2fb95baa4153f0a0711a76a840d44b93133cd229e508b301e750dc10f859ed3680daf9e097b6b8841dd796b698065534dffebc704b420a300ef43f0e3f5a542e3576544f9ce239a2727821d2fcbec97bf64f8bd8fc44f6f3f0702803cf1e021e4579700b01b558e8fe8bfeb51445f324057765baff37528d51d3e8b3ee3153ffa10c", 0xce}, {&(0x7f0000000480)="3f7aaf23a54074712ae800a6892e3c203d76a7acfa47ad9512ad48cdfd46950bc7d1c49a904048a48d5b", 0x2a}, {&(0x7f00000004c0)="17ee6725b2b25726b6e2f576fb4eed434cd63b99a0ea574cbc44913ce5535da7adae64f63227caaad2a46b18009370b746cf3bed55da3fc2469527dbe8b25510027ae8e327b595b07543773e8df9d1330ecb2237ed65024800a6ad18e948352411114a738260cceaa5db2339", 0x6c}, {&(0x7f0000000540)="4b8df76fdd4962781ddee8afc7ede204540dbc8e5dcb203cf12ae558755170c74648c023bce88946b74b13720968f0101519b879c15468deada64e1fd91c8303da457d", 0x43}, {&(0x7f0000001640)="be86e65c3880b1023fbfb599484ee6c3c7daea8d63bafc273753ced5a2ab8c84f9363765545cdc164b8dbda77cb810ad05d83d9426fef1070b4ddbeb6d09781e417e1072108e75de274bbc90661f66118a730630c26d1276ad091d5a2d686c32ccddc23748e4fa1a0c7c3466c208a72df7b1c4d37bfd449393f6c09bbe1e8334b56f99204eacdc221829ce8acefe465e76ff384542a59b9eabf7014c938ce3a9cfabed51058b1baf91f8b201cfed2418aecd37d1338c18208b9827148a58fe5edca46b95490dda0264e1dda74b58d607bda9b38613a4f6b266d9cf2169307357e07cc58cb31fc14dd36c371a70103ac906323995626b28f597a96bbf5a0b6961c6835555e7226a6d30c0d5042b86dd0e570e63f655926ee8831ab99630ff076ae19e71a1256a0f310635103f21e4b5bc93ed7546a5afb00b4bc1e20d435ff2b21f7efa1090e5c86cfd5bd9b4e7b1ff6c0fb1a714412e909323a0bbc7921c784e101571bc440861367b256ed75a64bbfa839fc576267a38f9bb18aad691028357509df13845a5e5443a1d25fdbbfc952ae1afb647b6605a25ef156f649696d00bf8074080ead001eba9170ff0b3b83e9600f561d0467c876a9dd544893d688d0e6ffa8a7b626f716b7d3246d578818a252887760f00610e6d721c28ade238aeb0477fef48aeef8da80877db49094d5729ec90f20903f1adba1f067b033da8fda0cc4f32df437b55712bbbbb7d0ace8ec92db1283078216258b17b4ecd7308cf408775ed4ca51d8050edd72775258dca27a7d3c956f99bbc80f84c7dd063decd3f034a3989b8ae17a11b61da9b8605b35b91cc24482f6a014c6fd8a156def521bdf3f50ee094f231d053d93a041678e04029faa2d477412f988a4afa1182e6e9b430ba051ad20291838779bf268fa1af882f8e31183737acf19115089306341bd7a9f121c6d52b3f8170aca5d684fca85a7eff3702eefc46aff5c7723c5920ea0a73c32da9b4409693e6d23c0792e49585c033ce0578a70305623ece04f4fbb53f94c2a8c4bcdd84269741a6f7ac299725b07fc532ee498d38a00ac36fd5edf627d4d9e2f7951fa13fb3d2084bf061c1ac6d0321666b5b9be00952d046d5082c6b6d9946713d5323c63a8e22992649108de93bfc01f09ccfe72abcf890a598e5aaa46d5f7c76bbe88fec3067eee19da7d4713cdf9cf4e0a3af4b872134a7f0667adee6220b6b99d8320d45dcccddbb0478cc56ec647303dab4ea0c6f6b031ee3c1de9a9bc83f867336ce9a8a1bf638a37ca1a600aac9820edd456a8603868154ce062a9ec1fd00a4aa4c6ac9f04406a12a89510662f565bf63222c7438f2fc4bb86fefbb7c0b5032c2d4649fcca0141a6daa393a5324ed3a52ac90a8cd09153ce622b26c14ab5eeb3d22883b8a01892696ef4b095e251603743b07a63c8e7c348f2cf000af03f0353750affa76281483f71d35aa28731c893e15f75b45b47d7030a7f77f84d5ddc618134f2848c7602e54f2e4a947d34cc196e2623c05d2d5fa570cd984aaf17e44d75e060502ddfcc1d13b9676636e247508956833a496df3e7424a41b23174a51cf6b06052b0335b9942b07169b2dcdf289ad5b1350d4acfb8beeb9a29281f354c78c118194f8cd458a94a8f19563fb076c834c6bedf9c377a6c6db30b959e124293e1f050d083adce69b2b72ce2bfe4d1483edc1a8e565c3942098319a542735123c5c318ab0d23c74b212c432be3ae9bd0dcf7521b28ac84b28b0540c56b570c2cc6cb7376fb89e6c7453caa44c584f7d532a1b42be1c61cf881012df8a64987420e1dd2a3836d7b28f64f3eeac49a02bffc2eb5396121ff7ba4bdf5f690ab0701151ffee2a4a03316475fcf82bd9e22857e1541c447da0c2179ba86525587258d7895ae82e69faaad6d20b73f47fb6e4e12275dbf0d42496ab1d8d0b830f6328db9db32406578bab78450a877eb22a5b213b4ddb332fa0272e727954ee50942c18d0f53a99e43ae5c6eaba932e51da7e8485a2272dde78eaf7f32567504c8af49dea3a4c8ba198e9e2a677259afd906fb15f54adfd6fb4bbcdbd37de6703315a595fba9e64e9de90eb0dfca49e2fdb201eacc734a893931b0e4edb03b93270b75797eb6c5a56066af2295a1e8f6492b52d526f3db8c487a5961315c7a5f0029ce81d1b5f485f47ea218e72084549c8baa19419cf2684ee47a14ae1fe3fdf0c758f9e8e8c68b180c931f59e034ca35c5c01b91f0903663025e3d18aa856161605b0926b55a66a148f0e21f9ce7c28ccad5f7dc6e86562f9279bd6810e6329b60693dc999def74cb41cc554601280d4e782037e368a1778832a3f7c9e06545ca3eab4984153b6184930bd7b94da0afe6778f54d5c70f933b46be4a94ac11722939858a888024efafb4806e57938cc554205cd08ed02bc915bd8dfeca8e6fecccfc76b68b57e2b604e0c2e45864ab5a8cdeb66daf8f4b5f75cd498da07e98f2f76831a041c002ee1e28c4ffe33efec09ef404c285e530d2fccd4522e3b3ffb38ed1d5335f787895ab22d009e140c6f204858aaac500c50cf468825229c72f7a5b0417d21fcaa163f8a15a657da039289c194405c0411631fda9798501f5b8bc6628c8b9f08fc2a2d2a579ad76d600a6936a30ccd42a72073a9d9f20008333149dec8f3ca7fe1e3c14898b8fc52e580454b6c87f3030b00e6b868cacb4af0bd87d5fca20250db2a4a8eca8a0eff4b9486e21200066c892dc249b2eb43ddea51308be00e93c0331093e1218cabd882bc7570a5bfa65785448865bd10e7adaa3efee30be10f49528b6758d02988548409a48ed37c391be8683dd32523b3846b54086a4afaca7497385453bb70421cecf72717bedd4c76f9f7bd8161ce967338a88b43bde3e0e1187c8bbdf74bd487db090233f3129e05de72c5078e008e74944f74d5ee5454929eaa49cdf757ef7c7f60b9b7ab1df06c85d357f07ef356937d2aae0f4b130711a971d9befd2d4a3915a4b71937b38f7a954494768b88e751bc603437c874b2c1d8ab9f15c2c122945cdfbcf3e81a80cce830d83b6d36d8e040d6479e454570c98e131d89d7b2baf005368357f19ea292874e3ca8bbe3248460bd04d1fb48c560d33a76b32bc2882b90771c1673cc6d2a1662b31d9e89ad921b2e1ceeae7f49855ec208952b1180fa2e7f2680f67a178960cb1e91885cc78ea8e0bd8f337bbd9cd200b17e90a0c88d9f69cb715f98474b7ddafcc03864cb13241f8acf6067655ec5e4f2f5984737df3f9dfa8110c6d0f3ada9c8549dd3e4bb76a7c8c99f6bc81c313ec0d125d386c93a3d1d604cb95d495895f71e66d16fd90baee73cc1af3a009b77c5d4307d27367f8719ee4b63615a1ed93eae112b688a345e91c46c6dbb16f3eff6c18729acf3b0ecb88ce264c4cf1297e2273af55d958c02800e710a173ae327baedd1c510dc72caa7ebee9149823c9dfda52227d2168bdb990fd390a79ecca46884339340948ed9f3a7deb89b6c8146e440b53bcacb5cea45e50a4e4c5f0dd7bb4bd69adc932250798976a1724486458a716fe66c81a7a6552332f8caf2b3bb49d91b875c13133fc2df9f39e846ba944a6469d48ea2eedfe5ab8ff3588a6c01bc2e5ce44d5dcfa980307f06beeaa35e5aa0167fe4d21e3e70f6722010238f0502a88e263878c52b26ac45d887b0846f11f5f4e967f22d3297685b073de481ace9b29eb8ee4cd022b6a61a1e2623f849092792d6f05fef0adad7d22c5479c6aa9735e9f5b33393368294d70a638999c8f784d2059e313335b296e136f753796c55e98f2a61dd0645ba2b1c6176ad0e3b1839d138588e0720c9e2fee5b2f304065cead26c60e7bb42f4d0c3631b3ce3512af41d1af50cf4b311bc1c817a6418206ca701e7c027ab19ee3dff9b1b348fe6131882af7b2d7979febecef76af067a3cf52241ae671b82afe46b1d59b5230e06405cc400bccc01801ce18549abb8131577636f2001f29fae66967fd1d6eed1f2f5ab80a86687bdc983ebfc89c1dbcabf375c1976a134134cf676089b980fe9da68b0545a4e15972aa6a27f36559b135edb296cd76f76be8b3f6f09242abbf8e7d222769cc126c5af2170d7f6cec18eb4e916ecaa62fede99bebaea32ff2239f0f2509cea129eb6bf021f0af1694c85a9a2d5868dec86e50960f503e804fe9708acccaef037d8bfd728bda46721214c41f58a7086ed815110f1556504fd1cc32a47e163af695465d07513e8e7a0f2cea22a21dba0ea5e9bd400420d1509d0c0a47a79c6f7d5c2a2b185f3806c5fe5c4ad3f4dda38bede81155dd501879979e5548f18a0621624d513ad1e7597457f6a97497a91cd49a96c3cfd076b3c12bf265721cb201cd6d096fdfe0b7b45c2b46986af5e594ada8c8f5661ee0221d2253371d536c2e1911c99667f2503b7c6d4c4876b2025168c8112c423994004a2fee0baa4787157055d7419433ea492caebd7bacda0674b78bcbfc9b612dcc6a004a639b551153acc46e6ee00e1bbed6af0726478d5b42376645020835fa785fab03ea409f06b05b0bfb05b8e1069e1301fcd3232975a93bd3a032939c99f07a6a5b1dfbb22f97685dd2eff8d141baca168c53789e63c97e89dbc8e1ee6ba20803d8146ef4b7bbfb41dbac44213b1834ca0961e3c6d20e4c8391e45634c0bea3d4397474b52d3631830eb20444c3130b8dadeb402b6dfafdecb532220e44f29657a921ad91b29e19d94db88fdc61f127d94c6f1c83f482296876e79ddf8bc2e8ec0169b0fd9550b21712b7a425065b2284c62299416e429fd14cc7ed19d7eb8dbd5da05e32f21e1e38e012ea6a9e3ebbdb514571d14987349a50bdbb0c3107b809cddcd654d49cdd3368543b5b29b9da16bc3dd95cfc8b66ee092dd65087c54fd53cada14cd3002390e8ff6c30395fd200d0f19ce76c7db7c6e4bf0cb9835949d28069f55a8341cb983e9259a11c06ec835599bf5a8cd5c756376edb978461bcfda58b88725d04f359e5cbeae29d8246d06e7241c75d967469a261aba46fcb682e3a942eaeb5d57bc8711460208b32c0c8a848cd2bbd9c0e46a41dc75aa502e4d7c04259665654903439cc93608ccf01b331dbd3cb4bb14403869dbca0adc29e23d39406b8e371de53939f46d5e651b13526d55e9e91114e9a386894f43d8ff2b0ea0f1423579fb4ed327799d4734c338466d237f74fc6a8b4fcaff3612e5f6abe40c35223d306e44e0a20ae62b09d22fea238d2cbe972359628ce631b8d46dc2d5dd981457b159d20846110368c04328c1da36fb39e3bd844cd2b390030837fc00c8b49240cdcd38f0878f2f702aff7f74e3d440bcf3acd8794d9f3777d761726e6e0fec0ae299a25b5276ce7566b00b413fd08d3b4947b486bfe01e56aed2d5acaaf114877b8927f6f5b52b24272cd54f16dbda457e1a92c0b14b10a10f5ad2be693fafcc315f9d1269cef09157f29612b38e0bd3fd4de6bfd2bbb0f0294c2d9d7a0d09b7737031fafdacef7b8e28c9795c76ae8c720057037e9d407849a25eab9ab9a8bc4c2a45d5c3cbd5817490d90ac2a3a721e458c6a2f5475eec709a3eca60463ea95699ff66d7c8c65624638a72d5d5756b5fc6f6b3597f02a25997924685326782cab99485dcce36966afcb925ff72aff881ae6d9e8718ae82209c1902c6bd661d1bc74b867a795c74efc5ec1058e5c82bb4167244cc37523febab9c5d424922898ac6e35dbc0252d31479cc364c04deb4c1517a3438b77f4bc96303d61b539ebe", 0x1000}, {&(0x7f0000002640)="447c82e3b353cfe0e4c67967dc63f7f872e7c14d60b8c555dcef6b830e61389e7be54c5cd010d8902b595fe77c28a6c214ff234737ac26cceecb3ab4dc2333ec427e81e48814975214c19683e21fb90a5815b7f2eb31100c72bb47610be42f87694980a5f4a5552de3376d74817d309486b2397526afc10cde2f59090c6ae79b626b2b502adc8cce5c889dfbfabd96d26942a1d2a37f07a0c4b34163ac8945002fa7c7dd67be6cea009b6f1b7996b35c1b0e2c120e95960a5a1641a729f3cf8295182460e34559e2862545326387a6161686b18b426a9ba9f9467b23f89af8f6154eb2635b111b95bfea6e07baade4296f44edba2641d74fa9ce605b900e945ac0453b1f408ef124de0d178d827bc2cf28f80c86ebeb4fcfa89858b934aa9ce8800116317860383938b0302877bb3ab1eb1a1dc334318247ff3b466aca16ca02158bce98ade7b8670cbf5976fd23d7b9ab229cd8925be943fd06d61eff6c47b0000e40db1a170760224e968ce02676ef39b45922b54f77139623e739a6e01b43fe55a3cacc1846d4bf6c3b2d065a50a76e1d1c1c79770a2a486a91546f6aef90cf15311d61cb4981fc3a61ced6ade0487ecce840260a1d1885ba442b68a3dc891fe6e4ad879e6ea1cdfdbd628b81b97177dd7711d07d842443cd64ef88fd870deede4c07b0a5f40d7fcebbe683bf90ab50945155bcf3a4611bf151f0d2734269063e7a832522fbfc4e1b7e59dd3e7c33e1d9f4bd40dda7f3ea9c7334a849c6494aa1548075b1d760288e61836d4b1ce0b5b854551d23fc957c81d2bab23e9e986ded6df0d7aefeb994031afb2b1b90ff3acc0a196210eb8f835f5d17b581791c352e06502b613cce09766db282f765ba98c15ba094df6ce34f8ed2a4ee18c4f1d485112a328ddfa36df50b63614da32f43229cda77f2e535a0f920175039469326f001a43110c91febdfed7374297548a587071c4f71d7bc3c439c6cb205344a91fe72dce57c37014ff22ec6a99938623b595c0b5d48aa4cd02606cacc721d1bdda32da1ed5d4be1ace0c85fac1ecff04f90b1f087b846b9c0c032686fc8bfc0531772b81429dda5fd8a0dca8785cf5d7832518918bc2c55138fc3a74cacc1114c0639d7039abf2e1930ced6bc4f5fddcffb2d97eb115ad1a6a3b1591e6541312e671bb06738b9bc80ea898c6796670ddc5aa89332affda787f55eaa09c075514476ec4ba75334c99c9aede0927750a11442b4f23b7b31e567612fa15d1edfe5bcaef3d401cc19a59480b6495f28caaf0cf148465bb5d4dedeb45fd57a2c4fb9ba11ba4ac12f5af1f4f9701e3a28f2f2b6c2c894001b54c725c2feede0bbda7556e663213456d1fa0bd3d07c9328f56efeeb20272c5c90ce24372bd5a7c4dd37b8de232824a31d69b80c540d241c1a8b39f9c0a718f887944b3d3438c99baf9e0681ad12bbd13942f3218e081550103e8d3b5799c33241625f42b6756e630fef445de0d827875df953d0f14e29061e38eec3170a5488be02fb7e1f57d3435d4ebc1c03de3ce01ed9a061893419ae1191c67fbdd7a40b9ad5add2da5b00a9006d4c56decdb62dac4bc3064e3be985f3572b39342d284f471f660fcf962959c19a4369c32aa313db5973c8e59ded79fe949d100410f7fd619526673a6988fec1379d79e220f45a6e68e1f8b08bf00b2b8a85c52b1c5aadbedd515211259fb3442820bc12f3f63de95d3d927580e445757237b287f700a13a2188dd77bf95571ac9f3101553b50bfffec32f9a8d234bf3205954b89a1b0ad8bd63d923a4466bb0407b3a9ef1b8e217737439b1a9613fe455250d9efc84938e7686908e410e4a9aa13c00183c16fa3391558e085f0fa6c64b48a0683e21d2d42e20599bbec14622fbdc1c640567a06a6ae2c4ddcc75a234acde6e0c8b978299df9ad2caf9fcd96f65a93938d20081b09860bb9d62e1cf0778a09ddff789e382bfda86ae9ae8aa973f5d641037c7e87e614f34e68be5893790967100ae3cfee582fd252203032eaa2dfcb8c16b48b1bae27fb0f4a100ef0b9d92450d14cff201f65d40a2b94b665c70017210d2708f775a783e32a39df055586bd5af4e6f272250bf6d34d29fc42b31202a8688c31a46cea13e26d7e85f0726bb3b56710889eaddb3230515ba7204ad32139f7aca75fbcdb7d4f75ecc395d660243ce9f0c0ca93d35722691643bb53a3b892fd253568d9949570c226a03b8998d5d274499a6c857c88163af24ecdd7e296cc98ce23e3c8d3a7467bfdbdbd25bf59cc47dfdef35b6a717fca76824413a2e8b81c85cd1c58d0129dbe0490d17fda001d2fc0442e410da17310cc5f0be4cd58175077ee7ddd58fccd5d7a006e28603746f65c085ea79df6f8bb9cf42d7f3ac9a503c8e5ad885e4865a3bb214c071adba906577e38668b55a0bf44b005d58f37113c3417b3dc5fcab7c8b3f3fbd88aa35a03922b8aedd6a47d45cfd5e8a98c22e0053614b819618a50a214b9e59c842253a7e8625af6d36dca8aed5a997a5a09e5c4bcb76f2ccd663aff620e5fd8a735d30f92888534d20c8fa961211627e221537c5dcf56ae7cfabf20bd7daadecedc38030748d771576c116a27a84cdacaaa3b1dd5098a48c87630e86fb170d37d3e206e596bafca0665e19ad2a8b1b4d95938d7d5f1562a9ef58c05de64c796748cc88055bea474c1d906bea2ae4af54fdb93ee8f638d3399ee27740b38c3b06ed3ec097d95216fd2f2b8a961dc302bfa3677ad6052af0cd3ebd3b015c04efb562b825e7bf273a7358ae7f561522796aaae68d91e7287be62353bcecc35379fef5d3689da6c43a184cab466435d77f1aecba6d6721a019fe1250d3bae534ef210ac2dd3c5146cd7ebb3aa90e50f6cb55810391832f40082f1d2a7da89ee1462aebadb32b3dcd6c500c781dfb5c7d56fffd8330a1889fe3cc8c526c9886676acd53d264a7ecfe462a54047d92cf020bce17734b444abb5c19549d99fe0281ab89e80115b9663a7657b08c78c8f9ffc53f4b725dd15a9288b4745dbce6e788f11e91643299890952981b16ea25999b86b5f0789fdc5be98491a42ab2d5ede37d3cb225fdd78fbf8f9cba02929b2d910a6572b6cba2d516df507296ea6571ef1ef75b67e578c63be097e53a64a3269d3e1d41e38082b885b43b9c338fc9632d1f1a6b7ce292d3cb3855fe555f82dd829f4f806bdbe784839acae42182e76b185d828f5b202eed0c1af96d9e09a2fdbc279bbb5aff6b972accb10516765c231167791011690866b6a8bd89291fc9a9fb3a3a9bfe70f5a77b9369fc89045c3a1a0500349dbd535a367d4d1461ae69f611002cfc5425c6f26e955fcf5f26c93028ca4ef451f2d269fa2993f5fc4b6ea899274b27444ce03059064cbb5f8299aef78a389d7c6b8559aee0a87c6ff4cef74a061434c9290f8ff4f022430e22c1ff4788747870a91369d3fffa52bacc2c5abb9028df63024d70344c17ffc9898db23ac8dd48799b615dd2b646ae8b4415f08c3db48be9e4448d28e4d0efa6984bef9f0587eacae9dc6d00d1d2cb071db9ad12821dd3aa65d9caa605d7387595120e19898c8d4002b53a9a81caf56eb7a0aa6dd800e90a322658ddd958b6a89f66a6ed718a54e141be93d19d2460856c8c7e9d7b125f9ea25030e29dcc104616e21c22fa2f0e039b17b9e193df1542ee3a34b934f2bba205def374348f9de71b939de5330aefd990760cc0ed519a786d77c0fb7e4c5185d52213712946be73a5ea50eec312f9da708aae9da913c5d85bde1605f687bccd1df4253c7a6cfbe9077a3662185ae69870160ed51e4427c1a0f1c40b169fe8c4b4f4cfc6ed5397ebb9ceae05447829f41d6988e68cfca37892838d78791350a54af6f4e5862ba36b722c9de1aacf19be836e4ee0c1ffe7dacb32e67655f50089a644c5f19175fc7ddd0b9d2b4f3442d181f5985a42c0daca10c3a3197efc4359e2d8cb19ebf360e0d42890c9653468cf82f8613975be931b4cc504e50bb36dd563fa43480d3a57ef4fd0b99eb7e78f4230751c69379b216fc9f365bb727a9be9ea209b54ac7701972a5953913bc44edbd0f2ea0e6da22da78a1950c581ee64ee4528a0d971f26710d5918827758f5dbb8d3cd8bc2fb370dd3d4ee68a285e1069cf17054107a59cc93595f91c052b247920782ba38a8fcda952fd8c368f15ae0b5e6385a335eea44d8ad0198f590af1da961eeef85ae250e35a6168d5516bbd76d54dc28f32475c2611407b17b1168fbb2ba4a5d48e039a97396a77a4f6de9943cd13633e02050d099ccb796eebce66a99c1018c4ece330c9aa37c62e542f98451ff129e571428a6358c3fd6bf6c776dfba40ab81609a7fa5f5c4b5ce7df01d4d141021450a65652c663c65096df57d56b1d1fa151ad84275a9fde33bbc8b91f41bfa1c22406f10b782d80dee4800ba9e9e25bb1c1ea2e6b838d5c72b9225ce800129d0c467244bcd0e3107c14fd5d0a6add9fa3efdd278d49c532e033ad52dff0bbe1e768840f986c05971e0ba3762ab8189f998211ce88a04694f2d0ec0cd295814ec60322776e93df0e3bf417eef3f826b2372f5cf6612c44acc98dbab8fc6fcaa90173f1856f5cdab502be74b462d0084ea6ca2f81fb7052845719e6ee4adb050e1204089eca11270cc8ffedc770a59dbe9818329c6aefb60d78f0ed3921a9e6cd7051883cfea97583d0aa67d23b5aea7d7b5e115ba1ce7e53b777e466cc1d5af2531ac0305f2d193a6609d96afa1bc62f0e244f13f305e4db2bafe6e7e239b77c38b8b17561f8147283370fe5d12e9b4545fe31a3a207a25f18ceb8b599d77693ea6107e82bae1c89e2d5ffaf5517962624583fb40979212171275bdaa34a0f122077855c1c7a556f2e6eac9175d7528275611aab0c3792515e35a56204dcc1cdda51022b313e457fa8bf25c9c9e1c4323590260cf01028db665aea56c3568234495655cdf3ba34c72412738671d03d566bfcbaff59344b335798af8b4164406c6f1123fc2554cfe444b9dc2e80525dbf36baf0e333f9f9ea75ba4ade8d56ddf7f1e6f2777517e14ef319affad29398c6431e86967294b002d8f7664f3f90271370afc3d3bcb5d62fded8e0e0297657a84b335479b3f5c48379c3f36d97cb41fa0f2e852fbdbfcd8bc9d8964171b33b33baf6fbbe0005748757d6208447c041399c6a16d7e93e47890e853616a14dd22eb9e419024787f97961b1e7c4709619aa86caae827a6d3f81b8508f2135c059a063cdfbacb6bc48891ae727bbd3358914a68c62261329b87145de415f4bf728738fb47f7dbece8ac828cb0c1dd9dc7ec078a7e4d2ddd33094f063b7e4c190e62614267de307c8fd250ac17543872db214bee00c435b5edb594f0b0eda4369f3d9fe70dfacac6be9c2c520c6bec401a113b269325f77030835ee8da94ec6a41915274edd63a3c9c4badcbdd29c6aad3c9a4a4493f5f34d49c2c15dabd91f47dedded9031cf440f3a3d49b5b72bbb2e8479bc43d21e8adaf29d83679b64033579da1231caf01f63cd368ca711b7fb6880ab954323ea5785894531cfa85bef324dbc87bdb5b8a657820ef0f2fbf2240c3035498a24682f50c26f734b2cd1d036b527ded5eea1986f386b319f38616afd3c825915336da4cb2edbc01adcf8ea7e8acf12d820043dc578d13ffe93db36c29b12e497acab2bdb487d9e187a51356002a328b86bee4c0ef4b1cc5c4e6b3ec0b3069da9729a5d6d282b83a762eb2ae9b02775d99b088afda0399ef47d0", 0x1000}], 0xa, &(0x7f0000003700)=ANY=[@ANYBLOB="5000000000000000973d80d45af0ffff876327fafee7e80c8e46c9548e8626b8d0cd12dd880f8dd4044446c98039896f533ed3a3e80a15b70d8fd3d6fa43dff019c571413f37ee715e4378e08e000000980000000000000015010000010000007de3618cae12d6bb114b93007f0b2c0502ca1f44b842ec3ba2bd9968f1788624c980ee7fc1645be6c5b81727e7c8750d7d1d315787bb47b789df3d86df3e44c3376a8b49d2230b4465405ac5155faf243c7e0ba249630f78954d34363194286a1e0af24c92ba8273929b01932755e87566605351908e15506fd99e4331544ba3f75eceaf74000000c8000000000000000a0100002c020000d842b986116d489562946a5e64302ab633620a40e56a3e7ffbe32336ef607d043c90adf78b782ba7e6adf65a9f46d8e08c45d1f48bc8ea8bb5405b044eed248bda60d7b6f0c88e960149a2b0d9bca4293db722ebcc28893489f3c0597cfbc5a4b1c573149a2bedebe38b30dd6b8afadc4a8392f2c9024670cae1920baa3f5f11cfccce3f654ba8e885cf9dcbb8f7e22c90c91882e79085e11dce3d8da49cfe8612e2fdae4335e9e1ad581a8a9c1168f0d9e43fce560cf400c0000000000000001801000000000000bea16fc42f6115415002e9c77a9557fdc12a541d63abd3f2ac8fc6e74464a4c8e5706e83fe4eee25660c4744f8a42582931594e2adf3b65b944f584c7f55c47cd21ac66e95f5c78d34583f6b25c3abcd871582aca3c17f6fae47571a66defa44db4bb73113ed3ec2d83bb049ee4abbb7a8b95f26d4f3f659a3627e3381cd7df3e346fb26174ea8707530a62014b10a3fc66b081fca5fb73cd71c24681432d3dceb52d46329c13abc39cec30000000000"], 0x270}}, {{&(0x7f0000003980)=@alg={0x26, 'rng\x00', 0x0, 0x0, 'stdrng\x00'}, 0x80, &(0x7f0000005d40)=[{&(0x7f0000003a40)="8d5ae8dd408d334eaf53ef9752790d70ac68ba721b81a0df650c50378d8d945e9e7a59d1782ad67af416c15b2eeeca44b49cb6041790bf21453be42416eab1c45323894acc5448b665150c2f8254c216d67c0a4e5d4b6c8d303c3ad3931b83eae00e4ef6260bd4d5508da3940863a7a3cf4e17ea25fa41f0f5b5a0436fc23970d046d796cd2ac4aeeed2ea2d2326af4f9d0d4836ceb095ad91398bf8ae212bdf9c2c68d4ee92038bfc", 0xa9}, {&(0x7f0000003b00)="3c7645cb894cf84d7d75685fc24ca636815593ca6635e62b3790a1a8bd1de070bd2471707e268d19a36923f21c5c", 0x2e}, {&(0x7f0000003b40)="2fdd6ac6e8b747939948923feaf2c82f661843a806b2db4a1cf4b41dc09d123169fcb638dd9545167a968b6db6751a324368005b53cdfc786c7a1f313a83cd02dd73eaba30fbac3c", 0x48}, {&(0x7f0000003bc0)="aa469e5be2cceda62d6a489936c3d3be", 0x10}, {&(0x7f0000003c00)="8c1425d0f6d57eb439eba815a03e137971c9b2e838d63620378d023e2a64bd3097cb94bdb2efbbbcd9a56a4017561c7243ea0e5771969fafbdbb566ce916a08f8c5c82f8ffa190796c0788a515e3a145662bb327dd38b5b74519cb79b2d355df31711ccad5d13123dc197ca34b092688e3442e76f05b6e472f438488ca183167679a613af09911627bfa2037e7ce7194fe51e7348e0f41809e5c4b7ee06b955891b9ab6e2c2726e0ed3f785c194cbfbf6e20cafc5a5ea92eb36eaae8f002b51b99e9431822826f72bafb157cacf0f4ddc17b469bcf93232fbba93f3bd048a784390d9e85ffe07d6cbdf5c2a22918c3e46dd28d1716d00d38cc0a43a871a86f26184f999b938052c59cff54df4ab9621c60e4a121f7692fc80545428cd955ffcac014255c7692bf1461c5c050ee7e54548310d9046a1baa2ed85b454aa524a65400d07f6cf5ecf07028e891d061ffd8fcbd7b26c7ad9b589490fdc7aaea51c7c65c51dc787a00c1ff849a6182dec8e08462863432a152dc808028850ad48744f91cfec81957fea9656e3b175ad857bcc66fcb4205093fb1fc87753b112c9d6fb403c08a5704d4e6d84ec820f96cb255c27cb769fb0c39705dae9dd525ee52d7b76d904ba99887c77e1d467235e4ff2be3570f2e0ea26e7abdef3063743ef9972b5e170f100105794f674b4ae8f8ee2817425d7e0e04266e970f2718b4be8609af2c9caff7ddfe8854cb6652d6e75c9a38567f67dd4399332d0fb9f408fc0a56754ec9e1585ad4ff75de80dbcefa8fca19fc047d25b8ca5fbc8ccd40e082290221576084c3be9a17576bf62355f4ebc30236cdbd269a603489a7ebbc50d025b36410e24c1d9c2b4f9180381368e9feca398f0f3a144eb021f98d86d98ce79cf87850f644e7225d0fb625eb689d60f0fa87e42a563aaff6ae6720c4a8017079e74922f2c441a699b81e03101b51f4cee3d6e0b7e76790ba8c2cf11a41d2cdc292873498823fcc3d5d4d762b40202f15dbbbfc9c063c0507cff6c1a1cf3d4e1666937eb9491fa8b3d1f5b70f674b43b08d957c454b9d20438618abb2c92a538e46b9d1eeccaa362b065bd7888332017e4578d0f7990a56872d3cc2754e43d99c7734219997895fb30bed282435a0f8f1e718f19465b0eb7d04ba1e1ebbac16a11404269b8a7c0536361db14e706af8450d6ff3e4779a94cbd2e461ae9f95fd6412db52d06851a7ec25d188fbcb060932421349b1044387cbf455d7c2c5ecbde8c88b4eb46bb0a70dc483bf4dd6c70a3bf17b8929fbae02cc8be7116a350dc10644fa5764964c269f67d74fb19409004975a4c449b971ddff2e481bcbbb06a2bc943f27bc2f626852ba10c6539d209bae47f40d68cb2391a9bddd75fc3515a8730ef7bac5b55d3aaf6c3d31d9fba8950adcd55ec0be535e59b0596bf32194e9b3659056079d5072071cd4e1cbac36dda950c2703be9d8e4a688b5f9acae7285d836b3081ba031911d064a8234aa33420580cf434fa83af8da70fb1e8c997499901c453000a567b665cc6c066907b49a3eb95761a5a98ea274cd4644ca032ef002f53a0ba2dc54991d209e4ab48587f1989c685ab9adabeada1a358a7c03c71060a890dd2a0a5e188641d2d6b391bf7c8801c58fccda247b06c95050002d58f00c5c48dc0dedb9491a23f6de34c02af984097bc7158a30ac5b290ec30c02652fb3ad86861066559c2d91ae812e33a4046cf6244e61d17e138a4c47969fdf85bc942698eb524fed80a05fe2c9dd999505a3faf32111006554e9168c01d9da6c217c53ffc8220165ed1678b46986441562cd8945473e6e2d0bfe330def229e79f96f30845bf27ab61641f3ffe03acddd876094324f0e58a5396114c7eb5171f849a898fe888d6f50eec9d0280a85d8dc242626998b7c9ec5ab3c7d781ed0935a42e1f88a452e50dfb9a9d0a5cec8fc04ac357ac531a5ac33dcc659e31398f85e2369ccbd01f2430c5ff6c7435ac01dfcb8f878992542dbf5dc1d415ff19160a761908c28601948e05ab1237b9fc06b269efd7b4f2d53a882851cff85a57dc9bd8f0b5f5b4b2f66311dd12db10a8e120b9871c7f6378b54ed2190836871471bf18cccf744d8ba12788bd70d0b956c67eac0ad10afc2e60152ba0c88704dffea5a9c4a9e5258b85d2704bbc0663e96e3dbb5972017488194de641b5f937f248de6d2f70cb10177a1d77fc50efa618d433a2741643eed26160c5fd41f69fb154f765096574ff8046c9355a59e46a0e7f90603267ef7be47e0cdaa9e233b1c2b19c28f8ab77ca028cc10cdc7115e44cb06710493a468c52e073586425ec9527c3a81dde2e883e1d1d63e50e210db17becc3a64a438100daa2c3ce7d0f1e6cff335b68cd53da99acaaa915ba98947c8f846fae61ae7eece0aa7eb5428f76845a3ef5b29943787f20aa8419fa6ba49392b04bb562b74ba15f9db510c3707b82e0e55236b4002a52142e96d746263591c020797798e928610b3de8d7f55285d0cc3c557f61df6ecbdafa04a6ddd0366a50d29e3dfa5c56568e2e909832dca847240fb128f631da728afd7300bf5cae1c2b2c99153c81b5b13d3f5b461cb0da49a401200ce4dd94f903c1497adbfb7e94695ab55194b8a7960f86ac07c6b32a01f7b531b825625461ac0accde322528cc260417c8f19cffebb0f55d70e01d50081e24400e03417ff5b3fe51d767a413f031f59c2e27215389239770f9f65aafc2d89b715e3fca2c19d7cfb1b06b7f8fc6ba8d05addb26ec825399055cdd921a8175c5389dbdea42d1c1eea619424cec63041a79b91a459682c9e3d8407f889cee2318a282423e976ac58063a48d47a61794b0a0e1be4da28e7fc37c58ab5c255ea7caa682806b7f2a05993393fa3d1c81e77ea6455726d243f653226666c63a9e46fcbb8ef3f011195cf1406dbb0dfd412854c9384565955327d9df8c18e5e3b28dda3555e4b0cf415264b818b6ed7a211012bd3aedefd9b36918fcea3353004e831f0479fb79ee231be206f7b3dd27136035609b2a36e6ec8ae9e10e943b6d1b14f4713749bcbd1755ce6d59d1dfb368ec41c6b4145730526714c44f196e33d545395aa593ac10e3dfeccccb53eab4be42690ba3c62f461097e4aa5b929f31528856a60e4942f0ef1f1495e1cde3765731ecd571c80466a5c235370a3f3ee20426bc3857e7a273b3a03dc8e6718d4a18cae6ceecc5d33f720d995ed0b3aba4a54ae0297e3588d75f3928d936e13fd8b4e3177908310f586fc4845e762370b166b0ed313f88df95f2fe7a6d1cc21b69cd4e82a21e463f9160a7121203ee2690ee267a8b8d487fb7b971bea125b25e77a3e2f741de4f0d21da7f4b4cad7b4cce365d75921f0a4caba4bd6dcfcaca69cd5111215cfed651d06c51bc7a39c46c144b13216e56cd04a961e9fdfaa05b32479847ae19bdb90f6dfa46a1048a1aac29577a0c4ebb91a9503413b08f903a87f2ad200a8aff6e3b32207a7be4938e8decbc63742131062a80e21b54c2ec80cb6b6766a02f979b493eb1d46c9585ff1dfb948b71eae8c347fa2aa4141caebe532f23f9c2ea5f794b2b974b2137cf31215012a43c44fea6f1ed1741bf49ba5043725f32508df495121b3ae84e75b6c90bb14e7a1bb536e283d11a4e7a9da0b30fd3c5812aa64b851f626fd6c6caeca55ef98ce5e104f45cddaa66f11ac69f4b943e25aed75c39caeb0e377cfe174c71d7ad2f7e8989d239ce372763b2df36da87ceb5b503bae945ec9091f7dfd43680f508045ddca050fee76b3d5da21a3537c1bd3c9fec69b3cc6257c13bb98a13964ef4c5628d03fe6e8850c05f0ec9cb6784dd396a27372c9b7b6cb95d00aac2f34ad675bc247486694c6e5e027163a870a5915ce1c41f5b67ed071bdc0c635717fde6706bd7d769545850847031c67755a276d7e652360f3ff39a613f6853361cf228745d54787e0b9a2efb8417ec8ba9e5df928bafe01b2dfd1284fbec1adc499195fab5d85ed73795f12a4f7e2033aa3f62f33b4f9d8d3b5929935f8574ccdf9503fa71b9828dfdf8c3029dafbd3c79ff77c473b4cddac78c4fa7f04ffb7a3ae0498915c84581b2a23a37605625088c4a8c8046e781bad1922e0babc22902a78bee8f92e64333c8ebdf8f1c64fc9641eac246870feaf6808048124f6fb6085bd8bfd3b72b69a233841bd98fecdf3c620de2d7ccb45b530b8052c00b9bac351835cb3aaf0c36417937101a271cdb653cb0abf7a709235ad849b8b00a8cab381494f0b47e402adc50015ee109d6bcbe996f862e2e75859068c242a73584bbd1238f09e0e4350dd7b88037be11cef89dbe1f9f587ee853d6a93dca997778bb6b0986923316bce0f635beef2dd9cec8aba7a4f8fcaad57ffa106647d596e5041f5195d3ee75162850c53573cdb77c3433200eb90dcd5c18fbd929901e23d56eee5dca121bf0b8b374dcb4a3815739fa4bbdad4f7be9a3cceaa3dddd2275d60cee044d98f6abfc1e644ea2bc7c763962ec027b416faa4931c8532b4bb655d751a1f54b77b8279bf437c43af7393d060ef1ac99fe5ebb0355349d31cb88c7972951041f3d51514686951132a7c672ead286bce6fb803e69f57c2e19d917f9fb436c6a34b4f9c4575a12324377165224b1e2f9c1d19090e803e73eb7d29aaa93ea42fd8e34f8ab3273e428b992a1a60f402365f0b874182b61a943154984cebc81fbe884954b8cf36ecd23079bdd1adb112c10aae38407260848d34ccabb3a3d25e0998e2564d4824ed44270fab8075d6c69c1d87dba40ab1568546f96b3360aa241254883166235ca1495f8251436106118d43d5c9dcbe0c3d161ef399f7d721643dd53a80554387b047095082ca09619b72d6730c446397959cd78460bf1eb0632811675c3293cd73fb1263de9660313cb916d0feb6ce576bbc413d2e779288049e1e6230426f09517e6d7692beefc9fa5ab90af7448e30168274f3e4388abfd8a12ab669e76719dbe580d98f57ce68195573c7b4c09bf4deaa28a65b686083d1dbbb9a588bbfa8a376b5a91527789c05c40e065f1acf6857f647b899e4d52346869212b67704e6cdae0633f60a19a21ceac847c3c54a04e4706dbc7a659b60335c1015f61d42202685a323dd491e6fbbf401fac43da5a12b7a69518304cc33e8fe8cbc961ef5e82ddf88c2db8723ea86050b490f1feb61c735250919c8ce18b7aaf7670635aacd70980411d036e361dbde8d64042eac4229b7ab86a9f11a4b56b5cf155a5ea7e9a4e8f3145fd88262e36414a14332f4228a059514461bed4f17185a38900a4105a437067953a2173643de731620ca7e3db38e5b3f9eef1fbdaa3e344975b706757501ad3bba48ceb87fff5640b10d7a849f0e9a3c3feccce8886d0cef4a2d7fdf7021599c392cc8509d9b7ba08509c013f176926e358f9a0dad46b8e41c748339ba6b21c420c891fd8e14f54b169c165ca9af4c97b296bf5069bf3618e4083bec2709a7de229db1ba90cf79291e049d81941202cccd8687c29f94d751857865e4e3b713936ce3f8cf69470914fd18d4107d5e33210ec75042a90e4e6002df56d733f8afe2dac67ae1d9c1582fa779962f5ba464b0c47408426a73c1e3b24c539a8750c757071fc7e0e8743cabba6510fd6febe25e47c082a77437ec4507678f956ce987e657a721fedc5aed24154e177e1cc22aa0712ac37b741919f46b63522e84bddede09a850ba2f80b2408dd84f9b114c850efad9f932e09067b27344daed7fb17178d2", 0x1000}, {&(0x7f0000004c00)="a29f3e0ba51885eb9bb25f8814cbb4ccefbcfdace2f41311915fed242c245995686651af29aaa599bb2e5e06fcab87699eb8ca5e327eb6f2422a89dbef80ffd8a5dd87ead87ffc1a9750af0346832083964b69d2b5dead40f749bb18f446228c87ae9a376c55e0bddb2b70ad7741073f56fc5ac08b02ffa2be83912a2c28696c2d715611254ce33b47a0b529487627ad3dead64e4cea99bcb4fec741f9e3e4c4366c6e862158ee7e14f0a24a5bd453afde7530d2caaf4d3dddf8adbde66bab08ad7f81fc65f3c856cb91f2a0af26c0d8a8d4c1f459c01b871721d3fbd6548b9f5a017e1e2218a67be6304488d023f3a76fff960c9f35c2f3830560e5e67d3bdc96f432abe4676764f315c5b794bfee3421fcd7ce16e71e2922a22cb32a2b02f8ab63d21d766131c79fed9e8b144be203d49cb0c6672f1f1a9b6969194fcb630769f4f97b6bac025500dd66c8c7bc698746b1ccd118585e6d3cf0ece92f0fd4be1e12eceedc75f19fb78ab7f1a78f54cfd33f92b6abef8e9b28fdef9176083e95534b47715da25ea8520a1b44c0eb78d32b63893a1a60390b45ef7fd7c7f930b87cb614f553ea6b2dcfb6cb95c781a583580ebdf3fe863cd23627830e2e54a4bcf7e8892deb9ebfca9c1119bb8436ad5417fbdf83dbbccafb4f7a74cc67290799990003696df0ef772c7bd1986fdf97f6131be4306b75b22eccad874ca89704db1bacaa5071b03231de6564a8a66925b014833a3a1274fdd34e7afc1d5fb6becb8f0f21ed1d2d663bec4d429dddeea77711c5573e80c98fb6847ecba8336506128486dd3d9fb6cb3166207764f349fd4498d1a66dbf469a820771563967e5c40b2784bd72ea9d43f91f9b7800b5e4dbc47b1bbecee2ef8783fea4afe3160124bc3625efbc6150894ac98703ec3cfd72dc4e1daa79f01394a1d2dbe50ac5bfc41db0b34d62ba167bd05bf4f3c65be77dc704e589c9d4002b63768bcfc0dbea0d2d31f3452948de4418fea6d5fb503593fab952a9142fea417e4e2d3b46e4eea3dac66e0d05d0bef7129c05a4bc428fd74484704f505306aca375f3bdcb7b54a3cd6382a1058859f4c71e6ef8e320fb47e3504b7f7400bfed10298c234a135171d22f967fa02ddacac864411bab431f8e669f50037bad39b57d5cbf4819f2698d017890e37a57274476e6c9069bcb270d75111a937c7262a94e36c7065ee22e269439ca7c8bd426ab8d97cd29eaf9561ae608fe53d35909c7669c4b4ea32bb7dc87274e38352f14b627709c30c32ff805f958e6ec56eb806a24b333a053b7a005dcd148991526f269947e39a3adc62e470acf7c8466ba1883b7c147de23d52fa69bd9f0d4653fc69fe2ed2d7c774f2fbae16cc4a9f019d77a6c16ee374b048ecbe74500c406b78e9293886972fc315cc1ce3e4fa927650aca3c011bdd6bb6734753fb9866a23abf337c5a4188844c21d7fbdc2175a08cc52c2aefa27d2737c5b83eccda796a13c08a8a214348a881c0a689ce0f195a5cf7d61a42d80d82d54bb92867a3ba716b9cb0e1f82e58b8f88960a11d5dc04eef0a5511236e15ae33d0032822bc6b052da59388b49a6facc708de3b1774048effd1f9f90893ea89a0b722aaf529ec7001c044b3b3dee92c91d32eee4c7f8cb9febfca3ba53c446428350b898036248b0cb6b1d1452b98939cb5e59dad78b5585cc1757006d5720b938b3a6e8f8cee6e03fe12a3523a489307b1f322b697beb655c6499d879c11937874ebf0065c810a41a32144f319da7448776b1904ef7ab4194b2f656f6e7437bcf57972828bb2633ee1da2531f4e13853333a4b3985613aa36522aa072901646f5a4e09ef214bbe7fd0de2ad0c49ece5ccbbf719175eea854553ed9b85c892c96249b6cf7dc14ea195409731fe6955012ac903d99b6f30e78184025d5b6fad30c9c57c323bf6348a8e4d174801c5135aa7ab35474a1306bc41bb6bd15d8e583fe39da0ed197143269ca9a5e3a233f2ea82f1dc2faf9a599a9b73da172fcf8db951ed5a77e30f9e3e14336b004acd8108c35ab1ca413b397eeb605e8984b897bc2c34a1f682a03897f074e0c3d2fbf6c62ad71426de3604877cb64aeefa1dd734ae4381b70efcceeca0cedba3ab860408c7d6d44d7f3b26d8babc8d478946d92144e533d619d05a0a682e0ae9f121c3a66040049ee06f26c7bc2989c6d0f18b768f9ce143b0eeaa101434810d884a05093293cbbce98126595f93df419080fa25d28b20572557ca636e7e9c7422a59ba8858f3d9bca1047af4e3910b8ffc524bc459008cd6ff592ecdac949b665d3a46f5e49833e5985fef0ed40ec017fd4389fa62b9802eee0c442c4fa5d7005d806643a5c3a81debf1702940e5dd3748a6147962588565b56b1036599836cfcbb4f164f6bff2043f7ee9ee3754591f1a5b0be1905ecdd81018e03d813eba8208f85183a1fe62936cb8035b790057a028b960238457676c5a536208bc7e188dd8ce6e4779d3859bfda8caae954792f67f1d88769707ed7afc7fbe233d7d0e0011280948faeb01b517f662611cf3e683121eafc6a07390d5dd75f56a8e65ebd6b5a31f685c1b85abfac43f674ae1cface91819c47f1a43174fa35308b63d310ef37c5819c842b7f5ec0a95f1664d5836b66115b002ca75656f04425bcf09c2007135a57effa53a11373afd93f0569cc567c2a9a143ed87553057dec0ecffdf85b5cba055bad34bf61d96609a6a285d348989178adf11bb8531d50ac533b305c4cc99b8c009a0f13c58c3e328777f6decc99ec18dbcb9e2b2688726cdbfabd4757150058695e4d36f097cddfbf33e5392678bf68b5eafcff9a89e22cef5d83a7ae056618f4146526111f3fd19455df11485b4648d1c2051b595e18a0ee4464c3fce90a9be21b4ac012e936d74292516598a8ceacc9319532bb9a07669b0293016437e805d38e3e1733625edc0cf3d558cb329ed03a1778c7477e98f4b54041c880c2aa49732c4f136c9bc2fffd18bb5c57b8691a66c05a455fb8db118d115ec6b52f1c71ab14bb97b57db8004f36b76d218289d9e4c13e148fbd93b40dc002e2166b856d3deffbc206795ecd8fde018e7945728c808bf46a172c3cd4883326b878d4412707db9ce5c89accaee563f420216175d12c19576f09586908fbd12e5cb271093a525ef9f7b125796fbdc80c3d2b8fa4a673f1513c17b4ea82ca0ca3eb113cecf9b4e07cdbaeb19c862b4d30f8321f4d0c4e8c6ac07cc222956b17c2dbcc977195a4c0f2590347ecfc1623e65679ada72391def8cbc190ed0eeb3e4a81e52db108ccaf5adc0e4bcfcef6907c958cfa3a105b59f4f3bc7982ea93fe7ca2d5b227067d62612891d42982593e7fb9ba595a03c9f203fedb588e06d7cdf8bc6ee84cf8c926dbbbb4c5deecd0bb798fe8901b8688d422196f04d460f6ade422c753890f9bad1bedc0d3b408521acad18397f7dd5ed21160cc4bb9ea3162eee0c64ed71f10abfb532ab08b53496db6822e9a3f5143bf21f3d60cb0799f7193fb337bb955cb8fba6ae2a931a81e55ad84d8ed1b2d793ac45cfd3f11882fbbb06799e5950053b8a0b3058dce81254fefec83a2a58afad098cff8ff6defc16b997dc1cdab5d964d90204cbaf4ba1d61f68f65b8a04d5142fc18d185b4c8e6d36b4d6b79f60071ef15e9639f70ac42d077610aa49666e3b9aef555f068bf2c8a482a9af3133e34c0801612ec4b1730730fc50e2bfaf8d8828dca86aa7507d6be026c92c4e54c2f04b216d8122fd0a9392391553d85162a5e699745cc2c69ff63ccedc7d0a5ff04b6eb557bcdd0e154cbf6bf656633c3171464636c69d87958a3d34b942de16b09adf58e0c8f3bb6f2fcbf46993f694ddf7af15b0c05c2086498246ba13b0bda65ff46d7619e1d0fb056eec58dcd55ae2709a43a28765d3f782147c3e06e4a490d74fcdad65bfc9156314a39bd0c62158c5822b7ef425246b44c0858c0c4d9ad5687c6515ab59e4343b59bbadf379ed766fdac9988b5c3e09b4bceb8f07ef302ac5b3abd4e5ae56290f30086cd10207a01d31b2d9e5e123aa8e6cb989df79e5b5760954da6e27693fc5d727a49e7ff51baaf810cd83581b63ef34ecc6c7fb19fc9caeb910263969b3bbd147c1a49e8872b17d083b7b5211b1ee3cb18bf163651c5753a67d3158b230a7c0949d7f1e0f14909aa97cf0ea874dfd16edc718c7cb135884d063795ec21b7c85d9d94fe31ab6d0d9cd0d69a960374fba92e2ee6282264bb36a610dae292c3ee281d0bccb194be8818b5ec45ff03ada489b61906ccf14b42f7651dec7ebf5a32f2cb5be84ba91b1ee5c91680463df445120078842b82c187ab4d786a959ba47ace26f2f0261d6c887bac6e1b3f3db4d7b0df36989d6a6711688f42ba6dd24638c0a7960b9c6c3d60a827ec5fd3152e415a9a6c52207432b29610bb6cdf378a98d34f3b4372992be0208e4d04d247ff95cb3437e53585af5acfddb7dcef9f183582b4750ccd12d2b5e3cd26b73c8d6e96fa8fe6004a6a6631014413285163fb9644d5bd458d2a0b646a90683bc4a7ad52a6a43ceb3025c1c91fcd841a15e8e7ef967cf86c854533b342c3a0bcadb2efba34f0628a4a50a01f1474e3067b3f3ca88d0e6bb40c4280ce527c623d44e20680cbefeda1bbb64b99ed8473cd2743cfa463ef1c5cc9e415bfa653dee655c7633d7e96e94d434547109cf2484237392ab38bbb3fe1c20b0db2d2a7433a630a33d8e67f520eda9c1ca36fed3a7b2aef94a3ad3e9c9c36c4740b5b9105aff9d5f38dfca105e05499e13a3b7e83e8f13946688b07a6de77accc556a75630da3938382f1a41414f0d910f2418b43eb4815fd9b40aa7bd6cc9c834be458937bbd7adad6ee8323681f697e0d6322181c29cd706f2dc7a0068a4c3d715eaf9225630a5ab72ee2cd5b90d48aa0b21182dedfc0f52fdce08c3c3cfac542c5e7f305c054ec26abf2ecb9fc4f102f5455373747d97ff4364f3a5b11657880a2cc3a14218a1307c13c24a205d1b7bb362581ed604f5e0fda93e1dea2f4cff631bc932c3207253e70d57b890dff7c52b5edf9bb080d9fb0cb13851ae8b042e3e1738cee55bc24d3e1baa1580436b63458e38235dd36e85bf5f23c1393892435694c23398ed8841e59b635698d82076b70697d746f4408f649588941897fb8c6f3520eca16f58e6878f39bc261392467a2e2dff8a9581e51a9e4a44a325d519caeafa673190cfdae6a8733094123adebdb3712f15e03b3ab7e848ebfd45cca16355f81fb21581ecb098a29c08accfed3920a0c616ceda33e066a263fe4ccc4bb2eff165526df56c05414d5b1b1dc4595107db4d2a4d88a6edb210fa9cccef4f3ec7b1c73b4a6707a842c5f84c5879689c4c5e49b882d2067dd8e81a1dc1146225b9e6156950da1f4a4178f120464cddfb3b5c6a90519e6bbab7931f0de41b2bf2656aaa77df7c7d4b13dadcf7b98cf6758d489f82d9264b1e25d6eadaa950518b0cb20c727d3b7b43be393f7d9df2301b9dd195a8d4e7cf80d66130f4d9331bdcf4f4fd34bc271878d3295dc86c08055b94b94460341b91a13a8e55dcd7efc071ef61d42f2dd30f4d10be37ed65ef0b189e92ac152bda09aecf71369cdb52ef98cd0d70cd74181a05c8464e359b5870594c938833477b099d2b068a17d471269490517b004f07094d22a7f170905cf163662da5e7b146aa76adfeb924e452839eda3f9725d8fbf78e20e991f033adc6825f487463135159e322432e9c0f308f5295", 0x1000}, {&(0x7f0000005c00)="5d2d44f5a9ada228656b1f833de7d31279a2d7ee52043cc1cc9a783c7a6bb86fde14092be98233e3fee6107146d9de270fdec0e13fb88bf34f419723382e8bb82409a25fe06ff748f62404b3e42b8911685d382481dc236ec99c554be4d094b61a28cfdcd78ff210eb9f5f79bb90a57e0db834c9b125d7e8cd9a", 0x7a}, {&(0x7f0000005c80)="629f9f23815aac4c500e99483a354ea913bfa79eb3926e70d2f7707fa845a0dbd12b9a9e6cc0a512250a0fbd5109f62fa553650e047db08d5c5ee53128c8a6793835f78b2d0299d6e72c9ea91bec54c18fdc10813422a797664a1646aa26dc5dce5e36b68c2c52eadd93cb5fc310370f0a54776012b2dfd70ce7d7bdd5111b7a7ffb89e50002f286be4bda6cfd69b0f25c8583", 0x93}], 0x8, &(0x7f0000005e00)=[{0x50, 0x119, 0x6, "07e5a8183bae20598625ec8017c89606f88402bc3ce31fffd34d25d8220d15298f168602a73704e36cb7dde48182e70d8a2a867a47fb8cb85c584abd99fa94d9"}, {0xa0, 0x101, 0x800, "a84f60e65586e28670f69dd72b1792c5e4660884fa8b0347a48e1c9175c310d46533e479c56ea07f83372ab7e999c54101b5853ce219f650a8af4f9563afc4e372717900816eed9607421ae442d82efeea2dd9108c267c50d9eb25cbed36835d60bd9869121ccf3d272cc4038d698cdbb695bf0ae390813366cf54af0652c2c46f0ae48a10c03afcc4217a6f1e4f5bdd"}, {0x1010, 0x118, 0xc0000, "ee9e2df910d5204c9391fa026e5cd58b5dde3152897d3d4be614853b1a8aeb87b25c5517f4d304ac09c4c7bfafed6e01ef1322a5cdd453ad99d084219671297be8faa846d5d41413fb09725336fc443bcf202f28ea24f2247bdc87a56d0c0d7cc376fa7ed834c90433e212fc60bf3efa5fb1cb09a3da9bbe3c89d89fc28d1763ba6d42002f816cd20de64903f0ec098268cd81ee7a7f20dcee4daa6d8ac7ed9a1b3e772dcc1e1931b9fba9b306279428514ac426f9520583a252e98e90abe7c8c1f02d76b1d4f366345417c0ff5dbceb6dc81b8e36c50c3ec2b836ef753d5ebd76fff2055d40d3574cf39e969aa483f7d1664c21ce3038c028458b8299e4e6cd0e2ba5d7850a72aaf8d4a895e4fa3d700788741526ae7f3c38e8538ade7edd0aad0476989ca0c4e872c372539a514177b3044733abc032c8bc41d3d114274d81b3cfea2e8ca49229beb54a041d2056297ddb816791b040117dacfcced9ba50d64979b83cd5d91aa34289512adfae14f325dbb1a99e32bbeef1b3fada9266b8c3fd1bedaf29a3ade9e315abe5b4ec1d2ee9bd147a0512ed23aff168cbeafe773309e3157c7b33db7926ace7a40164b2754296dbeb2936d9c0c949a4f814ed7d1a0bd8bbbbc3d17e1d1667364f9614a672cc0994bb93424ab77609b94aa578232a8bec4c52b8edafa60404b9ec74b21f77b4c7a7a254f2a4831c30650f109a26f1e4686d8f3cb37310ee2630b85ca9710d4a5f0491fd50f8a92e5634662e4d0d594045afa1d92a3ce9c9149ee849e9626d8be06a46ec4ca716aa36327c37246201b1afc968ae1adf82239a8653a9ddb8c8992ef510700fd5c1581c644db6602545c7abd4923db2fcd3a377ae6a2aae46adb47bcb42ba122400b7c7c56cb4ca35c64f7bf3a67ca3dfc5b2b873aac80068a7d71fc1bb847d5046b968364256de6705299203ea4e1a26e92c22449fc72f394654390bffa16e575755ae5154b00fe075eb3d14b420f23a0da3dc4604b853e7dccbd7e25e955f8fbba6ee07f9ddae7761df0e09c43cff15579dc00daa37aefb8bf80cdbc7d2d9ca9df4ae7144b3624c3bb52cf473c16d245d7ec5e46b37a4c2773ca98e67e242371663d8b5c063447133fd77d5b666f0b72dfd451634c4ea387a225cd3e566e668fea2ff031426a8a6d96d7ee6c886c0a4f40a49cccc20bb1b3368fed19899e6da08c8ae1d1f3890abc6f43e067b1ae3bacd9601b14847f4d12ccd3cc0fa40bdee35bcf6018ce907b8f4b22b1468e37efa97c42a1b5fbdf542e8cb97ae9e66af6b9c06868a87d216821c76c24e4e6016a70ffc046c5463ad08e5e1aafa959b8e2ca49529f11d5a170583c00c75e0d9bb119ae0a7d83003c40306519de6b3e6dbe12bc09eb7d86b7017e5f7b9860b01424972d152d4bce5fadc611ef4880fd72a22c448068bf7a8aee2046e0d8957faae52f149db5273a865d88fd190171ea99b2eeda723bef859b4becd4ff7645238615f4d7d9a284cd50ab63d3c923368f9b0a72e36b790bbade715c4666faf8cd3168c6d035ceb78c6451f5aa014213abb2b43c0246f58dc6647ac009bd58d0d4b0df7c92ef96779c8aa9df525f8d004cb138ce823cb68e096544e12727cdd99247da7b8495adf4b764c7544d41d7101b58a95a5cdf6a6538320f7f49894ff5cb846318f368cda33658adf1b4b6cd2be5e35d8ff2c605122b488f2d090b53c38489862d01b43941bcca0c5bafe8c4f30f3febcc961a5148dfb388a538144436257c6a094e334487fd9d418ee04b9750b89528903db08952a9a4d0006f422ded72afd134fe78da65227e2f5363d7a0d2ac55205a89f9b30038389dbc4cce6443710e4a8d1c9ed28764c40908aa43255fab2c81c063b859306fa4c6b964c465670670e0845ee4462c76aa8730dd0423681669db4811c74a09eda1381d4879488e2a8df88c28609db8f8129bee8a92a3d6f4f82235aa2e4b9cbbd3add9b6dfaaf36f483408a2e3aff2ccbcece706e4661447f8d7c4ab84d6f05f41c25e3c2bae5f8c1597e9fee9ac2c70e9f535ff2692d9943934efa3e53ab12c41150d35a51e7eda118036e01dea9981686b5bf0c50b07df536cd1ec61dd07d23859477e613f532aeed9580f37d05d2823d2156ea30e3a911c362a61a6ebc1a955bf08fb05307d52230628607475cf8d7a233e2b0eeb77a6557a1a978d8ab016a2c65b643b35be6e5d6ece65078cc33c7868f2c61b29a2b12f20f686f80c693e7632688432b3d573dfc3bee580f417901d7ae8a8ad5552e9b89d3514c793c0b764cade21b59993130b98ffe5c6fe84904b3a253659eb2327dd6cd2fe5440234443ff70edf0e7c76d0afd0a1f5cb308ed57478192ea062a8e79cb17742bef6ac13e09235e01dd2355b0cfb7fa6a3c5364b1377c5f7e4f5a123051aa30f4777290eba9fee35807779a63a5d7df3a5cd74bc610775cc2a55b3002e01273969be3fec6498273be9ead5fa9def1779a56946ca99c969955714aabd449362769ad089f27a31b9ebe98d9cf043529833f4a221a475763bfc8311650bfa308ee6596a1180c972c397ed26ff12c827bded0cf478a22fe7644292e34ee4a1a04e8c6406c86b52d91171a414f1f1b386f39db7009f6800522a41b837c7a9c7ff16f6ee3adbc702dda2ac69ac802bafd8badef2cb63ed6c83eb5c28845e8335612f9a8c726bd2df776e3aaad5c31625a7971c0dbb4e75d4c99c4035082f3eedb50b2688d22adb410bc45f8511cab7efe19fbba586605587ed6377169f39d2108d17f44742a049cde8fe5a80c69e81acc7a0acebd7f852cda3491872f0c6fbc9940061ac718bae9afc74707b614a3641b92f613896890ebbd5066d9d2e6a6376e7a764e9ab5d63ef7c8c247b50d6043be482fd3862df2845d924231882d02f3e3d90ecdf076633f548d08de371b37e0e68316c90f1819735897f14486a1c36dfe7eddbbd8a18fd36a7cd7737c4923c7a2194cb913689058da9c341544e26b45459a16259d296fb588f037e498e59f80c4d075d52e6127dfae48d9164e412d7cd5851938af435905222c69eb70f69356f1bb2a766c03af1620cd821d4d5e8b5268e1718e3a1a2b19b5d0dc87e8c462b79db0e1b6702d3028acb969ab5b3ac548a402e18f7b0fcac026909bd1148cff2620eea86dc904753ec204e9d0cb244754edbade5ae1f1b384adc835795e8c176cb6a89cb923b460026b32b15d22448e6e7b8fced57e5a969a1f0b62440d289765ef68d4b291ff671dbb574701a1c74db1edff3ca75617199c8330ea49b91280a8dbb3036b953c4c73a6b14fbe29772e27f35a29b2acfdee62f5dc568ff1d65ba26f66193440455b2c6a03c258ce281d6cfdd972e9c1a2803374694adcff03e6907ec8d95047b770b72938b8690ae9954289a3460c86367dcf0be7c7bb864f6dbfe8a455e8702966577b665588206f40bd6bda716ae2e2c8dca737d7c35c6c79c3c1a2bce198209a303c69ec6ff45360d2a90d1fc5542cad6df2c78004735de5b2d441f21e45b9e692fedc531416fcb055391a977f8486227ca5b5bf873d0c9691de6f8bba0fd95f002e61cb860c426ae2bd790129dbc17870beb13b0269ddb38c88674a173b83b31570468cdc479a59a0475ead48ec968c359da0ff537b89d20a3bf8cdfa16db43e3d114c8194618df29f8d1ddda744025ec4aedb905c2dceb39caf97db31b4de99bc36cb63976980dca1cd5b4a3ea268442e53c5b77662e6bdbb52dad0907b436ddd5c6aac2f9f207ca698d86c9c6aae6c5342206ff8432da8bd5a06c45149fb9c656fd3c4e5d49bd5c3ec6603e99fffcd0c452e9c1d14426e2d6a88394d3734b9368db5d1ca5c7b1bf6dd7c84a1af7e62320644e755583d425a31ed24e368c0c5ba6dbddce45a0dacb47ed7a9151aebf18bf68c7d41aba53b2106390f373239c433a27c2fcd5c85f0f834fedb5c43af314d0fae9b45a6efa08a39f3f71571bfa153a186c863d3f16578f69f6b5270653d9a60c27915946b07a8eefcc765d51d55e4a7781ca87b2eecfc51a43afebda6fe1ac068e16955d8595c2859af19ee452912efc4aeb4a513b56c989defc0db1e7f8a725b0b3621e0ded22f198469351344faa3c4e0d3ea3e059dae1c4f3202140ba1ec00053e58aaad37d7cf92bf6132e8d8683e03066a26adde5ff53193302f2bfa2ad8d3e24b8ec1cc247fab083e51c66d486aba7e9feb124bc5992453753a6c00ca3b84c208c58208837380ff18baf0f6bd8dd496efac66dd8f91b6884a44b08437e87541da350b37f9dd5facab7f63a8f04f0e8335b77cf8c81ce73e63c00438b01fb2f695f8c10a2303175e66e6b2f7ebd6aee07bb41a305c36483adf479ececba2cefe422e1eaa981883c7f1da952b609203e9e199bf995265f40fc7fce7b03f9febec71e44bd2f50c453894ada8e53778c8a690040330ec3bf76b3076501525a0eb4b8fdddc3ce03a11a7fb0c7584f23f2085dbbbe554bc03a74ed2f86d1e0998fb99710be2c5298ebebde740521ced6d9567cb4a493b54b576d7c2bff697b3f89b30d41ec25c763a27e672c9ec61c58d6f3c6227308f286ebe4d7083801a3300e01d655da66526952aa096e318c86a776b24e2856c1be0ef0febae850e33162c8518c49769c0e353e3ff83e7a92057fbce4adcb0f9f79dfdc6ffac788ca8d68d6c23c6a4e4e681026a1e731df692ee82ea0e71b0ee9f87a8a4c7ddc918b93cd32b071ebe0f4c1e8119b0faa5020b8ba886280beee29c82422d9db2e2658bb8ddd4af8e1cbac6d2629d27498c308a2c6f6d477261dd7fd1d16988e7c5fab894d2be6f96318f3d23e451682bd2c9f29bee03be3cf556d3dc4c8c820d39a6d6466b55b4f1e364d35084697c6b27dd1596264076c75d08336a648d7b64e65b1285cfd7eb3f24a7729403ce651cebd1e65c61ac40448a8a5afa65fb0204f1545ebdd0c3911d41f95fa8add8f361b47d24de13d4cb5b6afa558176c82cb4a28504c970b5c3ce90bd44ea73af701d975d76711a33ef3e7176c9b615e7132faee1d3f82add19d99e7d1d774805045173e6d413910c0c0ed9efa980a655e059e01dc0cd7345f3d3f4b8711208a7bd82cdbfd647106a1ab4859b9eded40963f4ab2939f401e9615e1726dc7ae2eed81d168b56dac76109660b1483e3b9a000e74dc5e0a9de65033f336c0083e92fd06f9abce68e42b33a23b061ec736c1e31b0c9a0959469ed45ed5ba0eeeb60137d5ca26507694a54364eb17db6394594307953d71cb58212b25b1230fd40af9c21280ccb928b4e7568f0435593ad8b6fffdc6c00f78647ad3c1e20c76b940b0df70f7a75469ede569f4c0296b6634ffbaaeccfd387bcd9ac45d73d2f24e33f34af6c07be73715fd7810e17cb12f9614a7130142f106e0c4b080d01ceec03ddfb59dd1c10a66168674041092da58c35967687d18d19d5f4ae716ab43e163faa46ecc471a9873738972878400f996122f356429100d603cc292eb21d457ff1c2d48c4a9ecb8135c24cc612570fc3da40e19a51a9bf62e447ea28ae4bf196854dd8141ddddfb36394ecd7b32ed3f3a827b00d998753f9bab949d2f832fd806d8c1d18d6b2d52c3d1b92f834cff8233018fec660c12d1ee53df9e35209774f18d66cddbda9dd048c23c98413389201cea93783e623c45f6549be0b9980807977fef49ad1a65f9ce58a05ea3175f4a4b8218d1a30b650bbb2f4934783b0d5e63bcccc67d2c9e46aadfd5073a3df71998870ba9895c819444249"}, {0x10, 0x119, 0x80000000}], 0x1110}}], 0x2, 0x8004) getsockopt$XDP_STATISTICS(0xffffffffffffffff, 0x11b, 0x7, &(0x7f00000005c0), &(0x7f0000000600)=0x30) syz_clone(0x60000200, &(0x7f0000000000)="aaad742652f5a2676ecb7312019f51b12b4d5947a0dcf387ff3dd6ee422e8f012cd8a097f116bcd4dcfd316c66c5d3694a8296f88694f36cba20fe7d40c62a4f4c9757c842312e0b58ad21d2a385495d0c8e5d465e1fd9bf0fd4c5ecb4563d7cd827e4dff496785c321f74a5e524300fda8eae48328edd9d0031dada0adc744b51ecba148c1dc1278af49f9a60af4a955659b2d4824468b987f6ed761df07af2475d4fa7fbaf910046", 0xa9, &(0x7f00000000c0), &(0x7f0000000100), &(0x7f0000000140)="293877c97c52b290ae48f2871fdbe920ed83708d5346e7686f9142151e77361c5e5235575ffb5f63a587a538b3aee60a90a484a6ee73f9eb6c6a9b67981abbda698d3ba2cbf16e8d7de787c515aac0") [ 323.964664][ T9376] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.1'. 15:21:43 executing program 2: syz_clone(0x140a0080, 0x0, 0xfffffffffffffdb4, 0x0, 0x0, 0x0) 15:21:43 executing program 1: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/module/i8042', 0x0, 0x0) write$cgroup_freezer_state(r0, 0x0, 0x0) 15:21:43 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x40000}) 15:21:43 executing program 1: r0 = epoll_create(0xa473) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) 15:21:43 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x4, 0x10, r0, 0x0) 15:21:43 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40046207, 0x0) 15:21:43 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xc018620c, 0x0) [ 324.076613][ T9394] binder: 9393:9394 ioctl c0306201 0 returned -14 15:21:43 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000680001002abd7000fcdbdf2502000100100000004c000a"], 0x6c}}, 0x0) [ 324.082158][ T9394] binder: 9393:9394 ioctl c018620c 0 returned -14 15:21:43 executing program 1: pkey_mprotect(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x100000a, 0xffffffffffffffff) 15:21:43 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000680001002abd7000fcdbdf2502040000100000004c000200020000000600000000000000fe0000000100000029000000000000008100000000000000c50000000000000000000000020000000600000000000000020000000200000005000000080005"], 0x6c}}, 0x0) 15:21:43 executing program 2: syz_genetlink_get_family_id$tipc2(&(0x7f0000003bc0), 0xffffffffffffffff) 15:21:43 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x40000}) 15:21:43 executing program 0: syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) 15:21:43 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)) 15:21:43 executing program 0: openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000003700)='./cgroup.net/syz0\x00', 0x200002, 0x0) 15:21:43 executing program 2: recvmsg$unix(0xffffffffffffffff, 0x0, 0x80012110) 15:21:43 executing program 1: io_setup(0xe35a, &(0x7f00000001c0)) 15:21:43 executing program 2: ioprio_set$uid(0x2, 0x0, 0x6003) 15:21:43 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_RUN(r2, 0xc018ae85, 0x20004000) 15:21:43 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x40000}) 15:21:43 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000640), 0x0, 0x0) ioctl$int_out(r0, 0x0, 0x0) 15:21:43 executing program 2: r0 = syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r0, 0x89f0, 0x0) 15:21:43 executing program 1: socket$inet6_tcp(0xa, 0x1, 0x0) pselect6(0x40, &(0x7f00000000c0)={0xb}, 0x0, 0x0, 0x0, 0x0) 15:21:43 executing program 0: openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x0, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000001180), 0x2802c0, 0x0) syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) clock_gettime(0x0, &(0x7f00000014c0)={0x0, 0x0}) select(0x40, &(0x7f0000001400), &(0x7f0000001440)={0x1}, &(0x7f0000001480)={0x3f}, &(0x7f0000001500)={0x0, r0/1000+10000}) 15:21:43 executing program 2: pselect6(0x0, 0x0, &(0x7f0000000500), 0x0, 0x0, 0x0) 15:21:43 executing program 1: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x2000001, 0x10, r0, 0x0) 15:21:43 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_DEL_RULE(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={&(0x7f0000000040)={0x10, 0x3ed}, 0x420}}, 0x0) 15:21:43 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x40000}) 15:21:43 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x6c, 0x21, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FRA_DST={0x14, 0x1, @local}, @FRA_SRC={0x21, 0x2, @private0}, @FRA_SRC={0x14, 0x2, @ipv4={'\x00', '\xff\xff', @loopback}}]}, 0x6c}}, 0x0) 15:21:43 executing program 0: pselect6(0x40, &(0x7f0000000000), &(0x7f0000000500)={0x5}, 0x0, 0x0, 0x0) 15:21:43 executing program 0: syz_usb_connect$cdc_ecm(0x2, 0x4e, &(0x7f0000000000)={{0x12, 0x1, 0x300, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3c, 0x1, 0x1, 0x0, 0x10, 0x0, [{{0x9, 0x4, 0x0, 0x7, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x6, 0x24, 0x6, 0x0, 0x0, "c4"}, {0x5}, {0xd, 0x24, 0xf, 0x1, 0x1}}, {[], {{0x9, 0x5, 0x82, 0x2, 0x40}}, {{0x9, 0x5, 0x3, 0x2, 0x10}}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0}) sendmsg$TIPC_NL_MON_GET(0xffffffffffffffff, 0x0, 0x0) [ 324.478407][ T9444] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 15:21:43 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000000300)={'ip6_vti0\x00', &(0x7f0000000280)={'ip6gre0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @loopback, @private2}}) [ 324.794706][ T42] usb 5-1: new full-speed USB device number 5 using dummy_hcd [ 325.216221][ T42] usb 5-1: unable to get BOS descriptor or descriptor too short 15:21:44 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000080)='/sys/module/ipv6', 0x1c92c0, 0x0) 15:21:44 executing program 2: ioctl$HIDIOCGUSAGES(0xffffffffffffffff, 0xd01c4813, &(0x7f0000000000)={{}, 0x0, [0xf20e, 0x9, 0x1, 0x9, 0x80000001, 0x2, 0x6, 0x80000000, 0x0, 0x401, 0xffffffff, 0x58d, 0xffffffff, 0x6, 0x0, 0x8, 0x20, 0x101, 0x101, 0x7, 0x8, 0x1ff, 0x1, 0x8, 0x101, 0x9, 0x0, 0x9, 0x2, 0x3, 0x6, 0x3, 0x7, 0x2, 0x7, 0x7ff, 0x3, 0xff, 0x2, 0x7fffffff, 0x7fff, 0x0, 0x5, 0x2, 0x7, 0x1, 0x20, 0x40, 0x80, 0x6, 0x9, 0x5, 0x101, 0x8, 0x0, 0x8, 0x10de858, 0x81, 0x7, 0x3f, 0x1f, 0x6, 0x80000000, 0x3ff, 0x5, 0x400, 0x401, 0x400, 0x1, 0x33, 0x9, 0xffffffff, 0x6, 0x0, 0x6, 0x5, 0xffffffff, 0x7, 0x4, 0x4, 0x6, 0x6, 0xfff, 0x1, 0x6, 0x2, 0x7ff, 0x0, 0x401, 0xa3ee, 0x6, 0x4, 0xff, 0xd4b7, 0x8, 0x400, 0x2, 0x3, 0x81, 0x7, 0x3, 0xfffffffe, 0x0, 0xb2f, 0xfffeffff, 0x3, 0x1, 0x18000, 0x1ff, 0x1, 0x3, 0x80000001, 0x10000, 0x2, 0x401, 0x5, 0x5, 0x1, 0x3, 0x1, 0x7fffffff, 0x3f, 0x7, 0x4, 0x4, 0x0, 0x200, 0x28d, 0x0, 0x6fb, 0x8, 0xfffffffa, 0x100, 0xffffffff, 0xc1, 0x8, 0x10000, 0x100, 0x9, 0xfff, 0x10001, 0x1f, 0xfffffffb, 0x4, 0x93, 0x2, 0xffff, 0x7, 0x9, 0x4, 0x1084e177, 0x1, 0x3f, 0x7ff, 0x1af0, 0x8, 0x6, 0x2, 0x7821, 0x1, 0x0, 0x0, 0x9, 0xe8, 0x5, 0x80, 0x7, 0xe71e, 0xc5, 0x5, 0x8, 0xeb, 0xb0b, 0x7, 0x0, 0x0, 0x80000001, 0x8815, 0x2, 0x4, 0x1, 0xffffffff, 0x56, 0x0, 0x8, 0x6, 0x1, 0x45, 0x7, 0x10001, 0x800, 0x2, 0x0, 0x1, 0x0, 0x4daf, 0x0, 0x0, 0x0, 0x4, 0x8, 0x80000001, 0x6, 0x0, 0x2, 0xcf7b, 0x4, 0xfffffff7, 0x8a28, 0xfffffffc, 0x3, 0x839d, 0x3, 0xffff, 0xaa54, 0x800, 0x7fff, 0x3, 0xda81, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x2, 0xf098, 0x0, 0x0, 0x0, 0x6, 0x3, 0x1, 0x0, 0x0, 0xffffffff, 0x3, 0x38e, 0x1ff, 0xfd9d, 0x40, 0x3, 0x3, 0x80000001, 0x4, 0x0, 0x9, 0x7c, 0xe15, 0x2, 0x0, 0xffff, 0x1, 0x476, 0xfffffff7, 0x4, 0x7fffffff, 0x4, 0x7, 0x4, 0x6, 0x1c, 0x5, 0x401, 0x1, 0x0, 0xff, 0x0, 0x1ff, 0xbe, 0x5, 0x80000000, 0x7, 0x4, 0x7, 0x9, 0x4, 0x8, 0x0, 0x9, 0x6, 0xffffffff, 0x3a1f, 0xffffffff, 0xf3, 0x400, 0x8000, 0x2, 0x202f, 0x3ff, 0x9, 0x8, 0x1f32, 0x101, 0x8, 0x6, 0x8, 0x0, 0x0, 0x111b, 0x3, 0x3, 0x4, 0x4, 0x9, 0x80000000, 0x6, 0x7, 0x6, 0x9694, 0x4, 0x0, 0x5, 0x578a, 0x9, 0x58, 0x4, 0x3, 0x8, 0x5, 0x3f, 0x2, 0x2, 0x0, 0x100, 0x2, 0x5, 0xee, 0x1, 0x5, 0x10000, 0xfffffffa, 0x0, 0x4, 0x8, 0x800, 0x0, 0x23, 0x7, 0x81, 0x8, 0x7, 0x80000001, 0x6, 0x1ff, 0x5b, 0x4, 0x0, 0x6, 0x8, 0x3ff, 0x2, 0x7, 0x8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0x4, 0x80, 0x3, 0x0, 0x3, 0x0, 0x5, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x2ea, 0x2, 0x3, 0x374, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x8000, 0x40, 0x4, 0xfff, 0x8, 0xaf8, 0x3f, 0x1ff, 0x3, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xfffffffc, 0x86, 0x4, 0x20, 0x0, 0x0, 0x60, 0x0, 0x7b, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fffffff, 0x81, 0x100000, 0xa100, 0x0, 0x1, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7244, 0x6, 0xaa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x9, 0x9, 0x0, 0x0, 0x7, 0x2, 0x4, 0x9, 0x1, 0x401, 0x4, 0xa7f9, 0x0, 0x5, 0x80000001, 0x3, 0x2, 0x4, 0x80000000, 0xe1e, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000, 0x45, 0x2, 0x1, 0x101, 0x6, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x7ff, 0xffffffe0, 0x7f, 0x4, 0x8, 0xdfa, 0x81, 0x7, 0x101, 0x6, 0x3, 0x9, 0x40, 0x7fffffff, 0x5, 0x2, 0x4b3, 0x6, 0x5, 0x3, 0x1, 0x0, 0x2, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf52, 0x0, 0x34371e5, 0x8]}) ioctl$HIDIOCGREPORTINFO(0xffffffffffffffff, 0xc00c4809, &(0x7f0000001040)={0x3, 0x3, 0x8001}) r0 = openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x206000, 0x0) write$ppp(r0, &(0x7f00000010c0)="adfaac8d1a2aa8f1bbab0640d802c1683f55bfc0b706122e8277ac77355b1a7e3cdd866d28592af595a4a41cf8b93e5fa0b5ce21a6922d825890ef9f79d9092709fdfa125e00ce6fcec1b4ce7b48893a958b7cf1425221630283c2337d9c0a73dbdaa5364fa5edd27a0429d6846fc7c97793275b39c3faa738629e78e83e405a5003182b4c705491355df844372ea8b8a377249a6bf173679086", 0x9a) r1 = openat$null(0xffffffffffffff9c, &(0x7f0000001180), 0x2802c0, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f00000011c0)) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x8, &(0x7f0000001f00)={0x6, &(0x7f0000001ec0)=[{0x2, 0x90, 0x0, 0xebe}, {0x32c, 0x1f, 0x2, 0xfffffff7}, {0x9, 0x88, 0x0, 0xc8}, {0x7, 0x0, 0x1}, {0x3, 0x6, 0x6, 0x9}, {0x3f, 0x7, 0x1, 0x81}]}) 15:21:44 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x44, 0x21, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x20, 0x0, 0x1, 0x0, 0x0, 0x1}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FIB_RULE_POLICY=@FRA_OIFNAME={0x14, 0x11, 'caif0\x00'}]}, 0x44}}, 0x0) 15:21:44 executing program 1: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000037c0)='/sys/module/kernel', 0x0, 0x0) openat$cgroup_freezer_state(r0, &(0x7f0000000000), 0x2, 0x0) 15:21:44 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x1d, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, [@FRA_DST={0x14, 0x1, @local}]}, 0x30}}, 0x0) 15:21:44 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x2, 0x0) [ 325.264917][ T42] usb 5-1: not running at top speed; connect to a high speed hub [ 325.354837][ T42] usb 5-1: config 1 interface 0 altsetting 7 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 325.365644][ T42] usb 5-1: config 1 interface 0 has no altsetting 0 [ 325.524867][ T42] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 325.531002][ T42] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 325.536901][ T42] usb 5-1: Product: syz [ 325.539593][ T42] usb 5-1: Manufacturer: syz [ 325.542541][ T42] usb 5-1: SerialNumber: syz [ 325.595746][ T42] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 325.800173][ T42] usb 5-1: USB disconnect, device number 5 15:21:45 executing program 2: syz_open_dev$usbmon(&(0x7f0000001240), 0x6721, 0x4002) 15:21:45 executing program 0: openat$zero(0xffffffffffffff9c, &(0x7f0000000240), 0x4d2203, 0x0) 15:21:45 executing program 3: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000180)='net/stat\x00') 15:21:45 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$mptcp(&(0x7f0000000000), r0) syz_genetlink_get_family_id$gtp(&(0x7f00000000c0), r0) 15:21:45 executing program 1: r0 = socket$igmp(0x2, 0x3, 0x2) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8932, &(0x7f00000003c0)={'batadv_slave_1\x00'}) 15:21:45 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x100010, r0, 0x0) prctl$PR_SET_MM_MAP(0x23, 0xe, &(0x7f00000012c0)={&(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffa000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000fff000/0x1000)=nil, &(0x7f0000ffa000/0x3000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, 0x0}, 0x68) 15:21:45 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x30, 0x1c, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback}]}, 0x30}}, 0x0) 15:21:45 executing program 0: write$P9_RSTAT(0xffffffffffffffff, &(0x7f0000000000)={0x42, 0x7d, 0x0, {0x0, 0x3b, 0x0, 0x0, {}, 0x0, 0x0, 0x0, 0x0, 0x1, '^', 0x0, '', 0x3, '}@,', 0x4, '#^/\xfd'}}, 0x42) pipe2$9p(&(0x7f00000004c0), 0x80000) 15:21:45 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_NEWPDP(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={0x0, 0x14}}, 0x0) 15:21:45 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000002cc0)={0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:45 executing program 3: socket(0x1, 0x0, 0x42d) 15:21:45 executing program 0: r0 = socket$netlink(0x10, 0x3, 0xf) sendmsg$AUDIT_GET_FEATURE(r0, &(0x7f0000000740)={&(0x7f0000000680)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000700)={&(0x7f00000006c0)={0x10}, 0x10}}, 0x0) 15:21:45 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) clock_gettime(0x0, &(0x7f0000001480)={0x0, 0x0}) recvmmsg$unix(r0, 0x0, 0x0, 0x0, &(0x7f00000014c0)={0x0, r1+10000000}) 15:21:45 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {0x0, 0x0, 0x0, 0x0, 0x5}}) 15:21:45 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET_UNCONFIRMED(r0, 0x0, 0x0) 15:21:45 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) getsockopt$IP_VS_SO_GET_SERVICES(r0, 0x0, 0x482, 0x0, &(0x7f0000000200)) 15:21:45 executing program 1: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_inet_udp_SIOCINQ(r0, 0x541b, &(0x7f0000000200)) 15:21:45 executing program 0: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000000000), 0x802, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000040)={0xb, {'syz1\x00', 'syz0\x00', 'syz0\x00'}}, 0x118) 15:21:45 executing program 2: prctl$PR_SET_MM_MAP(0x23, 0xe, &(0x7f0000000d80)={&(0x7f0000ffb000/0x3000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffa000/0x2000)=nil, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000ffb000/0x1000)=nil, &(0x7f0000ffc000/0x1000)=nil, 0x0}, 0x68) 15:21:45 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) pipe2(&(0x7f0000000240), 0x0) eventfd(0x0) pipe2(&(0x7f0000000240), 0x0) pselect6(0x40, &(0x7f00000002c0), &(0x7f0000000300)={0x8}, &(0x7f0000000340)={0xb27}, 0x0, 0x0) 15:21:45 executing program 2: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000640)={0x9, 0x1, &(0x7f0000000000)=@raw=[@func], &(0x7f0000000500)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:45 executing program 3: openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) 15:21:45 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@getaddr={0x14}, 0x14}}, 0x0) 15:21:45 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x206000, 0x0) 15:21:45 executing program 0: openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x0, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000001180), 0x0, 0x0) syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) select(0x40, &(0x7f0000001400), 0x0, &(0x7f0000001480)={0x3f}, 0x0) 15:21:45 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000340)=@bridge_newneigh={0x1c, 0x16, 0x111, 0x0, 0x0, {0x7}}, 0x1c}}, 0x0) 15:21:45 executing program 3: clock_gettime(0x0, &(0x7f0000000240)={0x0}) pselect6(0x40, &(0x7f0000000180), &(0x7f00000001c0)={0x6}, 0x0, &(0x7f00000002c0)={r0}, 0x0) 15:21:45 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) recvfrom$unix(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 15:21:45 executing program 2: socketpair(0x0, 0xa324afad234576b2, 0x0, 0x0) 15:21:45 executing program 0: pselect6(0x0, 0x0, &(0x7f0000000040), 0x0, 0x0, &(0x7f0000000140)={0x0}) 15:21:45 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x30, 0x24, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback}]}, 0x30}}, 0x0) [ 326.696881][ T9527] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.3'. 15:21:46 executing program 2: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='fd/4\x00') 15:21:46 executing program 3: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000440)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000480)={0x2020, 0x0, 0x0, 0x0}, 0x2020) setreuid(r1, 0x0) setreuid(0xffffffffffffffff, r1) r2 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000440)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r2, &(0x7f0000000480)={0x2020, 0x0, 0x0, 0x0}, 0x2020) setreuid(0xffffffffffffffff, r3) 15:21:46 executing program 2: pipe2$9p(&(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RLOCK(r0, 0x0, 0x0) 15:21:46 executing program 3: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_MMAP_OFFSETS(r0, 0x11b, 0x1, &(0x7f0000000000), &(0x7f0000000100)=0x80) 15:21:46 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x0, 0x0, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:46 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x100010, r0, 0x0) mmap$KVM_VCPU(&(0x7f0000ffa000/0x4000)=nil, 0x930, 0x0, 0x12, r0, 0x0) 15:21:46 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000190001002abd7000fcdbdf250200010010"], 0x6c}}, 0x0) 15:21:46 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_USER_AVC(r0, &(0x7f0000000640)={0xffffffffffffffff, 0x0, &(0x7f0000000000)={&(0x7f0000000500)={0x10}, 0x10}}, 0x0) [ 327.571229][ T9546] netlink: 80 bytes leftover after parsing attributes in process `syz-executor.3'. 15:21:46 executing program 2: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8914, 0x0) 15:21:46 executing program 3: sendmsg$TIPC_NL_KEY_SET(0xffffffffffffffff, 0x0, 0x0) 15:21:46 executing program 1: io_setup(0x9, &(0x7f00000000c0)=0x0) io_getevents(r0, 0x0, 0x0, 0x0, &(0x7f00000002c0)) 15:21:46 executing program 0: r0 = epoll_create(0x2000001) fgetxattr(r0, &(0x7f00000000c0)=@known='security.selinux\x00', &(0x7f0000000100)=""/208, 0xd0) 15:21:46 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000000), 0x301640, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x10, r0, 0x8000000) 15:21:46 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET_UNCONFIRMED(r0, &(0x7f0000000a40)={&(0x7f0000000980)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f0000000a00)={&(0x7f00000009c0)={0x14, 0x7, 0x1, 0x301}, 0x14}}, 0x0) 15:21:46 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_NEWPDP(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={0x0}}, 0x0) 15:21:46 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xc0189436, 0x0) 15:21:46 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) pselect6(0x40, &(0x7f00000000c0)={0x9}, 0x0, 0x0, 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f0000000000), r0) 15:21:46 executing program 0: ioprio_set$uid(0x2, 0xee01, 0x4007) 15:21:47 executing program 1: socket$packet(0x2, 0x0, 0x300) 15:21:47 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r0, 0x6, 0x23, 0x0, &(0x7f0000000340)) 15:21:47 executing program 0: syz_usb_connect$cdc_ecm(0x2, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x300, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0xf9, 0x10, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd, 0x24, 0xf, 0x1, 0x0, 0x8000}}, {[], {{0x9, 0x5, 0x82, 0x2, 0x40}}, {{0x9, 0x5, 0x3, 0x2, 0x10}}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0}) 15:21:47 executing program 2: syz_open_procfs(0xffffffffffffffff, &(0x7f00000000c0)='net/snmp6\x00') getrusage(0xffffffffffffffff, &(0x7f0000000000)) 15:21:47 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000200001002abd7000fcdbdf25020001"], 0x6c}}, 0x0) 15:21:47 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40046207, 0x0) 15:21:47 executing program 2: io_setup(0x9, &(0x7f0000000000)=0x0) r1 = epoll_create(0xa473) io_submit(r0, 0x1, &(0x7f00000014c0)=[&(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, r1, 0x0, 0x0, 0x0, 0x0, 0x1}]) [ 327.783880][ T9579] netlink: 80 bytes leftover after parsing attributes in process `syz-executor.3'. [ 327.787860][ T9581] binder: 9580:9581 ioctl c0306201 0 returned -14 15:21:47 executing program 3: sendmsg$nl_netfilter(0xffffffffffffffff, 0x0, 0x8) openat$sysfs(0xffffffffffffff9c, &(0x7f00000037c0)='/sys/module/kernel', 0x210002, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f0000003f80), 0xffffffffffffffff) 15:21:47 executing program 1: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) recvmsg$unix(r0, 0x0, 0x0) 15:21:47 executing program 3: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000100)='fd/4\x00') [ 327.994685][ T824] usb 5-1: new full-speed USB device number 6 using dummy_hcd [ 328.424842][ T824] usb 5-1: unable to get BOS descriptor or descriptor too short [ 328.464929][ T824] usb 5-1: not running at top speed; connect to a high speed hub [ 328.545038][ T824] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 328.717241][ T824] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 328.724395][ T824] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 328.730299][ T824] usb 5-1: Product: syz [ 328.733053][ T824] usb 5-1: Manufacturer: syz [ 328.735978][ T824] usb 5-1: SerialNumber: syz [ 329.016038][ T824] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 329.026007][ T824] usb 5-1: USB disconnect, device number 6 15:21:48 executing program 0: openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000100)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) openat$binderfs(0xffffffffffffff9c, &(0x7f00000009c0)='./binderfs/custom1\x00', 0x2, 0x0) 15:21:48 executing program 1: syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000ffa000/0x1000)=nil, 0x0, 0x0) 15:21:48 executing program 3: select(0x40, &(0x7f0000001400), 0x0, 0x0, 0x0) 15:21:48 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x21, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x94}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}]}, 0x30}}, 0x0) 15:21:48 executing program 2: clock_gettime(0x0, &(0x7f0000000100)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000040), 0x0, 0x0, &(0x7f0000000180)={0x0, r0+60000000}, &(0x7f00000002c0)={&(0x7f0000000280)={[0x401]}, 0x8}) 15:21:48 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xc018620c, 0x0) 15:21:48 executing program 3: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$sock_int(r0, 0x1, 0x28, 0x0, &(0x7f0000000040)) 15:21:48 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x19, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_DST={0x14, 0x1, @local}]}, 0x30}}, 0x0) [ 329.542086][ T9600] binder: 9599:9600 ioctl c018620c 0 returned -14 15:21:48 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000240)=@bridge_dellink={0x20, 0x11, 0x1}, 0x20}}, 0x0) 15:21:48 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000140001002abd7000fcdbdf250a000100100000004c0002"], 0x6c}}, 0x0) 15:21:48 executing program 0: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000300)) pkey_mprotect(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x0, 0xffffffffffffffff) [ 329.573555][ T9607] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. 15:21:48 executing program 3: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x4, &(0x7f0000000140)=@framed={{}, [@func]}, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:49 executing program 2: socket$packet(0x10, 0x3, 0x300) 15:21:49 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000140001002abd7000fcdbdf250a000100020000004c0002"], 0x6c}}, 0x0) 15:21:49 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/block/ram10', 0x0, 0x0) 15:21:49 executing program 3: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x3, &(0x7f0000000140)=@framed, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000300), 0x10}, 0x80) 15:21:49 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_NEWPDP(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000180)={0x14}, 0x14}}, 0x0) 15:21:49 executing program 1: openat$binder_debug(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) [ 330.401475][ T9617] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. 15:21:49 executing program 2: mmap(&(0x7f0000ffb000/0x4000)=nil, 0x4000, 0x0, 0x13030, 0xffffffffffffffff, 0x0) 15:21:49 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) connect$netlink(r0, &(0x7f00000006c0)=@proc={0x10, 0x0, 0x25dfdbfd}, 0xc) 15:21:49 executing program 3: socketpair(0x1a, 0x0, 0x0, &(0x7f0000004fc0)) 15:21:49 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000002940)=@base={0x18}, 0x48) 15:21:49 executing program 2: syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) 15:21:49 executing program 0: io_setup(0x9, &(0x7f00000010c0)=0x0) io_submit(r0, 0x1, &(0x7f0000002580)=[&(0x7f0000001140)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}]) 15:21:49 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_GET_UNCONFIRMED(r0, &(0x7f0000000a40)={0x0, 0x0, &(0x7f0000000a00)={0x0}}, 0x0) 15:21:49 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r0, 0x81f8943c, 0x0) 15:21:49 executing program 1: r0 = epoll_create(0x8080) pwrite64(r0, 0x0, 0x0, 0x0) 15:21:49 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xc00c620f, 0x0) 15:21:49 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) fsetxattr$trusted_overlay_nlink(r0, &(0x7f0000000000), &(0x7f0000000040)={'L-'}, 0x16, 0x0) 15:21:49 executing program 2: syz_open_dev$usbmon(&(0x7f0000001480), 0x0, 0xc02) [ 330.560807][ T9645] binder: 9644:9645 ioctl c00c620f 0 returned -14 15:21:49 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000140001002abd7000fcdbdf2502"], 0x6c}}, 0x0) 15:21:49 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000000040)={0x1c, r1, 0x1, 0x0, 0x0, {{}, {@void, @void}}, [@NL80211_ATTR_FTM_RESPONDER={0x8, 0x10e, 0x0, 0x1, [@NL80211_FTM_RESP_ATTR_LCI={0x4}]}]}, 0x1c}}, 0x0) 15:21:49 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x0) 15:21:49 executing program 2: openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mlock(&(0x7f0000ff8000/0x4000)=nil, 0x4000) [ 330.603418][ T9651] netlink: 84 bytes leftover after parsing attributes in process `syz-executor.3'. 15:21:49 executing program 3: socketpair(0x0, 0x0, 0x0, 0x0) syz_open_dev$vcsn(&(0x7f0000000400), 0x0, 0x0) 15:21:49 executing program 2: pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000540)={0x6}, &(0x7f0000000580), 0x0) 15:21:49 executing program 0: syz_open_procfs(0x0, &(0x7f00000035c0)='oom_score\x00') 15:21:49 executing program 1: r0 = socket$inet(0x2, 0x3, 0x6) sendto(r0, 0x0, 0x0, 0x20048095, 0x0, 0x0) 15:21:49 executing program 2: pselect6(0x40, &(0x7f0000000180), 0x0, 0x0, &(0x7f0000000240), &(0x7f00000002c0)={&(0x7f0000000280)={[0x2]}, 0x8}) 15:21:49 executing program 0: openat$rtc(0xffffffffffffff9c, &(0x7f0000005b80), 0x0, 0x0) 15:21:49 executing program 3: openat$rtc(0xffffffffffffff9c, &(0x7f00000000c0), 0x200400, 0x0) syz_clone(0x1f000000, 0x0, 0x0, 0x0, 0x0, 0x0) 15:21:49 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x5450, 0x0) 15:21:50 executing program 0: r0 = socket$unix(0x1, 0x5, 0x0) recvmsg$unix(r0, &(0x7f0000000280)={0x0, 0x0, 0x0}, 0x0) 15:21:50 executing program 2: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000100)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) ioctl$VHOST_VDPA_SET_CONFIG_CALL(r0, 0x4004af77, 0x0) 15:21:50 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000ac0)='./binderfs/binder0\x00', 0x800, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000dc0)={0x20, 0x0, &(0x7f0000000cc0)=[@register_looper, @acquire={0x40046305, 0x1}, @enter_looper, @request_death], 0x1, 0x0, &(0x7f0000000d40)='&'}) 15:21:50 executing program 3: openat$rtc(0xffffffffffffff9c, &(0x7f00000000c0), 0x200400, 0x0) syz_clone(0x1f000000, 0x0, 0x0, 0x0, 0x0, 0x0) 15:21:50 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{0x0, 0x0, &(0x7f00000005c0)=[{0x0}, {&(0x7f0000000380)="f3", 0x1}], 0x2}}], 0x1, 0x0) 15:21:50 executing program 2: r0 = epoll_create(0xa473) mmap(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x13, r0, 0x0) 15:21:50 executing program 1: r0 = epoll_create(0xa473) io_setup(0x9, &(0x7f00000010c0)=0x0) io_submit(r1, 0x3, &(0x7f0000002580)=[&(0x7f0000001140)={0x0, 0x0, 0x0, 0x5, 0x0, r0, &(0x7f0000001100)}, 0x0, 0x0]) 15:21:50 executing program 2: pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0xb8a}, 0x0, &(0x7f0000000140)={&(0x7f0000000100), 0x8}) 15:21:50 executing program 0: openat$kvm(0xffffffffffffff9c, &(0x7f000000c880), 0x0, 0x0) 15:21:50 executing program 3: openat$rtc(0xffffffffffffff9c, &(0x7f00000000c0), 0x200400, 0x0) syz_clone(0x1f000000, 0x0, 0x0, 0x0, 0x0, 0x0) 15:21:50 executing program 0: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x5460, 0x0) 15:21:50 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000000280)=ANY=[@ANYBLOB="8c000000", @ANYRES16=r1, @ANYBLOB="0100000000000000000002"], 0x8c}}, 0x0) 15:21:50 executing program 3: openat$rtc(0xffffffffffffff9c, &(0x7f00000000c0), 0x200400, 0x0) syz_clone(0x1f000000, 0x0, 0x0, 0x0, 0x0, 0x0) 15:21:50 executing program 0: syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) [ 330.838950][ T9700] netlink: 120 bytes leftover after parsing attributes in process `syz-executor.2'. 15:21:50 executing program 1: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) ioctl$VHOST_VDPA_SET_CONFIG_CALL(r0, 0x4004af77, 0x0) 15:21:50 executing program 2: io_setup(0x9, &(0x7f00000000c0)=0x0) io_cancel(r0, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_getevents(r0, 0x0, 0x0, 0x0, &(0x7f00000002c0)) 15:21:50 executing program 3: socketpair(0x0, 0x0, 0x0, &(0x7f0000004fc0)) 15:21:50 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000000280)={0x8c, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_BEACON_HEAD={0x6f, 0xe, {@with_ht={{{0x0, 0x3}, {}, @device_b, @device_a, @random="1962d7351274"}}, 0x0, @default, 0x0, @val, @val, @val={0x3, 0x1}, @val={0x4, 0x6}, @val={0x6, 0x2}, @void, @void, @val={0x2a, 0x1}, @void, @val={0x2d, 0x1a}, @void, @val={0x71, 0x7}, @val={0x76, 0x6}}}]}, 0x8c}}, 0x0) 15:21:50 executing program 1: openat$binderfs(0xffffffffffffff9c, &(0x7f0000000200)='./binderfs/custom0\x00', 0x0, 0x0) 15:21:50 executing program 3: pselect6(0x40, &(0x7f0000000000), 0x0, 0x0, 0x0, &(0x7f0000000140)={0x0}) 15:21:50 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x24, 0x21, 0xd82f869737138495, 0x0, 0x0, {}, [@FIB_RULE_POLICY=@FRA_PRIORITY={0x8}]}, 0x24}}, 0x0) [ 331.135070][ T8488] usb 5-1: new high-speed USB device number 7 using dummy_hcd [ 331.524839][ T8488] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 331.814698][ T8488] usb 5-1: string descriptor 0 read error: -22 [ 331.820596][ T8488] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 331.827167][ T8488] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 331.876350][ T8488] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 332.080147][ T8488] usb 5-1: USB disconnect, device number 7 15:21:51 executing program 0: syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) 15:21:51 executing program 2: socket$packet(0x5, 0xb, 0x300) 15:21:51 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000480)=@base={0x0, 0x0, 0x0, 0x0, 0x6, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x1}, 0x48) 15:21:51 executing program 3: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000140)='/sys/block/fd1', 0x0, 0x0) 15:21:51 executing program 2: openat$sysfs(0xffffffffffffff9c, 0x0, 0x0, 0x0) syz_genetlink_get_family_id$tipc2(&(0x7f0000003f80), 0xffffffffffffffff) 15:21:51 executing program 3: r0 = socket$netlink(0x10, 0x3, 0xf) bind$netlink(r0, &(0x7f0000000000)={0x10, 0x0, 0x25dfdbfd, 0x4}, 0xc) 15:21:51 executing program 1: openat$pfkey(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r0 = socket$unix(0x1, 0x1, 0x0) sendmsg$unix(r0, &(0x7f0000009ec0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000009e40)=ANY=[@ANYBLOB="18000000000000000100000001000000", @ANYBLOB=','], 0x68}, 0x0) 15:21:51 executing program 3: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) recvfrom$unix(r0, 0x0, 0x0, 0x0, 0x0, 0x0) [ 332.894736][ T3750] usb 5-1: new high-speed USB device number 8 using dummy_hcd [ 333.254992][ T3750] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 333.495081][ T3750] usb 5-1: string descriptor 0 read error: -22 [ 333.503195][ T3750] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 333.511523][ T3750] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 333.576679][ T3750] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 333.792150][ T3750] usb 5-1: USB disconnect, device number 8 15:21:53 executing program 2: openat$kvm(0xffffffffffffff9c, &(0x7f00000002c0), 0x137040, 0x0) 15:21:53 executing program 1: r0 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000500), 0x240000, 0x0) syz_genetlink_get_family_id$tipc(&(0x7f0000000800), r0) 15:21:53 executing program 0: syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) 15:21:53 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x21, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0xa, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}]}, 0x30}}, 0x0) [ 334.320050][ T9742] netlink: 'syz-executor.3': attribute type 10 has an invalid length. 15:21:53 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40086602, 0x0) 15:21:53 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x1c, 0x21, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x1}}, 0x1c}}, 0x0) 15:21:53 executing program 1: getresuid(0x0, 0x0, 0x0) syz_open_dev$usbmon(&(0x7f0000001480), 0x0, 0x240100) 15:21:53 executing program 2: openat$pfkey(0xffffffffffffff9c, &(0x7f0000000100), 0x101200, 0x0) 15:21:53 executing program 3: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000040)={0x2, &(0x7f0000000000)=[{0x0, 0x1f}, {0x2, 0x0, 0x0, 0x659fc9e5}]}, 0x10) 15:21:53 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x38, 0x48, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback={0xff00000000000000}}, @IFAL_LABEL={0x8}]}, 0x38}}, 0x0) [ 334.614728][ T824] usb 5-1: new high-speed USB device number 9 using dummy_hcd [ 334.974733][ T824] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 335.215593][ T824] usb 5-1: string descriptor 0 read error: -22 [ 335.221604][ T824] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 335.230254][ T824] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 335.277893][ T824] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 335.486658][ T824] usb 5-1: USB disconnect, device number 9 15:21:55 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x6) r1 = syz_genetlink_get_family_id$tipc(&(0x7f0000000800), 0xffffffffffffffff) sendmsg$TIPC_CMD_DISABLE_BEARER(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)={0x28, r1, 0x0, 0x0, 0x0, {{}, {}, {0xc, 0x13, @l2={'ib', 0x3a, 'sit0\x00'}}}}, 0x28}}, 0x0) 15:21:55 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{&(0x7f0000000200)=@abs, 0x6e, &(0x7f00000005c0)=[{&(0x7f0000000280)='{', 0x1}, {0x0}, {&(0x7f00000003c0)="f9", 0x1}, {0x0}, {&(0x7f00000004c0)="a2", 0x1}], 0x5}}], 0x1, 0x0) 15:21:55 executing program 0: syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x1, [{0x0, 0x0}]}) 15:21:55 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x6c, 0x21, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FRA_DST={0x14, 0x1, @local}, @FRA_SRC={0x14, 0x2, @private0}, @FRA_SRC={0x14, 0x2, @ipv4={'\x00', '\xff\xff', @loopback}}]}, 0x6c}}, 0x40000) 15:21:55 executing program 2: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDPRL(r0, 0x89f5, &(0x7f0000002680)={'sit0\x00', 0x0}) 15:21:55 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000640)={0x0, 0x0, &(0x7f0000000600)={&(0x7f0000000580)=@bridge_delneigh={0x20, 0x1d, 0x1, 0x0, 0x0, {}, [@NDA_FDB_EXT_ATTRS={0x4}]}, 0x20}}, 0x0) 15:21:55 executing program 3: r0 = syz_open_procfs(0x0, &(0x7f0000000140)='net/arp\x00') read$FUSE(r0, 0x0, 0x0) 15:21:55 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) r2 = epoll_create(0xa473) sendmsg$unix(r1, &(0x7f0000009ec0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000009e40)=ANY=[@ANYBLOB="18000000000000000100000001000000", @ANYRES32=r0, @ANYRES32=r2, @ANYRES32], 0x68}, 0x0) 15:21:55 executing program 1: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000440)='/proc/zoneinfo\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000480)={0x2020, 0x0, 0x0, 0x0}, 0x2020) ioprio_set$uid(0x2, r1, 0x6000) 15:21:55 executing program 3: socket$inet(0xa, 0x5, 0x0) [ 336.284706][ T3750] usb 5-1: new high-speed USB device number 10 using dummy_hcd [ 336.655284][ T3750] usb 5-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 336.906155][ T3750] usb 5-1: string descriptor 0 read error: -22 [ 336.912505][ T3750] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 336.920138][ T3750] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 336.965562][ T3750] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 337.174607][ T3750] usb 5-1: USB disconnect, device number 10 15:21:56 executing program 1: pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)={0x0, 0x3938700}, &(0x7f0000000140)={&(0x7f0000000100)={[0x401]}, 0x8}) 15:21:56 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) sendmsg$unix(r0, &(0x7f0000008580)={0x0, 0x0, 0x0}, 0x200000d0) 15:21:56 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{&(0x7f0000000200)=@abs, 0x6e, &(0x7f00000005c0)=[{&(0x7f0000000280)='{', 0x1}, {&(0x7f0000000380)="f3", 0x1}, {&(0x7f00000003c0)="f9", 0x1}, {0x0}, {&(0x7f00000004c0)="a2", 0x1}], 0x5}}], 0x1, 0x0) 15:21:57 executing program 0: bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x0, 0x1f, 0xcb3}, 0x48) syz_clone(0x60045780, 0x0, 0x0, 0x0, 0x0, 0x0) 15:21:57 executing program 3: openat$uhid(0xffffffffffffff9c, &(0x7f0000003680), 0x802, 0x0) 15:21:57 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) ioctl$sock_SIOCGIFBR(r0, 0x8940, &(0x7f00000001c0)=@generic={0x1}) 15:21:57 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x1c, 0x2c, 0x1}, 0x1c}}, 0x0) 15:21:57 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_GET_BYNAME(r0, &(0x7f0000000740)={0x0, 0x0, &(0x7f0000000700)={0x0, 0x74}}, 0x0) connect$netlink(r0, &(0x7f0000000040)=@proc={0x10, 0x0, 0x0, 0x1000000}, 0xc) 15:21:57 executing program 1: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) ioctl$RTC_EPOCH_SET(r0, 0x4008700e, 0x0) 15:21:57 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x1c, 0x21, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x0, 0x20}}, 0x1c}}, 0x0) 15:21:57 executing program 3: r0 = socket$tipc(0x1e, 0x5, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000000)={'macvlan1\x00'}) 15:21:57 executing program 0: io_setup(0xe35a, &(0x7f00000001c0)=0x0) io_getevents(r0, 0x0, 0x0, 0x0, 0x0) r1 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x0, 0x100010, r1, 0x0) 15:21:57 executing program 2: io_setup(0x9, &(0x7f00000000c0)=0x0) io_getevents(r0, 0x0, 0x0, 0x0, 0x0) 15:21:57 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x9, 0x1f, 0x3ffdcf, 0x2100}, 0x48) 15:21:57 executing program 1: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000000c0)=@getae={0x40, 0x1f, 0x1, 0x0, 0x0, {{@in=@broadcast}, @in=@empty}}, 0x40}}, 0x0) 15:21:57 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/block/fd1', 0x200000, 0x0) 15:21:57 executing program 1: r0 = epoll_create(0xa473) fsetxattr$trusted_overlay_nlink(r0, &(0x7f0000000140), 0x0, 0x0, 0x0) 15:21:57 executing program 1: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) mmap$xdp(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x4, 0x100010, r0, 0x0) 15:21:57 executing program 3: syz_usb_connect$cdc_ecm(0x0, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x300, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}, {[], {}, {{0x9, 0x5, 0x3, 0x2, 0x10}}}}}]}}]}}, 0x0) 15:21:57 executing program 0: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000040)={0x5, &(0x7f0000000000)=[{0x7, 0x1f, 0x7, 0xffffffff}, {0x0, 0xd7, 0x4, 0x200}, {0x0, 0x9, 0x3, 0x3}, {0x2, 0x0, 0xf2, 0x659fc9e5}, {0x8, 0x81}]}, 0x10) 15:21:57 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x8, &(0x7f0000000140)=@framed={{}, [@initr0, @ldst, @jmp, @func]}, &(0x7f00000001c0)='GPL\x00', 0xee, 0x97, &(0x7f0000000200)=""/151, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:57 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x1c, 0x21, 0xd82f869737138495}, 0x1c}}, 0x0) 15:21:57 executing program 2: syz_open_dev$vcsn(&(0x7f0000000740), 0x1, 0xfc341) 15:21:57 executing program 1: ioctl$HIDIOCGUSAGES(0xffffffffffffffff, 0xd01c4813, 0x0) ioctl$HIDIOCGREPORTINFO(0xffffffffffffffff, 0xc00c4809, 0x0) openat$null(0xffffffffffffff9c, 0x0, 0x0, 0x0) write$ppp(0xffffffffffffffff, 0x0, 0x0) openat$null(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) syz_open_dev$vcsn(0x0, 0x0, 0x0) sendmsg$IPCTNL_MSG_CT_DELETE(0xffffffffffffffff, 0x0, 0x0) clock_gettime(0x0, 0x0) select(0x0, 0x0, 0x0, 0x0, 0x0) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000001f00)={0x1, &(0x7f0000001ec0)=[{0x2, 0x0, 0x0, 0xebe}]}) 15:21:57 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000680001002abd7000fcdbdf2502000100100000004c000200020000000600000000000000fe0000000100000029000000000000008100000000000000c50000000000000000000000020000000600000000000000020000000200000005000000080005"], 0x6c}}, 0x0) 15:21:57 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x58, 0x21, 0xd82f869737138495, 0x0, 0x0, {0xa, 0x14, 0x20, 0x0, 0x1, 0x0, 0x0, 0x1}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FRA_DST={0x14, 0x1, @local}, @FIB_RULE_POLICY=@FRA_OIFNAME={0x14, 0x11, 'caif0\x00'}]}, 0x58}}, 0x0) [ 338.214745][ T8486] usb 8-1: new high-speed USB device number 4 using dummy_hcd [ 338.596562][ T8486] usb 8-1: unable to get BOS descriptor or descriptor too short [ 338.664726][ T8486] usb 8-1: unable to read config index 0 descriptor/start: -71 [ 338.669837][ T8486] usb 8-1: can't read configurations, error -71 15:21:58 executing program 1: openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x0, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000001180), 0x2802c0, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) sendmsg$IPCTNL_MSG_CT_DELETE(0xffffffffffffffff, 0x0, 0x4004) clock_gettime(0x0, &(0x7f00000014c0)={0x0, 0x0}) select(0x40, &(0x7f0000001400)={0x0, 0x80000000, 0x3, 0x8}, &(0x7f0000001440)={0x1, 0x0, 0xf, 0xfd0b, 0x0, 0x6}, &(0x7f0000001480)={0x3f}, &(0x7f0000001500)={r0, r1/1000+10000}) 15:21:58 executing program 3: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) getsockopt$packet_buf(r0, 0x107, 0x0, 0x0, 0x0) 15:21:58 executing program 2: socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) connect$tipc(r0, 0x0, 0x0) 15:21:58 executing program 0: clock_getres(0x6, &(0x7f0000000100)) 15:21:58 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000150001002abd7000fcdbdf2502000100100000004c000200020000000600000000000000fe0000000100000029000000000000008100000000000000c5000000000000000000000002000000060000000000000002000000020000000500000008"], 0x6c}}, 0x0) 15:21:58 executing program 2: prctl$PR_SET_VMA(0x53564d41, 0x0, &(0x7f0000ffe000/0x2000)=nil, 0x2000, &(0x7f0000000000)=',\x1f\v@,\',\x00') 15:21:58 executing program 0: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000300)) munlock(&(0x7f0000ff8000/0x4000)=nil, 0x4000) [ 339.119107][ T9840] netlink: 'syz-executor.1': attribute type 2 has an invalid length. 15:21:58 executing program 3: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) bind$unix(r0, 0x0, 0x0) 15:21:58 executing program 0: r0 = socket$netlink(0x10, 0x3, 0xa) sendmsg$AUDIT_USER(r0, &(0x7f0000000880)={0x0, 0x0, &(0x7f0000000840)={&(0x7f0000000780)={0x24, 0x3ed, 0x0, 0x0, 0x0, "88325ea8c81238b9f578253b4d87f36a79"}, 0x24}}, 0x0) 15:21:58 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000000040), 0x41, 0x0) 15:21:58 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000300), 0x0, 0x0) ioctl$SIOCSIFHWADDR(r0, 0x8924, 0x0) 15:21:58 executing program 3: getresuid(0x0, 0x0, 0x0) syz_open_dev$usbmon(&(0x7f0000001480), 0x0, 0x0) 15:21:58 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000a80)='/sys/module/pci_hotplug', 0xc000, 0x0) 15:21:58 executing program 0: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/block/fd1', 0x0, 0x0) io_setup(0x2, &(0x7f00000000c0)) 15:21:58 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_TX_RING(r0, 0x11b, 0x3, &(0x7f0000000080)=0x8000, 0x4) 15:21:58 executing program 3: r0 = socket$unix(0x1, 0x1, 0x0) sendmsg$unix(r0, &(0x7f0000009ec0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x68}, 0x0) 15:21:58 executing program 2: pselect6(0x40, &(0x7f0000001340), 0x0, &(0x7f00000013c0)={0x6}, 0x0, 0x0) 15:21:58 executing program 1: r0 = socket$unix(0x1, 0x2, 0x0) recvmsg$unix(r0, &(0x7f0000001480)={0x0, 0x0, 0x0}, 0x0) 15:21:58 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_GET_BYNAME(r0, &(0x7f0000000740)={0x0, 0x0, &(0x7f0000000700)={&(0x7f0000000680)=ANY=[], 0xf}}, 0x0) 15:21:58 executing program 3: mmap$usbmon(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x0, 0x10, 0xffffffffffffffff, 0x7fff) 15:21:58 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0xa, &(0x7f0000000140)=@framed={{}, [@initr0, @cb_func, @ldst, @jmp, @func]}, &(0x7f00000001c0)='GPL\x00', 0xee, 0x97, &(0x7f0000000200)=""/151, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:21:58 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{&(0x7f0000000200)=@abs, 0x6e, &(0x7f00000005c0)=[{&(0x7f0000000280)='{', 0x1}, {&(0x7f0000000380)="f3", 0x1}, {&(0x7f00000003c0)="f9", 0x1}, {0x0}, {&(0x7f00000004c0)="a2", 0x1}], 0x5}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000002980)=[@rights={{0x10}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee00, 0xee00}}}], 0x30}}], 0x2, 0x0) 15:21:58 executing program 0: r0 = socket$netlink(0x10, 0x3, 0xf) sendmsg$TIPC_CMD_DISABLE_BEARER(r0, &(0x7f0000000240)={&(0x7f0000000140)={0x10, 0x0, 0xc1, 0x80202}, 0xc, &(0x7f0000000200)={&(0x7f00000001c0)={0x34, 0x0, 0x0, 0x0, 0x0, {{}, {}, {0x18, 0x13, @l2={'ib', 0x3a, 'veth1_virt_wifi\x00'}}}}, 0x34}}, 0x0) 15:21:58 executing program 3: openat$sysfs(0xffffffffffffff9c, &(0x7f00000024c0)='/sys/block/ram13', 0xb0000, 0x0) 15:21:59 executing program 2: socketpair(0x2c, 0x0, 0x0, &(0x7f0000000100)) 15:21:59 executing program 1: r0 = socket$inet(0x2, 0xa, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x4b47, 0x0) 15:21:59 executing program 0: syz_open_dev$loop(&(0x7f0000000180), 0x0, 0x0) syz_clone(0x1f000000, 0x0, 0xffc7, 0x0, 0x0, 0x0) 15:21:59 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x38, 0x48, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback={0x2}}, @IFAL_LABEL={0x8}]}, 0x38}}, 0x0) 15:21:59 executing program 3: pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000540)={0x6}, 0x0, 0x0) 15:21:59 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$EXT4_IOC_MIGRATE(r0, 0x6609) 15:21:59 executing program 1: munlock(&(0x7f0000ffb000/0x3000)=nil, 0x3000) socketpair(0x0, 0x0, 0x0, &(0x7f0000004fc0)) 15:21:59 executing program 0: munlock(&(0x7f0000ffb000/0x3000)=nil, 0x3000) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) syz_genetlink_get_family_id$gtp(&(0x7f0000005040), 0xffffffffffffffff) 15:21:59 executing program 2: r0 = syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) sendmmsg(r0, &(0x7f00000096c0)=[{{&(0x7f00000001c0)=@llc={0x1a, 0x337, 0x6, 0x6, 0x3, 0x1, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x1c}}, 0x80, &(0x7f0000003640)=[{&(0x7f0000000280)="43376d8e7db19556e8f689cb57a7a8bec4ed574b506fc5a7cc3d38baa23661dd29bdfaf8830363affa45cd28fff186", 0x2f}, {&(0x7f0000000640)="0fc5d3ea74fd5eb27585f7e8e637dc0be1f89690a8318ef7b5cbfea360eadfb490f41973676f21d294b6058dadc19804e87de89727bd3637067022c254f82dd2ab1388c9536bf1b088cca4140c9971bbc087fcf3abd07231c414f11853f9c3f1af55c79a92b395261b70afde1f1fb9694e7385acdf2bb357129339e6e7de73368b4749a2356443f6882fa090fba7c15ebc67d8e79199f6cfccbc2192dd7fc400ae1bb4937964fd21908023bcf2dd4acd7bf5d36bee95f225f575b91c0afd5ebb3bf6c3acdec0b521b986dea7a60387155fed04641e61e691c5ec5176eaade0f52b044497886d0b85a3b5612692276fa0ce7a10f275546a9b1a8954fe5097794f6eb39dc3263665d8d976b40c82f96d7ccb03328d0b737a9f78a0d4447f3dff1f3c0f04ee3dca03327cff280a31bd313dd46ab328472d5bd529d233ddb591a08c9a61da1bb69b621b5b367ffc5103415f6189b188fa2d45fc8dfc17f501c7aefdd981ae87e84a6bd3e00fa9487105ce4536180e4e908029b2169663f73c6ec7b418df74cb59661046a63ccbb1b0633125c739903b2a55402d1676b3101d4feea8c62cf81afdb0102deb2b0f56ea3c7a236454a35acb2c12e32b2124a762e15043b9e8606ed387afaeff5f02f4bfd6eecc49b9dd4b71f46b761f062465881430d1bcc9b35b8882ed6949c8015ff3ebd1160d618d0b783939ab4074b0bb597c6bda1fc0409412bac69ea0e2dfe67422c1709bb2eb0a52a3e7fa2fc16d3ed7d9a0163a90f08ad95be2404745de0dfe227461fc65ccfee7c1cd67e17744f63330afb8c6c7a132a5a0195528fb4a2abf13e89755818ade1428af05661d35e272463950253474268659e0bb8184e4fd2cddd28ff6701257b87741209edeb2093350b95f3a508b76beb252be691b2410b8d472af3201769b89909d16b6c9ff1faadd36dd395003e4a71c05c8f9ba8bbfaa8f0aae2fc31fa4eb6fe1d541dd436250ae2e2a782bee350d61522e54db0043c71c4b9fb73e943f9986dec2413945e9d2320d7914925b13afb5eaf3a5bf971f0d4972ed3994b144f47e51ba266a5bdedfb7ec8031c2f5066f755bca2b6330a398a44ae7cff22b2f2a04e0bc1359feeae3d2defc665f5ec9ca08c5a0800e6813415fef00033ff40eebbfeca82d99bcc9badf17a06540fd556cf347701c439dd71da3d17d32d7ba1786103c33de7df99ac13863574bf245b0147901887c1a29b7dbe0c3055358c27f9900f9595c56c8643b2cfc0e9ffb5e4f21bba9be1fc7e9e3c7648d8ec9ee79d3a31a887b909cf9d9a159600d110c1d2c37ecabf94d35c55022eb3c9766ebd9fe11ed1892c510b08c86598ce430de4a08ef5742c1e4ea26b4681ff46443877a7fb6371469c4b7d33cb28ed0637e2c0aeea6aacc85ff0cebf54d0357d5b3a5ce8669f0e2016a58cfb56efcf2391932afaff405ab3de535c1451a5adb51d4d51dc133825986eb500b9385e9e803d02f61ffb6d9b2e01b154ebdc1d29e27b544aacfbe367ee4a7a474f0277131acc9b69b7c91d92936702ef9afb58cf52501f24c768fa59f88e5cdfef754887df03e736cccd14daedd15bd646dbc82a9fe0936fc9754fc733149e95801917bf6fe9544e29bda7c41419e3a63c787af8df8746cf94611ef228b3564bd1c14761c54556b201e74bc6fb177dac7b9ed8af1b68f9cea3155e6f21116821738975c3c62ccdb115f58f1a99a17aa0ddd6a58e983544235027f3078e1a097f45904217e2eb5cefd383108f57e85e9c78b10243e0365f4c7947e44c1824eff2c95d283e09025b78975a26eb8dbbcf5187a4479aa22fc39d79b1ed6daed1b289812f44984547dc20b2b2286b0ad62eb94d3afd0889f42646ffb85959cf41961ff20efce4bb3ba11575a84a92924a33ec4813a995e6a407bfb8ffae3944fa1cb0dd867a10c27e8f6f9bcecea6fcbec1570979b9e704de36aa296d1b20ac23713a848409a7f0f5d6700c79f1a9cf33fb1fd9a60817cf93e8952ce5bc7246edb5a041ea69f4ff23972c1663a59603fced33cdabfe5f44f2c1082a72eb1f04d2e707488f251e13ca8d44dffaa576e6f2c3f3af2195a618fbb8e5aab60524a05f1e00e49096667887eb39256be29ef98a8897bbbbd92b0471d2ea2a153b984851a7fc368e57131500f8221ff81293d0eb814504f810f1b477cffb69a62bb017dec6c829ed4d05ddb004641c6f26198bfd841dc0031e8aec8dbf742c16237f0756435274662803407cb4c5216a5521a9b0005574c2447a4ff588897c04a67aa947d73f3337d2cd3779df02af094a62079846311283342f3e0fc05b82c3e45715b1bf7a9f68183a2407c45695970849225d885d1691adfc134540737bffd1efe4498b3a2240b912d46b0d905e4a884fe959dd409b9aa9cc551e586e8500bd9e1450ccdca90633dd632c298dc54f5dd8e050b93de310b9b4fea73a56ba1fb1e88b8598541cc6e0f58f6d39d293528a194e94054a796f8965fdbf578f9a446e1b425fc65a68f32dae705b23d4c175ec26bfb60e239b1f3d627c1ecfab477e6733b5491d04ce7acbd72e7228d5e0e8c0b551827fa49ecf7bd53b21d3549c1f76a423856cc9ae122af176397d83073c958b5755e2cc1386aa08399fb93e0d05b67d5689b2d9a2ad005d8c9b6e1fe3a2f0243668a95ee37ad284ecfb0748b49c66f933ca21d750571b89670a30830dab2eef3d346afca58c60923e4a5ec40efee0c78ac87d7a6c13866927c46ac62bc682742a2835c35dcbe6afc6ec1ab6800c73cd39f61aaad715bb7c3ad48de42d53b7ba4cd5b7d65652ed38ab99c652eae06ff9fc519b4db1fcb8aabad52746c0bbb9811c76a561fa14dea099680266c85fd4d106f4344734d354889994db6de33fda62083f8383f66742629131535e57ac84e10996cd56b2b02d413cf9539fa5fce55e36893cbc365420d4d2d757d39bf61d71146f8364353535f46d265b08c08eae603ebc2d1875874d2f73491397a832d4eded0f52295a6a99cf0931c1d9361fa99758d7deb7c1c3aec4d54c96c7c61f5317f30d20c34c2080a034e15f23a7eab5e2e6b7d7f1da6ed1f807267e5c99312a26358086ef52dd9fa10ef30f703e64109a878b1de23ca08dc65ea05de6cac2312bcbf157690b30991e29a5fec9bfda6e7b5580272d2e0b34e98c0b2000b801bacd6c0c50473e6e9d01407fe06bf9e329825774beb1df6fe8dbfffb589346a29badcaa7b0c7b2a337b30b96f850a1409fbe2ad444dfd1ee9fa9a6e203607ea0ddeeb2d51c2c8a2a34b59ecacf289da5757541c2d4b0676c752bf877401dbf57d560d3cedd59731759b0421cb9fb36160f5c0519ba0cc3ceab33a3b4a5e54d2ea9f0bff506861ba325bd7aa72dd50d84698493eb22ed3887cd15ddd8ed19579d536ed065ec9d228d9acd370e1277b086d4b4aa72a1cf92c805cbc21845fb331e9ee97853818603f560582174b985993ebc718c284c9a760cd5c940c8311c85e4d167143a54b08f4d0e0a51ccb03189cae6678465503ae3ddb5760930eea35616c3a245775777743984abe3bc8e3dbbd6f0e7f1d6f905c39f00db4b9f43ff5adabaa44ac4ef1ac555c900a06ac17459c916b5c6007b0e9399530e9f265d885d151dd9a4357f1be59d5ada8e24c620c4265b1ac46aab628f7762d05f552dba08fd9f71d6ed0086ad201720011fce10c968e8f1e77920d76e51c7f3285483724b0ae716404960eee0284734d88f2289252790b22043890cfd6e05c6eeddf575819265632b6131d59d55d90a1f316883063cfb89f81d1212f153626da49ed1be6dce07f9143dd6e6f4d8bc62e22d211679d18ecd95957c070d4124d391351c51b86e1c9970de4197051fcbef0b12a1772c3f8c2a4ef2e226742e01d346f8947650dcd2e964b5389c6b748dfa676854969e1c09ba6a1d6931e656219bd26219276ed60d366888c65bd353400fce5b1f72636b75323f58b72bbb431c27a0fe419c468ae4e2b72d69764f2cb77ca48de00d62cb907369db629d272a76d6e5ae357e327ef3c72714b1d9d12c88b3504fb117ad228fe6e6859edfe6860c072b59a304b36516b3a99840d38aa604d38a10a524c2eac901ea851942dd8fc1ee16dbffa12a031643874c60132722139491adf6831b0707b735f01199421271c1716f4f17eaebadcf48c566953a5b03b47a5e9a17c47d1a0d12de3a9aa5900c502798127e3513c24ec2ac2b87aa330eaf8abf1a29d621f2b074a3cb7a2ed225a9b7f82bf9048f9e5c902b9014a41efb48d16960450d35917d5c1684db5461405012bd5397b52d05721deba37d3746ae53008be7a2561b57995eb5233c58b", 0xc0c}, {&(0x7f0000000300)="49b8ae6ca082256de851b911ee1579050c192a6b11920104a3102e462276326b9357c76d87beb9b257ada363f411701e3e8247cf767b08710917965ed2882f0b702125f883fc1073c2c245ac3b9111fac5a8f658a08f48a47103", 0x5a}, {&(0x7f0000000380)="c02101e0c167348832e66a07a24ff1ef7946b3ea5a449faaa432b7c825f39a5bbd60662a73463b6835bb46eb79f7cacc5b74e5fa155c899a883a68d881fc70d4284f160c1ea8f2de1757b5ec2fb95baa4153f0a0711a76a840d44b93133cd229e508b301e750dc10f859ed3680daf9e097b6b8841dd796b698065534dffebc704b420a300ef43f0e3f5a542e3576544f9ce239a2727821d2fcbec97bf64f8bd8fc44f6f3f0702803cf1e021e4579700b01b558e8fe8bfeb51445f324057765baff37528d51d3e8b3ee3153ffa10c", 0xce}, {&(0x7f0000000480)="3f7aaf23a54074712ae800a6892e3c203d76a7acfa47ad9512ad48cdfd46950bc7d1c49a904048a48d5b", 0x2a}, {&(0x7f00000004c0)="17ee6725b2b25726b6e2f576fb4eed434cd63b99a0ea574cbc44913ce5535da7adae64f63227caaad2a46b18009370b746cf3bed55da3fc2469527dbe8b25510027ae8e327b595b07543773e8df9d1330ecb2237ed65024800a6ad18e948352411114a738260cceaa5db2339", 0x6c}, {&(0x7f0000000540)="4b8df76fdd4962781ddee8afc7ede204540dbc8e5dcb203cf12ae558755170c74648c023bce88946b74b13720968f0101519b879c15468deada64e1fd91c8303da457d", 0x43}, {&(0x7f0000001640)="be86e65c3880b1023fbfb599484ee6c3c7daea8d63bafc273753ced5a2ab8c84f9363765545cdc164b8dbda77cb810ad05d83d9426fef1070b4ddbeb6d09781e417e1072108e75de274bbc90661f66118a730630c26d1276ad091d5a2d686c32ccddc23748e4fa1a0c7c3466c208a72df7b1c4d37bfd449393f6c09bbe1e8334b56f99204eacdc221829ce8acefe465e76ff384542a59b9eabf7014c938ce3a9cfabed51058b1baf91f8b201cfed2418aecd37d1338c18208b9827148a58fe5edca46b95490dda0264e1dda74b58d607bda9b38613a4f6b266d9cf2169307357e07cc58cb31fc14dd36c371a70103ac906323995626b28f597a96bbf5a0b6961c6835555e7226a6d30c0d5042b86dd0e570e63f655926ee8831ab99630ff076ae19e71a1256a0f310635103f21e4b5bc93ed7546a5afb00b4bc1e20d435ff2b21f7efa1090e5c86cfd5bd9b4e7b1ff6c0fb1a714412e909323a0bbc7921c784e101571bc440861367b256ed75a64bbfa839fc576267a38f9bb18aad691028357509df13845a5e5443a1d25fdbbfc952ae1afb647b6605a25ef156f649696d00bf8074080ead001eba9170ff0b3b83e9600f561d0467c876a9dd544893d688d0e6ffa8a7b626f716b7d3246d578818a252887760f00610e6d721c28ade238aeb0477fef48aeef8da80877db49094d5729ec90f20903f1adba1f067b033da8fda0cc4f32df437b55712bbbbb7d0ace8ec92db1283078216258b17b4ecd7308cf408775ed4ca51d8050edd72775258dca27a7d3c956f99bbc80f84c7dd063decd3f034a3989b8ae17a11b61da9b8605b35b91cc24482f6a014c6fd8a156def521bdf3f50ee094f231d053d93a041678e04029faa2d477412f988a4afa1182e6e9b430ba051ad20291838779bf268fa1af882f8e31183737acf19115089306341bd7a9f121c6d52b3f8170aca5d684fca85a7eff3702eefc46aff5c7723c5920ea0a73c32da9b4409693e6d23c0792e49585c033ce0578a70305623ece04f4fbb53f94c2a8c4bcdd84269741a6f7ac299725b07fc532ee498d38a00ac36fd5edf627d4d9e2f7951fa13fb3d2084bf061c1ac6d0321666b5b9be00952d046d5082c6b6d9946713d5323c63a8e22992649108de93bfc01f09ccfe72abcf890a598e5aaa46d5f7c76bbe88fec3067eee19da7d4713cdf9cf4e0a3af4b872134a7f0667adee6220b6b99d8320d45dcccddbb0478cc56ec647303dab4ea0c6f6b031ee3c1de9a9bc83f867336ce9a8a1bf638a37ca1a600aac9820edd456a8603868154ce062a9ec1fd00a4aa4c6ac9f04406a12a89510662f565bf63222c7438f2fc4bb86fefbb7c0b5032c2d4649fcca0141a6daa393a5324ed3a52ac90a8cd09153ce622b26c14ab5eeb3d22883b8a01892696ef4b095e251603743b07a63c8e7c348f2cf000af03f0353750affa76281483f71d35aa28731c893e15f75b45b47d7030a7f77f84d5ddc618134f2848c7602e54f2e4a947d34cc196e2623c05d2d5fa570cd984aaf17e44d75e060502ddfcc1d13b9676636e247508956833a496df3e7424a41b23174a51cf6b06052b0335b9942b07169b2dcdf289ad5b1350d4acfb8beeb9a29281f354c78c118194f8cd458a94a8f19563fb076c834c6bedf9c377a6c6db30b959e124293e1f050d083adce69b2b72ce2bfe4d1483edc1a8e565c3942098319a542735123c5c318ab0d23c74b212c432be3ae9bd0dcf7521b28ac84b28b0540c56b570c2cc6cb7376fb89e6c7453caa44c584f7d532a1b42be1c61cf881012df8a64987420e1dd2a3836d7b28f64f3eeac49a02bffc2eb5396121ff7ba4bdf5f690ab0701151ffee2a4a03316475fcf82bd9e22857e1541c447da0c2179ba86525587258d7895ae82e69faaad6d20b73f47fb6e4e12275dbf0d42496ab1d8d0b830f6328db9db32406578bab78450a877eb22a5b213b4ddb332fa0272e727954ee50942c18d0f53a99e43ae5c6eaba932e51da7e8485a2272dde78eaf7f32567504c8af49dea3a4c8ba198e9e2a677259afd906fb15f54adfd6fb4bbcdbd37de6703315a595fba9e64e9de90eb0dfca49e2fdb201eacc734a893931b0e4edb03b93270b75797eb6c5a56066af2295a1e8f6492b52d526f3db8c487a5961315c7a5f0029ce81d1b5f485f47ea218e72084549c8baa19419cf2684ee47a14ae1fe3fdf0c758f9e8e8c68b180c931f59e034ca35c5c01b91f0903663025e3d18aa856161605b0926b55a66a148f0e21f9ce7c28ccad5f7dc6e86562f9279bd6810e6329b60693dc999def74cb41cc554601280d4e782037e368a1778832a3f7c9e06545ca3eab4984153b6184930bd7b94da0afe6778f54d5c70f933b46be4a94ac11722939858a888024efafb4806e57938cc554205cd08ed02bc915bd8dfeca8e6fecccfc76b68b57e2b604e0c2e45864ab5a8cdeb66daf8f4b5f75cd498da07e98f2f76831a041c002ee1e28c4ffe33efec09ef404c285e530d2fccd4522e3b3ffb38ed1d5335f787895ab22d009e140c6f204858aaac500c50cf468825229c72f7a5b0417d21fcaa163f8a15a657da039289c194405c0411631fda9798501f5b8bc6628c8b9f08fc2a2d2a579ad76d600a6936a30ccd42a72073a9d9f20008333149dec8f3ca7fe1e3c14898b8fc52e580454b6c87f3030b00e6b868cacb4af0bd87d5fca20250db2a4a8eca8a0eff4b9486e21200066c892dc249b2eb43ddea51308be00e93c0331093e1218cabd882bc7570a5bfa65785448865bd10e7adaa3efee30be10f49528b6758d02988548409a48ed37c391be8683dd32523b3846b54086a4afaca7497385453bb70421cecf72717bedd4c76f9f7bd8161ce967338a88b43bde3e0e1187c8bbdf74bd487db090233f3129e05de72c5078e008e74944f74d5ee5454929eaa49cdf757ef7c7f60b9b7ab1df06c85d357f07ef356937d2aae0f4b130711a971d9befd2d4a3915a4b71937b38f7a954494768b88e751bc603437c874b2c1d8ab9f15c2c122945cdfbcf3e81a80cce830d83b6d36d8e040d6479e454570c98e131d89d7b2baf005368357f19ea292874e3ca8bbe3248460bd04d1fb48c560d33a76b32bc2882b90771c1673cc6d2a1662b31d9e89ad921b2e1ceeae7f49855ec208952b1180fa2e7f2680f67a178960cb1e91885cc78ea8e0bd8f337bbd9cd200b17e90a0c88d9f69cb715f98474b7ddafcc03864cb13241f8acf6067655ec5e4f2f5984737df3f9dfa8110c6d0f3ada9c8549dd3e4bb76a7c8c99f6bc81c313ec0d125d386c93a3d1d604cb95d495895f71e66d16fd90baee73cc1af3a009b77c5d4307d27367f8719ee4b63615a1ed93eae112b688a345e91c46c6dbb16f3eff6c18729acf3b0ecb88ce264c4cf1297e2273af55d958c02800e710a173ae327baedd1c510dc72caa7ebee9149823c9dfda52227d2168bdb990fd390a79ecca46884339340948ed9f3a7deb89b6c8146e440b53bcacb5cea45e50a4e4c5f0dd7bb4bd69adc932250798976a1724486458a716fe66c81a7a6552332f8caf2b3bb49d91b875c13133fc2df9f39e846ba944a6469d48ea2eedfe5ab8ff3588a6c01bc2e5ce44d5dcfa980307f06beeaa35e5aa0167fe4d21e3e70f6722010238f0502a88e263878c52b26ac45d887b0846f11f5f4e967f22d3297685b073de481ace9b29eb8ee4cd022b6a61a1e2623f849092792d6f05fef0adad7d22c5479c6aa9735e9f5b33393368294d70a638999c8f784d2059e313335b296e136f753796c55e98f2a61dd0645ba2b1c6176ad0e3b1839d138588e0720c9e2fee5b2f304065cead26c60e7bb42f4d0c3631b3ce3512af41d1af50cf4b311bc1c817a6418206ca701e7c027ab19ee3dff9b1b348fe6131882af7b2d7979febecef76af067a3cf52241ae671b82afe46b1d59b5230e06405cc400bccc01801ce18549abb8131577636f2001f29fae66967fd1d6eed1f2f5ab80a86687bdc983ebfc89c1dbcabf375c1976a134134cf676089b980fe9da68b0545a4e15972aa6a27f36559b135edb296cd76f76be8b3f6f09242abbf8e7d222769cc126c5af2170d7f6cec18eb4e916ecaa62fede99bebaea32ff2239f0f2509cea129eb6bf021f0af1694c85a9a2d5868dec86e50960f503e804fe9708acccaef037d8bfd728bda46721214c41f58a7086ed815110f1556504fd1cc32a47e163af695465d07513e8e7a0f2cea22a21dba0ea5e9bd400420d1509d0c0a47a79c6f7d5c2a2b185f3806c5fe5c4ad3f4dda38bede81155dd501879979e5548f18a0621624d513ad1e7597457f6a97497a91cd49a96c3cfd076b3c12bf265721cb201cd6d096fdfe0b7b45c2b46986af5e594ada8c8f5661ee0221d2253371d536c2e1911c99667f2503b7c6d4c4876b2025168c8112c423994004a2fee0baa4787157055d7419433ea492caebd7bacda0674b78bcbfc9b612dcc6a004a639b551153acc46e6ee00e1bbed6af0726478d5b42376645020835fa785fab03ea409f06b05b0bfb05b8e1069e1301fcd3232975a93bd3a032939c99f07a6a5b1dfbb22f97685dd2eff8d141baca168c53789e63c97e89dbc8e1ee6ba20803d8146ef4b7bbfb41dbac44213b1834ca0961e3c6d20e4c8391e45634c0bea3d4397474b52d3631830eb20444c3130b8dadeb402b6dfafdecb532220e44f29657a921ad91b29e19d94db88fdc61f127d94c6f1c83f482296876e79ddf8bc2e8ec0169b0fd9550b21712b7a425065b2284c62299416e429fd14cc7ed19d7eb8dbd5da05e32f21e1e38e012ea6a9e3ebbdb514571d14987349a50bdbb0c3107b809cddcd654d49cdd3368543b5b29b9da16bc3dd95cfc8b66ee092dd65087c54fd53cada14cd3002390e8ff6c30395fd200d0f19ce76c7db7c6e4bf0cb9835949d28069f55a8341cb983e9259a11c06ec835599bf5a8cd5c756376edb978461bcfda58b88725d04f359e5cbeae29d8246d06e7241c75d967469a261aba46fcb682e3a942eaeb5d57bc8711460208b32c0c8a848cd2bbd9c0e46a41dc75aa502e4d7c04259665654903439cc93608ccf01b331dbd3cb4bb14403869dbca0adc29e23d39406b8e371de53939f46d5e651b13526d55e9e91114e9a386894f43d8ff2b0ea0f1423579fb4ed327799d4734c338466d237f74fc6a8b4fcaff3612e5f6abe40c35223d306e44e0a20ae62b09d22fea238d2cbe972359628ce631b8d46dc2d5dd981457b159d20846110368c04328c1da36fb39e3bd844cd2b390030837fc00c8b49240cdcd38f0878f2f702aff7f74e3d440bcf3acd8794d9f3777d761726e6e0fec0ae299a25b5276ce7566b00b413fd08d3b4947b486bfe01e56aed2d5acaaf114877b8927f6f5b52b24272cd54f16dbda457e1a92c0b14b10a10f5ad2be693fafcc315f9d1269cef09157f29612b38e0bd3fd4de6bfd2bbb0f0294c2d9d7a0d09b7737031fafdacef7b8e28c9795c76ae8c720057037e9d407849a25eab9ab9a8bc4c2a45d5c3cbd5817490d90ac2a3a721e458c6a2f5475eec709a3eca60463ea95699ff66d7c8c65624638a72d5d5756b5fc6f6b3597f02a25997924685326782cab99485dcce36966afcb925ff72aff881ae6d9e8718ae82209c1902c6bd661d1bc74b867a795c74efc5ec1058e5c82bb4167244cc37523febab9c5d424922898ac6e35dbc0252d31479cc364c04deb4c1517a3438b77f4bc96303d61b539ebe", 0x1000}, {&(0x7f0000002640)="447c82e3b353cfe0e4c67967dc63f7f872e7c14d60b8c555dcef6b830e61389e7be54c5cd010d8902b595fe77c28a6c214ff234737ac26cceecb3ab4dc2333ec427e81e48814975214c19683e21fb90a5815b7f2eb31100c72bb47610be42f87694980a5f4a5552de3376d74817d309486b2397526afc10cde2f59090c6ae79b626b2b502adc8cce5c889dfbfabd96d26942a1d2a37f07a0c4b34163ac8945002fa7c7dd67be6cea009b6f1b7996b35c1b0e2c120e95960a5a1641a729f3cf8295182460e34559e2862545326387a6161686b18b426a9ba9f9467b23f89af8f6154eb2635b111b95bfea6e07baade4296f44edba2641d74fa9ce605b900e945ac0453b1f408ef124de0d178d827bc2cf28f80c86ebeb4fcfa89858b934aa9ce8800116317860383938b0302877bb3ab1eb1a1dc334318247ff3b466aca16ca02158bce98ade7b8670cbf5976fd23d7b9ab229cd8925be943fd06d61eff6c47b0000e40db1a170760224e968ce02676ef39b45922b54f77139623e739a6e01b43fe55a3cacc1846d4bf6c3b2d065a50a76e1d1c1c79770a2a486a91546f6aef90cf15311d61cb4981fc3a61ced6ade0487ecce840260a1d1885ba442b68a3dc891fe6e4ad879e6ea1cdfdbd628b81b97177dd7711d07d842443cd64ef88fd870deede4c07b0a5f40d7fcebbe683bf90ab50945155bcf3a4611bf151f0d2734269063e7a832522fbfc4e1b7e59dd3e7c33e1d9f4bd40dda7f3ea9c7334a849c6494aa1548075b1d760288e61836d4b1ce0b5b854551d23fc957c81d2bab23e9e986ded6df0d7aefeb994031afb2b1b90ff3acc0a196210eb8f835f5d17b581791c352e06502b613cce09766db282f765ba98c15ba094df6ce34f8ed2a4ee18c4f1d485112a328ddfa36df50b63614da32f43229cda77f2e535a0f920175039469326f001a43110c91febdfed7374297548a587071c4f71d7bc3c439c6cb205344a91fe72dce57c37014ff22ec6a99938623b595c0b5d48aa4cd02606cacc721d1bdda32da1ed5d4be1ace0c85fac1ecff04f90b1f087b846b9c0c032686fc8bfc0531772b81429dda5fd8a0dca8785cf5d7832518918bc2c55138fc3a74cacc1114c0639d7039abf2e1930ced6bc4f5fddcffb2d97eb115ad1a6a3b1591e6541312e671bb06738b9bc80ea898c6796670ddc5aa89332affda787f55eaa09c075514476ec4ba75334c99c9aede0927750a11442b4f23b7b31e567612fa15d1edfe5bcaef3d401cc19a59480b6495f28caaf0cf148465bb5d4dedeb45fd57a2c4fb9ba11ba4ac12f5af1f4f9701e3a28f2f2b6c2c894001b54c725c2feede0bbda7556e663213456d1fa0bd3d07c9328f56efeeb20272c5c90ce24372bd5a7c4dd37b8de232824a31d69b80c540d241c1a8b39f9c0a718f887944b3d3438c99baf9e0681ad12bbd13942f3218e081550103e8d3b5799c33241625f42b6756e630fef445de0d827875df953d0f14e29061e38eec3170a5488be02fb7e1f57d3435d4ebc1c03de3ce01ed9a061893419ae1191c67fbdd7a40b9ad5add2da5b00a9006d4c56decdb62dac4bc3064e3be985f3572b39342d284f471f660fcf962959", 0x47e}], 0x9, 0x0, 0x270}}, {{0x0, 0x0, 0x0}}], 0x2, 0x0) r1 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$XDP_STATISTICS(r1, 0x11b, 0x7, &(0x7f00000005c0), &(0x7f0000000600)=0x30) syz_clone(0x60000200, 0x0, 0x0, &(0x7f00000000c0), 0x0, 0x0) 15:21:59 executing program 1: pipe2(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$FUSE_DIRENTPLUS(r0, &(0x7f00000040c0)={0x10}, 0x10) 15:21:59 executing program 0: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000e80)={0xffffffffffffffff}) bind$unix(r0, &(0x7f0000000ec0)=@abs={0x1}, 0x6e) 15:21:59 executing program 0: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0xc018620b, 0x0) [ 340.250516][ T9904] binder: 9903:9904 ioctl c018620b 0 returned -14 15:22:00 executing program 3: openat$sysfs(0xffffffffffffff9c, 0x0, 0x400800, 0x0) 15:22:00 executing program 1: pselect6(0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000600)={0x0}) 15:22:00 executing program 0: syz_clone(0x1f000000, 0x0, 0xffc7, 0x0, 0x0, 0x0) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x9, 0x1f, 0xcb3, 0x2100}, 0x48) 15:22:00 executing program 2: syz_io_uring_setup(0x0, &(0x7f0000000000), &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000ffa000/0x1000)=nil, 0x0, 0x0) 15:22:00 executing program 2: r0 = syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) sendmsg$IPCTNL_MSG_CT_DELETE(r0, 0x0, 0x0) 15:22:00 executing program 3: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) getsockopt(r0, 0x0, 0x0, 0x0, 0x0) 15:22:00 executing program 2: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') mkdir(&(0x7f0000000600)='./file0\x00', 0x0) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) unlink(&(0x7f0000000340)='./file0/file0\x00') 15:22:00 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000001ac0)={0xff0, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x10}, @val={0xc}}}, [@NL80211_ATTR_BEACON_TAIL={0xfc5, 0xf, [@channel_switch={0x25, 0x3}, @supported_rates={0x1, 0x7, [{}, {}, {}, {}, {}, {}, {}]}, @measure_req={0x26, 0xfb1, {0x0, 0x0, 0x0, "30bc03e68461d5c80e61925296098c463e440c261ada4a188ac5cb8948c22e2f2c349c5b3631f6a457ebee8348707c444021e362d6deb8ba331c571233109efe9e342a3ac755725f0f63429b4f2680e1e9efdbbf4fe0519e4140cd1b12ad9c0183f66e343070d398949d65cf9229ddfe40079fb92871bfe867b7a67817c74b6697febcafeb976ded4718c21e11e0c744b858cdf7459c7ab001cdf9328532d4f1887fcff32c7714da2f238bf452499a87e82cbfb94d2b1a6210b7b3372ec0b7dc5574614d6e550005ca3bb8cb427b4675550c04383202b543a5cf63e221d90fb90c0fcf8ccaddd55adcb704cd9f0430294f0abd7e3b6d5ecb5575f39a889b0515cd0065f1797c76054e0e749eb5fedcf163a13e8f3a11777d8bdb052395e8a3fcac8ba091264d2bed817c1f40c431b97f781bca32486ac76996fd8e0b4688182ab41e5834356af89ff11f741475f310f58873271de43a2a12bab8ecdb55c5e81215d62e6efae84aefd30cc71703b4479eeb68e57b59fc1c3558ae248982e79a98a29c6aaf34d52a97aba69da1fd43a7013a8acac30f469af996b6ff04ae63403a4d1742fb5db2d630f3e1d7079d3c683fb32f821c3c86fb758e7e7e3c28153a468d810375398485dd53d672ab65e5c7fd777287405f75fb471d874c9998a5f534e492eb90c754bb7f8057fa13bd13758ae846e4b4091644fc03d24f60c507612e8fcb59b696202aff2184d96b75581ba6e23ef3e60cf09296fb63f49f44428b08602cc76958737d4c2a6aead3bde28c213a44d3347dc10cbf54c32778c4208243ed47190df72bf9ff414acaf6924cd8eacda84c92560d01d8df9a1e9b50fc0641b28c5aab7fba0338744c0b83e5e20b275622fd49484401d5b59f9510da31e474d287c31bad50a1732147316cf9fe2bdbb986fe418ded8f5db402b9d0b19b42453565c4921982a6a95cd9524f2b2f452a2a28d791dbae501770c0fde9b4393dec362264b38c0f1f9012f34e106505147b4d2d3a2be6f86ced94fa4e8a72b14b5ffc342172d7cc62435fe0a65d7a5fe9ad8cb189302c4204bd4d7a8980469104fe0ab83a102c1ef1741f8ec7a1a9608e4a5a4e84a6e2b0833bb7d5bb082c2c34701b438c613b0df65cd1b42e361a8ab7e1146564f96c0eb7221c8e4d0baccd9c98310ad09d11531be8775990c77df549d24eabc5557b55f64f7534e553929861a5eb329ac60ecd1350e75338d4992cee6ae3f11b94bcf7388e147970a06b88deb7b2f6b4249674318251d4df5a4293b15d909cba0c8674b93871af5278f41128e0f911ba34ab868d817c28162fc4c291cbb95c82a8cd4394606248b4a71413415b015996d17a269e242338d8009efcd729551c9ebdb0a945773e367dd0f7009db618b8dc6f0111901893319b4bcd19b286e9c7f831b972c6f9f95fe555c1bb9a36c5ceade7e20273f89f248127bdafd1b82d8cd4769727937ff39dcaefb7e4a61bcb5ec4bd2a678dd611298021edf42aace2a284ebd6375413e41e4ec6db0fbe9c7300f62b4e288e387917a20a1f225785df15bedab4564f1ebbc6ba55cfdf23d89da7615c75a65518d34ea05aabad3f44e4de18a7b6a0630fb3dbf37c1625344f96aa5a7408394463f9fe4c2e83f7aa18fc852a31e5a2338645794da47ac4d79fa5aaaab2377f74fa823ca6e5c4cdfbf58945a41141ad5e6d1c9bc4672bcb03435713080263d07c09ad6dcb9a8a203a977dffa2de167bfb53c3b948b2328371aab018384b0d511c66be70a376ce23db573d16f96a5d916e441a4c024de7105fe8ebad5911b45f1c22d24caf108406e6c55f9d6088963319e4b99c0e3660fb9c08da913f6186b6b7a57341ad30f4cc5ff3490689abb6975522d160b3f3d3395426e004145cb8397ab3f48a7cc826c5bd4a4dfd31226e53e5dbb20298e89c2420613e1925eaf8a5cb6ead826863b55d297e27214d440cf8e10ced8f56cc87e01d5a87704054b4acfd35c3e1120d07ce0649b5faa4c782bf5c61f1460af9fb1f90db22cd233c85018babe0d641ca99c497254a6bff26082ecee92f688f387d2673e627240bb3de54fd45c0546f5e941a35e63472a8c4f99b5f90821d0d372268d8ed8e3223385348fe4c28a2138a45e3e001466b24bec0c6898e1511e89887f704d569f74ba5f1ea12eb6d317bc71078db18456e56275549c07e6b87f4c323c561e71ef56edaae34583d1c919dac333824f124784eef0acb2df6dcf012a531928378ac26768abc46b0e8546cac810c86bf3dedd836cdce7e327413d9df3d84c1fc8319fae41325e14b8400342956976edc4eee1290bc128b24be0b787220485b79f5dcebdf78ac9acff3366eb044c1b18c00fc0c5c168b09c0e15311a8ee1dc66a7949ab26f2ef11f8d5789351291c52a56ff1e0a7d793d41f46719a2c10aabc9d34ccacc775cc5d46a238cfc33ae6bc6a57c43fcbc2544164b021b4d18683c969cb918fe7b0fe3eff588ecf4b912ecd80d472b96408db87ce44c675468e4f1c8286abf11d5b3d35c10ccabcf6ad6682ec8d1b0d088d524f572f873199a79213bc322c4d70baf7d1526dec37217ee45e5ddfe6c1d48456aa881bf66543d02fa4e2d5095cc45b412731ec678066e0c80de9c08fa591d31c2a8bca3457ba93916b6eabeb47eaea2deaa104c0c2e964436a865b2079837a473fc504210e6b8a513376b6df2d741673c93198ffb9a867eca84fc2fb6696961001bca053ea61837d15d76d051168155006bdb56ccfdacfb3db10b8777ace9545d4ecaad8117ced4d3cb4e38917cb9f7c5e42cdc9dafee16dd33bc4561af0d46dae6a34318f9c4a1b0416f2c80594806f5176279233c2d95589121fc635566a705b9ff09f98c947b0bfa9a3a296f5e9096732af1a0740e053e642cdf1aa1726890c1ef07559f473d3d96913b227c1e7e150951884f7902dc1c7faf1a4d4126a555662d58bfa6e44e6bc4bec110af927cd54f6b0be0af089b410a529412d1a8522cbb647fd4f18edd7cde253b8da4b82be2e16f9fcb01eca0c6c84b419426e4034ed690d8bb5860d2aa452a5508e5432af9f7ce296beba9ec376259a2f2e1d7ee1a0bf0d88115edaf96f20fbe972f153dcc0e9110dff6b6e0a3d52c4453bdf3793827ad08e4b0d5e90af5e2ab25b8ef3769159ecdf0267145c298ba2f619d4dd2ba11c4e453bfa463de7c918b035929d6e3da1a0a3e2d35dfba70513fe251b20893033ca393b21e09fbf035ccaed28457b68311784f1c2e59a562f9a83496d88bd29ada44a4617ea9df01b0e79b81fe483d0af57c03894db303e302e537de915284601b7cd567d13f62b938b808c8511a854aff1a5d78b9d116791bea57612d5ae9c99bd26059940a63796511b5f8958bae3d88003f3fd7e70c45bfe60c1679ed2165e9d2b9557b0dec99fb0028afc6612865b5544ad336a6c888339662413aadc37bb7348da8eea43a54c2ef7f48a5fa6138d268eeff227e7e32fafa17a460d7e688b1e68c793fdd978e83e0b30260c2135873b9278b050c9170a7ea436d6d6333c957afa4a8db948d2e06ad06a2f47a75c391c08eea2e6ee8da9c57e47cba39e2bddf58a04665072d2140a24673a6b2646e59f9a130ad4bbb0777bd799826e1a67130a2900df0f224e39b8b14fe9eae600f6777e482885bed8b471296a8d8d93ee05e1e65d82b0e04730f933e8fd59669f6d94ea8f2fd39d084a5ac1d6f6f66c47454f8a6e1e3c5cbb0a33549b5f1c3ce14bb3c466e5ec27e80488fb33851365d9d44ddaf867d058d9d70d2522a849ee682fe295bbc21977d8ba438414f452bc745ce64fb2f11a27b8749544604ce0ffd3e8797d386342fbe9cf8d5c127aad2a5c5a8a76a6ddcaf4c936e889edfc043c946188ce86929f695e2d02817a705bfa8b4213f11885daf51cbc5b0df8688676af1e2c39b5e950306d6d1099eee911e7676ac22d66c89c560e899337709aa863883debf4f672708ec5975a46049eceeea11674eaa7729b8419da2ad7668df8ff7354f20c91153b39adf130d1852d148b034f3cb2798e666c88f064a7bb07fccb348fa8c3baba7e57e55a2f1e4e0886899969a6cf0b6fce93a1651547e91c715e9d5fca404c54b8928b558e7dc2231d46ea8595fadc5182dc42f77e411b1709e4143095856fd3970f89082b8a0f37d18fef1ffc3813ceb8440b643ad00a269da76c6501beda4f0381b876190b5636fa7c98900e7e16790a79923aeaece56a349102dd5d7e73254e8e50c797a9f08bce1b9a328d1d26367068080e2f8c7de082e156e087c02483f1627956237f21a244bd31226606c7a02df67c9b6405244d8f24748ef8b1208eaf7f86bd2b0d7d7d1811efa6a5b387f34ce97604a38b6d11c00375dda9ec9bf83cb28f987f60ad3cc03495ed4e3d9a4a5d0d1a18c29a01ccd470c51f572a555f7df3164d6fab735ea627a82a19ad2a0b2d516cef7f9658ba2fcd6f3904badae02a7f0b1c3cafc95736d872a888cb1f5c7707cc4406dd66ac0a1e3d6104de2361105a90b420e8cea9aaf7e9f517f2081fb3de40823b1388689e70fd83098b68e66cc18f652611c60093e4ecbbef70dd16acbe8beccbb46b7372dcc84c54746302a0f37e1a361d71f9d00d654fb755e6447e27665dedb951397a364a7dc748e03fae49224c934481cf9df73e3c3039b23faaa9d60f9a83cc01a118a6ab9f9f6a0a9b16c609f7767fd177eb7eff059f8fea8379b66e47180981baac7377752b45275daa1679851dfbc80c4b4688cec27175ee596feaa577c934b36f53c1260426eb7bca7a2ab2b08413b43cda874dbef3f2b68c7ca984e0461cc22e65941e101f9b99f3e8c636833426a9d0e4e323ab2c7565445a35f3a33cc257a92c65b419e05a9524f9fc158c0a7a380e6e79147d6d89cd984bf55bdcf0ca74df8692b9d1ad867799396fa08a1c0ff238daa35215fb37790d27a5ac0f2d375f3144b7fc3cc496a9381319698dd888b95d615d4731c6e6dee3ebfc5b52357adde43efad527297e54073091e7fcf022c9695546b6da179983baae5d1c9d6a1f76095d3ffb0a89b5c06220f01af1bac77e39a8b42ab61874842d51b1f6dde1b3627ac9dc7e78c5dd79d3414d1737a4d89c55df00959b62b69066b9450603fd7eaa622ccd49f34563d767af926ac61a0ef2e592b9c7eea453e2f765df30d6fd133729cad3396d4ca2713c49a7b6025e5e2db2d40a47a6036c840ff88c51a395f42a1eae8dcfbea46828f4dcd996a1dffcf7ec977ba24f643d68af3dbc971758dfeafd2dc5a46addea7de3e5bba1cf3b96f21d0aa03fe3dcdbd7e388b806f8454bdc6171de5d2df626b6842a63547667630fd1d9cc821c983c9d757c1af7cf3ae3a7f6bf663c6a92d6416f970be529fbe072c7da55eddd46dd5d94896ba570648f93c6ed5fd21ec0835b131fd46ee39dfd0363c54dafd82136734b4feba486652da34786fd288db8b967024788ce67d7b1c1c7c9803164bd4305df302e0769711e0fe7d2a64975da1000b3b34c8987d29a75e89f5c07fb32ef0dae764a1636c8bb269890325931f9406aa8015d56afa775ffb628cf72c858d01c27aa91c0c083180ba1294a368dce61179b887da94d6ba14070a77c50413492c297de825060d5936b4aadbe7fc93adf07e3da"}}]}]}, 0xff0}}, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000080), r0) [ 341.073380][ T9922] netlink: 'syz-executor.3': attribute type 16 has an invalid length. 15:22:00 executing program 3: r0 = syz_open_dev$vcsn(&(0x7f0000000380), 0x0, 0x0) getsockopt$inet_tcp_TCP_ZEROCOPY_RECEIVE(r0, 0x6, 0x23, 0x0, 0x0) 15:22:01 executing program 1: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') mkdir(&(0x7f0000000600)='./file0\x00', 0x0) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) unlink(&(0x7f0000000340)='./file0/file0\x00') 15:22:01 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000940)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000900)}, 0x80) 15:22:01 executing program 2: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') mkdir(&(0x7f0000000600)='./file0\x00', 0x0) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) unlink(&(0x7f0000000340)='./file0/file0\x00') 15:22:01 executing program 0: syz_clone(0x1f000000, 0x0, 0xffc7, 0x0, 0x0, 0x0) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x9, 0x1f, 0xcb3, 0x2100}, 0x48) 15:22:01 executing program 3: pselect6(0x40, &(0x7f0000001340), 0x0, &(0x7f00000013c0)={0x6}, &(0x7f0000001400)={0x77359400}, 0x0) 15:22:01 executing program 1: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') mkdir(&(0x7f0000000600)='./file0\x00', 0x0) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) unlink(&(0x7f0000000340)='./file0/file0\x00') 15:22:01 executing program 2: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') mkdir(&(0x7f0000000600)='./file0\x00', 0x0) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) unlink(&(0x7f0000000340)='./file0/file0\x00') 15:22:01 executing program 1: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') mkdir(&(0x7f0000000600)='./file0\x00', 0x0) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) unlink(&(0x7f0000000340)='./file0/file0\x00') 15:22:01 executing program 2: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) chdir(&(0x7f00000001c0)='./bus\x00') mkdir(&(0x7f0000000600)='./file0\x00', 0x0) creat(&(0x7f0000000000)='./file0/file0\x00', 0x0) unlink(&(0x7f0000000340)='./file0/file0\x00') 15:22:01 executing program 1: syz_open_dev$vcsn(&(0x7f0000000400), 0x0, 0x0) 15:22:01 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) r2 = epoll_create(0xa473) sendmsg$unix(r1, &(0x7f0000009ec0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000009e40)=ANY=[@ANYBLOB="18000000000000000100000001000000", @ANYRES32=r0, @ANYRES32=r2, @ANYBLOB=','], 0x68}, 0x0) 15:22:01 executing program 0: syz_clone(0x1f000000, 0x0, 0xffc7, 0x0, 0x0, 0x0) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x9, 0x1f, 0xcb3, 0x2100}, 0x48) 15:22:02 executing program 3: r0 = socket$xdp(0x2c, 0x3, 0x0) sendmmsg(r0, &(0x7f0000005440)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) 15:22:02 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c0000001a0001002abd7000fcdbdf2502"], 0x6c}}, 0x0) 15:22:02 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000b00)={0xffffffffffffffff}) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, 0x0) 15:22:02 executing program 0: syz_clone(0x1f000000, 0x0, 0xffc7, 0x0, 0x0, 0x0) bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x9, 0x1f, 0xcb3, 0x2100}, 0x48) 15:22:02 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$BTRFS_IOC_SCRUB(r0, 0xc400941b, 0x0) [ 342.759619][ T9955] netlink: 80 bytes leftover after parsing attributes in process `syz-executor.1'. 15:22:02 executing program 1: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000001f00)={0x2, &(0x7f0000001ec0)=[{}, {0x32c}]}) 15:22:02 executing program 3: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000300)) pkey_mprotect(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x4, 0xffffffffffffffff) 15:22:02 executing program 2: io_setup(0x2, &(0x7f00000000c0)=0x0) io_submit(r0, 0x0, 0x0) 15:22:02 executing program 3: pselect6(0x40, &(0x7f0000000000), &(0x7f0000000500)={0x5}, 0x0, 0x0, &(0x7f0000000600)={&(0x7f00000005c0), 0x8}) 15:22:02 executing program 1: pselect6(0x40, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e}, &(0x7f0000000040)={0x1}, 0x0, &(0x7f00000000c0)={0x0, 0x3938700}, 0x0) 15:22:02 executing program 3: sched_rr_get_interval(0xffffffffffffffff, &(0x7f0000000000)) socket$netlink(0x10, 0x3, 0x0) clock_gettime(0x0, &(0x7f0000000100)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000040)={0x9, 0xf0e}, 0x0, &(0x7f00000000c0)={0xffffffff, 0x0, 0x0, 0x6, 0x0, 0x6}, &(0x7f0000000180)={0x0, r0+60000000}, &(0x7f00000002c0)={&(0x7f0000000280)={[0x401]}, 0x8}) 15:22:02 executing program 2: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000000300)={'ip6_vti0\x00', 0x0}) 15:22:02 executing program 3: r0 = socket$xdp(0x2c, 0x3, 0x0) getsockopt$sock_timeval(r0, 0x1, 0x43, 0x0, &(0x7f0000000140)) 15:22:02 executing program 1: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000140)='/sys/block/fd1', 0x210002, 0x0) 15:22:02 executing program 0: openat$uinput(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) pselect6(0x40, &(0x7f00000000c0)={0x8}, 0x0, 0x0, 0x0, 0x0) 15:22:02 executing program 1: sendmsg$AUDIT_DEL_RULE(0xffffffffffffffff, &(0x7f00000004c0)={0x0, 0x0, 0x0}, 0x0) clock_gettime(0x0, &(0x7f0000000000)) 15:22:02 executing program 3: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0x7, &(0x7f0000000140)=@framed={{}, [@initr0, @ldst, @func]}, &(0x7f00000001c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:02 executing program 2: ioctl$sock_SIOCSIFVLAN_GET_VLAN_EGRESS_PRIORITY_CMD(0xffffffffffffffff, 0x8983, 0x0) getsockopt$XDP_STATISTICS(0xffffffffffffffff, 0x11b, 0x7, &(0x7f00000001c0), 0x0) socket$bt_hidp(0x1f, 0x3, 0x6) bpf$MAP_CREATE(0x0, &(0x7f0000000300)=@base={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x200}, 0x48) write$P9_RFLUSH(0xffffffffffffffff, 0x0, 0x0) bpf$OBJ_GET_PROG(0x7, &(0x7f0000000440)={&(0x7f0000000400)='./file0\x00'}, 0x10) 15:22:02 executing program 1: openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) 15:22:02 executing program 3: pselect6(0x40, &(0x7f0000000000), 0x0, &(0x7f0000000080)={0xb8a}, &(0x7f00000000c0)={0x0, 0x989680}, &(0x7f0000000140)={&(0x7f0000000100)={[0x3]}, 0x8}) 15:22:02 executing program 3: syz_genetlink_get_family_id$tipc2(&(0x7f0000003dc0), 0xffffffffffffffff) 15:22:02 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_SIOCGIFCONF(r0, 0x8912, &(0x7f0000002140)) 15:22:03 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {0x0, 0x0, 0x0, 0x0, 0x2}}) 15:22:03 executing program 3: io_cancel(0x0, &(0x7f0000002e00)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) 15:22:03 executing program 2: pselect6(0x40, &(0x7f0000000180), &(0x7f00000001c0)={0x2}, 0x0, 0x0, 0x0) 15:22:03 executing program 1: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$int_out(r0, 0x2, &(0x7f0000000200)) 15:22:03 executing program 3: syz_open_dev$vcsn(&(0x7f0000000280), 0x0, 0x0) 15:22:03 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x1c, 0x43, 0x1}, 0x1c}}, 0x0) 15:22:03 executing program 1: io_setup(0x4, &(0x7f0000000000)) io_setup(0x9, &(0x7f00000010c0)) [ 343.886572][T10011] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.2'. 15:22:03 executing program 3: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000000000), 0x802, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000040)={0xb, {'syz1\x00', 'syz0\x00', 'syz0\x00', 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "e1"}}, 0x119) [ 343.930148][ T3750] hid-generic 0000:0000:0000.0002: item fetching failed at offset 0/1 [ 343.938924][ T3750] hid-generic: probe of 0000:0000:0000.0002 failed with error -22 15:22:03 executing program 2: r0 = openat$loop_ctrl(0xffffffffffffff9c, &(0x7f0000000700), 0x0, 0x0) ioctl$BTRFS_IOC_TREE_SEARCH_V2(r0, 0xc0709411, 0x0) 15:22:03 executing program 3: sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000003b40)={0x0, 0x0, 0x0}, 0x0) socketpair$tipc(0x1e, 0x0, 0x0, &(0x7f0000003c40)) 15:22:03 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_DEL_RULE(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000000540)={0x420}, 0x420}}, 0x0) bind$netlink(r0, &(0x7f0000000000), 0xc) 15:22:03 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40046208, 0x0) 15:22:03 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x80000014, 0x0, 0x0, 0x0, 0x0, 0x100}) [ 344.008808][T10020] binder: 10018:10020 ioctl c0306201 0 returned -14 15:22:03 executing program 2: r0 = socket$inet(0x2, 0x3, 0x6) syz_genetlink_get_family_id$devlink(&(0x7f0000000040), r0) 15:22:03 executing program 0: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000940)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:03 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40046208, 0x0) 15:22:03 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000150001002abd7000fcdbdf2502"], 0x6c}}, 0x0) [ 344.059193][T10032] netlink: 84 bytes leftover after parsing attributes in process `syz-executor.0'. 15:22:03 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFBR(r0, 0x8940, &(0x7f0000000080)=@add_del={0x2, &(0x7f0000000040)='bridge_slave_1\x00'}) [ 344.070298][T10033] binder: 10030:10033 ioctl c0306201 0 returned -14 15:22:03 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40046208, 0x0) 15:22:03 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x5451, 0x0) [ 344.105801][T10037] binder: 10036:10037 ioctl c0306201 0 returned -14 15:22:03 executing program 3: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x2}]}, 0x10) 15:22:03 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x10}) 15:22:03 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40046208, 0x0) 15:22:03 executing program 2: syz_usb_connect$cdc_ecm(0x2, 0x4d, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x1, {{0x5}, {0x5}, {0xd}}}}]}}]}}, 0x0) syz_usb_connect$cdc_ecm(0x1, 0x4d, &(0x7f00000002c0)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x0, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3b, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}}}]}}]}}, 0x0) [ 344.149165][T10047] binder: 10042:10047 ioctl c0306201 0 returned -14 15:22:03 executing program 3: accept4(0xffffffffffffffff, 0x0, 0x0, 0xc0800) 15:22:03 executing program 1: openat$null(0xffffffffffffff9c, &(0x7f0000001080), 0x0, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000001180), 0x2802c0, 0x0) syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x0) clock_gettime(0x0, &(0x7f00000014c0)={0x0, 0x0}) select(0x40, &(0x7f0000001400), 0x0, &(0x7f0000001480)={0x3f}, &(0x7f0000001500)={0x0, r0/1000+10000}) 15:22:03 executing program 3: r0 = socket(0x11, 0x3, 0x0) sendmsg$TIPC_CMD_SHOW_LINK_STATS(r0, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={0x0}}, 0x0) 15:22:03 executing program 1: openat$binder_debug(0xffffffffffffff9c, &(0x7f0000002400)='/sys/kernel/debug/binder/failed_transaction_log\x00', 0x0, 0x0) 15:22:03 executing program 3: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000000)='/sys/power/wakeup_count', 0xc8a40, 0x0) 15:22:03 executing program 0: r0 = syz_init_net_socket$nfc_raw(0x27, 0x0, 0x0) sendmmsg(r0, 0x0, 0x0, 0x8004) getsockopt$XDP_STATISTICS(0xffffffffffffffff, 0x11b, 0x7, &(0x7f00000005c0), &(0x7f0000000600)=0x30) syz_clone(0x60000200, &(0x7f0000000000)="aaad742652f5a2676ecb7312019f51b12b4d5947a0dcf387ff3dd6ee422e8f012cd8a097f116bcd4dcfd316c66c5d3694a8296f88694f36cba20fe7d40c62a4f4c9757c842312e0b58ad21d2a385495d0c8e5d465e1fd9bf0fd4c5ecb4563d7cd827e4dff496785c321f74a5e524300fda8eae48328edd9d0031dada0adc744b51ecba148c1dc1278af49f9a60af4a955659b2d4824468b987f6ed761df07af2475d4fa7fbaf910046", 0xa9, &(0x7f00000000c0), &(0x7f0000000100), &(0x7f0000000140)="293877c97c52b290ae48f2871fdbe920ed83708d5346e7686f9142151e77361c5e5235575ffb5f63a587a538b3aee60a90a484a6ee73f9eb6c6a9b67981abbda698d3ba2cbf16e8d7de787c515aac0") 15:22:03 executing program 1: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) bind$tipc(r0, 0x0, 0x0) [ 344.415080][ T30] usb 7-1: new full-speed USB device number 7 using dummy_hcd [ 344.794878][ T30] usb 7-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 0 [ 344.985683][ T30] usb 7-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 344.992658][ T30] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 344.998692][ T30] usb 7-1: Product: syz [ 345.001409][ T30] usb 7-1: Manufacturer: syz [ 345.004891][ T30] usb 7-1: SerialNumber: syz [ 345.257658][T10046] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 345.265889][T10046] misc raw-gadget: fail, usb_gadget_register_driver returned -16 [ 345.315369][ T30] cdc_ether: probe of 7-1:1.0 failed with error -22 [ 345.323440][ T30] usb 7-1: USB disconnect, device number 7 15:22:05 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000000280)={0x8c, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_BEACON_HEAD={0x6f, 0x5, {@with_ht={{{}, {}, @device_b, @device_a, @random="1962d7351274"}}, 0x0, @default, 0x0, @val, @val, @val={0x3, 0x1}, @val={0x4, 0x6}, @val={0x6, 0x2}, @void, @void, @val={0x2a, 0x1}, @void, @val={0x2d, 0x1a}, @void, @val={0x71, 0x7}, @val={0x76, 0x6}}}]}, 0x8c}}, 0x0) 15:22:05 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000ac0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000dc0)={0x8, 0x0, &(0x7f0000000cc0)=[@acquire], 0x0, 0x0, 0x0}) 15:22:05 executing program 1: syz_open_procfs(0x0, &(0x7f0000000080)='schedstat\x00') 15:22:05 executing program 0: openat$pfkey(0xffffffffffffff9c, &(0x7f00000000c0), 0x200000, 0x0) 15:22:05 executing program 0: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_DEL_RULE(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={&(0x7f0000000040)={0xf}, 0xf}}, 0x0) [ 345.828033][T10072] netlink: 'syz-executor.2': attribute type 5 has an invalid length. 15:22:05 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000080)=ANY=[@ANYBLOB="6c000000180001002abd7000fcdbdf2502"], 0x6c}}, 0x0) 15:22:05 executing program 1: r0 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$PPPIOCSACTIVE(r0, 0x40107446, 0x0) 15:22:05 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000002980)=[@rights={{0x10}}], 0x10}}], 0x1, 0x0) 15:22:05 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NLBL_CIPSOV4_C_LISTALL(r0, &(0x7f0000000440)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000240)={&(0x7f0000000300)={0x14, 0x0, 0x4}, 0x14}}, 0x0) [ 345.858651][T10076] netlink: 80 bytes leftover after parsing attributes in process `syz-executor.3'. 15:22:05 executing program 3: socket$inet(0xa, 0x3, 0x0) 15:22:05 executing program 2: syz_open_dev$hiddev(&(0x7f0000000000), 0x0, 0x200400) 15:22:05 executing program 0: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000ac0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000dc0)={0x4, 0x0, &(0x7f0000000cc0)=[@enter_looper], 0x1, 0x0, &(0x7f0000000d40)='&'}) 15:22:05 executing program 1: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(r0, 0x40087602, 0x0) 15:22:05 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_NEWPDP(r0, &(0x7f0000000200)={0x0, 0x0, 0x0}, 0x0) [ 345.935625][T10091] binder: 10090:10091 ioctl 40087602 0 returned -22 15:22:05 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x44, 0x1a, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0x2, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @FRA_DST={0x14, 0x1, @local}]}, 0x44}}, 0x0) 15:22:05 executing program 1: syz_open_dev$vcsn(&(0x7f0000000500), 0x0, 0x20001) 15:22:05 executing program 3: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000001140), 0x802, 0x0) write$UHID_DESTROY(r0, &(0x7f0000001180), 0x4) 15:22:05 executing program 0: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000900), 0x0, 0x0) getsockname$unix(r0, 0x0, 0x0) 15:22:05 executing program 2: openat$sysfs(0xffffffffffffff9c, &(0x7f0000000100)='/sys/module/rtc_cmos', 0x0, 0x0) 15:22:05 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x38, 0x48, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback={0xe0ffffff00000000}}, @IFAL_LABEL={0x8}]}, 0x38}}, 0x0) 15:22:05 executing program 0: syz_open_dev$vcsn(&(0x7f0000001240), 0x0, 0x442) 15:22:05 executing program 3: bpf$BPF_GET_MAP_INFO(0xf, &(0x7f0000000d40)={0xffffffffffffffff, 0x0, 0x0}, 0x10) 15:22:05 executing program 1: r0 = socket$tipc(0x1e, 0x5, 0x0) setsockopt$TIPC_GROUP_JOIN(r0, 0x10f, 0x87, &(0x7f0000000000)={0x41, 0x0, 0x3}, 0x10) 15:22:05 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_RUN(r2, 0x5452, 0x20004000) 15:22:05 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000040)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4500}) 15:22:05 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000000), 0xffffffffffffffff) sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000980)={&(0x7f0000000280)={0x8c, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_BEACON_HEAD={0x6f, 0x2, {@with_ht={{{}, {}, @device_b, @device_a, @random="1962d7351274"}}, 0x0, @default, 0x0, @val, @val, @val={0x3, 0x1}, @val={0x4, 0x6}, @val={0x6, 0x2}, @void, @void, @val={0x2a, 0x1}, @void, @val={0x2d, 0x1a}, @void, @val={0x71, 0x7}, @val={0x76, 0x6}}}]}, 0x8c}}, 0x0) 15:22:05 executing program 1: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000100)='/sys/module/printk', 0x0, 0x0) setsockopt$inet_udp_int(r0, 0x11, 0x0, 0x0, 0x0) 15:22:05 executing program 3: openat$sysfs(0xffffffffffffff9c, &(0x7f00000037c0)='/sys/module/kernel', 0x210002, 0x0) 15:22:05 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x21, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_SRC={0x14, 0xa, @ipv4={'\x00', '\xff\xff', @loopback}}]}, 0x30}}, 0x0) 15:22:05 executing program 3: pselect6(0x40, &(0x7f0000000000), &(0x7f0000000040)={0x0, 0x6, 0xff, 0x1004000, 0x7ff}, &(0x7f0000000080)={0xb8a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, &(0x7f00000000c0)={0x0, 0x989680}, &(0x7f0000000140)={&(0x7f0000000100)={[0x3]}, 0x8}) [ 346.106167][T10128] netlink: 'syz-executor.1': attribute type 10 has an invalid length. 15:22:05 executing program 1: r0 = syz_init_net_socket$nfc_raw(0x27, 0x3, 0x0) getsockopt$sock_int(r0, 0x1, 0x4, 0x0, &(0x7f0000000040)) 15:22:05 executing program 2: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder0\x00', 0x0, 0x0) sendmsg$TIPC_CMD_SET_NODE_ADDR(0xffffffffffffffff, 0x0, 0x0) syz_genetlink_get_family_id$tipc(0x0, 0xffffffffffffffff) sendmsg$TIPC_CMD_GET_NODES(0xffffffffffffffff, 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, 0x0) openat$binderfs(0xffffffffffffff9c, &(0x7f0000000040)='./binderfs/custom0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP(0xffffffffffffffff, 0xd0009412, 0x0) [ 346.149467][T10134] binder: 10132:10134 ioctl c0306201 0 returned -14 15:22:05 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) accept4$unix(r0, 0x0, 0x0, 0x0) 15:22:05 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@base={0x9, 0x0, 0x0, 0x0, 0x6}, 0x48) 15:22:05 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000300)={0xffffffffffffffff}) fsetxattr$trusted_overlay_nlink(r0, 0x0, 0x0, 0x0, 0x0) 15:22:05 executing program 2: r0 = socket$inet6_udp(0xa, 0x2, 0x0) connect(r0, &(0x7f0000000400)=@ethernet={0x6, @remote}, 0x80) 15:22:05 executing program 2: openat$procfs(0xffffffffffffff9c, &(0x7f0000000140)='/proc/timer_list\x00', 0x0, 0x0) pselect6(0x40, &(0x7f00000000c0)={0xb}, 0x0, 0x0, 0x0, 0x0) 15:22:05 executing program 3: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000037c0)='/sys/module/kernel', 0x210002, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, 0x0) 15:22:05 executing program 1: add_key$user(&(0x7f0000000100), 0x0, &(0x7f0000000180)="a7", 0x1, 0xfffffffffffffffd) 15:22:05 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) sendmmsg$unix(r0, &(0x7f000000ef00)=[{{0x0, 0x0, &(0x7f00000005c0)=[{&(0x7f0000000380)="f3", 0x1}], 0x1}}], 0x1, 0x0) 15:22:05 executing program 3: r0 = socket$nl_audit(0x10, 0x3, 0x9) connect$netlink(r0, &(0x7f0000000500)=@unspec, 0xc) 15:22:05 executing program 0: connect$tipc(0xffffffffffffffff, 0x0, 0x0) 15:22:05 executing program 1: r0 = epoll_create(0x2000001) fgetxattr(r0, &(0x7f00000000c0)=@known='security.selinux\x00', 0x0, 0x0) 15:22:05 executing program 2: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) r2 = epoll_create(0xa473) sendmsg$unix(r1, &(0x7f0000009ec0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000009e40)=ANY=[@ANYBLOB="18000000000000000100000001000000", @ANYRES32=r0, @ANYRES32=r2, @ANYBLOB="2c000000000000000100000001"], 0x68}, 0x0) 15:22:05 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_NL_NET_GET(r0, &(0x7f0000002c40)={0x0, 0x0, &(0x7f0000002c00)={0x0}}, 0x20000801) 15:22:05 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$GTP_CMD_NEWPDP(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={0x0, 0x14}}, 0x0) sendmsg$TIPC_CMD_SET_NETID(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x24, 0x0, 0x1, 0x0, 0x0, {{}, {}, {0x8}}}, 0x24}}, 0x0) 15:22:05 executing program 0: prctl$PR_SET_VMA(0x53564d41, 0x0, &(0x7f0000ffc000/0x3000)=nil, 0x3000, &(0x7f0000000000)='\'\x00') 15:22:05 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x4) syz_genetlink_get_family_id$tipc(&(0x7f0000000000), r0) 15:22:05 executing program 3: pselect6(0x0, 0x0, 0x0, &(0x7f0000000540), &(0x7f0000000580), 0x0) 15:22:05 executing program 2: clock_gettime(0x0, &(0x7f00000014c0)={0x0, 0x0}) select(0x40, &(0x7f0000001400), 0x0, 0x0, &(0x7f0000001500)={0x0, r0/1000+10000}) 15:22:05 executing program 1: r0 = socket$inet(0x2, 0x1, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x4b47, 0x0) 15:22:05 executing program 3: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/ipv6_route\x00') r1 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000140)='veth0_vlan\x00', 0x45) connect$inet(r1, &(0x7f0000000180)={0x2, 0x0, @multicast2}, 0x10) sendfile(r1, r0, 0x0, 0x800000080004103) 15:22:05 executing program 0: socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000000)) pselect6(0x40, &(0x7f00000000c0)={0x8}, 0x0, 0x0, 0x0, 0x0) 15:22:05 executing program 2: pselect6(0x40, &(0x7f0000000000), &(0x7f0000000500), 0x0, 0x0, 0x0) 15:22:05 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_delrule={0x30, 0x21, 0xd82f869737138495, 0x0, 0x0, {}, [@FRA_DST={0x14, 0x4, @local}]}, 0x30}}, 0x0) 15:22:05 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x30, 0x1d, 0x1, 0x0, 0x0, {}, [@IFAL_ADDRESS={0x14, 0x1, @loopback}]}, 0x30}}, 0x0) [ 346.372315][T10182] netlink: 'syz-executor.3': attribute type 4 has an invalid length. 15:22:05 executing program 1: keyctl$KEYCTL_PKEY_DECRYPT(0x1a, &(0x7f00000009c0), 0x0, 0x0, 0x0) 15:22:05 executing program 3: add_key$keyring(&(0x7f00000000c0), &(0x7f0000000100)={'syz', 0x0}, 0x0, 0x0, 0x0) 15:22:05 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000000)=@ipv6_newaddrlabel={0x24, 0x1a, 0x1, 0x0, 0x0, {}, [@IFAL_LABEL={0x8}]}, 0x24}}, 0x0) 15:22:05 executing program 3: socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000300)) 15:22:06 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f0000002300)={0xf, 0x1, &(0x7f0000002140)=@raw=[@call], &(0x7f0000002180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 2: epoll_ctl$EPOLL_CTL_MOD(0xffffffffffffffff, 0x3, 0xffffffffffffffff, &(0x7f0000002700)) 15:22:06 executing program 1: r0 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$PPPIOCGNPMODE(r0, 0xc008744c, 0x0) 15:22:06 executing program 3: write$damon_attrs(0xffffffffffffffff, 0x0, 0x0) 15:22:06 executing program 1: r0 = openat$fb0(0xffffff9c, &(0x7f0000001440), 0x0, 0x0) write$fb(r0, 0x0, 0x0) 15:22:06 executing program 3: getresuid(0x0, 0x0, 0x0) getresuid(&(0x7f0000003880), &(0x7f00000038c0), &(0x7f0000003900)) 15:22:06 executing program 0: syz_io_uring_setup(0x0, &(0x7f0000000000), &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000ffa000/0x1000)=nil, &(0x7f0000000080), &(0x7f00000000c0)) 15:22:06 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x3, &(0x7f00000004c0)=@raw=[@call, @map_idx], &(0x7f0000000500)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 1: socket$pptp(0x18, 0x1, 0x2) socket$unix(0x1, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) 15:22:06 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f0000000400), 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_GATEWAYS(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000280)=ANY=[@ANYBLOB="1c000000", @ANYRES16=r1, @ANYBLOB="1107000000000000000009000000080003001383"], 0x1c}}, 0x0) 15:22:06 executing program 2: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000001340)=@bpf_lsm={0x1d, 0x3, &(0x7f00000001c0)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 0: add_key$fscrypt_v1(&(0x7f00000006c0), &(0x7f0000000700)={'fscrypt:', @auto=[0x65, 0x64, 0x65, 0x66, 0x65, 0x38, 0x66, 0x38, 0x0, 0x64, 0x0, 0x0, 0x0, 0x33]}, &(0x7f0000000740)={0x0, "6d5d304594a91246efc9c70ac07b9f2b70b1ff08cebec315fe1af8c6336e21265fbba3bed50f8bf46cf16fe2f3d94c4dfd466803ee438298c48350a472f6a544"}, 0x48, 0xfffffffffffffffd) 15:22:06 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x1, &(0x7f00000004c0)=@raw=[@call], &(0x7f0000000500)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 2: getresuid(&(0x7f00000021c0), 0x0, 0x0) 15:22:06 executing program 0: openat$tun(0xffffff9c, &(0x7f0000001580), 0x0, 0x0) syz_genetlink_get_family_id$nl802154(&(0x7f00000018c0), 0xffffffffffffffff) 15:22:06 executing program 3: syz_genetlink_get_family_id$wireguard(0x0, 0xffffffffffffffff) syz_genetlink_get_family_id$wireguard(&(0x7f0000001500), 0xffffffffffffffff) 15:22:06 executing program 2: ioctl$PPPIOCGFLAGS(0xffffffffffffffff, 0x8004745a, 0x0) syz_init_net_socket$ax25(0x3, 0x2, 0x0) 15:22:06 executing program 1: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f0000000cc0)={&(0x7f0000000940)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f0000000c80)={&(0x7f0000000980)={0x14}, 0x14}}, 0x0) 15:22:06 executing program 0: r0 = add_key$fscrypt_v1(&(0x7f00000006c0), &(0x7f0000000700), &(0x7f0000000740)={0x0, "6d5d304594a91246efc9c70ac07b9f2b70b1ff08cebec315fe1af8c6336e21265fbba3bed50f8bf46cf16fe2f3d94c4dfd466803ee438298c48350a472f6a544"}, 0x48, 0xfffffffffffffffd) keyctl$unlink(0x9, 0x0, r0) 15:22:06 executing program 2: getresuid(&(0x7f00000021c0), &(0x7f0000002200), &(0x7f0000002240)) 15:22:06 executing program 3: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f00000002c0)=@bpf_ext={0x1c, 0x1, &(0x7f0000000000)=@raw=[@ldst], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 1: getresgid(&(0x7f0000000b80), &(0x7f0000000bc0), 0x0) 15:22:06 executing program 2: openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x40, 0x0) 15:22:06 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000002300)={0x0, 0x0, 0x0, &(0x7f0000002180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 3: getresuid(&(0x7f00000021c0), &(0x7f0000002200), &(0x7f0000002240)) getresuid(&(0x7f0000003880), &(0x7f00000038c0), &(0x7f0000003900)) 15:22:06 executing program 0: r0 = openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x2c0000, 0x0) read$rfkill(r0, 0x0, 0x0) 15:22:06 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x7, &(0x7f00000004c0)=@raw=[@btf_id, @call, @map_idx, @cb_func={0x18, 0x0, 0x4, 0x0, 0x2}], &(0x7f0000000500)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 3: add_key$fscrypt_v1(&(0x7f00000006c0), 0x0, &(0x7f0000000740)={0x0, "6d5d304594a91246efc9c70ac07b9f2b70b1ff08cebec315fe1af8c6336e21265fbba3bed50f8bf46cf16fe2f3d94c4dfd466803ee438298c48350a472f6a544"}, 0x48, 0xfffffffffffffffd) 15:22:06 executing program 0: r0 = openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) setsockopt$llc_int(r0, 0x10c, 0x0, 0x0, 0x0) 15:22:06 executing program 2: openat$rfkill(0xffffff9c, &(0x7f00000005c0), 0x10001, 0x0) 15:22:06 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f00000001c0), 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_DAT_CACHE(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000040)=ANY=[@ANYBLOB='H\x00\x00\x00', @ANYRES16=r1, @ANYBLOB="050b0000000000000000050000000a000900aaaaaaaaaabb00000800030002"], 0x48}}, 0x0) 15:22:06 executing program 3: openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x2c0000, 0x0) 15:22:06 executing program 0: openat$rfkill(0xffffff9c, &(0x7f0000000140), 0x2a0000, 0x0) 15:22:06 executing program 3: timerfd_create(0x6, 0x0) ioctl$IOC_PR_PREEMPT(0xffffffffffffffff, 0x401870cb, 0x0) ioctl$BLKSECTGET(0xffffffffffffffff, 0x1267, 0x0) openat$damon_attrs(0xffffff9c, &(0x7f0000000100), 0x0, 0x2) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000001340)=@bpf_lsm={0x1d, 0x9, &(0x7f00000001c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x938, 0x0, 0x0, 0x0, 0xffff8000}, [@cb_func={0x18, 0x0, 0x4, 0x0, 0x1}, @jmp={0x5, 0x0, 0x0, 0x2, 0x3, 0x80, 0xffffffffffffffff}, @call={0x85, 0x0, 0x0, 0x54}, @map_idx_val={0x18, 0x1, 0x6, 0x0, 0xc}]}, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x41100, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f00000012c0)={0x3, 0x3, 0x0, 0x3}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000001300)=[0x1, 0x1, 0x1]}, 0x80) openat$fb0(0xffffff9c, 0x0, 0x0, 0x0) syz_genetlink_get_family_id$nl802154(0x0, 0xffffffffffffffff) 15:22:06 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_SHOW_STATS(r0, &(0x7f0000001640)={&(0x7f0000001580), 0xc, 0x0}, 0x0) 15:22:06 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x8, &(0x7f00000004c0)=@raw=[@btf_id, @call, @generic={0x0, 0x7, 0x7, 0x81, 0xfffffffc}, @map_idx={0x18, 0xa, 0x5, 0x0, 0x7}, @cb_func={0x18, 0xd, 0x4, 0x0, 0x2}], &(0x7f0000000500)='GPL\x00', 0x0, 0x1d, &(0x7f0000000540)=""/29, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x7, &(0x7f00000004c0)=@raw=[@btf_id, @call, @map_idx, @cb_func], &(0x7f0000000500)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 2: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f00000013c0)=@bpf_tracing={0x1a, 0x0, 0x0, &(0x7f0000001240)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 1: openat$vcsu(0xffffff9c, &(0x7f0000001080), 0x0, 0x0) 15:22:06 executing program 3: write$damon_attrs(0xffffffffffffffff, &(0x7f0000000000)={{' ', 0x3}, {' ', 0xd3}, {' ', 0x6}, {}, {' ', 0xccd}}, 0x69) timerfd_create(0x6, 0x0) ioctl$IOC_PR_PREEMPT(0xffffffffffffffff, 0x401870cb, 0x0) ioctl$BLKSECTGET(0xffffffffffffffff, 0x1267, &(0x7f00000000c0)) openat$damon_attrs(0xffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$X86_IOC_RDMSR_REGS(0xffffffffffffffff, 0xc02063a0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000001340)=@bpf_lsm={0x1d, 0x9, &(0x7f00000001c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x938}, [@map_fd={0x18, 0x0, 0x1, 0x0, 0x1}, @btf_id={0x18, 0x5, 0x3, 0x0, 0x5}, @generic={0x3f, 0x2, 0x1}, @alu={0x7, 0x0, 0x5, 0x1, 0x2, 0x0, 0xfffffffffffffffc}]}, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 0: syz_genetlink_get_family_id$wireguard(&(0x7f0000000040), 0xffffffffffffffff) r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_SHOW_STATS(r0, &(0x7f0000001640)={0x0, 0x0, &(0x7f0000001600)={&(0x7f00000015c0)={0x1c}, 0x1c}}, 0x4044) 15:22:06 executing program 2: openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) 15:22:06 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x6, &(0x7f00000004c0)=@raw=[@call, @generic, @map_idx, @cb_func], &(0x7f0000000500)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f00000008c0)={0x0, 0x0, 0x0}, 0x0) 15:22:06 executing program 3: socketpair(0x1e, 0x0, 0x0, &(0x7f0000002600)) 15:22:06 executing program 0: openat$damon_attrs(0xffffff9c, 0x0, 0x0, 0x0) syz_genetlink_get_family_id$nl802154(&(0x7f00000018c0), 0xffffffffffffffff) 15:22:06 executing program 2: openat$damon_attrs(0xffffff9c, 0x0, 0x0, 0x2) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000001340)=@bpf_lsm={0x1d, 0x8, &(0x7f00000001c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x938, 0x0, 0x0, 0x0, 0xffff8000}, [@cb_func={0x18, 0x0, 0x4, 0x0, 0x1}, @call={0x85, 0x0, 0x0, 0x54}, @map_idx_val={0x18, 0x1, 0x6, 0x0, 0xc}]}, &(0x7f0000000240)='GPL\x00', 0x0, 0x1000, &(0x7f0000000280)=""/4096, 0x41100, 0xa, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000001300)=[0x1, 0x1, 0x1, 0x1, 0xffffffffffffffff]}, 0x80) 15:22:06 executing program 1: openat$sw_sync_info(0xffffff9c, 0x0, 0x0, 0x0) 15:22:06 executing program 0: request_key(&(0x7f0000000000)='dns_resolver\x00', &(0x7f0000000040)={'syz', 0x1}, 0x0, 0xfffffffffffffff8) 15:22:06 executing program 3: openat$hwrng(0xffffff9c, &(0x7f00000015c0), 0x6400, 0x0) 15:22:06 executing program 1: getresuid(&(0x7f0000000fc0), &(0x7f0000001000), &(0x7f0000001040)) 15:22:06 executing program 2: bpf$PROG_LOAD(0x5, 0x0, 0x0) pipe2$watch_queue(&(0x7f0000002440), 0x80) 15:22:06 executing program 0: r0 = openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) read$rfkill(r0, 0x0, 0x0) 15:22:06 executing program 1: pipe2$watch_queue(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) r1 = openat$bsg(0xffffff9c, &(0x7f0000000ac0), 0x208442, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000002c40)) 15:22:06 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_NEW_SEC_LEVEL(r0, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000380)={0x14}, 0x14}}, 0x0) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f0000000b00)={0x0, 0x0, &(0x7f0000000ac0)={&(0x7f00000009c0)={0x14}, 0x14}}, 0x0) 15:22:06 executing program 1: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000640)=@bpf_ext={0x1c, 0x3, &(0x7f0000000440)=@framed, &(0x7f0000000480)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 2: openat$tun(0xffffff9c, &(0x7f0000001580), 0x0, 0x0) 15:22:06 executing program 3: clock_gettime(0x0, &(0x7f0000001840)) 15:22:06 executing program 0: r0 = openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) getsockopt$PNPIPE_IFINDEX(r0, 0x113, 0x2, 0x0, 0x0) 15:22:06 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f00000008c0)={&(0x7f00000005c0), 0xc, &(0x7f0000000880)={0x0}}, 0x4050001) 15:22:06 executing program 2: add_key$fscrypt_v1(&(0x7f00000006c0), 0x0, 0x0, 0x0, 0xfffffffffffffffd) 15:22:06 executing program 1: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000001340)=@bpf_lsm={0x1d, 0x3, &(0x7f00000001c0)=@framed, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) clock_gettime(0x0, 0x0) syz_genetlink_get_family_id$nl802154(&(0x7f00000018c0), 0xffffffffffffffff) 15:22:06 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x5, &(0x7f00000004c0)=@raw=[@call, @map_idx, @cb_func], &(0x7f0000000500)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:06 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) syz_genetlink_get_family_id$tipc(&(0x7f0000000e40), r0) 15:22:06 executing program 3: keyctl$link(0x8, 0x0, 0xfffffffffffffffa) add_key$fscrypt_v1(&(0x7f00000006c0), &(0x7f0000000700), &(0x7f0000000740)={0x0, "6d5d304594a91246efc9c70ac07b9f2b70b1ff08cebec315fe1af8c6336e21265fbba3bed50f8bf46cf16fe2f3d94c4dfd466803ee438298c48350a472f6a544", 0x12}, 0x48, 0xfffffffffffffffd) 15:22:06 executing program 1: openat$bsg(0xffffff9c, &(0x7f0000001100), 0x0, 0x0) 15:22:07 executing program 3: syz_genetlink_get_family_id$wireguard(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$TIPC_CMD_SHOW_PORTS(0xffffffffffffffff, 0x0, 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_SHOW_STATS(r0, &(0x7f0000001640)={&(0x7f0000001580)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000001600)={&(0x7f00000015c0)={0x1c}, 0x1c}}, 0x4044) 15:22:07 executing program 0: syz_open_dev$video4linux(0x0, 0x0, 0x0) 15:22:07 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, 0x0, 0x0) 15:22:07 executing program 1: openat$dlm_control(0xffffff9c, &(0x7f0000000900), 0x0, 0x0) 15:22:07 executing program 3: openat$sw_sync_info(0xffffff9c, 0x0, 0x2c0000, 0x0) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000100)={0xffffffffffffffff, 0x0, 0x25, 0x2}, 0x10) syz_init_net_socket$ax25(0x3, 0x2, 0x0) 15:22:07 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x8, &(0x7f00000004c0)=@raw=[@btf_id, @call={0x85, 0x0, 0x0, 0xa4}, @generic={0x0, 0x7, 0x7, 0x0, 0xfffffffc}, @map_idx={0x18, 0xa}, @cb_func={0x18, 0x0, 0x4, 0x0, 0x2}], &(0x7f0000000500)='GPL\x00', 0x0, 0x1d, &(0x7f0000000540)=""/29, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:07 executing program 0: syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1341, 0xd, &(0x7f0000000340)=[{&(0x7f00000007c0)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002", 0x45}, {&(0x7f0000000a40)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000f6136555a5cb23ef554b9b5b302b9d5d00000001000000000000000000000000000000000961b40abe1e083d66c8f3fc3ba916bc0000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b00000ff4800000001004000000003000000000000000000000000000000000040000000000000000008000000000000100000", 0x1a3, 0x4000}, {&(0x7f0000000640)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d006900720072000000000000008000000048", 0x175, 0x47a0}, {&(0x7f0000010540)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302", 0x175, 0x4fe0}, {&(0x7f0000000140)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340102000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c02000018000000000000000000000003010000000000008000000018", 0x1ed, 0x57e0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c8010000000800000000000000000000040000000400000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c", 0x1db, 0x5fe0}, {&(0x7f0000000840)="000000000000000000000000000000000000000000000000000000000000020046494c45300005100000000000000000050001004000030008020000000800000000000000000000060000000500000003000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801fc42f8c1344fd801fc42f8c1344fd801801875c1344fd801262000100000000000000000000000003000000060000000000018000000010044000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e000000000050000002000000679e921b457e5a00000000000200000900000000400000000000000000180000000000002c100000000000002c1000000000000021038700000000009000000058b9d27616b8e0a57549efa800000000041800000003003800000020000000240049003300300030000000010000000010000002d7e843a6c87333d1c01cbfc43270b2761f56537f43379e984fb1e1a74122126af0a7e4fca2be80ea532b3d4fbae7f3e233fb322a676ba1497d492bb424c5a90fa9f976e1a1c4a642160ceeadcdaf069f750dbbd6e8718e250f2a33ae0c814a3399468601f694bcf358ab5b9c0683c0083ec2de369a73f515821ef6c8", 0x1ff, 0x67e0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c45300005000000000000000000060001004000010058010000000800000000000000000000030000000600000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000020050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e", 0x16b, 0x6fe0}, {&(0x7f0000000480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000080001004000010080010000ec0800000000000000000000040000000800000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000001000000000000000000010000000000000000000000000000000000003000000070000000000018000000030052000000180001000500000000000500801875c13402d801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000051f200000006000000000000000803240042006100640086246c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff03", 0x193, 0x7fe0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000090001004000090008030000000800000000000000000000050000000900000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000000001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000800000000000000048000000000000000008040000000000700104eaffffff00700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde42020100000001000000000000640000000000000000000000100000000200"/797, 0x31d, 0x87e0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a00000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000030050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f000000000000004000000000000000000002000000000000000200000000000000020000000000214010", 0x16b, 0x8fe0}, {&(0x7f0000000080)="10", 0x1, 0x46080}, {&(0x7f000003a4a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f0000000400)={[{@showmeta}, {@dmask}, {@dmask={'dmask', 0x3d, 0x8}}]}, 0x0) 15:22:07 executing program 3: r0 = openat$nullb(0xffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$BLKROGET(r0, 0x125e, 0x0) 15:22:07 executing program 1: syz_genetlink_get_family_id$nl802154(0x0, 0xffffffffffffffff) r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f0000000cc0)={0x0, 0x0, &(0x7f0000000c80)={&(0x7f0000000980)={0x14}, 0x14}}, 0x0) syz_genetlink_get_family_id$nbd(&(0x7f0000000d00), r0) [ 347.785672][T10337] loop0: detected capacity change from 0 to 4119 15:22:07 executing program 2: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f00000013c0)=@bpf_tracing={0x1a, 0x1, &(0x7f0000001200)=@raw=[@alu], &(0x7f0000001240)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) [ 347.802412][T10337] ntfs3: loop0: Different NTFS' sector size (2048) and media sector size (512) 15:22:07 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f0000002300)={0x0, 0x1, &(0x7f0000002140)=@raw=[@call], &(0x7f0000002180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) [ 347.819899][T10337] ntfs3: loop0: Failed to load $Volume. 15:22:07 executing program 2: r0 = openat$nullb(0xffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$BLKROGET(r0, 0x125e, &(0x7f0000000140)) 15:22:07 executing program 3: openat$hwrng(0xffffff9c, &(0x7f00000007c0), 0x0, 0x0) 15:22:07 executing program 1: openat$damon_attrs(0xffffff9c, &(0x7f0000000100), 0x0, 0x0) 15:22:07 executing program 2: r0 = openat$fuse(0xffffff9c, &(0x7f0000002b80), 0x2, 0x0) write$FUSE_INIT(r0, 0x0, 0x0) 15:22:07 executing program 3: openat$hwrng(0xffffff9c, 0x0, 0x50b880, 0x0) 15:22:07 executing program 0: syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1341, 0xd, &(0x7f0000000340)=[{&(0x7f00000007c0)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002", 0x45}, {&(0x7f0000000a40)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000f6136555a5cb23ef554b9b5b302b9d5d00000001000000000000000000000000000000000961b40abe1e083d66c8f3fc3ba916bc0000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b00000ff4800000001004000000003000000000000000000000000000000000040000000000000000008000000000000100000", 0x1a3, 0x4000}, {&(0x7f0000000640)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d006900720072000000000000008000000048", 0x175, 0x47a0}, {&(0x7f0000010540)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302", 0x175, 0x4fe0}, {&(0x7f0000000140)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340102000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c02000018000000000000000000000003010000000000008000000018", 0x1ed, 0x57e0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c8010000000800000000000000000000040000000400000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c", 0x1db, 0x5fe0}, {&(0x7f0000000840)="000000000000000000000000000000000000000000000000000000000000020046494c45300005100000000000000000050001004000030008020000000800000000000000000000060000000500000003000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801fc42f8c1344fd801fc42f8c1344fd801801875c1344fd801262000100000000000000000000000003000000060000000000018000000010044000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e000000000050000002000000679e921b457e5a00000000000200000900000000400000000000000000180000000000002c100000000000002c1000000000000021038700000000009000000058b9d27616b8e0a57549efa800000000041800000003003800000020000000240049003300300030000000010000000010000002d7e843a6c87333d1c01cbfc43270b2761f56537f43379e984fb1e1a74122126af0a7e4fca2be80ea532b3d4fbae7f3e233fb322a676ba1497d492bb424c5a90fa9f976e1a1c4a642160ceeadcdaf069f750dbbd6e8718e250f2a33ae0c814a3399468601f694bcf358ab5b9c0683c0083ec2de369a73f515821ef6c8", 0x1ff, 0x67e0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c45300005000000000000000000060001004000010058010000000800000000000000000000030000000600000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000020050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e", 0x16b, 0x6fe0}, {&(0x7f0000000480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000080001004000010080010000ec0800000000000000000000040000000800000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000001000000000000000000010000000000000000000000000000000000003000000070000000000018000000030052000000180001000500000000000500801875c13402d801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000051f200000006000000000000000803240042006100640086246c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff03", 0x193, 0x7fe0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000090001004000090008030000000800000000000000000000050000000900000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000000001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000800000000000000048000000000000000008040000000000700104eaffffff00700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde42020100000001000000000000640000000000000000000000100000000200"/797, 0x31d, 0x87e0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a00000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000030050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f000000000000004000000000000000000002000000000000000200000000000000020000000000214010", 0x16b, 0x8fe0}, {&(0x7f0000000080)="10", 0x1, 0x46080}, {&(0x7f000003a4a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f0000000400)={[{@showmeta}, {@dmask}, {@dmask={'dmask', 0x3d, 0x8}}]}, 0x0) 15:22:07 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x8, &(0x7f00000004c0)=@raw=[@btf_id, @call={0x85, 0x0, 0x0, 0xa4}, @generic={0x0, 0x7, 0x7, 0x81, 0xfffffffc}, @map_idx={0x18, 0xa, 0x5, 0x0, 0x7}, @cb_func], &(0x7f0000000500)='GPL\x00', 0x0, 0x1d, &(0x7f0000000540)=""/29, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:07 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_SHOW_STATS(r0, &(0x7f0000001640)={&(0x7f0000001580)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000001600)={&(0x7f00000015c0)={0x1c}, 0x1c}}, 0x0) 15:22:07 executing program 3: getresuid(&(0x7f0000003880), &(0x7f00000038c0), &(0x7f0000003900)) [ 347.985216][T10358] loop0: detected capacity change from 0 to 4119 15:22:07 executing program 3: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000001340)=@bpf_lsm={0x1d, 0x0, 0x0, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:07 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x8, &(0x7f00000004c0)=@raw=[@btf_id, @call, @generic, @map_idx, @cb_func], &(0x7f0000000500)='GPL\x00', 0x0, 0x1d, &(0x7f0000000540)=""/29, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) [ 348.005657][T10358] ntfs3: loop0: Different NTFS' sector size (2048) and media sector size (512) [ 348.017167][T10358] ntfs3: loop0: Failed to load $Volume. 15:22:07 executing program 0: r0 = openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$BLKRAGET(r0, 0x1263, 0x0) 15:22:07 executing program 3: r0 = openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) read$rfkill(r0, &(0x7f00000000c0), 0x8) 15:22:07 executing program 2: bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@bloom_filter, 0x48) getresgid(&(0x7f0000000b80), &(0x7f0000000bc0), &(0x7f0000000c00)) 15:22:07 executing program 1: openat$fb0(0xffffff9c, &(0x7f0000001440), 0x0, 0x0) 15:22:07 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f0000002300)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) ioctl$SG_GET_SCSI_ID(0xffffffffffffffff, 0x2276, &(0x7f0000002400)) pipe2$watch_queue(&(0x7f0000002440), 0x80) 15:22:07 executing program 2: openat$sw_sync_info(0xffffff9c, 0x0, 0x0, 0x0) syz_init_net_socket$ax25(0x3, 0x2, 0x0) 15:22:07 executing program 1: openat$vcsu(0xffffff9c, &(0x7f00000026c0), 0x80000, 0x0) 15:22:07 executing program 0: r0 = epoll_create(0x7ff) r1 = openat$vcsu(0xffffff9c, &(0x7f00000026c0), 0x0, 0x0) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000002700)) 15:22:07 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f00000008c0)={0x0, 0x0, &(0x7f0000000880)={0x0}}, 0x0) 15:22:07 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@bloom_filter={0x1e, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x3}, 0x48) 15:22:07 executing program 2: r0 = timerfd_create(0x0, 0x0) ioctl$X86_IOC_RDMSR_REGS(r0, 0xc02063a0, 0x0) 15:22:07 executing program 1: bpf$OBJ_GET_PROG(0x7, &(0x7f0000000600)={0x0, 0x0, 0x18}, 0x10) 15:22:07 executing program 0: write$damon_attrs(0xffffffffffffffff, &(0x7f0000000000)={{' ', 0x3}, {' ', 0xd3}, {' ', 0x6}}, 0x69) timerfd_create(0x0, 0x0) ioctl$IOC_PR_PREEMPT(0xffffffffffffffff, 0x401870cb, 0x0) ioctl$BLKSECTGET(0xffffffffffffffff, 0x1267, 0x0) openat$damon_attrs(0xffffff9c, 0x0, 0x0, 0x0) ioctl$X86_IOC_RDMSR_REGS(0xffffffffffffffff, 0xc02063a0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000001340)=@bpf_lsm={0x1d, 0x3, &(0x7f00000001c0)=@framed, &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$OBJ_PIN_PROG(0x6, 0x0, 0x0) ioctl$BLKSECDISCARD(0xffffffffffffffff, 0x127d, 0x0) 15:22:07 executing program 3: keyctl$KEYCTL_PKEY_SIGN(0x1b, &(0x7f0000000140), &(0x7f0000000180)={'enc=', 'pkcs1', ' hash=', {'crc32-generic\x00'}}, 0x0, 0x0) 15:22:07 executing program 2: request_key(&(0x7f0000000000)='dns_resolver\x00', &(0x7f0000000040)={'syz', 0x1}, &(0x7f0000000080)='\x00', 0xfffffffffffffff8) 15:22:07 executing program 1: openat$hwrng(0xffffff9c, &(0x7f00000007c0), 0x102, 0x0) 15:22:07 executing program 3: ioctl$TUNSETFILTEREBPF(0xffffffffffffffff, 0x800454e1, &(0x7f0000000000)) pipe2$watch_queue(&(0x7f0000002440), 0x80) 15:22:07 executing program 0: openat$vcsu(0xffffff9c, 0x0, 0x0, 0x0) 15:22:07 executing program 2: keyctl$instantiate_iov(0x14, 0x0, &(0x7f0000000c00)=[{0x0}], 0x1, 0x0) 15:22:07 executing program 0: ioctl$BLKSECTGET(0xffffffffffffffff, 0x1267, 0x0) openat$damon_attrs(0xffffff9c, &(0x7f0000000100), 0x0, 0x0) syz_genetlink_get_family_id$nl802154(&(0x7f00000018c0), 0xffffffffffffffff) 15:22:07 executing program 2: bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, 0x0, 0x0) getresuid(0x0, 0x0, 0x0) socket$inet6_udp(0xa, 0x2, 0x0) 15:22:07 executing program 1: r0 = openat$sw_sync_info(0xffffff9c, &(0x7f0000000080), 0x0, 0x0) syz_genetlink_get_family_id$gtp(&(0x7f0000000680), r0) 15:22:07 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f0000000cc0)={0x0, 0x0, &(0x7f0000000c80)={&(0x7f0000000980)={0x14}, 0x14}}, 0x0) 15:22:07 executing program 0: add_key$fscrypt_v1(&(0x7f00000006c0), &(0x7f0000000700)={'fscrypt:', @auto=[0x65, 0x64, 0x65, 0x66, 0x65, 0x38, 0x66, 0x38, 0x0, 0x64]}, &(0x7f0000000740)={0x0, "6d5d304594a91246efc9c70ac07b9f2b70b1ff08cebec315fe1af8c6336e21265fbba3bed50f8bf46cf16fe2f3d94c4dfd466803ee438298c48350a472f6a544", 0x12}, 0x48, 0xfffffffffffffffd) 15:22:07 executing program 2: getresuid(&(0x7f00000021c0), &(0x7f0000002200), 0x0) 15:22:07 executing program 3: sendmsg$WG_CMD_GET_DEVICE(0xffffffffffffffff, 0x0, 0x40004) openat$vcsu(0xffffff9c, 0x0, 0x0, 0x0) openat$bsg(0xffffff9c, &(0x7f0000001100), 0x0, 0x0) 15:22:07 executing program 1: syz_genetlink_get_family_id$wireguard(&(0x7f0000000040), 0xffffffffffffffff) syz_genetlink_get_family_id$wireguard(&(0x7f0000001500), 0xffffffffffffffff) 15:22:07 executing program 2: openat$sw_sync_info(0xffffff9c, 0x0, 0x2c0000, 0x0) 15:22:07 executing program 3: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x7, &(0x7f00000004c0)=@raw=[@btf_id={0x18, 0x1, 0x3, 0x0, 0x2}, @call, @map_idx, @cb_func], &(0x7f0000000500)='GPL\x00', 0x81c, 0x1d, &(0x7f0000000540)=""/29, 0x41000, 0x8, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, &(0x7f0000000580)={0x1, 0x1}, 0x8, 0x10, 0x0}, 0x80) 15:22:07 executing program 0: bpf$MAP_CREATE(0x0, &(0x7f0000000200)=@bloom_filter, 0x48) 15:22:07 executing program 1: syz_genetlink_get_family_id$nl802154(&(0x7f00000018c0), 0xffffffffffffffff) 15:22:07 executing program 2: getresgid(&(0x7f0000000b80), 0x0, 0x0) 15:22:07 executing program 3: socketpair(0x1e, 0x0, 0x8b0, &(0x7f0000002600)) 15:22:07 executing program 0: syz_open_dev$video4linux(&(0x7f0000000580), 0x0, 0x189002) 15:22:07 executing program 1: keyctl$link(0x8, 0x0, 0xfffffffffffffffa) request_key(0x0, 0x0, 0x0, 0xfffffffffffffff8) socket$can_raw(0x1d, 0x3, 0x1) 15:22:07 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f0000002300)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) socketpair(0x1e, 0x0, 0x8b0, &(0x7f0000002600)) 15:22:07 executing program 0: syz_genetlink_get_family_id$wireguard(&(0x7f0000000040), 0xffffffffffffffff) socket$inet_udplite(0x2, 0x2, 0x88) 15:22:07 executing program 3: ioctl$X86_IOC_RDMSR_REGS(0xffffffffffffffff, 0xc02063a0, 0x0) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, 0x0, 0x0) openat$fb0(0xffffff9c, &(0x7f0000001440), 0x0, 0x0) syz_genetlink_get_family_id$nl802154(&(0x7f00000018c0), 0xffffffffffffffff) 15:22:07 executing program 2: request_key(&(0x7f0000000600)='id_resolver\x00', &(0x7f0000000640)={'syz', 0x3}, 0x0, 0x0) 15:22:07 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_SHOW_STATS(r0, &(0x7f0000001640)={&(0x7f0000001580), 0xc, &(0x7f0000001600)={0x0}}, 0x0) 15:22:07 executing program 3: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000600)={0x6, 0x5, &(0x7f00000004c0)=@raw=[@btf_id, @call, @map_idx], &(0x7f0000000500)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:07 executing program 0: openat$nullb(0xffffff9c, &(0x7f0000000100), 0x0, 0x0) 15:22:07 executing program 2: bpf$OBJ_PIN_PROG(0x6, &(0x7f00000013c0)={0x0}, 0x10) 15:22:07 executing program 1: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_NEW_SEC_LEVEL(r0, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000380)={0x14}, 0x14}}, 0x0) sendmsg$NL802154_CMD_DEL_SEC_KEY(r0, &(0x7f0000000b00)={&(0x7f0000000940)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000ac0)={&(0x7f00000009c0)={0x14, 0x0, 0x4}, 0x14}}, 0x0) 15:22:07 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x80086601, 0x0) 15:22:07 executing program 0: r0 = shmget$private(0x0, 0x1000, 0x200, &(0x7f0000ffe000/0x1000)=nil) shmctl$SHM_STAT_ANY(r0, 0xf, &(0x7f0000000080)=""/221) shmat(r0, &(0x7f0000ffc000/0x3000)=nil, 0x4000) 15:22:07 executing program 3: r0 = socket$igmp(0x2, 0x3, 0x2) setsockopt$MRT_DEL_MFC_PROXY(r0, 0x0, 0xd3, &(0x7f0000000000)={@rand_addr, @loopback, 0x0, "6e4e129f73b8177c0dcd5a4c9857abec66846e2d72ec8f2ac38e7c3e175a331f"}, 0x3c) 15:22:07 executing program 1: bpf$PROG_BIND_MAP(0x23, &(0x7f0000000400), 0xc) 15:22:07 executing program 3: add_key$fscrypt_v1(&(0x7f00000006c0), &(0x7f0000000700)={'fscrypt:', @auto=[0x65, 0x0, 0x65, 0x0, 0x0, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x33]}, &(0x7f0000000740)={0x0, "6d5d304594a91246efc9c70ac07b9f2b70b1ff08cebec315fe1af8c6336e21265fbba3bed50f8bf46cf16fe2f3d94c4dfd466803ee438298c48350a472f6a544", 0x12}, 0x48, 0xfffffffffffffffd) 15:22:07 executing program 2: syz_genetlink_get_family_id$nl802154(0x0, 0xffffffffffffffff) syz_genetlink_get_family_id$nbd(&(0x7f0000000d00), 0xffffffffffffffff) 15:22:07 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5452, &(0x7f0000000080)={0x0, 0x0}) 15:22:07 executing program 1: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x40086602, &(0x7f0000000080)={0x0, 0x0}) 15:22:07 executing program 3: openat$damon_init_regions(0xffffffffffffff9c, &(0x7f0000000040), 0x104a01, 0x0) 15:22:07 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000440), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_COALESCE_GET(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000000640)=ANY=[@ANYBLOB='@\x00\x00\x00', @ANYRES16=r1, @ANYBLOB="010000000000000000001300000018000180140002006970766c616e3100000000000000000014"], 0x40}}, 0x0) 15:22:07 executing program 1: syz_clone3(&(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, {}, 0x0, 0x0, 0x0, &(0x7f0000000240)=[0x0, 0xffffffffffffffff, 0x0], 0x3}, 0x58) getsockopt$SO_J1939_PROMISC(0xffffffffffffffff, 0x6b, 0x2, 0x0, &(0x7f0000000080)) 15:22:07 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5421, 0x0) 15:22:07 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x14, 0x14, 0x9, 0x101}, 0x14}}, 0x0) 15:22:07 executing program 2: syz_clone3(&(0x7f0000001500)={0x0, 0x0, 0x0, 0x0, {}, 0x0, 0x0, 0x0, &(0x7f00000014c0)}, 0x58) 15:22:07 executing program 1: getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, &(0x7f0000000180)) syz_clone3(&(0x7f0000000280)={0x168000400, &(0x7f0000000300), &(0x7f0000000100), &(0x7f0000000140), {0x1d}, &(0x7f0000000340)=""/100, 0x64, &(0x7f0000000200)=""/21, 0x0}, 0x58) r0 = openat$pidfd(0xffffffffffffff9c, &(0x7f00000005c0), 0x0, 0x0) ioctl$sock_bt_cmtp_CMTPCONNADD(0xffffffffffffffff, 0x400443c8, &(0x7f00000003c0)={0xffffffffffffffff, 0x7fff}) pidfd_getfd(r0, 0xffffffffffffffff, 0x0) r1 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) getsockopt$SO_J1939_PROMISC(r1, 0x6b, 0x2, &(0x7f0000000040), &(0x7f0000000080)=0x4) connect$can_j1939(r1, &(0x7f0000000400)={0x1d, 0x0, 0x3, {0x0, 0xff, 0x1}, 0x2}, 0x18) setsockopt$MRT_TABLE(r1, 0x0, 0xcf, &(0x7f0000000000)=0xfe, 0x4) socket$key(0xf, 0x3, 0x2) 15:22:07 executing program 0: r0 = socket$can_j1939(0x1d, 0x2, 0x7) recvmsg$can_j1939(r0, &(0x7f0000001800)={0x0, 0x0, 0x0}, 0x0) 15:22:07 executing program 3: socket$netlink(0x10, 0x3, 0x0) clock_gettime(0x0, &(0x7f0000000100)={0x0}) pselect6(0x40, &(0x7f0000000040)={0x9}, 0x0, 0x0, &(0x7f0000000180)={r0}, 0x0) 15:22:07 executing program 2: syz_clone3(&(0x7f0000000280)={0x168000400, &(0x7f0000000300), &(0x7f0000000100), &(0x7f0000000140), {}, 0x0, 0x0, &(0x7f0000000200)=""/21, 0x0}, 0x58) r0 = openat$pidfd(0xffffffffffffff9c, &(0x7f00000005c0), 0x0, 0x0) ioctl$sock_bt_cmtp_CMTPCONNADD(0xffffffffffffffff, 0x400443c8, &(0x7f00000003c0)={0xffffffffffffffff, 0x7fff}) pidfd_getfd(r0, 0xffffffffffffffff, 0x0) r1 = pidfd_getfd(r0, 0xffffffffffffffff, 0x0) getsockopt$SO_J1939_PROMISC(r1, 0x6b, 0x2, &(0x7f0000000040), &(0x7f0000000080)=0x4) connect$can_j1939(r1, &(0x7f0000000400)={0x1d, 0x0, 0x3, {0x0, 0x0, 0x1}, 0x2}, 0x18) setsockopt$MRT_TABLE(r1, 0x0, 0xcf, &(0x7f0000000000)=0xfe, 0x4) socket$key(0xf, 0x3, 0x2) 15:22:07 executing program 0: openat$damon_init_regions(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) prctl$PR_SET_MM_MAP_SIZE(0x23, 0xf, &(0x7f0000000080)) 15:22:08 executing program 0: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000140)={0x556, 0x1e0}) 15:22:08 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x18, 0x0, 0x9, 0x101, 0x0, 0x0, {}, [@generic="d5"]}, 0x18}}, 0x0) [ 348.762290][T10498] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.0'. 15:22:08 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000080)={0x25, 0x0}) 15:22:08 executing program 1: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000000)={0xffffffffffffff32, 0x0}) 15:22:08 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000080), 0x0, 0x80000) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5450, 0x0) 15:22:08 executing program 3: r0 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) write$apparmor_exec(r0, 0x0, 0xa) 15:22:08 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000340)) 15:22:08 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5460, 0x0) 15:22:08 executing program 0: r0 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) write$apparmor_exec(r0, &(0x7f0000000300)=ANY=[@ANYBLOB='stacc .'], 0xa) 15:22:08 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000080)={0x8, 0x0}) [ 349.536556][ T40] audit: type=1400 audit(1664119328.832:2): apparmor="DENIED" operation="setprocattr" info="exec" error=-22 profile="unconfined" pid=10509 comm="syz-executor.0" 15:22:08 executing program 0: openat$damon_init_regions(0xffffffffffffff9c, 0x0, 0x0, 0x0) 15:22:08 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_DEFAULT_GET(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="1c000000100001010000000000495ac7db00fc"], 0x1c}}, 0x0) 15:22:08 executing program 3: r0 = socket$pppl2tp(0x18, 0x1, 0x1) ioctl$SIOCSIFMTU(r0, 0x8922, 0x0) 15:22:08 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x4, 0x121001) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000080)={0x0, 0x0}) [ 349.598543][T10522] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.2'. 15:22:08 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000240)=@base={0x9, 0x0, 0x0, 0x0, 0x984}, 0x48) 15:22:08 executing program 2: r0 = socket$rds(0x15, 0x5, 0x0) bind$rds(r0, &(0x7f0000000000)={0x2, 0x4e24, @private=0xa010100}, 0x10) getpgrp(0x0) 15:22:08 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x40049409, &(0x7f0000000080)={0x0, 0x0}) 15:22:08 executing program 0: r0 = shmget$private(0x0, 0x1000, 0x0, &(0x7f0000ffe000/0x1000)=nil) shmat(r0, &(0x7f0000ffc000/0x3000)=nil, 0x0) 15:22:08 executing program 3: socket(0x1d, 0x0, 0x0) r0 = socket$pppl2tp(0x18, 0x1, 0x1) ioctl$SIOCSIFMTU(r0, 0x8922, &(0x7f0000000080)={'vlan0\x00', 0xfffffff9}) 15:22:08 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x5c, 0x0, 0x9, 0x101, 0x0, 0x25dfdbfd, {0x1}, [@generic="d52d3defd120e7c63c8ef1350a9fe7a92a0aaada8c24cbf8b7b36f68c93042b3b615382b9bca9a30c1bee4149525abd5818568359e9a1103753482de61f6bef429bbabab34"]}, 0x5c}}, 0x0) 15:22:08 executing program 1: syz_clone3(&(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, {}, 0x0, 0x0, &(0x7f0000000200)=""/21, &(0x7f0000000240)=[0x0, 0xffffffffffffffff, 0x0], 0x3}, 0x58) [ 349.692118][T10531] RDS: rds_bind could not find a transport for ::ffff:10.1.1.0, load rds_tcp or rds_rdma? 15:22:09 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5451, 0x0) [ 349.723234][T10541] netlink: 72 bytes leftover after parsing attributes in process `syz-executor.0'. [ 349.733218][T10536] can: request_module (can-proto-0) failed. 15:22:09 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x40086602, 0x0) [ 349.741886][T10536] vlan0: mtu less than device minimum 15:22:09 executing program 3: r0 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) write$apparmor_exec(r0, &(0x7f0000000300)={'stack ', '.)\\\t'}, 0xa) 15:22:09 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000a00)={0x0, 0x0, &(0x7f00000009c0)={0x0, 0x68}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000100)=@newqdisc={0x2c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_drr={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000380)=@newtfilter={0x38, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x0, 0xfff3}, {}, {0xfff3}}, [@filter_kind_options=@f_fw={{0x7}, {0xc, 0x2, [@TCA_FW_CLASSID={0x8, 0x1, {0x0, 0x10}}]}}]}, 0x38}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) 15:22:09 executing program 2: syz_clone(0x24010000, &(0x7f0000002080)="22d12cc563fd12e048f7788958ff7368d2cb2e732c33c5d63bf7885ac17a35909f7922f0c7fafec11331c83cee7f0af30323597402e92791b08a9f", 0x3b, &(0x7f00000020c0), &(0x7f0000002100), &(0x7f0000002140)="d5d0a7c248d35a900a13bcf6427672c8f2a18b7f459aa084a0c555a8a69815bb66c9a3a31581d5601c6f1e0daf24d1ab46c893a291ec3e11880a45634cd9f7ef79eaf831a93d2d4f3ffc003c8cb8050c6b88a59d1cd5609a9831217867749c278a5b5cdd2fde909bbcb5ffef09e5970780656ce9d300342b7438cbcb430a35886c60252c57f3fa6433b7a512644b288b8d84d60687e5f912c49e4385255e3982657924f88ff9") syz_clone(0x40200000, &(0x7f0000000000)="b442bed3c134c0d05190a3377e17ec368a09597c62f245e78fe5175839dedfadbcc741caa9dbb13dbf672692908b5cea04226373c7d65d50cfe6e19c0d8c3468d1627eb505ff96eeda81a9696bece36539d5f4d4f0e502d0fe1bd051d3770d7d43e4e96bfa80667091f8b3fdebed2e907711b1282049cde920ae8cee2eac823852d642f210dc269364fbde95edf6bca44d384474997eacece65489646fdb614d67320cee6b6b4d4e58a8c6eaa19c4021f467d1f33de7ff39ff79a1106f94a59c71bcd1987cb4e04a29227b747c96b6e9ef361cdfb7e303737d9b01923065362922e86573fd6b0ffa4cae4b5970a24f822b9a2f8328f3448422d93f71319c6935cbfbeaba6285c46c0734945bd28f00e9ca7eb9e0e2fa7c710b53fdbc1ec0e35f3555dedac73ea758ebdaeadc29e6352697ccb32bd40d28887466f56757ffb0a9fbc48f578f42a584ccd1a1b40dc049bd024c55b535e95e5570dced86b29fb700cb660dacbf6c3764430ea8dd55b519ac228065fb7bf08aa277c2a060d54ccf30dfedb216c1ff955a7263e23237fac25c3c3960f858d3782f29cd32c85dc7f434aabd03b46aa9706414b939ebf2309bb923dbbe978baf6e84719db2072fc9fe68ca461be47e6f26e3591206ec6732abeae60ca9e9eed731ccff70f2ce36aab1ba7b323025f147abf89b67edfce22767e60209043df4ad53c241194d253a3765c8a4e9508e5320fa25fb9f794434788a8edd72b06a53430512b62b74a7a83d86963664c8f8198f2bcd8a02020198d4c52fe0f435eeb1ed75e13c353637ab3f10443d13f9ad19647999e0626709cc2c3dc781c366617275b182994002d7d7fd16fd00c12016e9f6b9b0e514136c9e9ed5420924e26f9f0453c7495a67e1bc3463d574644a0fd62c2e4a099d5530eb3237d352426179ed1e4f654154fff0bf6b6393bfbbee66f8efc252b1d2369eb5402c2e099e92f4996d796e7fe50b0c63ffaede9e0c47b817f120007d249b9ef55d59767a7c6f3b2e4c594792e5003599e96bfdc028ffbac6156a96c7de05dfc5f24efef3c0a6caa39d34914d25cb5cd84375ce190ff86fa841fbab6a0704eec27a58593076dd8d765259f99e9cafe9d9d914fc4bae0b2d1f338e2f35329ff03d5f2776cd52447fdb1d03a9688b943367cefee8184667335ac1e8c28f888ea7d9fac23bdf6c9622a15de89b721fd398a6356108c36c7dc9e736e1b9b72e9bd567d8e6e17cbaa103116567c503e3d0312c82fe0b97e8fea9ae465d3fa1343790c8f15bfaa2288f1f1dfeb4a2b1ff05ad309cdc3297e19af0bc92a31c36e2090db0082966e01570244f5745322f9f59e93d6c40f794174b5160d1d1bd7d28c360c17cacd05f0408c2a9a29397c31d8570eac48d39632c92313bc4a6ccaa741838305b46a7372121588e3e459363faa663a6ba27f9bcf67511731402494b8610be8d73fd98aad8a6831f17c56d491d0e33b7c0e323a04b5a5cfd9c36b20ca588161c85c3fa09f597fa0450ff8ea02700d59aef1aa3a9fe7836c786169f115688775aceb500f11c835be0ad8329dbddaec8de3fc3672430fbea429b83e33aec63071031c43e7b74d7d10cec4998e42bd54412ed6f1c4644b2bb933d32f2c805e56806f2b2deffcdd6b09724289a74d86be3d0d836990e9cd5a983969894051809d1d96e645ef5fe420c656d153d5c39bae10ac7062927012c5a1b09072b46420bf78713ae4a1b7687ea56b4991b17e4097f9524522135aa13deefd7ed9d35184d71a32297df7cc4a6804f8b29e721a964d7a493ef0663268719475091f6659a985ba3d3e830984feb0e7fed82822e569274be3b529ba4f191be743f174392e4bb039011365d9f0f8789a857e3c8980dda21008882842309af5e106ee6c76ca607c6c8e9ed0d6350c81bd4fb1863c4dcb260bacf9ccf10e98c2c9ddc59ed30e0cb70433798f3dd01bd713c9b952180ead53de0252e10ed87a1f6049b1c7ecb841c13a43a643c6f8ac38dd897e69b7d5d394c3704daca24670031717fe6b822037f45dd93131605a5be76066c320ab4d8b0b0073a7627ca73c72a434727cd6bf80e21b9f1a882e3c8043dbf83cf0a0e17743779851e46321a203531b3f33b4f4f75d171f01ff549c4c930dda47a9e9d3ac57e0d7f542fc116b56213f3a75fca2bb714e0cdfad01bd44bd7708c83c096be83d5c8e4ca7c48e3a14ce051aa00aaf2b654f16b0cb29fadb43a6008d6da601755a6c81e4b9a8a3240c34d4f238e3db0460a7d4630baa544613d9d55014ac11309ae80efe2aa04d8623c30d64563e9d59b3fd3b76847a7b66dab43634aa20a3f138331265a383f385eba0e734ea2c60801f2c2a41f37058581a546042abca6cc59b602bedd0d3ae7c18b14ef36f7f106d4931aed05cce6a8c3e1def4a8c295d0cb5e84a1fb3846018f011289506df618dfc1e1cc79f29ba144d4168ce00bf9413d210f280deec79683987af2759710f3807a2a2b641d1309cab7595a4e6813bb3246aaa7892d911f6d4dc775397fb6a60c9eec71dd4a2e04221bd028300498850cc1dbe6f721d1482e66e178b8ca03a1b60be8772ee6f2cfcef700796cc2e4b4714b78448c415cb38ca4114da60cf3ae89f8c85ffec75f30b2904e76364537a188ea9e6c4d93e02d5ea88e2f4c67e55a6fac8168207afaefe7e12ab25974b97c4a597b26530d383874e2ea5ba6dc87c543a4956784fa48c6c10611f23ce6afa129017a45284340b4e391132dcc9762ad92229ff0cb405e030395862c52fbd4a4668f63b7bc15b673d461bd37e2d9a260410f951d94d9390372cb9ca7abd057cc55c0e610dc67793c974970330bab8f1555e15b74657d788b235c2f618ef3f54940b87f05f68885143a3b364012716b930010dabdbd8fd2509574b9f980ee57675614d96399a8bef62e6562f7f69bfda7a7c6b28368dbead685eeeab083c6e277d9309006be6100120500abf4b4bc115a86e33b9839d60626e469488cec4346b92c97781c8fbfdd1493c583f6d60170efb668b8983c69682b05cf3511efe226683038904ce4685d9b3bc732d5b203666fd03bc587d8f2baec72d5eac13607f4dc6c0bc2e0020f2c88890e5535807997f6aca748aaffce87a2f280e715788eaa6b5c1212819bcf19c040336ccb8f3cd170e43a47cbfe63cc231e18c507daed19b6e47235ef55d31197be813feb4972d859be18640647e1ecfbe2de4e9af0b177e9cb58a038829f653916384c66597ff9cadd5ba584d2dd3149f51930df02a74237f184b1d5f504906151a7fe09667606372938e05356354902ca45f24302efdd3bc8b6efc0712f716e6e00e05f4893ba62f2035bf424d26acbca5f5af95dc87743a1308ac5c5cbf57374abdf820ba3e9535819095567bec4ff2f63eeb3fb6f867db0914eb0ba0eb19692e647eddbf383dc7318afbf32d7382b923c419f9797b7d8bb497f52c835a64690842390ce29b57dd4346bc0a76240df18d8858c7ab81a20e14a13963ee0fbe64a80b0337d5de81a18de7a32fb95bf01a16ae6c53f49b81bca5f609ad8379c400509736ce461b35d5a79dabaea9d9ad29ed0737bd2f914025b395d8d498896cf8cf60c1a32525f0a0b6b486b79e0a269cf9d659e622e2460594013619a885005abb35113b9a508834687a146ae2f07032dee4fa9d9be425cf80f48bcbad072e14c3b79feef9204321c232b543deabb95cb9e626e533eddfb1a7109517daae6a50700a06c6bc85c78547bed4854981b8be82da56070630b4067327da2fd25b4f365925be44ff8162d436315b78ba4e436847d97cab4bd6a5c0d041f6d2033ea3e2c3e31f65ca9f23dbbf7e1b928ce5b8ab0d9110fd315e2e2144c51fb808477d3a49cce5b8eeba7d0889ae350ffa60c00b580929f16a3c61852a92a5f9b5930fbc9d44099c8a6b888578fe6398d92230f16f0cba973d83e1f681c59dcc9162624e1f406f3f56aefc0a9a3e45d5cd12a8850740b85a8ddbebb1c1dede43b93a0e39d3b68f5da339f089aa00c11c566ac6f1e70ba2b00d25becf57c77f71ac0c7c6846dd9991cb21701745d16909ea6cb54c09ad669af667bd08abc5cadf4a324d1cd1705bcee4d08bb56c0f6db2eaef4dcbe37e0a314ad004dfd0551e34ce5fa6d33e6370bd6779b34794885d3d847287e3858d65dd42d33dfe4322487e7fc12533765dcdf5e6e205d6068f9443f8bffb49e86388ebed3ed946d45bca7841d42d035905c1db3bd683afb1da2b8b94484a7379350c9cb15685862d74a9d5eb03c9ee7fd6d6d9399803a3102685d36d485c3370a74d831807e73d1d7e1ae6e33d9b493398099d328551253d4dd013f09f53ffc668081ac108ad10abd3a223d57b7750900a789e290f7d6999750e97afb94424d8300a83e924f6968fb3ae44861a7b17891dc9f8db32fb666cf376195b4936596f8e9ab9230b5733bd2ea5f193476584acdb508bb0f71873cd328d58d960cf36e32b568ea13ad61fb692190647fb49f8f0f4a99481c3046d59f4b001354e9285c829011ca19d39344c10540a34a2975bab256c5efd95f50030f876272a292ddf299d4301e3c6a3bce6aba76ef263006b53ef2a3571a4b410f5b8e1140a0a82afddaf0cc80befed06c78c0a0de6d37ea3992789fc2e242acbc788fd64242e7c11b7ec8212bfef68d3e516f89912012b1016900d08123bd3a6bb290097dcabd898ea54954aeb50a6a5fa5d05d86b6dd9adbcbc20e6c53e0136bee0d39c84a586df59ca0bd2ca8a94a80c4f6eb42aaf65d178d1cc94ff71ba6f94e34c7776c70bda1433a4f77cbd298d3c0ac0077bbd8745a9decde1582f05e161f2f463143bdc7cc56525de57acb8da529b764682e7aa92ed727909c891c4801077be6f610eed20f4a3b4b6ca40925c34c9666c0da1a6d95361bacc3e21a47f05a52a3e76f9ee90f901b062c6baae90d5fbc7b0596735ff4f855c27d26f7c0fbc546e925e302ee3e95e1065057684847613fdaf63a0edb1135e6c6441bf27718f24c98e707ec704210f04ccdf6c127dee00076d354961e26f85e26904c5b57f63795af1490d4b13739f7bfa46fb72b80275a1527bf9af319eac2fc1216f00688025d89a20a5d142d2b958d23d5ac43ebb58c6bea05e93f6a63093357ace2da4ce8212dbfc86e2e688c664e49ce6bec7ddafda2fb502104f722dd0d78cdde266db0c1eb0a6dfad5dbda1e98eea053fb1c51416d9ee9b9c7c874df35eedc506524f5123260fd71c72c2f806622ebf384443cecc4479dc26663ece9c9fe9c5a6ff4faad2c1a5340b1667ee1aedd7955561adaba6bd85dc7e9b7c598d7159df2e6bd36354a12118ae292aa6040d62b87f32a1c55aa69d98291fe892f2a23809e3ee79361522fdf626b5ea246b1e017ae37391d32efe2117ca62299d5e0252c46c43766427218653288b8fb297c63fa872ac2b1ae84d544978aef2adc4edaf0b1c7860e389ab6d0ea98ce09b742ba10e75d7e49a23cf7daf597a7a5cb576f668168bc7a8bceaed2c705be328535314e3a212bbb71b24dd27a6f97685ce7710608d69f0ee47b6db9daafa940778bc382373ecb3d0e47a1e708d6a09ee98aeccfb3beea298a0ab7f756ae6368310cdd9726d1291be155dd565a895549f8cf5d3e91ecd378036431b75a64aa9e3b6094d1342e2fa0fb25e8f3c79a4e525cf731cdd86c754a21ebaf9624944009237d51e02a980f749a9d798cbab9b9ba3afccaf27489fba6034cbb57ac92db3ad49ccf2ca5618a7ef9212c49", 0x1000, &(0x7f0000001000), 0x0, &(0x7f0000001080)) 15:22:09 executing program 1: pselect6(0x40, &(0x7f0000000040), &(0x7f0000000080)={0xffffffffffffffc0}, 0x0, &(0x7f0000000100)={0x77359400}, 0x0) 15:22:09 executing program 3: r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$BLKFRASET(r0, 0x1264, 0x0) [ 349.781888][ T40] audit: type=1400 audit(1664119329.072:3): apparmor="DENIED" operation="stack_onexec" info="label not found" error=-2 profile="unconfined" name=".)\" pid=10546 comm="syz-executor.3" [ 349.812477][T10549] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. 15:22:09 executing program 1: openat$drirender128(0xffffffffffffff9c, &(0x7f0000000040), 0x4200, 0x0) 15:22:09 executing program 3: clock_getres(0x2, &(0x7f0000000200)) 15:22:09 executing program 1: timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x4, @thr={&(0x7f0000000000), 0x0}}, 0x0) 15:22:09 executing program 3: r0 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) write$apparmor_exec(r0, &(0x7f0000000300)={'stack ', ':)\\\x00'}, 0xa) [ 349.902165][ T40] audit: type=1400 audit(1664119329.192:4): apparmor="DENIED" operation="stack_onexec" info="label not found" error=-2 profile="unconfined" name=":)\" pid=10563 comm="syz-executor.3" 15:22:09 executing program 3: syz_clone3(&(0x7f0000000280)={0x168000400, &(0x7f0000000300), &(0x7f0000000100), 0x0, {}, 0x0, 0x0, &(0x7f0000000200)=""/21, 0x0}, 0x58) pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) getsockopt$SO_J1939_PROMISC(r0, 0x6b, 0x2, &(0x7f0000000040), &(0x7f0000000080)=0x4) connect$can_j1939(0xffffffffffffffff, &(0x7f0000000400)={0x1d, 0x0, 0x3, {0x0, 0x0, 0x1}, 0x2}, 0x18) setsockopt$MRT_TABLE(r0, 0x0, 0xcf, &(0x7f0000000000)=0xfe, 0x4) socket$key(0xf, 0x3, 0x2) 15:22:09 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x40049409, 0x0) 15:22:09 executing program 0: r0 = openat$apparmor_task_exec(0xffffffffffffff9c, &(0x7f0000000a00), 0x2, 0x0) write$apparmor_exec(r0, 0x0, 0x0) 15:22:09 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000a00)={0x0, 0x0, &(0x7f00000009c0)={0x0, 0x68}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000100)=@newqdisc={0x2c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_drr={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000380)=@newtfilter={0x38, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x0, 0xfff3}, {}, {0xfff3}}, [@filter_kind_options=@f_fw={{0x7}, {0xc, 0x2, [@TCA_FW_CLASSID={0x8}]}}]}, 0x38}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) [ 349.963785][T10569] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.1'. 15:22:09 executing program 0: openat$pfkey(0xffffffffffffff9c, &(0x7f0000001200), 0x4000, 0x0) 15:22:09 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) ioctl$DRM_IOCTL_ADD_CTX(r0, 0xc0086420, &(0x7f00000005c0)) 15:22:09 executing program 0: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) accept4$vsock_stream(r0, 0x0, 0x0, 0x0) 15:22:09 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5421, &(0x7f0000000080)={0x0, 0x0}) 15:22:09 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_DEFAULT_GET(r0, &(0x7f0000000100)={&(0x7f0000000000), 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="1c000000040801010000000000495ac7db00fc0002000007060002719940888e"], 0x1c}, 0x1, 0x0, 0x0, 0x24000004}, 0x800) 15:22:09 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x8933, 0x0) 15:22:09 executing program 0: modify_ldt$read_default(0x2, &(0x7f0000000240)=""/4096, 0x1000) 15:22:09 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$OSF_MSG_ADD(r0, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000540)={&(0x7f0000000080)=ANY=[@ANYBLOB="bc"], 0x4bc}}, 0x0) 15:22:09 executing program 0: syz_clone(0x40200000, &(0x7f0000000000)="b442bed3c134c0d05190a3377e17ec368a09597c62f245e78fe5175839dedfadbcc741caa9dbb13dbf672692908b5cea04226373c7d65d50cfe6e19c0d8c3468d1627eb505ff96eeda81a9696bece36539d5f4d4f0e502d0fe1bd051d3770d7d43e4e96bfa80667091f8b3fdebed2e907711b1282049cde920ae8cee2eac823852d642f210dc269364fbde95edf6bca44d384474997eacece65489646fdb614d67320cee6b6b4d4e58a8c6eaa19c4021f467d1f33de7ff39ff79a1106f94a59c71bcd1987cb4e04a29227b747c96b6e9ef361cdfb7e303737d9b01923065362922e86573fd6b0ffa4cae4b5970a24f822b9a2f8328f3448422d93f71319c6935cbfbeaba6285c46c0734945bd28f00e9ca7eb9e0e2fa7c710b53fdbc1ec0e35f3555dedac73ea758ebdaeadc29e6352697ccb32bd40d28887466f56757ffb0a9fbc48f578f42a584ccd1a1b40dc049bd024c55b535e95e5570dced86b29fb700cb660dacbf6c3764430ea8dd55b519ac228065fb7bf08aa277c2a060d54ccf30dfedb216c1ff955a7263e23237fac25c3c3960f858d3782f29cd32c85dc7f434aabd03b46aa9706414b939ebf2309bb923dbbe978baf6e84719db2072fc9fe68ca461be47e6f26e3591206ec6732abeae60ca9e9eed731ccff70f2ce36aab1ba7b323025f147abf89b67edfce22767e60209043df4ad53c241194d253a3765c8a4e9508e5320fa25fb9f794434788a8edd72b06a53430512b62b74a7a83d86963664c8f8198f2bcd8a02020198d4c52fe0f435eeb1ed75e13c353637ab3f10443d13f9ad19647999e0626709cc2c3dc781c366617275b182994002d7d7fd16fd00c12016e9f6b9b0e514136c9e9ed5420924e26f9f0453c7495a67e1bc3463d574644a0fd62c2e4a099d5530eb3237d352426179ed1e4f654154fff0bf6b6393bfbbee66f8efc252b1d2369eb5402c2e099e92f4996d796e7fe50b0c63ffaede9e0c47b817f120007d249b9ef55d59767a7c6f3b2e4c594792e5003599e96bfdc028ffbac6156a96c7de05dfc5f24efef3c0a6caa39d34914d25cb5cd84375ce190ff86fa841fbab6a0704eec27a58593076dd8d765259f99e9cafe9d9d914fc4bae0b2d1f338e2f35329ff03d5f2776cd52447fdb1d03a9688b943367cefee8184667335ac1e8c28f888ea7d9fac23bdf6c9622a15de89b721fd398a6356108c36c7dc9e736e1b9b72e9bd567d8e6e17cbaa103116567c503e3d0312c82fe0b97e8fea9ae465d3fa1343790c8f15bfaa2288f1f1dfeb4a2b1ff05ad309cdc3297e19af0bc92a31c36e2090db0082966e01570244f5745322f9f59e93d6c40f794174b5160d1d1bd7d28c360c17cacd05f0408c2a9a29397c31d8570eac48d39632c92313bc4a6ccaa741838305b46a7372121588e3e459363faa663a6ba27f9bcf67511731402494b8610be8d73fd98aad8a6831f17c56d491d0e33b7c0e323a04b5a5cfd9c36b20ca588161c85c3fa09f597fa0450ff8ea02700d59aef1aa3a9fe7836c786169f115688775aceb500f11c835be0ad8329dbddaec8de3fc3672430fbea429b83e33aec63071031c43e7b74d7d10cec4998e42bd54412ed6f1c4644b2bb933d32f2c805e56806f2b2deffcdd6b09724289a74d86be3d0d836990e9cd5a983969894051809d1d96e645ef5fe420c656d153d5c39bae10ac7062927012c5a1b09072b46420bf78713ae4a1b7687ea56b4991b17e4097f9524522135aa13deefd7ed9d35184d71a32297df7cc4a6804f8b29e721a964d7a493ef0663268719475091f6659a985ba3d3e830984feb0e7fed82822e569274be3b529ba4f191be743f174392e4bb039011365d9f0f8789a857e3c8980dda21008882842309af5e106ee6c76ca607c6c8e9ed0d6350c81bd4fb1863c4dcb260bacf9ccf10e98c2c9ddc59ed30e0cb70433798f3dd01bd713c9b952180ead53de0252e10ed87a1f6049b1c7ecb841c13a43a643c6f8ac38dd897e69b7d5d394c3704daca24670031717fe6b822037f45dd93131605a5be76066c320ab4d8b0b0073a7627ca73c72a434727cd6bf80e21b9f1a882e3c8043dbf83cf0a0e17743779851e46321a203531b3f33b4f4f75d171f01ff549c4c930dda47a9e9d3ac57e0d7f542fc116b56213f3a75fca2bb714e0cdfad01bd44bd7708c83c096be83d5c8e4ca7c48e3a14ce051aa00aaf2b654f16b0cb29fadb43a6008d6da601755a6c81e4b9a8a3240c34d4f238e3db0460a7d4630baa544613d9d55014ac11309ae80efe2aa04d8623c30d64563e9d59b3fd3b76847a7b66dab43634aa20a3f138331265a383f385eba0e734ea2c60801f2c2a41f37058581a546042abca6cc59b602bedd0d3ae7c18b14ef36f7f106d4931aed05cce6a8c3e1def4a8c295d0cb5e84a1fb3846018f011289506df618dfc1e1cc79f29ba144d4168ce00bf9413d210f280deec79683987af2759710f3807a2a2b641d1309cab7595a4e6813bb3246aaa7892d911f6d4dc775397fb6a60c9eec71dd4a2e04221bd028300498850cc1dbe6f721d1482e66e178b8ca03a1b60be8772ee6f2cfcef700796cc2e4b4714b78448c415cb38ca4114da60cf3ae89f8c85ffec75f30b2904e76364537a188ea9e6c4d93e02d5ea88e2f4c67e55a6fac8168207afaefe7e12ab25974b97c4a597b26530d383874e2ea5ba6dc87c543a4956784fa48c6c10611f23ce6afa129017a45284340b4e391132dcc9762ad92229ff0cb405e030395862c52fbd4a4668f63b7bc15b673d461bd37e2d9a260410f951d94d9390372cb9ca7abd057cc55c0e610dc67793c974970330bab8f1555e15b74657d788b235c2f618ef3f54940b87f05f68885143a3b364012716b930010dabdbd8fd2509574b9f980ee57675614d96399a8bef62e6562f7f69bfda7a7c6b28368dbead685eeeab083c6e277d9309006be6100120500abf4b4bc115a86e33b9839d60626e469488cec4346b92c97781c8fbfdd1493c583f6d60170efb668b8983c69682b05cf3511efe226683038904ce4685d9b3bc732d5b203666fd03bc587d8f2baec72d5eac13607f4dc6c0bc2e0020f2c88890e5535807997f6aca748aaffce87a2f280e715788eaa6b5c1212819bcf19c040336ccb8f3cd170e43a47cbfe63cc231e18c507daed19b6e47235ef55d31197be813feb4972d859be18640647e1ecfbe2de4e9af0b177e9cb58a038829f653916384c66597ff9cadd5ba584d2dd3149f51930df02a74237f184b1d5f504906151a7fe09667606372938e05356354902ca45f24302efdd3bc8b6efc0712f716e6e00e05f4893ba62f2035bf424d26acbca5f5af95dc87743a1308ac5c5cbf57374abdf820ba3e9535819095567bec4ff2f63eeb3fb6f867db0914eb0ba0eb19692e647eddbf383dc7318afbf32d7382b923c419f9797b7d8bb497f52c835a64690842390ce29b57dd4346bc0a76240df18d8858c7ab81a20e14a13963ee0fbe64a80b0337d5de81a18de7a32fb95bf01a16ae6c53f49b81bca5f609ad8379c400509736ce461b35d5a79dabaea9d9ad29ed0737bd2f914025b395d8d498896cf8cf60c1a32525f0a0b6b486b79e0a269cf9d659e622e2460594013619a885005abb35113b9a508834687a146ae2f07032dee4fa9d9be425cf80f48bcbad072e14c3b79feef9204321c232b543deabb95cb9e626e533eddfb1a7109517daae6a50700a06c6bc85c78547bed4854981b8be82da56070630b4067327da2fd25b4f365925be44ff8162d436315b78ba4e436847d97cab4bd6a5c0d041f6d20", 0xa9f, &(0x7f0000001000), &(0x7f0000001040), &(0x7f0000001080)="0a93fb5f9f918cc1195e81fa8c363e9f014bcf165423f4e148098cc427800ebea7a25bbb82ef089ad368d733d51fd1312da64338f828c6e92fd4c5acfccdb5d0fb5ead88ff50cae18a43e44b38a797f2984d318e6048bcf05e2345f1eefd1c5915818da53058c16b85432283b2a98f280157293288fdfa230c3b07adf4996b3d89a2b488c04029c6b052fffc3501362b0d5f98139e7476957510a037c1126d9c89b9c07272b94b48a11d4b85c315bc97419dc82a0fc6d11bffb552bc528788acb32d73f8a1def18b0693e3c9a3756deb4a9884c9f4bdb7b7c0d4685ded081f3e115aa2454f8d22a7fb9bea54e7e839205de7bd76b8c5e86a4be97ebe107ec403d3382a9c9a5c38aa14746dfbb37583282c83e951797a4bf79977266ab251cf15b59f3eb5d38a583ef359946e57d1e14e94d22a4fe59f44b303aceb69315f4ffb54ad4481208b8a18180e37300b9e1466b0120de4c21d83bac49bbf8b6ed17c7717c494f5c5c68b2f09c355cda9e92798bc1008b767e1064641cadaac73dc86de02f108f0b9973694dadd25a07bfd51aef89a8a120709e365be8a4896a3dbcd8d9b74e000cf1900444447d8a5f5f497a3ced7f3e19d2e2bfe967398bb1c2b72a30947a69eca1dab4c88b98f026592fe14703665b1c3dfec392dee9bb96a415ef7d71a4b43b31d48c26fb72b17c1553a2c1ca980736f6b6f778451f674aa30e0097d9b79a94a30c94c9b0344e268aeba2598a56d58cc3a585d93083c074a06d27a5afa5b56c6c39b37a62f9cbbaabb744c6695cad6c54825f6b880134d27110bdd198646b34a8ca3906f5b597d456c34ebca8152a50b9f85ac44625c2fd185ee1ffaab72ac764edf9d1946964bc2ac717ec3e7dae819b9a7d33995887c4eb8a7ce3b18cb8ba6707cdaae19fdb0cc440db384452a00197f8065699f89226d30ce4c0ca5238a62d2eb6ea9a3d6803e3bcd65dbcd0240498c095f688938c6a3114dac245b7d233a5e9ab141b8f74a65ac5473fb327a2e9cc441b8879066839bd0cf87b725bf26f2eda69c8c2cead1bba06d6c576f2deab829b3bdd20feeed292ef2c3e5dd1bf32cbab31095cfd6b98966c822a645c689701b4cc802eebf966af15b6e530b9d0f36bec65ef076d1df7cb7f11d12dec350137d7b5b0c0f8d89c3cafa85a608db1964e7ef2091a3d4fb36613169c5d6fdfe7833f6ee7aed1969fc0a6f0724f41eec02444a9921b15e0fa554ae1aa3e3fcec26c146791440b0489c91c1261e029dae7372f89b2ccd03df4d2f063ba16567b12beb23808799822f101b406260c8c64b8ca4979874a0cf94c182967e5f1a8ae6a8e68db00a682e4452bbb3e52a70c3c806d4bc1223bd57e1afcaaa0abd2d13e50541a4db7b1c656a26eb8a5665032333c5d2581c95ad30e181ed7ec7224137c730d6526427d4c38eac882e09e13870fc04b86ef704aab5e4e1c0d1c19bd8beb92258b849842d8af3e5fb0ad26a4ce490a61c67d58192f024296805cca5b9bd60ee23f7f34c8c2f3b21dbafc9375e22766e5c3fea1337264edffef6172f277b4a85d45f737287177e2c166aaf043f80472f418092f1bfd08218b72f08ac914dea275aa1dda15db9a81677cf0815fe3ac3b0c2f9eca9b0fb5b0411de27bce8d962f69869b01b401b2bf1590d1fc2e819b23dce7c92dbe017c79b44070ae4b36ed2ea1250dcfad0d0a11aafa1912ad2c600358783a6f6a0b4f0f0c43977cc0559dc81aea8f5a8ab3aa5995799e52389b9ba55811b53f478cd31ae349f0f9c8f043db24538c2bb1ecf9e124f398b6d46cb9a9a1b45fc07fd5501ca7aee09d6e479b9890d17d6803c7158f62f6df61d18fcf918bc09fa027b78efa0396f0504e47b8054e8d4ef65e7168cf4f8f0bcf164dfb04d94c08320375debdb8e4807396449daa0211912fa0125507dd1c1dcf44b1ba80438e4f5424840a0e4f43911f5cac8f0627b0a8280b0553a73742582144aa083a8edb99253733d36600894e2e7d84f4d402b1d05fc363abf26ff96843097023e4ae5b9fb53ef3b518c23c3d3f6bfe791e534bcf680f44913d10b4c2bff02a0701634ab718e58e075f5c9ca447427beedc27b0097e6a7e95182b1ea57796ab3cc4f7a4ad5c3ac8b88d5a0933b4b8a3be4a67901a2ec76a7dd4dee9600d863da91e149dead638bb39120a8ce99a5f82c738127cc4f643641a8bc7d5f187a99ac808e45203a94d81e2023a03a2b2330fd013bbd97841767e69edb2b8fd40828174153ad04699c96c9977973c012fe292c0f87a0f8e758e3c609730a97293fa9614d930e191dbdafe506114e925db4b3043d01bd826923cd3c269ceec6a35ed95b6f0dca508c1471d57ea27940cb3bd1aa8ea6a0e1051e83ae5f1210d1cb410a4fbdaa8016303d228419bd1d16c6acace18712aa582b836a6e6868f7d2c712760617d365c7aeb5507661ca0113f9bd4cecc7cbb8124dcf4701f7ecc5d1df43aeea6eafbb68a948e203ee6260d9a64053cda965b92a6515dfd77de1e3c05524643c78b3220cdc82033e432254f97bb34635c5a33225d97e332dce40c239f96b6cf861fb04cec3f01927326cf6f52c1dd3762e2e363bc9e6ce7eb878bd865db4ddeb538256108bfde49995d37a3a2b640d65c9868c6fc0886c34dbe7b3fe2d59c9c4c62bcc9d00e5ade5908461136d0db862ea5babe5995a2e08db367f45af75b0ac1cfa0ab885e59bbddc5f0cf3cb87d95aaf57e1bab6732bfeca77933532301b82f8236724013d7c6e8aed5a170a308ae5efdec3931032627301eb7ff90a11c754e6c0f69f9b74c40b535ca108c892da676993dde8485f0b8aead5f08327435dd095b5844b66c00d7e62ff81a7b9b892fc2b9acdc164e082a12aedf9e4093e4291188f1eb47d55513164a0a4b6b7150bf621ad70198cd1cc17104e6e80f97d54b74cfa4fa4b3325ea822970a07ae202959bbddfb9bb56ad96aa9e4574e6f96d1a0c5a8780bff75725653580bf8d2e7efc191cc83f9fd02a4c2e6846a7a128e3f9e47126539d34c3cfd5584b64ca425853d45eef81b02372755a10ee37a8e07ba38f1307ce57a72784f2c7c70aa68e073b2e7da928fcfedcb3a9807eee1fcf49e1aad5d5c4b574c3dc2773d38a6345c5c2a09991c4f7ce50386e294848457b391d878fef7e151c0186984507edcaebe150555a44360c368b0eaa741234466a2ed497534e36afdb9348a2d6316bbbff9eeec7736968a6aea6f6c9073d04de8c3074fa7abb1fefe87649c5f4703bf91b520c9a3c2e74937e8c4b9995b736cc82e1c22c987741ecfdc472de21162673e466a1c83050c9c73fb335595e869ea4a5d0a98097745a5e4976ec8cc09bdfe8ec2647b057fd2de21de4cef383719611c36246874b3d9607c0141e7e43b7ee52e59c404417a383eb706790a3e17beafb7101ee6384abcbb0c1b5e59c298041098617de867276b45cc48f030c8e903cd5e46cbc7343eea1d8cb386610d13421a46095967a13acd1dd3c48018aa2a3c65fffe212356d5361c342acb940a43a8f2920f167c3423e4913b80c8f49f03952d525f6b32ff605cc8455e258d49b435efcb3ffc9da156ee9add28b7fe02c09948ecda7be60fde5a98c7e658f959eb8ada7d73a9f72e6a3fc23160fa6687de410ed0590a068a9a6282befbf317163b633bffa29585b5a76fbc7ddb673203d29589aa9b17ffd10750735d817a9654178f22a2dd5a3533d738a985663998b5c5eec73cd1537c0a243350347310b18fddedd076282d4616e4cd65314818513652bc7862831111ff911eec7016af9ca2491e6dcfe16adac434e57126e685073e19e673a769024390e0326bba3f9f4489d3e2d5b54e075c94b838e82031756ce5778e54a985a8a17a0673a06910c1d69d6077e18b843b67114ef138545c7f6da3eebd36f94c4807acb0095e03b4cff5710fadfe0ec611530d92f02bb51199be95379532e36a5aaafbfea246e61beb2f3b3a66cda5480585802b2dd67eca6c3b8ede70e28d0f4b21f5264c908249ca7eb705bbefcce65e60abcdfa25eb6ee59b593a80caddedec0aba99116c76b2659596198e558398888f356891ba5dcced0a09256477e6a92d01e1e4d53731ea0398dfb8847f7d5c9af63ef16e6a39f82da90c034ab6fe924bf6cd8a039c427976fa6298bafabecc9f94170c2d92e7a46c45840b3369cad97a735109d9c90894ae5210fc1775350be407c263be544a072ed87ba234ff0cd9b67c106d18b4e9611959a8635dbcae6d8aea1cb2452ba7e21affee5b102ef1aa6b74b1cd09fe53b2b64205a7fe55987634af2e18f5d6a7f3e498de74dd0c44d98e4691f8af7cdf3c72a7d1d752db3b3dd1fbe4c81b760a6734955a78a066cbc66b5b5bb6486200495f777e36d002f1a48b7f45dab787104b3d69814c330e4f37195ec107963f8410fc2f4f8e294c0ada8a8e61a934ef942eb068552f627b2fff7f986d900158a1b5c547f694ffe2eb8fa05b6c20a606982b518a7721c755d888632590a1742c662c1044e5703e49599418019e3d478177aaab7acdf8226596d6cc719b677f8b13623bc15c132ed546250fad4b8ab35f30422c6317ffc454468887ee2cf5b4f3c75ab8beb66973ab273920cc61ddd349fd01b24fac64dbbf40bf7f897b3a9eb641567ebd490dc8df105c842fa8963e2fe4d9b9f45bec1aa6bf9ab9c58f6183af1546376e6bc04a925a4c3622fecae0d0ae54a8571f5f2cfb61e4df4b0258698486cc3ed1f6d1592bea072d7daa4def9cbe80b702653c6dc94e3aab37304f38bb3ce040ae782f4b41d4608b26f0b1324b501ece9166e5c00cb66484868c04ef1a0a7f5deca2bcfd07c3358400c49b6680230df1532566768df137b19682b8b1295062a908903210933c37e90ef28ac65f9b4cc7697e653a1c36459fd29aafa9bd33dd3f41945c4da6fe1e6502da2d22dc57016c44e6c08b147f7427f09120c1e44933da0c1c9c7e42b1e17fc6e09a60edecf504c4c1001f723d7230ed57657a16c274fc15e8665e9a8cdf549695a9cd865aae9b02c87c7693b98acfd639826047c4922bcaf073614fb1a3a27c294eb6cdb6441fb311a0bf576c11c94690167ec931c7ae50bb7c1cda69ebcefbfe48841067a1cb2c2d06004bd6567bde4ab34b434e74c2bca96492054083e9da502525dfaf21781f23553c901b62a61d1fa02e1287c2c5a068b9c0fc4a8760694ea77af9823f15b7644322c9cd2f91e0b70dfd66c982856f8af66968317db6f6703a40c2758ecb2b55c34060cb5696aa1688ca4b6f977b17f7a8b144f6c1d3017cce9f3eebe3469471f6d77da57db7d392db85c3921c4863d8e6a376a320cf93103827590f9bbe512de3f257ca1406106754c6c71afc39e934004a78075573ce2b9ee6f2c06deeca0d0acbf4705951effe1434e0e8956ff816f652bdb9c8371a60ece29189f1f643c9b5c7a8d83992ce71dd427e286e03d51c854be7908cde2a2463607ccbe4165bb5963b5c9ae97549369cfec667e65e1539f6e510a75b85247588e32f1d08691da9c30a529ffa49793cd3d53b26e78fe4e06ee897dc5185a5e7ff71dc66301ae4ff94b421e029d363c2b82c01c5c0100b88be6f0dd0faac3b2da6a9bce78184eaacf7c0b8a2ddb5e745a9f57ca3b63d445ba10515c0577d865c49d41a693e28e2fcb8b568a87b4860056be9aabe49cfe8516efe9bb22a7e7b6ef95ba9d183706eca4f7395ae55b7514cc26178bbb9a34e843e772e8fb423f99a2eb46113e266b74f6f") sched_getscheduler(0x0) [ 350.128215][T10593] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. 15:22:09 executing program 1: r0 = openat$mice(0xffffffffffffff9c, &(0x7f0000000000), 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000080)={0x0, 0x0}) 15:22:09 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000080)={0x300, 0x0}) 15:22:09 executing program 3: socketpair(0x1f, 0x0, 0x0, 0x0) syz_clone3(&(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, {}, 0x0, 0x0, 0x0, 0x0}, 0x58) 15:22:09 executing program 2: syz_clone3(&(0x7f0000000540)={0x20000000, 0x0, 0x0, 0x0, {}, 0x0, 0x0, 0x0, 0x0}, 0x58) 15:22:09 executing program 3: openat$thread_pidfd(0xffffffffffffff9c, &(0x7f0000000080), 0x10080, 0x0) 15:22:09 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x801c581f, 0x0) 15:22:09 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x14, 0x14, 0x0, 0x101, 0x0, 0x0, {0x1}}, 0x14}}, 0x0) 15:22:09 executing program 0: syz_clone3(&(0x7f0000000280)={0x0, &(0x7f0000000300), &(0x7f0000000100), 0x0, {}, 0x0, 0x0, 0x0, &(0x7f0000000240)=[0x0, 0xffffffffffffffff, 0x0], 0x3}, 0x58) 15:22:09 executing program 1: r0 = socket$can_j1939(0x1d, 0x2, 0x7) recvmsg$can_j1939(r0, &(0x7f0000001800)={&(0x7f0000000000)=@l2tp6={0xa, 0x0, 0x0, @private0}, 0x80, &(0x7f0000001700)=[{0x0}, {0x0}, {0x0}], 0x3}, 0x2040) 15:22:09 executing program 3: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, 0x0) 15:22:09 executing program 2: r0 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_FILL_RING(r0, 0x11b, 0x5, &(0x7f0000000140)=0x20000, 0x4) 15:22:09 executing program 1: syz_open_dev$dri(&(0x7f0000000000), 0x280, 0x64403) ioctl$DRM_IOCTL_RES_CTX(0xffffffffffffffff, 0x5452, 0x0) 15:22:09 executing program 0: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000140)={0x556}) 15:22:09 executing program 3: openat$pidfd(0xffffffffffffff9c, &(0x7f00000005c0), 0x0, 0x0) syz_clone3(&(0x7f0000000540)={0x20000000, 0x0, 0x0, 0x0, {}, 0x0, 0x0, 0x0, &(0x7f0000000500)=[0x0], 0x1}, 0x58) 15:22:09 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x14, 0x14, 0x0, 0x101}, 0x14}}, 0x0) 15:22:09 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x4020940d, 0x0) 15:22:09 executing program 2: openat$khugepaged_scan(0xffffffffffffff9c, &(0x7f0000000100), 0x1, 0x0) setsockopt$MRT_DEL_MFC(0xffffffffffffffff, 0x0, 0xcd, 0x0, 0x0) 15:22:09 executing program 2: openat$binderfs(0xffffffffffffff9c, &(0x7f00000011c0)='./binderfs/custom0\x00', 0x0, 0x0) 15:22:09 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5452, &(0x7f0000000080)={0x2, 0x0}) 15:22:09 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x5450, 0x0) 15:22:09 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:09 executing program 2: ptrace$getenv(0x4201, 0xffffffffffffffff, 0x0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, &(0x7f0000002100), &(0x7f0000002140)) syz_clone(0x40200000, &(0x7f0000000000)="b442bed3c134c0d05190a3377e17ec368a09597c62f245e78fe5175839dedfadbcc741caa9dbb13dbf672692908b5cea04226373c7d65d50cfe6e19c0d8c3468d1627eb505ff96eeda81a9696bece36539d5f4d4f0e502d0fe1bd051d3770d7d43e4e96bfa80667091f8b3fdebed2e907711b1282049cde920ae8cee2eac823852d642f210dc269364fbde95edf6bca44d384474997eacece65489646fdb614d67320cee6b6b4d4e58a8c6eaa19c4021f467d1f33de7ff39ff79a1106f94a59c71bcd1987cb4e04a29227b747c96b6e9ef361cdfb7e303737d9b01923065362922e86573fd6b0ffa4cae4b5970a24f822b9a2f8328f3448422d93f71319c6935cbfbeaba6285c46c0734945bd28f00e9ca7eb9e0e2fa7c710b53fdbc1ec0e35f3555dedac73ea758ebdaeadc29e6352697ccb32bd40d28887466f56757ffb0a9fbc48f578f42a584ccd1a1b40dc049bd024c55b535e95e5570dced86b29fb700cb660dacbf6c3764430ea8dd55b519ac228065fb7bf08aa277c2a060d54ccf30dfedb216c1ff955a7263e23237fac25c3c3960f858d3782f29cd32c85dc7f434aabd03b46aa9706414b939ebf2309bb923dbbe978baf6e84719db2072fc9fe68ca461be47e6f26e3591206ec6732abeae60ca9e9eed731ccff70f2ce36aab1ba7b323025f147abf89b67edfce22767e60209043df4ad53c241194d253a3765c8a4e9508e5320fa25fb9f794434788a8edd72b06a53430512b62b74a7a83d86963664c8f8198f2bcd8a02020198d4c52fe0f435eeb1ed75e13c353637ab3f10443d13f9ad19647999e0626709cc2c3dc781c366617275b182994002d7d7fd16fd00c12016e9f6b9b0e514136c9e9ed5420924e26f9f0453c7495a67e1bc3463d574644a0fd62c2e4a099d5530eb3237d352426179ed1e4f654154fff0bf6b6393bfbbee66f8efc252b1d2369eb5402c2e099e92f4996d796e7fe50b0c63ffaede9e0c47b817f120007d249b9ef55d59767a7c6f3b2e4c594792e5003599e96bfdc028ffbac6156a96c7de05dfc5f24efef3c0a6caa39d34914d25cb5cd84375ce190ff86fa841fbab6a0704eec27a58593076dd8d765259f99e9cafe9d9d914fc4bae0b2d1f338e2f35329ff03d5f2776cd52447fdb1d03a9688b943367cefee8184667335ac1e8c28f888ea7d9fac23bdf6c9622a15de89b721fd398a6356108c36c7dc9e736e1b9b72e9bd567d8e6e17cbaa103116567c503e3d0312c82fe0b97e8fea9ae465d3fa1343790c8f15bfaa2288f1f1dfeb4a2b1ff05ad309cdc3297e19af0bc92a31c36e2090db0082966e01570244f5745322f9f59e93d6c40f794174b5160d1d1bd7d28c360c17cacd05f0408c2a9a29397c31d8570eac48d39632c92313bc4a6ccaa741838305b46a7372121588e3e459363faa663a6ba27f9bcf67511731402494b8610be8d73fd98aad8a6831f17c56d491d0e33b7c0e323a04b5a5cfd9c36b20ca588161c85c3fa09f597fa0450ff8ea02700d59aef1aa3a9fe7836c786169f115688775aceb500f11c835be0ad8329dbddaec8de3fc3672430fbea429b83e33aec63071031c43e7b74d7d10cec4998e42bd54412ed6f1c4644b2bb933d32f2c805e56806f2b2deffcdd6b09724289a74d86be3d0d836990e9cd5a983969894051809d1d96e645ef5fe420c656d153d5c39bae10ac7062927012c5a1b09072b46420bf78713ae4a1b7687ea56b4991b17e4097f9524522135aa13deefd7ed9d35184d71a32297df7cc4a6804f8b29e721a964d7a493ef0663268719475091f6659a985ba3d3e830984feb0e7fed82822e569274be3b529ba4f191be743f174392e4bb039011365d9f0f8789a857e3c8980dda21008882842309af5e106ee6c76ca607c6c8e9ed0d6350c81bd4fb1863c4dcb260bacf9ccf10e98c2c9ddc59ed30e0cb70433798f3dd01bd713c9b952180ead53de0252e10ed87a1f6049b1c7ecb841c13a43a643c6f8ac38dd897e69b7d5d394c3704daca24670031717fe6b822037f45dd93131605a5be76066c320ab4d8b0b0073a7627ca73c72a434727cd6bf80e21b9f1a882e3c8043dbf83cf0a0e17743779851e46321a203531b3f33b4f4f75d171f01ff549c4c930dda47a9e9d3ac57e0d7f542fc116b56213f3a75fca2bb714e0cdfad01bd44bd7708c83c096be83d5c8e4ca7c48e3a14ce051aa00aaf2b654f16b0cb29fadb43a6008d6da601755a6c81e4b9a8a3240c34d4f238e3db0460a7d4630baa544613d9d55014ac11309ae80efe2aa04d8623c30d64563e9d59b3fd3b76847a7b66dab43634aa20a3f138331265a383f385eba0e734ea2c60801f2c2", 0x68d, &(0x7f0000001000), &(0x7f0000001040), &(0x7f0000001080)="0a93fb5f9f918cc1195e81fa8c363e9f014bcf165423f4e148098cc427800ebea7a25bbb82ef089ad368d733d51fd1312da64338f828c6e92fd4c5acfccdb5d0fb5ead88ff50cae18a43e44b38a797f2984d318e6048bcf05e2345f1eefd1c5915818da53058c16b85432283b2a98f280157293288fdfa230c3b07adf4996b3d89a2b488c04029c6b052fffc3501362b0d5f98139e7476957510a037c1126d9c89b9c07272b94b48a11d4b85c315bc97419dc82a0fc6d11bffb552bc528788acb32d73f8a1def18b0693e3c9a3756deb4a9884c9f4bdb7b7c0d4685ded081f3e115aa2454f8d22a7fb9bea54e7e839205de7bd76b8c5e86a4be97ebe107ec403d3382a9c9a5c38aa14746dfbb37583282c83e951797a4bf79977266ab251cf15b59f3eb5d38a583ef359946e57d1e14e94d22a4fe59f44b303aceb69315f4ffb54ad4481208b8a18180e37300b9e1466b0120de4c21d83bac49bbf8b6ed17c7717c494f5c5c68b2f09c355cda9e92798bc1008b767e1064641cadaac73dc86de02f108f0b9973694dadd25a07bfd51aef89a8a120709e365be8a4896a3dbcd8d9b74e000cf1900444447d8a5f5f497a3ced7f3e19d2e2bfe967398bb1c2b72a30947a69eca1dab4c88b98f026592fe14703665b1c3dfec392dee9bb96a415ef7d71a4b43b31d48c26fb72b17c1553a2c1ca980736f6b6f778451f674aa30e0097d9b79a94a30c94c9b0344e268aeba2598a56d58cc3a585d93083c074a06d27a5afa5b56c6c39b37a62f9cbbaabb744c6695cad6c54825f6b880134d27110bdd198646b34a8ca3906f5b597d456c34ebca8152a50b9f85ac44625c2fd185ee1ffaab72ac764edf9d1946964bc2ac717ec3e7dae819b9a7d33995887c4eb8a7ce3b18cb8ba6707cdaae19fdb0cc440db384452a00197f8065699f89226d30ce4c0ca5238a62d2eb6ea9a3d6803e3bcd65dbcd0240498c095f688938c6a3114dac245b7d233a5e9ab141b8f74a65ac5473fb327a2e9cc441b8879066839bd0cf87b725bf26f2eda69c8c2cead1bba06d6c576f2deab829b3bdd20feeed292ef2c3e5dd1bf32cbab31095cfd6b98966c822a645c689701b4cc802eebf966af15b6e530b9d0f36bec65ef076d1df7cb7f11d12dec350137d7b5b0c0f8d89c3cafa85a608db1964e7ef2091a3d4fb36613169c5d6fdfe7833f6ee7aed1969fc0a6f0724f41eec02444a9921b15e0fa554ae1aa3e3fcec26c146791440b0489c91c1261e029dae7372f89b2ccd03df4d2f063ba16567b12beb23808799822f101b406260c8c64b8ca4979874a0cf94c182967e5f1a8ae6a8e68db00a682e4452bbb3e52a70c3c806d4bc1223bd57e1afcaaa0abd2d13e50541a4db7b1c656a26eb8a5665032333c5d2581c95ad30e181ed7ec7224137c730d6526427d4c38eac882e09e13870fc04b86ef704aab5e4e1c0d1c19bd8beb92258b849842d8af3e5fb0ad26a4ce490a61c67d58192f024296805cca5b9bd60ee23f7f34c8c2f3b21dbafc9375e22766e5c3fea1337264edffef6172f277b4a85d45f737287177e2c166aaf043f80472f418092f1bfd08218b72f08ac914dea275aa1dda15db9a81677cf0815fe3ac3b0c2f9eca9b0fb5b0411de27bce8d962f69869b01b401b2bf1590d1fc2e819b23dce7c92dbe017c79b44070ae4b36ed2ea1250dcfad0d0a11aafa1912ad2c600358783a6f6a0b4f0f0c43977cc0559dc81aea8f5a8ab3aa5995799e52389b9ba55811b53f478cd31ae349f0f9c8f043db24538c2bb1ecf9e124f398b6d46cb9a9a1b45fc07fd5501ca7aee09d6e479b9890d17d6803c7158f62f6df61d18fcf918bc09fa027b78efa0396f0504e47b8054e8d4ef65e7168cf4f8f0bcf164dfb04d94c08320375debdb8e4807396449daa0211912fa0125507dd1c1dcf44b1ba80438e4f5424840a0e4f43911f5cac8f0627b0a8280b0553a73742582144aa083a8edb99253733d36600894e2e7d84f4d402b1d05fc363abf26ff96843097023e4ae5b9fb53ef3b518c23c3d3f6bfe791e534bcf680f44913d10b4c2bff02a0701634ab718e58e075f5c9ca447427beedc27b0097e6a7e95182b1ea57796ab3cc4f7a4ad5c3ac8b88d5a0933b4b8a3be4a67901a2ec76a7dd4dee9600d863da91e149dead638bb39120a8ce99a5f82c738127cc4f643641a8bc7d5f187a99ac808e45203a94d81e2023a03a2b2330fd013bbd97841767e69edb2b8fd40828174153ad04699c96c9977973c012fe292c0f87a0f8e758e3c609730a97293fa9614d930e191dbdafe506114e925db4b3043d01bd826923cd3c269ceec6a35ed95b6f0dca508c1471d57ea27940cb3bd1aa8ea6a0e1051e83ae5f1210d1cb410a4fbdaa8016303d228419bd1d16c6acace18712aa582b836a6e6868f7d2c712760617d365c7aeb5507661ca0113f9bd4cecc7cbb8124dcf4701f7ecc5d1df43aeea6eafbb68a948e203ee6260d9a64053cda965b92a6515dfd77de1e3c05524643c78b3220cdc82033e432254f97bb34635c5a33225d97e332dce40c239f96b6cf861fb04cec3f01927326cf6f52c1dd3762e2e363bc9e6ce7eb878bd865db4ddeb538256108bfde49995d37a3a2b640d65c9868c6fc0886c34dbe7b3fe2d59c9c4c62bcc9d00e5ade5908461136d0db862ea5babe5995a2e08db367f45af75b0ac1cfa0ab885e59bbddc5f0cf3cb87d95aaf57e1bab6732bfeca77933532301b82f8236724013d7c6e8aed5a170a308ae5efdec3931032627301eb7ff90a11c754e6c0f69f9b74c40b535ca108c892da676993dde8485f0b8aead5f08327435dd095b5844b66c00d7e62ff81a7b9b892fc2b9acdc164e082a12aedf9e4093e4291188f1eb47d55513164a0a4b6b7150bf621ad70198cd1cc17104e6e80f97d54b74cfa4fa4b3325ea822970a07ae202959bbddfb9bb56ad96aa9e4574e6f96d1a0c5a8780bff75725653580bf8d2e7efc191cc83f9fd02a4c2e6846a7a128e3f9e47126539d34c3cfd5584b64ca425853d45eef81b02372755a10ee37a8e07ba38f1307ce57a72784f2c7c70aa68e073b2e7da928fcfedcb3a9807eee1fcf49e1aad5d5c4b574c3dc2773d38a6345c5c2a09991c4f7ce50386e294848457b391d878fef7e151c0186984507edcaebe150555a44360c368b0eaa741234466a2ed497534e36afdb9348a2d6316bbbff9eeec7736968a6aea6f6c9073d04de8c3074fa7abb1fefe87649c5f4703bf91b520c9a3c2e74937e8c4b9995b736cc82e1c22c987741ecfdc472de21162673e466a1c83050c9c73fb335595e869ea4a5d0a98097745a5e4976ec8cc09bdfe8ec2647b057fd2de21de4cef383719611c36246874b3d9607c0141e7e43b7ee52e59c404417a383eb706790a3e17beafb7101ee6384abcbb0c1b5e59c298041098617de867276b45cc48f030c8e903cd5e46cbc7343eea1d8cb386610d13421a46095967a13acd1dd3c48018aa2a3c65fffe212356d5361c342acb940a43a8f2920f167c3423e4913b80c8f49f03952d525f6b32ff605cc8455e258d49b435efcb3ffc9da156ee9add28b7fe02c09948ecda7be60fde5a98c7e658f959eb8ada7d73a9f72e6a3fc23160fa6687de410ed0590a068a9a6282befbf317163b633bffa29585b5a76fbc7ddb673203d29589aa9b17ffd10750735d817a9654178f22a2dd5a3533d738a985663998b5c5eec73cd1537c0a243350347310b18fddedd076282d4616e4cd65314818513652bc7862831111ff911eec7016af9ca2491e6dcfe16adac434e57126e685073e19e673a769024390e0326bba3f9f4489d3e2d5b54e075c94b838e82031756ce5778e54a985a8a17a0673a06910c1d69d6077e18b843b67114ef138545c7f6da3eebd36f94c4807acb0095e03b4cff5710fadfe0ec611530d92f02bb51199be95379532e36a5aaafbfea246e61beb2f3b3a66cda5480585802b2dd67eca6c3b8ede70e28d0f4b21f5264c908249ca7eb705bbefcce65e60abcdfa25eb6ee59b593a80caddedec0aba99116c76b2659596198e558398888f356891ba5dcced0a09256477e6a92d01e1e4d53731ea0398dfb8847f7d5c9af63ef16e6a39f82da90c034ab6fe924bf6cd8a039c427976fa6298bafabecc9f94170c2d92e7a46c45840b3369cad97a735109d9c90894ae5210fc1775350be407c263be544a072ed87ba234ff0cd9b67c106d18b4e9611959a8635dbcae6d8aea1cb2452ba7e21affee5b102ef1aa6b74b1cd09fe53b2b64205a7fe55987634af2e18f5d6a7f3e498de74dd0c44d98e4691f8af7cdf3c72a7d1d752db3b3dd1fbe4c81b760a6734955a78a066cbc66b5b5bb6486200495f777e36d002f1a48b7f45dab787104b3d69814c330e4f37195ec107963f8410fc2f4f8e294c0ada8a8e61a934ef942eb068552f627b2fff7f986d900158a1b5c547f694ffe2eb8fa05b6c20a606982b518a7721c755d888632590a1742c662c1044e5703e49599418019e3d478177aaab7acdf8226596d6cc719b677f8b13623bc15c132ed546250fad4b8ab35f30422c6317ffc454468887ee2cf5b4f3c75ab8beb66973ab273920cc61ddd349fd01b24fac64dbbf40bf7f897b3a9eb641567ebd490dc8df105c842fa8963e2fe4d9b9f45bec1aa6bf9ab9c58f6183af1546376e6bc04a925a4c3622fecae0d0ae54a8571f5f2cfb61e4df4b0258698486cc3ed1f6d1592bea072d7daa4def9cbe80b702653c6dc94e3aab37304f38bb3ce040ae782f4b41d4608b26f0b1324b501ece9166e5c00cb66484868c04ef1a0a7f5deca2bcfd07c3358400c49b6680230df1532566768df137b19682b8b1295062a908903210933c37e90ef28ac65f9b4cc7697e653a1c36459fd29aafa9bd33dd3f41945c4da6fe1e6502da2d22dc57016c44e6c08b147f7427f09120c1e44933da0c1c9c7e42b1e17fc6e09a60edecf504c4c1001f723d7230ed57657a16c274fc15e8665e9a8cdf549695a9cd865aae9b02c87c7693b98acfd639826047c4922bcaf073614fb1a3a27c294eb6cdb6441fb311a0bf576c11c94690167ec931c7ae50bb7c1cda69ebcefbfe48841067a1cb2c2d06004bd6567bde4ab34b434e74c2bca96492054083e9da502525dfaf21781f23553c901b62a61d1fa02e1287c2c5a068b9c0fc4a8760694ea77af9823f15b7644322c9cd2f91e0b70dfd66c982856f8af66968317db6f6703a40c2758ecb2b55c34060cb5696aa1688ca4b6f977b17f7a8b144f6c1d3017cce9f3eebe3469471f6d77da57db7d392db85c3921c4863d8e6a376a320cf93103827590f9bbe512de3f257ca1406106754c6c71afc39e934004a78075573ce2b9ee6f2c06deeca0d0acbf4705951effe1434e0e8956ff816f652bdb9c8371a60ece29189f1f643c9b5c7a8d83992ce71dd427e286e03d51c854be7908cde2a2463607ccbe4165bb5963b5c9ae97549369cfec667e65e1539f6e510a75b85247588e32f1d08691da9c30a529ffa49793cd3d53b26e78fe4e06ee897dc5185a5e7ff71dc66301ae4ff94b421e029d363c2b82c01c5c0100b88be6f0dd0faac3b2da6a9bce78184eaacf7c0b8a2ddb5e745a9f57ca3b63d445ba10515c0577d865c49d41a693e28e2fcb8b568a87b4860056be9aabe49cfe8516efe9bb22a7e7b6ef95ba9d183706eca4f7395ae55b7514cc26178bbb9a34e843e772e8fb423f99a2eb46113e266b74f6f") 15:22:09 executing program 0: r0 = syz_open_dev$loop(&(0x7f0000000000), 0x0, 0x0) ioctl$BLKSECTGET(r0, 0x1267, 0x0) 15:22:09 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$OSF_MSG_ADD(r0, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000540)={&(0x7f0000000080)=ANY=[], 0x4bc}}, 0x0) 15:22:09 executing program 3: sched_setscheduler(0x0, 0x1, &(0x7f0000000000)=0x5) 15:22:09 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0xc0045878, 0x0) 15:22:09 executing program 3: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) write$UHID_INPUT2(r0, &(0x7f0000000340), 0x7ffffffff000) 15:22:09 executing program 0: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000140)={0x556, 0x1e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {}, {}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8}) 15:22:10 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x2, 0x0) 15:22:10 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x3fc, 0x0, 0x9, 0x101, 0x0, 0x0, {}, [@generic="d52d3defd120e7c63c8ef1350a9fe7a92a0aaada8c24cbf8b7b36f68c93042b3b615382b9bca9a30c1bee4149525abd5818568359e9a1103753482de61f6bef429bbabab34ad6562b1585a1aff73d8710f18fea3613e96ea94adf8d7ed52d6830bc9", @nested={0x43, 0x0, 0x0, 0x1, [@generic="676772a0e461a2d1985243990852a676f32e26e2e329f455f0f892d8154de670ba54598edaf31b67e1828a317b0047877d8dc8259d1848cc795da40c73c0a4"]}, @nested={0x33d, 0x0, 0x0, 0x1, [@generic, @generic="f067794d478c0b0e18811746395abeb957e0df6bfdd07e417907ecbde47c8ad55b82c332574f07d66888fb7ff024e36c3d688241fa0aae4e5d627933218a4ca268b888443ac06b6295a86e81b6619c116419db2f85477166b1d43cac2efc337619d20077b6", @typed={0x8, 0x0, 0x0, 0x0, @ipv4=@private}, @typed={0x2cc, 0x0, 0x0, 0x0, @binary="861f8c42a239b57e0058bf2b456dffdfc4e5eaa5a8acfe7d565fd764ade8159a16bf1b77af9abd5641a8c2b5b75f47402b2e6d870a426c28cf7a569180eca14b9ddfda1dfad477a6e55ff6302bad5435754ff1527fe88ae61dbc608af0322204052325b76d3512a0c8a67e2a4c7b560a6d9dee4622dd550dcb17ffd41fea0c72750af6d5dbf04159bea3956fe1162d50ae80103a88d958774e6e62e52ef2aae63f0a8736f941976ebb7330c8ee573c72986799ce19af86dcdd58a0eb3c2864eb14a1b43b5a45ec70ebf4c65907cc0ef5b0cb18c420662c753a0f6836068167f4fbe4f9472b6fedef4481c4d0781a592a9bc4c12d50bb0f22cc648bd0832d238496aa8defc297f85a20395f86181b07a6c9fbca01a828e498265f7d0d091d990f6004c58744860513e7af2440a3a3cbae07245f8cb51326979741d0dab223ce06ccc3891c417d82c06963e6c22f43417f25296cdca7dd0935354fe67f1b754d8e4a9872351b5ea4d8ba0c35c5c12952242c531713c98fc95600cc0483578d32ac07e58f320ee96f3a79c8eaf39e7d3515c9873b75e4d62753a03994fce92f5dba5bbc989152ce12b23507c543c49af07b6581838e22b72613f890ceb38c20af8c7a6ecf22ca989faac04a96096e7e236e9a63fe17b48e6777bd8e5c7fe24b07cf611260c133a21c8e124c7381113507af656196cd84d79dea22bb9a96d1f0d05245ca2a70d3fc815d74d043a59544fc3b0168e8dbed8ca193924ed4bc612706c4a13cc79eff99a21267d47d41bee12b64079958c0cd73156fe9e3c2674d9f0d0de7d5072c39e247d3589f7e86e3e599ddae0185ef75d67ce7dfa2ad059e34cfc79eb26b0e165d5c0a8df57a2cec1a541173353d1be21adcfb379270e3add6c469e448cbc6ad86e50bffc381bbe39ecd5eda746c99747a123fb4cf596bdf40c8d3f5a4a4354a5c7d0cb3976abfaa3d65d20a4d0e187adcb5306f9592b575e69ef59e8a38f1c43558ee"}]}]}, 0x3fc}, 0x1, 0x0, 0x0, 0x40000}, 0x0) 15:22:10 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:10 executing program 2: ptrace$getenv(0x4201, 0xffffffffffffffff, 0x0, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, &(0x7f0000002100), &(0x7f0000002140)) syz_clone(0x40200000, &(0x7f0000000000)="b442bed3c134c0d05190a3377e17ec368a09597c62f245e78fe5175839dedfadbcc741caa9dbb13dbf672692908b5cea04226373c7d65d50cfe6e19c0d8c3468d1627eb505ff96eeda81a9696bece36539d5f4d4f0e502d0fe1bd051d3770d7d43e4e96bfa80667091f8b3fdebed2e907711b1282049cde920ae8cee2eac823852d642f210dc269364fbde95edf6bca44d384474997eacece65489646fdb614d67320cee6b6b4d4e58a8c6eaa19c4021f467d1f33de7ff39ff79a1106f94a59c71bcd1987cb4e04a29227b747c96b6e9ef361cdfb7e303737d9b01923065362922e86573fd6b0ffa4cae4b5970a24f822b9a2f8328f3448422d93f71319c6935cbfbeaba6285c46c0734945bd28f00e9ca7eb9e0e2fa7c710b53fdbc1ec0e35f3555dedac73ea758ebdaeadc29e6352697ccb32bd40d28887466f56757ffb0a9fbc48f578f42a584ccd1a1b40dc049bd024c55b535e95e5570dced86b29fb700cb660dacbf6c3764430ea8dd55b519ac228065fb7bf08aa277c2a060d54ccf30dfedb216c1ff955a7263e23237fac25c3c3960f858d3782f29cd32c85dc7f434aabd03b46aa9706414b939ebf2309bb923dbbe978baf6e84719db2072fc9fe68ca461be47e6f26e3591206ec6732abeae60ca9e9eed731ccff70f2ce36aab1ba7b323025f147abf89b67edfce22767e60209043df4ad53c241194d253a3765c8a4e9508e5320fa25fb9f794434788a8edd72b06a53430512b62b74a7a83d86963664c8f8198f2bcd8a02020198d4c52fe0f435eeb1ed75e13c353637ab3f10443d13f9ad19647999e0626709cc2c3dc781c366617275b182994002d7d7fd16fd00c12016e9f6b9b0e514136c9e9ed5420924e26f9f0453c7495a67e1bc3463d574644a0fd62c2e4a099d5530eb3237d352426179ed1e4f654154fff0bf6b6393bfbbee66f8efc252b1d2369eb5402c2e099e92f4996d796e7fe50b0c63ffaede9e0c47b817f120007d249b9ef55d59767a7c6f3b2e4c594792e5003599e96bfdc028ffbac6156a96c7de05dfc5f24efef3c0a6caa39d34914d25cb5cd84375ce190ff86fa841fbab6a0704eec27a58593076dd8d765259f99e9cafe9d9d914fc4bae0b2d1f338e2f35329ff03d5f2776cd52447fdb1d03a9688b943367cefee8184667335ac1e8c28f888ea7d9fac23bdf6c9622a15de89b721fd398a6356108c36c7dc9e736e1b9b72e9bd567d8e6e17cbaa103116567c503e3d0312c82fe0b97e8fea9ae465d3fa1343790c8f15bfaa2288f1f1dfeb4a2b1ff05ad309cdc3297e19af0bc92a31c36e2090db0082966e01570244f5745322f9f59e93d6c40f794174b5160d1d1bd7d28c360c17cacd05f0408c2a9a29397c31d8570eac48d39632c92313bc4a6ccaa741838305b46a7372121588e3e459363faa663a6ba27f9bcf67511731402494b8610be8d73fd98aad8a6831f17c56d491d0e33b7c0e323a04b5a5cfd9c36b20ca588161c85c3fa09f597fa0450ff8ea02700d59aef1aa3a9fe7836c786169f115688775aceb500f11c835be0ad8329dbddaec8de3fc3672430fbea429b83e33aec63071031c43e7b74d7d10cec4998e42bd54412ed6f1c4644b2bb933d32f2c805e56806f2b2deffcdd6b09724289a74d86be3d0d836990e9cd5a983969894051809d1d96e645ef5fe420c656d153d5c39bae10ac7062927012c5a1b09072b46420bf78713ae4a1b7687ea56b4991b17e4097f9524522135aa13deefd7ed9d35184d71a32297df7cc4a6804f8b29e721a964d7a493ef0663268719475091f6659a985ba3d3e830984feb0e7fed82822e569274be3b529ba4f191be743f174392e4bb039011365d9f0f8789a857e3c8980dda21008882842309af5e106ee6c76ca607c6c8e9ed0d6350c81bd4fb1863c4dcb260bacf9ccf10e98c2c9ddc59ed30e0cb70433798f3dd01bd713c9b952180ead53de0252e10ed87a1f6049b1c7ecb841c13a43a643c6f8ac38dd897e69b7d5d394c3704daca24670031717fe6b822037f45dd93131605a5be76066c320ab4d8b0b0073a7627ca73c72a434727cd6bf80e21b9f1a882e3c8043dbf83cf0a0e17743779851e46321a203531b3f33b4f4f75d171f01ff549c4c930dda47a9e9d3ac57e0d7f542fc116b56213f3a75fca2bb714e0cdfad01bd44bd7708c83c096be83d5c8e4ca7c48e3a14ce051aa00aaf2b654f16b0cb29fadb43a6008d6da601755a6c81e4b9a8a3240c34d4f238e3db0460a7d4630baa544613d9d55014ac11309ae80efe2aa04d8623c30d64563e9d59b3fd3b76847a7b66dab43634aa20a3f138331265a383f385eba0e734ea2c60801f2c2", 0x68d, &(0x7f0000001000), &(0x7f0000001040), &(0x7f0000001080)="0a93fb5f9f918cc1195e81fa8c363e9f014bcf165423f4e148098cc427800ebea7a25bbb82ef089ad368d733d51fd1312da64338f828c6e92fd4c5acfccdb5d0fb5ead88ff50cae18a43e44b38a797f2984d318e6048bcf05e2345f1eefd1c5915818da53058c16b85432283b2a98f280157293288fdfa230c3b07adf4996b3d89a2b488c04029c6b052fffc3501362b0d5f98139e7476957510a037c1126d9c89b9c07272b94b48a11d4b85c315bc97419dc82a0fc6d11bffb552bc528788acb32d73f8a1def18b0693e3c9a3756deb4a9884c9f4bdb7b7c0d4685ded081f3e115aa2454f8d22a7fb9bea54e7e839205de7bd76b8c5e86a4be97ebe107ec403d3382a9c9a5c38aa14746dfbb37583282c83e951797a4bf79977266ab251cf15b59f3eb5d38a583ef359946e57d1e14e94d22a4fe59f44b303aceb69315f4ffb54ad4481208b8a18180e37300b9e1466b0120de4c21d83bac49bbf8b6ed17c7717c494f5c5c68b2f09c355cda9e92798bc1008b767e1064641cadaac73dc86de02f108f0b9973694dadd25a07bfd51aef89a8a120709e365be8a4896a3dbcd8d9b74e000cf1900444447d8a5f5f497a3ced7f3e19d2e2bfe967398bb1c2b72a30947a69eca1dab4c88b98f026592fe14703665b1c3dfec392dee9bb96a415ef7d71a4b43b31d48c26fb72b17c1553a2c1ca980736f6b6f778451f674aa30e0097d9b79a94a30c94c9b0344e268aeba2598a56d58cc3a585d93083c074a06d27a5afa5b56c6c39b37a62f9cbbaabb744c6695cad6c54825f6b880134d27110bdd198646b34a8ca3906f5b597d456c34ebca8152a50b9f85ac44625c2fd185ee1ffaab72ac764edf9d1946964bc2ac717ec3e7dae819b9a7d33995887c4eb8a7ce3b18cb8ba6707cdaae19fdb0cc440db384452a00197f8065699f89226d30ce4c0ca5238a62d2eb6ea9a3d6803e3bcd65dbcd0240498c095f688938c6a3114dac245b7d233a5e9ab141b8f74a65ac5473fb327a2e9cc441b8879066839bd0cf87b725bf26f2eda69c8c2cead1bba06d6c576f2deab829b3bdd20feeed292ef2c3e5dd1bf32cbab31095cfd6b98966c822a645c689701b4cc802eebf966af15b6e530b9d0f36bec65ef076d1df7cb7f11d12dec350137d7b5b0c0f8d89c3cafa85a608db1964e7ef2091a3d4fb36613169c5d6fdfe7833f6ee7aed1969fc0a6f0724f41eec02444a9921b15e0fa554ae1aa3e3fcec26c146791440b0489c91c1261e029dae7372f89b2ccd03df4d2f063ba16567b12beb23808799822f101b406260c8c64b8ca4979874a0cf94c182967e5f1a8ae6a8e68db00a682e4452bbb3e52a70c3c806d4bc1223bd57e1afcaaa0abd2d13e50541a4db7b1c656a26eb8a5665032333c5d2581c95ad30e181ed7ec7224137c730d6526427d4c38eac882e09e13870fc04b86ef704aab5e4e1c0d1c19bd8beb92258b849842d8af3e5fb0ad26a4ce490a61c67d58192f024296805cca5b9bd60ee23f7f34c8c2f3b21dbafc9375e22766e5c3fea1337264edffef6172f277b4a85d45f737287177e2c166aaf043f80472f418092f1bfd08218b72f08ac914dea275aa1dda15db9a81677cf0815fe3ac3b0c2f9eca9b0fb5b0411de27bce8d962f69869b01b401b2bf1590d1fc2e819b23dce7c92dbe017c79b44070ae4b36ed2ea1250dcfad0d0a11aafa1912ad2c600358783a6f6a0b4f0f0c43977cc0559dc81aea8f5a8ab3aa5995799e52389b9ba55811b53f478cd31ae349f0f9c8f043db24538c2bb1ecf9e124f398b6d46cb9a9a1b45fc07fd5501ca7aee09d6e479b9890d17d6803c7158f62f6df61d18fcf918bc09fa027b78efa0396f0504e47b8054e8d4ef65e7168cf4f8f0bcf164dfb04d94c08320375debdb8e4807396449daa0211912fa0125507dd1c1dcf44b1ba80438e4f5424840a0e4f43911f5cac8f0627b0a8280b0553a73742582144aa083a8edb99253733d36600894e2e7d84f4d402b1d05fc363abf26ff96843097023e4ae5b9fb53ef3b518c23c3d3f6bfe791e534bcf680f44913d10b4c2bff02a0701634ab718e58e075f5c9ca447427beedc27b0097e6a7e95182b1ea57796ab3cc4f7a4ad5c3ac8b88d5a0933b4b8a3be4a67901a2ec76a7dd4dee9600d863da91e149dead638bb39120a8ce99a5f82c738127cc4f643641a8bc7d5f187a99ac808e45203a94d81e2023a03a2b2330fd013bbd97841767e69edb2b8fd40828174153ad04699c96c9977973c012fe292c0f87a0f8e758e3c609730a97293fa9614d930e191dbdafe506114e925db4b3043d01bd826923cd3c269ceec6a35ed95b6f0dca508c1471d57ea27940cb3bd1aa8ea6a0e1051e83ae5f1210d1cb410a4fbdaa8016303d228419bd1d16c6acace18712aa582b836a6e6868f7d2c712760617d365c7aeb5507661ca0113f9bd4cecc7cbb8124dcf4701f7ecc5d1df43aeea6eafbb68a948e203ee6260d9a64053cda965b92a6515dfd77de1e3c05524643c78b3220cdc82033e432254f97bb34635c5a33225d97e332dce40c239f96b6cf861fb04cec3f01927326cf6f52c1dd3762e2e363bc9e6ce7eb878bd865db4ddeb538256108bfde49995d37a3a2b640d65c9868c6fc0886c34dbe7b3fe2d59c9c4c62bcc9d00e5ade5908461136d0db862ea5babe5995a2e08db367f45af75b0ac1cfa0ab885e59bbddc5f0cf3cb87d95aaf57e1bab6732bfeca77933532301b82f8236724013d7c6e8aed5a170a308ae5efdec3931032627301eb7ff90a11c754e6c0f69f9b74c40b535ca108c892da676993dde8485f0b8aead5f08327435dd095b5844b66c00d7e62ff81a7b9b892fc2b9acdc164e082a12aedf9e4093e4291188f1eb47d55513164a0a4b6b7150bf621ad70198cd1cc17104e6e80f97d54b74cfa4fa4b3325ea822970a07ae202959bbddfb9bb56ad96aa9e4574e6f96d1a0c5a8780bff75725653580bf8d2e7efc191cc83f9fd02a4c2e6846a7a128e3f9e47126539d34c3cfd5584b64ca425853d45eef81b02372755a10ee37a8e07ba38f1307ce57a72784f2c7c70aa68e073b2e7da928fcfedcb3a9807eee1fcf49e1aad5d5c4b574c3dc2773d38a6345c5c2a09991c4f7ce50386e294848457b391d878fef7e151c0186984507edcaebe150555a44360c368b0eaa741234466a2ed497534e36afdb9348a2d6316bbbff9eeec7736968a6aea6f6c9073d04de8c3074fa7abb1fefe87649c5f4703bf91b520c9a3c2e74937e8c4b9995b736cc82e1c22c987741ecfdc472de21162673e466a1c83050c9c73fb335595e869ea4a5d0a98097745a5e4976ec8cc09bdfe8ec2647b057fd2de21de4cef383719611c36246874b3d9607c0141e7e43b7ee52e59c404417a383eb706790a3e17beafb7101ee6384abcbb0c1b5e59c298041098617de867276b45cc48f030c8e903cd5e46cbc7343eea1d8cb386610d13421a46095967a13acd1dd3c48018aa2a3c65fffe212356d5361c342acb940a43a8f2920f167c3423e4913b80c8f49f03952d525f6b32ff605cc8455e258d49b435efcb3ffc9da156ee9add28b7fe02c09948ecda7be60fde5a98c7e658f959eb8ada7d73a9f72e6a3fc23160fa6687de410ed0590a068a9a6282befbf317163b633bffa29585b5a76fbc7ddb673203d29589aa9b17ffd10750735d817a9654178f22a2dd5a3533d738a985663998b5c5eec73cd1537c0a243350347310b18fddedd076282d4616e4cd65314818513652bc7862831111ff911eec7016af9ca2491e6dcfe16adac434e57126e685073e19e673a769024390e0326bba3f9f4489d3e2d5b54e075c94b838e82031756ce5778e54a985a8a17a0673a06910c1d69d6077e18b843b67114ef138545c7f6da3eebd36f94c4807acb0095e03b4cff5710fadfe0ec611530d92f02bb51199be95379532e36a5aaafbfea246e61beb2f3b3a66cda5480585802b2dd67eca6c3b8ede70e28d0f4b21f5264c908249ca7eb705bbefcce65e60abcdfa25eb6ee59b593a80caddedec0aba99116c76b2659596198e558398888f356891ba5dcced0a09256477e6a92d01e1e4d53731ea0398dfb8847f7d5c9af63ef16e6a39f82da90c034ab6fe924bf6cd8a039c427976fa6298bafabecc9f94170c2d92e7a46c45840b3369cad97a735109d9c90894ae5210fc1775350be407c263be544a072ed87ba234ff0cd9b67c106d18b4e9611959a8635dbcae6d8aea1cb2452ba7e21affee5b102ef1aa6b74b1cd09fe53b2b64205a7fe55987634af2e18f5d6a7f3e498de74dd0c44d98e4691f8af7cdf3c72a7d1d752db3b3dd1fbe4c81b760a6734955a78a066cbc66b5b5bb6486200495f777e36d002f1a48b7f45dab787104b3d69814c330e4f37195ec107963f8410fc2f4f8e294c0ada8a8e61a934ef942eb068552f627b2fff7f986d900158a1b5c547f694ffe2eb8fa05b6c20a606982b518a7721c755d888632590a1742c662c1044e5703e49599418019e3d478177aaab7acdf8226596d6cc719b677f8b13623bc15c132ed546250fad4b8ab35f30422c6317ffc454468887ee2cf5b4f3c75ab8beb66973ab273920cc61ddd349fd01b24fac64dbbf40bf7f897b3a9eb641567ebd490dc8df105c842fa8963e2fe4d9b9f45bec1aa6bf9ab9c58f6183af1546376e6bc04a925a4c3622fecae0d0ae54a8571f5f2cfb61e4df4b0258698486cc3ed1f6d1592bea072d7daa4def9cbe80b702653c6dc94e3aab37304f38bb3ce040ae782f4b41d4608b26f0b1324b501ece9166e5c00cb66484868c04ef1a0a7f5deca2bcfd07c3358400c49b6680230df1532566768df137b19682b8b1295062a908903210933c37e90ef28ac65f9b4cc7697e653a1c36459fd29aafa9bd33dd3f41945c4da6fe1e6502da2d22dc57016c44e6c08b147f7427f09120c1e44933da0c1c9c7e42b1e17fc6e09a60edecf504c4c1001f723d7230ed57657a16c274fc15e8665e9a8cdf549695a9cd865aae9b02c87c7693b98acfd639826047c4922bcaf073614fb1a3a27c294eb6cdb6441fb311a0bf576c11c94690167ec931c7ae50bb7c1cda69ebcefbfe48841067a1cb2c2d06004bd6567bde4ab34b434e74c2bca96492054083e9da502525dfaf21781f23553c901b62a61d1fa02e1287c2c5a068b9c0fc4a8760694ea77af9823f15b7644322c9cd2f91e0b70dfd66c982856f8af66968317db6f6703a40c2758ecb2b55c34060cb5696aa1688ca4b6f977b17f7a8b144f6c1d3017cce9f3eebe3469471f6d77da57db7d392db85c3921c4863d8e6a376a320cf93103827590f9bbe512de3f257ca1406106754c6c71afc39e934004a78075573ce2b9ee6f2c06deeca0d0acbf4705951effe1434e0e8956ff816f652bdb9c8371a60ece29189f1f643c9b5c7a8d83992ce71dd427e286e03d51c854be7908cde2a2463607ccbe4165bb5963b5c9ae97549369cfec667e65e1539f6e510a75b85247588e32f1d08691da9c30a529ffa49793cd3d53b26e78fe4e06ee897dc5185a5e7ff71dc66301ae4ff94b421e029d363c2b82c01c5c0100b88be6f0dd0faac3b2da6a9bce78184eaacf7c0b8a2ddb5e745a9f57ca3b63d445ba10515c0577d865c49d41a693e28e2fcb8b568a87b4860056be9aabe49cfe8516efe9bb22a7e7b6ef95ba9d183706eca4f7395ae55b7514cc26178bbb9a34e843e772e8fb423f99a2eb46113e266b74f6f") 15:22:10 executing program 3: syz_clone(0x24010000, 0x0, 0x0, 0x0, 0x0, 0x0) [ 350.797380][T10668] netlink: 1000 bytes leftover after parsing attributes in process `syz-executor.0'. 15:22:10 executing program 0: ptrace$getenv(0x4201, 0xffffffffffffffff, 0x0, 0x0) syz_clone(0x0, &(0x7f0000002080)="22d12cc563fd12e048f7788958ff7368d2cb2e732c33c5d63bf7885ac17a35909f7922f0c7fafec11331c83cee", 0x2d, &(0x7f00000020c0), &(0x7f0000002100), &(0x7f0000002140)="d5d0a7c248d35a900a13bcf6427672c8f2a18b7f459aa084a0c555a8a69815bb66c9a3a31581d5601c6f1e0daf24d1ab46c893a291ec3e11880a45634cd9f7ef79eaf831a93d2d4f3ffc003c8cb8050c6b88a59d1cd5609a9831217867749c278a5b5cdd2fde909bbcb5ffef09e5970780656ce9d300342b7438cbcb430a35886c60252c57f3fa6433b7a512644b288b8d84d60687e5f912c49e4385255e3982657924f88ff95e") syz_clone(0x40200000, &(0x7f0000000000)="b442bed3c134c0d05190a3377e17ec368a09597c62f245e78fe5175839dedfadbcc741caa9dbb13dbf672692908b5cea04226373c7d65d50cfe6e19c0d8c3468d1627eb505ff96eeda81a9696bece36539d5f4d4f0e502d0fe1bd051d3770d7d43e4e96bfa80667091f8b3fdebed2e907711b1282049cde920ae8cee2eac823852d642f210dc269364fbde95edf6bca44d384474997eacece65489646fdb614d67320cee6b6b4d4e58a8c6eaa19c4021f467d1f33de7ff39ff79a1106f94a59c71bcd1987cb4e04a29227b747c96b6e9ef361cdfb7e303737d9b01923065362922e86573fd6b0ffa4cae4b5970a24f822b9a2f8328f3448422d93f71319c6935cbfbeaba6285c46c0734945bd28f00e9ca7eb9e0e2fa7c710b53fdbc1ec0e35f3555dedac73ea758ebdaeadc29e6352697ccb32bd40d28887466f56757ffb0a9fbc48f578f42a584ccd1a1b40dc049bd024c55b535e95e5570dced86b29fb700cb660dacbf6c3764430ea8dd55b519ac228065fb7bf08aa277c2a060d54ccf30dfedb216c1ff955a7263e23237fac25c3c3960f858d3782f29cd32c85dc7f434aabd03b46aa9706414b939ebf2309bb923dbbe978baf6e84719db2072fc9fe68ca461be47e6f26e3591206ec6732abeae60ca9e9eed731ccff70f2ce36aab1ba7b323025f147abf89b67edfce22767e60209043df4ad53c241194d253a3765c8a4e9508e5320fa25fb9f794434788a8edd72b06a53430512b62b74a7a83d86963664c8f8198f2bcd8a02020198d4c52fe0f435eeb1ed75e13c353637ab3f10443d13f9ad19647999e0626709cc2c3dc781c366617275b182994002d7d7fd16fd00c12016e9f6b9b0e514136c9e9ed5420924e26f9f0453c7495a67e1bc3463d574644a0fd62c2e4a099d5530eb3237d352426179ed1e4f654154fff0bf6b6393bfbbee66f8efc252b1d2369eb5402c2e099e92f4996d796e7fe50b0c63ffaede9e0c47b817f120007d249b9ef55d59767a7c6f3b2e4c594792e5003599e96bfdc028ffbac6156a96c7de05dfc5f24efef3c0a6caa39d34914d25cb5cd84375ce190ff86fa841fbab6a0704eec27a58593076dd8d765259f99e9cafe9d9d914fc4bae0b2d1f338e2f35329ff03d5f2776cd52447fdb1d03a9688b943367cefee8184667335ac1e8c28f888ea7d9fac23bdf6c9622a15de89b721fd398a6356108c36c7dc9e736e1b9b72e9bd567d8e6e17cbaa103116567c503e3d0312c82fe0b97e8fea9ae465d3fa1343790c8f15bfaa2288f1f1dfeb4a2b1ff05ad309cdc3297e19af0bc92a31c36e2090db0082966e01570244f5745322f9f59e93d6c40f794174b5160d1d1bd7d28c360c17cacd05f0408c2a9a29397c31d8570eac48d39632c92313bc4a6ccaa741838305b46a7372121588e3e459363faa663a6ba27f9bcf67511731402494b8610be8d73fd98aad8a6831f17c56d491d0e33b7c0e323a04b5a5cfd9c36b20ca588161c85c3fa09f597fa0450ff8ea02700d59aef1aa3a9fe7836c786169f115688775aceb500f11c835be0ad8329dbddaec8de3fc3672430fbea429b83e33aec63071031c43e7b74d7d10cec4998e42bd54412ed6f1c4644b2bb933d32f2c805e56806f2b2deffcdd6b09724289a74d86be3d0d836990e9cd5a983969894051809d1d96e645ef5fe420c656d153d5c39bae10ac7062927012c5a1b09072b46420bf78713ae4a1b7687ea56b4991b17e4097f9524522135aa13deefd7ed9d35184d71a32297df7cc4a6804f8b29e721a964d7a493ef0663268719475091f6659a985ba3d3e830984feb0e7fed82822e569274be3b529ba4f191be743f174392e4bb039011365d9f0f8789a857e3c8980dda21008882842309af5e106ee6c76ca607c6c8e9ed0d6350c81bd4fb1863c4dcb260bacf9ccf10e98c2c9ddc59ed30e0cb70433798f3dd01bd713c9b952180ead53de0252e10ed87a1f6049b1c7ecb841c13a43a643c6f8ac38dd897e69b7d5d394c3704daca24670031717fe6b822037f45dd93131605a5be76066c320ab4d8b0b0073a7627ca73c72a434727cd6bf80e21b9f1a882e3c8043dbf83cf0a0e17743779851e46321a203531b3f33b4f4f75d171f01ff549c4c930dda47a9e9d3ac57e0d7f542fc116b56213f3a75fca2bb714e0cdfad01bd44bd7708c83c096be83d5c8e4ca7c48e3a14ce051aa00aaf2b654f16b0cb29fadb43a6008d6da601755a6c81e4b9a8a3240c34d4f238e3db0460a7d4630baa544613d9d55014ac11309ae80efe2aa04d8623c30d64563e9d59b3fd3b76847a7b66dab43634aa20a3f138331265a383f385eba0e734ea2c60801f2c2a41f37058581a546042abca6cc59b602bedd0d3ae7c18b14ef36f7f106d4931aed05cce6a8c3e1def4a8c295d0cb5e84a1fb3846018f011289506df618dfc1e1cc79f29ba144d4168ce00bf9413d210f280deec79683987af2759710f3807a2a2b641d1309cab7595a4e6813bb3246aaa7892d911f6d4dc775397fb6a60c9eec71dd4a2e04221bd028300498850cc1dbe6f721d1482e66e178b8ca03a1b60be8772ee6f2cfcef700796cc2e4b4714b78448c415cb38ca4114da60cf3ae89f8c85ffec75f30b2904e76364537a188ea9e6c4d93e02d5ea88e2f4c67e55a6fac8168207afaefe7e12ab25974b97c4a597b26530d383874e2ea5ba6dc87c543a4956784fa48c6c10611f23ce6afa129017a45284340b4e391132dcc9762ad92229ff0cb405e030395862c52fbd4a4668f63b7bc15b673d461bd37e2d9a260410f951d94d9390372cb9ca7abd057cc55c0e610dc67793c974970330bab8f1555e15b74657d788b235c2f618ef3f54940b87f05f68885143a3b364012716b930010dabdbd8fd2509574b9f980ee57675614d96399a8bef62e6562f7f69bfda7a7c6b28368dbead685eeeab083c6e277d9309006be6100120500abf4b4bc115a86e33b9839d60626e469488cec4346b92c97781c8fbfdd1493c583f6d60170efb668b8983c69682b05cf3511efe226683038904ce4685d9b3bc732d5b203666fd03bc587d8f2baec72d5eac13607f4dc6c0bc2e0020f2c88890e5535807997f6aca748aaffce87a2f280e715788eaa6b5c1212819bcf19c040336ccb8f3cd170e43a47cbfe63cc231e18c507daed19b6e47235ef55d31197be813feb4972d859be18640647e1ecfbe2de4e9af0b177e9cb58a038829f653916384c66597ff9cadd5ba584d2dd3149f51930df02a74237f184b1d5f504906151a7fe09667606372938e05356354902ca45f24302efdd3bc8b6efc0712f716e6e00e05f4893ba62f2035bf424d26acbca5f5af95dc87743a1308ac5c5cbf57374abdf820ba3e9535819095567bec4ff2f63eeb3fb6f867db0914eb0ba0eb19692e647eddbf383dc7318afbf32d7382b923c419f9797b7d8bb497f52c835a64690842390ce29b57dd4346bc0a76240df18d8858c7ab81a20e14a13963ee0fbe64a80b0337d5de81a18de7a32fb95bf01a16ae6c53f49b81bca5f609ad8379c400509736ce461b35d5a79dabaea9d9ad29ed0737bd2f914025b395d8d498896cf8cf60c1a32525f0a0b6b486b79e0a269cf9d659e622e2460594013619a885005abb35113b9a508834687a146ae2f07032dee4fa9d9be425cf80f48bcbad072e14c3b79feef9204321c232b543deabb95cb9e626e533eddfb1a7109517daae6a50700a06c6bc85c78547bed4854981b8be82da56070630b4067327da2fd25b4f365925be44ff8162d436315b78ba4e436847d97cab4bd6a5c0d041f6d2033ea3e2c3e31f65ca9f23dbbf7e1b928ce5b8ab0d9110fd315e2e2144c51fb808477d3a49cce5b8eeba7d0889ae350ffa60c00b580929f16a3c61852a92a5f9b5930fbc9d44099c8a6b888578fe6398d92230f16f0cba973d83e1f681c59dcc9162624e1f406f3f56aefc0a9a3e45d5cd12a8850740b85a8ddbebb1c1dede43b93a0e39d3b68f5da339f089aa00c11c566ac6f1e70ba2b00d25becf57c77f71ac0c7c6846dd9991cb21701745d16909ea6cb54c09ad669af667bd08abc5cadf4a324d1cd1705bcee4d08bb56c0f6db2eaef4dcbe37e0a314ad004dfd0551e34ce5fa6d33e6370bd6779b34794885d3d847287e3858d65dd42d33dfe4322487e7fc12533765dcdf5e6e205d6068f9443f8bffb49e86388ebed3ed946d45bca7841d42d035905c1db3bd683afb1da2b8b94484a7379350c9cb15685862d74a9d5eb03c9ee7fd6d6d9399803a3102685d36d485c3370a74d831807e73d1d7e1ae6e33d9b493398099d328551253d4dd013f09f53ffc668081ac108ad10abd3a223d57b7750900a789e290f7d6999750e97afb94424d8300a83e924f6968fb3ae44861a7b17891dc9f8db32fb666cf376195b4936596f8e9ab9230b5733bd2ea5f193476584acdb508bb0f71873cd328d58d960cf36e32b568ea13ad61fb692190647fb49f8f0f4a99481c3046d59f4b001354e9285c829011ca19d39344c10540a34a2975bab256c5efd95f50030f876272a292ddf299d4301e3c6a3bce6aba76ef263006b53ef2a3571a4b410f5b8e1140a0a82afddaf0cc80befed06c78c0a0de6d37ea3992789fc2e242acbc788fd64242e7c11b7ec8212bfef68d3e516f89912012b1016900d08123bd3a6bb290097dcabd898ea54954aeb50a6a5fa5d05d86b6dd9adbcbc20e6c53e0136bee0d39c84a586df59ca0bd2ca8a94a80c4f6eb42aaf65d178d1cc94ff71ba6f94e34c7776c70bda1433a4f77cbd298d3c0ac0077bbd8745a9decde1582f05e161f2f463143bdc7cc56525de57acb8da529b764682e7aa92ed727909c891c4801077be6f610eed20f4a3b4b6ca40925c34c9666c0da1a6d95361bacc3e21a47f05a52a3e76f9ee90f901b062c6baae90d5fbc7b0596735ff4f855c27d26f7c0fbc546e925e302ee3e95e1065057684847613fdaf63a0edb1135e6c6441bf27718f24c98e707ec704210f04ccdf6c127dee00076d354961e26f85e26904c5b57f63795af1490d4b13739f7bfa46fb72b80275a1527bf9af319eac2fc1216f00688025d89a20a5d142d2b958d23d5ac43ebb58c6bea05e93f6a63093357ace2da4ce8212dbfc86e2e688c664e49ce6bec7ddafda2fb502104f722dd0d78cdde266db0c1eb0a6dfad5dbda1e98eea053fb1c51416d9ee9b9c7c874df35eedc506524f5123260fd71c72c2f806622ebf384443cecc4479dc26663ece9c9fe9c5a6ff4faad2c1a5340b1667ee1aedd7955561adaba6bd85dc7e9b7c598d7159df2e6bd36354a12118ae292aa6040d62b87f32a1c55aa69d98291fe892f2a23809e3ee79361522fdf626b5ea246b1e017ae37391d32efe2117ca62299d5e0252c46c43766427218653288b8fb297c63fa872ac2b1ae84d544978aef2adc4edaf0b1c7860e389ab6d0ea98ce09b742ba10e75d7e49a23cf7daf597a7a5cb576f668168bc7a8bceaed2c705be328535314e3a212bbb71b24dd27a6f97685ce7710608d69f0ee47b6db9daafa940778bc382373ecb3d0e47a1e708d6a09ee98aeccfb3beea298a0ab7f756ae6368310cdd9726d1291be155dd565a895549f8cf5d3e91ecd378036431b75a64aa9e3b6094d1342e2fa0fb25e8f3c79a4e525cf731cdd86c754a21ebaf9624944009237d51e02a980f749a9d798cbab9b9ba3afccaf27489fba6034cbb", 0xfef, &(0x7f0000001000), &(0x7f0000001040), &(0x7f0000001080)="0a93fb5f9f918cc1195e81fa8c363e9f014bcf165423f4e148098cc427800ebea7a25bbb82ef089ad368d733d51fd1312da64338f828c6e92fd4c5acfccdb5d0fb5ead88ff50cae18a43e44b38a797f2984d318e6048bcf05e2345f1eefd1c5915818da53058c16b85432283b2a98f280157293288fdfa230c3b07adf4996b3d89a2b488c04029c6b052fffc3501362b0d5f98139e7476957510a037c1126d9c89b9c07272b94b48a11d4b85c315bc97419dc82a0fc6d11bffb552bc528788acb32d73f8a1def18b0693e3c9a3756deb4a9884c9f4bdb7b7c0d4685ded081f3e115aa2454f8d22a7fb9bea54e7e839205de7bd76b8c5e86a4be97ebe107ec403d3382a9c9a5c38aa14746dfbb37583282c83e951797a4bf79977266ab251cf15b59f3eb5d38a583ef359946e57d1e14e94d22a4fe59f44b303aceb69315f4ffb54ad4481208b8a18180e37300b9e1466b0120de4c21d83bac49bbf8b6ed17c7717c494f5c5c68b2f09c355cda9e92798bc1008b767e1064641cadaac73dc86de02f108f0b9973694dadd25a07bfd51aef89a8a120709e365be8a4896a3dbcd8d9b74e000cf1900444447d8a5f5f497a3ced7f3e19d2e2bfe967398bb1c2b72a30947a69eca1dab4c88b98f026592fe14703665b1c3dfec392dee9bb96a415ef7d71a4b43b31d48c26fb72b17c1553a2c1ca980736f6b6f778451f674aa30e0097d9b79a94a30c94c9b0344e268aeba2598a56d58cc3a585d93083c074a06d27a5afa5b56c6c39b37a62f9cbbaabb744c6695cad6c54825f6b880134d27110bdd198646b34a8ca3906f5b597d456c34ebca8152a50b9f85ac44625c2fd185ee1ffaab72ac764edf9d1946964bc2ac717ec3e7dae819b9a7d33995887c4eb8a7ce3b18cb8ba6707cdaae19fdb0cc440db384452a00197f8065699f89226d30ce4c0ca5238a62d2eb6ea9a3d6803e3bcd65dbcd0240498c095f688938c6a3114dac245b7d233a5e9ab141b8f74a65ac5473fb327a2e9cc441b8879066839bd0cf87b725bf26f2eda69c8c2cead1bba06d6c576f2deab829b3bdd20feeed292ef2c3e5dd1bf32cbab31095cfd6b98966c822a645c689701b4cc802eebf966af15b6e530b9d0f36bec65ef076d1df7cb7f11d12dec350137d7b5b0c0f8d89c3cafa85a608db1964e7ef2091a3d4fb36613169c5d6fdfe7833f6ee7aed1969fc0a6f0724f41eec02444a9921b15e0fa554ae1aa3e3fcec26c146791440b0489c91c1261e029dae7372f89b2ccd03df4d2f063ba16567b12beb23808799822f101b406260c8c64b8ca4979874a0cf94c182967e5f1a8ae6a8e68db00a682e4452bbb3e52a70c3c806d4bc1223bd57e1afcaaa0abd2d13e50541a4db7b1c656a26eb8a5665032333c5d2581c95ad30e181ed7ec7224137c730d6526427d4c38eac882e09e13870fc04b86ef704aab5e4e1c0d1c19bd8beb92258b849842d8af3e5fb0ad26a4ce490a61c67d58192f024296805cca5b9bd60ee23f7f34c8c2f3b21dbafc9375e22766e5c3fea1337264edffef6172f277b4a85d45f737287177e2c166aaf043f80472f418092f1bfd08218b72f08ac914dea275aa1dda15db9a81677cf0815fe3ac3b0c2f9eca9b0fb5b0411de27bce8d962f69869b01b401b2bf1590d1fc2e819b23dce7c92dbe017c79b44070ae4b36ed2ea1250dcfad0d0a11aafa1912ad2c600358783a6f6a0b4f0f0c43977cc0559dc81aea8f5a8ab3aa5995799e52389b9ba55811b53f478cd31ae349f0f9c8f043db24538c2bb1ecf9e124f398b6d46cb9a9a1b45fc07fd5501ca7aee09d6e479b9890d17d6803c7158f62f6df61d18fcf918bc09fa027b78efa0396f0504e47b8054e8d4ef65e7168cf4f8f0bcf164dfb04d94c08320375debdb8e4807396449daa0211912fa0125507dd1c1dcf44b1ba80438e4f5424840a0e4f43911f5cac8f0627b0a8280b0553a73742582144aa083a8edb99253733d36600894e2e7d84f4d402b1d05fc363abf26ff96843097023e4ae5b9fb53ef3b518c23c3d3f6bfe791e534bcf680f44913d10b4c2bff02a0701634ab718e58e075f5c9ca447427beedc27b0097e6a7e95182b1ea57796ab3cc4f7a4ad5c3ac8b88d5a0933b4b8a3be4a67901a2ec76a7dd4dee9600d863da91e149dead638bb39120a8ce99a5f82c738127cc4f643641a8bc7d5f187a99ac808e45203a94d81e2023a03a2b2330fd013bbd97841767e69edb2b8fd40828174153ad04699c96c9977973c012fe292c0f87a0f8e758e3c609730a97293fa9614d930e191dbdafe506114e925db4b3043d01bd826923cd3c269ceec6a35ed95b6f0dca508c1471d57ea27940cb3bd1aa8ea6a0e1051e83ae5f1210d1cb410a4fbdaa8016303d228419bd1d16c6acace18712aa582b836a6e6868f7d2c712760617d365c7aeb5507661ca0113f9bd4cecc7cbb8124dcf4701f7ecc5d1df43aeea6eafbb68a948e203ee6260d9a64053cda965b92a6515dfd77de1e3c05524643c78b3220cdc82033e432254f97bb34635c5a33225d97e332dce40c239f96b6cf861fb04cec3f01927326cf6f52c1dd3762e2e363bc9e6ce7eb878bd865db4ddeb538256108bfde49995d37a3a2b640d65c9868c6fc0886c34dbe7b3fe2d59c9c4c62bcc9d00e5ade5908461136d0db862ea5babe5995a2e08db367f45af75b0ac1cfa0ab885e59bbddc5f0cf3cb87d95aaf57e1bab6732bfeca77933532301b82f8236724013d7c6e8aed5a170a308ae5efdec3931032627301eb7ff90a11c754e6c0f69f9b74c40b535ca108c892da676993dde8485f0b8aead5f08327435dd095b5844b66c00d7e62ff81a7b9b892fc2b9acdc164e082a12aedf9e4093e4291188f1eb47d55513164a0a4b6b7150bf621ad70198cd1cc17104e6e80f97d54b74cfa4fa4b3325ea822970a07ae202959bbddfb9bb56ad96aa9e4574e6f96d1a0c5a8780bff75725653580bf8d2e7efc191cc83f9fd02a4c2e6846a7a128e3f9e47126539d34c3cfd5584b64ca425853d45eef81b02372755a10ee37a8e07ba38f1307ce57a72784f2c7c70aa68e073b2e7da928fcfedcb3a9807eee1fcf49e1aad5d5c4b574c3dc2773d38a6345c5c2a09991c4f7ce50386e294848457b391d878fef7e151c0186984507edcaebe150555a44360c368b0eaa741234466a2ed497534e36afdb9348a2d6316bbbff9eeec7736968a6aea6f6c9073d04de8c3074fa7abb1fefe87649c5f4703bf91b520c9a3c2e74937e8c4b9995b736cc82e1c22c987741ecfdc472de21162673e466a1c83050c9c73fb335595e869ea4a5d0a98097745a5e4976ec8cc09bdfe8ec2647b057fd2de21de4cef383719611c36246874b3d9607c0141e7e43b7ee52e59c404417a383eb706790a3e17beafb7101ee6384abcbb0c1b5e59c298041098617de867276b45cc48f030c8e903cd5e46cbc7343eea1d8cb386610d13421a46095967a13acd1dd3c48018aa2a3c65fffe212356d5361c342acb940a43a8f2920f167c3423e4913b80c8f49f03952d525f6b32ff605cc8455e258d49b435efcb3ffc9da156ee9add28b7fe02c09948ecda7be60fde5a98c7e658f959eb8ada7d73a9f72e6a3fc23160fa6687de410ed0590a068a9a6282befbf317163b633bffa29585b5a76fbc7ddb673203d29589aa9b17ffd10750735d817a9654178f22a2dd5a3533d738a985663998b5c5eec73cd1537c0a243350347310b18fddedd076282d4616e4cd65314818513652bc7862831111ff911eec7016af9ca2491e6dcfe16adac434e57126e685073e19e673a769024390e0326bba3f9f4489d3e2d5b54e075c94b838e82031756ce5778e54a985a8a17a0673a06910c1d69d6077e18b843b67114ef138545c7f6da3eebd36f94c4807acb0095e03b4cff5710fadfe0ec611530d92f02bb51199be95379532e36a5aaafbfea246e61beb2f3b3a66cda5480585802b2dd67eca6c3b8ede70e28d0f4b21f5264c908249ca7eb705bbefcce65e60abcdfa25eb6ee59b593a80caddedec0aba99116c76b2659596198e558398888f356891ba5dcced0a09256477e6a92d01e1e4d53731ea0398dfb8847f7d5c9af63ef16e6a39f82da90c034ab6fe924bf6cd8a039c427976fa6298bafabecc9f94170c2d92e7a46c45840b3369cad97a735109d9c90894ae5210fc1775350be407c263be544a072ed87ba234ff0cd9b67c106d18b4e9611959a8635dbcae6d8aea1cb2452ba7e21affee5b102ef1aa6b74b1cd09fe53b2b64205a7fe55987634af2e18f5d6a7f3e498de74dd0c44d98e4691f8af7cdf3c72a7d1d752db3b3dd1fbe4c81b760a6734955a78a066cbc66b5b5bb6486200495f777e36d002f1a48b7f45dab787104b3d69814c330e4f37195ec107963f8410fc2f4f8e294c0ada8a8e61a934ef942eb068552f627b2fff7f986d900158a1b5c547f694ffe2eb8fa05b6c20a606982b518a7721c755d888632590a1742c662c1044e5703e49599418019e3d478177aaab7acdf8226596d6cc719b677f8b13623bc15c132ed546250fad4b8ab35f30422c6317ffc454468887ee2cf5b4f3c75ab8beb66973ab273920cc61ddd349fd01b24fac64dbbf40bf7f897b3a9eb641567ebd490dc8df105c842fa8963e2fe4d9b9f45bec1aa6bf9ab9c58f6183af1546376e6bc04a925a4c3622fecae0d0ae54a8571f5f2cfb61e4df4b0258698486cc3ed1f6d1592bea072d7daa4def9cbe80b702653c6dc94e3aab37304f38bb3ce040ae782f4b41d4608b26f0b1324b501ece9166e5c00cb66484868c04ef1a0a7f5deca2bcfd07c3358400c49b6680230df1532566768df137b19682b8b1295062a908903210933c37e90ef28ac65f9b4cc7697e653a1c36459fd29aafa9bd33dd3f41945c4da6fe1e6502da2d22dc57016c44e6c08b147f7427f09120c1e44933da0c1c9c7e42b1e17fc6e09a60edecf504c4c1001f723d7230ed57657a16c274fc15e8665e9a8cdf549695a9cd865aae9b02c87c7693b98acfd639826047c4922bcaf073614fb1a3a27c294eb6cdb6441fb311a0bf576c11c94690167ec931c7ae50bb7c1cda69ebcefbfe48841067a1cb2c2d06004bd6567bde4ab34b434e74c2bca96492054083e9da502525dfaf21781f23553c901b62a61d1fa02e1287c2c5a068b9c0fc4a8760694ea77af9823f15b7644322c9cd2f91e0b70dfd66c982856f8af66968317db6f6703a40c2758ecb2b55c34060cb5696aa1688ca4b6f977b17f7a8b144f6c1d3017cce9f3eebe3469471f6d77da57db7d392db85c3921c4863d8e6a376a320cf93103827590f9bbe512de3f257ca1406106754c6c71afc39e934004a78075573ce2b9ee6f2c06deeca0d0acbf4705951effe1434e0e8956ff816f652bdb9c8371a60ece29189f1f643c9b5c7a8d83992ce71dd427e286e03d51c854be7908cde2a2463607ccbe4165bb5963b5c9ae97549369cfec667e65e1539f6e510a75b85247588e32f1d08691da9c30a529ffa49793cd3d53b26e78fe4e06ee897dc5185a5e7ff71dc66301ae4ff94b421e029d363c2b82c01c5c0100b88be6f0dd0faac3b2da6a9bce78184eaacf7c0b8a2ddb5e745a9f57ca3b63d445ba10515c0577d865c49d41a693e28e2fcb8b568a87b4860056be9aabe49cfe8516efe9bb22a7e7b6ef95ba9d183706eca4f7395ae55b7514cc26178bbb9a34e843e772e8fb423f99a2eb46113e266b74f6f1d81be") sched_getscheduler(0x0) 15:22:10 executing program 3: openat$autofs(0xffffffffffffff9c, &(0x7f0000000080), 0x41, 0x0) 15:22:10 executing program 3: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x4b8, 0x0, 0x9, 0x101, 0x70bd2d, 0x25dfdbfd, {0x1}, [@generic="d52d3defd120e7c63c8ef1350a9fe7a92a0aaada8c24cbf8b7b36f68c93042b3b615382b9bca9a30c1bee4149525abd5818568359e9a1103753482de61f6bef429bbabab34ad6562b1585a1aff73d8710f18fea3613e96ea94", @nested={0x4}, @nested={0x442, 0x0, 0x0, 0x1, [@generic, @generic="f067794d478c0b0e18811746395abeb957e0df6bfdd07e417907ecbde47c8ad55b82c332574f07d66888fb7ff024e36c3d688241fa0aae4e5d627933218a4ca268b888443ac06b6295a86e81b6619c116419db2f85477166b1", @typed={0x8, 0x0, 0x0, 0x0, @str='!+&\x00'}, @typed={0x369, 0x0, 0x0, 0x0, @binary="861f8c42a239b57e0058bf2b456dffdfc4e5eaa5a8acfe7d565fd764ade8159a16bf1b77af9abd5641a8c2b5b75f47402b2e6d870a426c28cf7a569180eca14b9ddfda1dfad477a6e55ff6302bad5435754ff1527fe88ae61dbc608af0322204052325b76d3512a0c8a67e2a4c7b560a6d9dee4622dd550dcb17ffd41fea0c72750af6d5dbf04159bea3956fe1162d50ae80103a88d958774e6e62e52ef2aae63f0a8736f941976ebb7330c8ee573c72986799ce19af86dcdd58a0eb3c2864eb14a1b43b5a45ec70ebf4c65907cc0ef5b0cb18c420662c753a0f6836068167f4fbe4f9472b6fedef4481c4d0781a592a9bc4c12d50bb0f22cc648bd0832d238496aa8defc297f85a20395f86181b07a6c9fbca01a828e498265f7d0d091d990f6004c58744860513e7af2440a3a3cbae07245f8cb51326979741d0dab223ce06ccc3891c417d82c06963e6c22f43417f25296cdca7dd0935354fe67f1b754d8e4a9872351b5ea4d8ba0c35c5c12952242c531713c98fc95600cc0483578d32ac07e58f320ee96f3a79c8eaf39e7d3515c9873b75e4d62753a03994fce92f5dba5bbc989152ce12b23507c543c49af07b6581838e22b72613f890ceb38c20af8c7a6ecf22ca989faac04a96096e7e236e9a63fe17b48e6777bd8e5c7fe24b07cf611260c133a21c8e124c7381113507af656196cd84d79dea22bb9a96d1f0d05245ca2a70d3fc815d74d043a59544fc3b0168e8dbed8ca193924ed4bc612706c4a13cc79eff99a21267d47d41bee12b64079958c0cd73156fe9e3c2674d9f0d0de7d5072c39e247d3589f7e86e3e599ddae0185ef75d67ce7dfa2ad059e34cfc79eb26b0e165d5c0a8df57a2cec1a541173353d1be21adcfb379270e3add6c469e448cbc6ad86e50bffc381bbe39ecd5eda746c99747a123fb4cf596bdf40c8d3f5a4a4354a5c7d0cb3976abfaa3d65d20a4d0e187adcb5306f9592b575e69ef59e8a38f1c43558eeb977bb1a2ee22b1c2969b5f2ff20a66ac1bf1eb5f47af198799038d907f5e8261a52fe3d95109cb550714ce89a8b196bfc7531a274bc1c46b9ed98900f1b45585d538488ee0e6368b9de9944205ad95fb515bc80cef93011dcb6a44320d9fc8d8759a8db886f1cb68fb900e8052b0edc21d00b83c325d6264800e1832fbb635af0adb43b81a7caa8d1a90357e849041337e36f01b3076930883bf14886"}, @generic="f86b4f221ced5d6853eadd0e32acbeeb9182b3ac36e982217863b1764bbe96fa044dc17ae9e595d0687f300fd678b2b811309f62bcc4570b2b054152a35a7ad8dd8094f51a9301269d7b7cb8b41c62389831e55cfa", @generic="b15ee117e4ad63ca9d00ebc5556bf241fa4ef6380af91ce1b53dcb1c"]}]}, 0x4b8}}, 0x0) [ 350.938351][T10683] netlink: 1188 bytes leftover after parsing attributes in process `syz-executor.3'. 15:22:10 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:10 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x4020940d, &(0x7f0000000080)={0x0, 0x0}) 15:22:10 executing program 0: sendmsg$can_j1939(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, 0x0}, 0x0) modify_ldt$read_default(0x2, 0x0, 0x0) 15:22:10 executing program 3: r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$NBD_SET_FLAGS(r0, 0xab0a, 0x0) 15:22:10 executing program 2: r0 = shmget$private(0x0, 0x1000, 0x0, &(0x7f0000ffe000/0x1000)=nil) shmctl$SHM_STAT_ANY(r0, 0xf, &(0x7f0000000080)=""/221) shmat(r0, &(0x7f0000ffc000/0x3000)=nil, 0x0) 15:22:10 executing program 0: r0 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) write$apparmor_exec(r0, &(0x7f0000000300)={'stack ', '.)\\\x02'}, 0xa) 15:22:10 executing program 3: syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000ffa000/0x1000)=nil, 0x0, 0x0) syz_io_uring_setup(0x10da, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x323}, &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000000200), &(0x7f0000000240)) syz_open_dev$dri(&(0x7f0000000480), 0x1, 0x4000) 15:22:10 executing program 0: socketpair(0x1f, 0x0, 0xffffffff, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(r0, 0x1, 0x11, 0x0, &(0x7f0000000180)) syz_clone3(&(0x7f0000000280)={0x168000400, &(0x7f0000000300), &(0x7f0000000100), &(0x7f0000000140), {0x1d}, &(0x7f0000000340)=""/100, 0x64, &(0x7f0000000200)=""/21, 0x0}, 0x58) r1 = openat$pidfd(0xffffffffffffff9c, &(0x7f00000005c0), 0x0, 0x0) ioctl$sock_bt_cmtp_CMTPCONNADD(0xffffffffffffffff, 0x400443c8, &(0x7f00000003c0)={r0, 0x7fff}) r2 = pidfd_getfd(r1, 0xffffffffffffffff, 0x0) getsockopt$SO_J1939_PROMISC(r2, 0x6b, 0x2, &(0x7f0000000040), &(0x7f0000000080)=0x4) connect$can_j1939(r2, &(0x7f0000000400)={0x1d, 0x0, 0x3, {0x0, 0x0, 0x1}, 0x2}, 0x18) setsockopt$MRT_TABLE(r2, 0x0, 0xcf, &(0x7f0000000000)=0xfe, 0x4) [ 351.058843][ T40] audit: type=1400 audit(1664119330.352:5): apparmor="DENIED" operation="stack_onexec" info="label not found" error=-2 profile="unconfined" name=2E295C02 pid=10698 comm="syz-executor.0" 15:22:10 executing program 2: openat$damon_init_regions(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) openat$damon_init_regions(0xffffffffffffff9c, &(0x7f0000000000), 0x841, 0x0) 15:22:10 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:10 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:10 executing program 3: openat$proc_mixer(0xffffffffffffff9c, &(0x7f0000000080)='/proc/asound/card0/oss_mixer\x00', 0x0, 0x0) 15:22:10 executing program 2: openat$proc_mixer(0xffffffffffffff9c, &(0x7f0000000080)='/proc/asound/card0/oss_mixer\x00', 0x80002, 0x0) 15:22:10 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000080)={0x5c, 0x0}) 15:22:10 executing program 3: socket(0xa, 0x1, 0x101) 15:22:10 executing program 2: socketpair(0x1f, 0x3, 0xffffffff, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(r0, 0x1, 0x11, 0x0, &(0x7f0000000180)) syz_clone3(&(0x7f0000000280)={0x168000400, &(0x7f0000000300), 0x0, &(0x7f0000000140), {}, &(0x7f0000000340)=""/100, 0x64, &(0x7f0000000200)=""/21, 0x0}, 0x58) openat$pidfd(0xffffffffffffff9c, 0x0, 0x0, 0x0) r1 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) getsockopt$SO_J1939_PROMISC(r1, 0x6b, 0x2, &(0x7f0000000040), &(0x7f0000000080)=0x4) connect$can_j1939(r1, &(0x7f0000000400)={0x1d, 0x0, 0x3, {0x0, 0xff, 0x1}, 0x2}, 0x18) socket$key(0xf, 0x3, 0x2) 15:22:10 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:10 executing program 3: openat$sysctl(0xffffffffffffff9c, &(0x7f0000000400)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) 15:22:10 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000380), 0x0, 0x241) ioctl$DRM_IOCTL_RES_CTX(r0, 0xc0189436, &(0x7f0000000080)={0x0, 0x0}) 15:22:10 executing program 0: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='oom_adj\x00') r1 = syz_open_procfs(0x0, &(0x7f0000000080)='oom_score_adj\x00') write$FUSE_NOTIFY_DELETE(r1, &(0x7f0000000140)=ANY=[@ANYRESDEC=r0], 0x37) r2 = syz_open_procfs(0x0, &(0x7f0000000000)='oom_adj\x00') readv(r2, &(0x7f0000001500)=[{&(0x7f0000000180)=""/227, 0xe3}], 0x1) 15:22:10 executing program 3: openat$zero(0xffffffffffffff9c, &(0x7f0000000080), 0x2b0100, 0x0) 15:22:10 executing program 2: r0 = io_uring_setup(0x254a, &(0x7f0000000000)) io_uring_enter(r0, 0x0, 0x0, 0x1, 0x0, 0x0) 15:22:10 executing program 0: socket(0x2, 0x0, 0x1000000) 15:22:10 executing program 3: syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) select(0x40, &(0x7f0000000180)={0x9}, &(0x7f00000001c0)={0x4}, 0x0, &(0x7f0000000240)={0x77359400}) 15:22:10 executing program 2: r0 = socket$can_j1939(0x1d, 0x2, 0x7) recvmsg$can_j1939(r0, &(0x7f0000001800)={&(0x7f0000000000)=@l2tp6={0xa, 0x0, 0x0, @private0}, 0x80, &(0x7f0000001700)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}, 0x2040) 15:22:10 executing program 3: syz_io_uring_setup(0x2863, &(0x7f00000004c0)={0x0, 0x0, 0x32}, &(0x7f0000ffa000/0x1000)=nil, &(0x7f0000ff8000/0x4000)=nil, &(0x7f0000000540), &(0x7f0000000580)) 15:22:10 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:10 executing program 0: syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) select(0x40, &(0x7f0000000180)={0x9}, 0x0, 0x0, 0x0) 15:22:10 executing program 3: pselect6(0x40, &(0x7f0000000040), 0x0, &(0x7f00000000c0)={0x5}, 0x0, 0x0) 15:22:10 executing program 0: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000100)={0xb, {'syz0\x00', 'syz1\x00', 'syz1\x00', 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 'f'}}, 0x119) write$UHID_INPUT2(r0, &(0x7f0000000340), 0x6) 15:22:10 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x6, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0xc0189436, &(0x7f0000000080)={0x0, 0x0}) 15:22:10 executing program 2: r0 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(r0, 0x401c5820, &(0x7f0000000080)={0x10, 0x0}) 15:22:10 executing program 0: syz_io_uring_setup(0x0, 0x0, &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000ffa000/0x1000)=nil, &(0x7f0000000040), 0x0) syz_io_uring_setup(0x10da, &(0x7f0000000180)={0x0, 0x713d, 0x4, 0x0, 0x323}, &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000ffa000/0x4000)=nil, 0x0, &(0x7f0000000240)) syz_open_dev$dri(&(0x7f0000000480), 0x1, 0x4000) 15:22:11 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)=ANY=[@ANYBLOB="3800000024001d0f00"/20, @ANYRES32, @ANYBLOB="00000000f1ffffff000000000c000100736b627072696f"], 0x38}}, 0x0) [ 351.740381][T10778] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.2'. 15:22:11 executing program 0: socketpair(0x1f, 0x0, 0xffffffff, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, &(0x7f0000000180)) syz_clone3(&(0x7f0000000280)={0x168000400, &(0x7f0000000300), &(0x7f0000000100), &(0x7f0000000140), {0x1d}, &(0x7f0000000340)=""/100, 0x64, &(0x7f0000000200)=""/21, 0x0}, 0x58) r1 = openat$pidfd(0xffffffffffffff9c, &(0x7f00000005c0), 0x0, 0x0) ioctl$sock_bt_cmtp_CMTPCONNADD(0xffffffffffffffff, 0x400443c8, &(0x7f00000003c0)={r0, 0x7fff}) pidfd_getfd(r1, 0xffffffffffffffff, 0x0) r2 = pidfd_getfd(r1, 0xffffffffffffffff, 0x0) getsockopt$SO_J1939_PROMISC(r2, 0x6b, 0x2, &(0x7f0000000040), &(0x7f0000000080)=0x4) connect$can_j1939(r2, 0x0, 0x0) setsockopt$MRT_TABLE(r2, 0x0, 0xcf, &(0x7f0000000000)=0xfe, 0x4) 15:22:11 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:11 executing program 3: r0 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) write$apparmor_exec(r0, &(0x7f0000000300)={'stack ', '.\"\\\x00'}, 0xa) 15:22:11 executing program 2: r0 = openat$misdntimer(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = syz_io_uring_setup(0x2de9, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &(0x7f0000002000/0x2000)=nil, &(0x7f00000f5000/0x2000)=nil, &(0x7f0000000100)=0x0, &(0x7f00000002c0)=0x0) syz_io_uring_submit(r2, r3, &(0x7f00000001c0)=@IORING_OP_READV=@pass_iovec={0x1, 0x0, 0x0, @fd_index=0x3, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x77b, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ee7000/0x1000)=nil, &(0x7f00000014c0), &(0x7f00000001c0)=0x0) syz_io_uring_submit(r2, r4, &(0x7f0000000480)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r1, 0x22ff, 0x0, 0x0, 0x0, 0x0) ioctl$IMADDTIMER(r0, 0x80044940, &(0x7f0000000200)) 15:22:11 executing program 0: r0 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f00000002c0), 0x2, 0x0) write$apparmor_exec(r0, &(0x7f0000000300)={'stack ', '.)\\\x00'}, 0x3281) 15:22:11 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) [ 352.571316][ T40] audit: type=1400 audit(1664119331.862:6): apparmor="DENIED" operation="stack_onexec" info="label not found" error=-2 profile="unconfined" name=".)\" pid=10791 comm="syz-executor.0" 15:22:11 executing program 2: r0 = openat$misdntimer(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = syz_io_uring_setup(0x2de9, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, &(0x7f0000002000/0x2000)=nil, &(0x7f00000f5000/0x2000)=nil, &(0x7f0000000100)=0x0, &(0x7f00000002c0)=0x0) syz_io_uring_submit(r2, r3, &(0x7f00000001c0)=@IORING_OP_READV=@pass_iovec={0x1, 0x0, 0x0, @fd_index=0x3, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x77b, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ee7000/0x1000)=nil, &(0x7f00000014c0), &(0x7f00000001c0)=0x0) syz_io_uring_submit(r2, r4, &(0x7f0000000480)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r1, 0x22ff, 0x0, 0x0, 0x0, 0x0) ioctl$IMADDTIMER(r0, 0x80044940, &(0x7f0000000200)) [ 352.606402][ T40] audit: type=1400 audit(1664119331.892:7): apparmor="DENIED" operation="stack_onexec" info="label not found" error=-2 profile="unconfined" name=2E225C pid=10794 comm="syz-executor.3" 15:22:11 executing program 0: r0 = socket$pppl2tp(0x18, 0x1, 0x1) ioctl$SIOCSIFMTU(r0, 0x8922, &(0x7f0000000080)={'vlan0\x00', 0xfffffff9}) 15:22:11 executing program 3: syz_clone(0x40800800, 0x0, 0x0, 0x0, 0x0, 0x0) [ 352.652727][T10798] vlan0: mtu less than device minimum 15:22:11 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$nl_netfilter(r0, &(0x7f00000014c0)={0x0, 0x0, &(0x7f0000001480)={&(0x7f0000000080)={0x18, 0x14, 0x0, 0x101, 0x0, 0x0, {0x1}, [@typed={0x4}]}, 0x18}}, 0x0) 15:22:11 executing program 3: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) close(r0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000240)) ioctl$SIOCSIFHWADDR(r0, 0x8920, &(0x7f0000000140)={'bridge0\x00', @remote}) 15:22:12 executing program 2: socketpair$tipc(0x1e, 0x5, 0x0, &(0x7f0000000680)={0xffffffffffffffff, 0xffffffffffffffff}) close(r1) recvmsg(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f00000006c0)=""/4096, 0x1000}], 0x1, &(0x7f00000016c0)=""/4094, 0x2}, 0x0) 15:22:12 executing program 3: socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f00000002c0)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$tipc(r0, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x0) close(r1) 15:22:12 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:12 executing program 0: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000740), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000080)={'nr0\x00', 0x1}) ioctl$TUNSETCARRIER(r0, 0x801054db, 0x0) 15:22:12 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000740), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000080)={'nr0\x00', 0x1}) ioctl$TUNSETCARRIER(r0, 0x400454e2, &(0x7f0000000000)) 15:22:12 executing program 3: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x10, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x3}, 0x20) 15:22:12 executing program 3: ioctl$TUNGETDEVNETNS(0xffffffffffffffff, 0x54e3, 0x0) bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000140)=@base={0xa}, 0x48) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x10, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x2}, 0x20) 15:22:12 executing program 3: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0x1, 0x1, 0x53b, 0x72}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000940)={0x0, 0x0, &(0x7f0000000a00)="22168a2dd35ae72c10220d604fef7ef8c596087a6c1d3efe5d5d99f0b2503b2115667c12a32ea118e90de8a10a4bb11e51dd7d7055bc96a0bea0c2926a", &(0x7f0000000ac0), 0x54, r0}, 0x38) 15:22:12 executing program 0: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x10, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_CREATE(0x0, &(0x7f0000000080)=@bloom_filter, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x2}, 0x20) 15:22:12 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000280)=ANY=[@ANYBLOB="1800000000000000000000003b810000850000006d000000850000005000000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_clone(0xa042000, 0x0, 0x0, 0x0, 0x0, 0x0) 15:22:12 executing program 2: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x10, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x2}, 0x20) 15:22:12 executing program 3: openat$tun(0xffffffffffffff9c, &(0x7f0000000000), 0x2102, 0x0) 15:22:12 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000280)=ANY=[@ANYBLOB="1800000000000000000000003b810000850000006d000000850000005000000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r0}, 0x10) syz_clone(0xa042000, 0x0, 0x0, 0x0, 0x0, 0x0) 15:22:12 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:12 executing program 2: socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000007c0)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$sock_attach_bpf(r0, 0x1, 0x8, &(0x7f0000000340), 0x4) 15:22:12 executing program 3: bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000140)=@base={0xa}, 0x48) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x10, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x2}, 0x20) 15:22:12 executing program 3: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0x1, 0x1, 0x53b, 0x72}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/5, 0x2}, 0x20) 15:22:12 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000480)={0xffffffffffffffff}) recvmsg(r0, &(0x7f0000001780)={&(0x7f0000000000)=@nl, 0x80, &(0x7f00000015c0)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}, 0x10040) 15:22:12 executing program 0: bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x8, 0x4, 0x4, 0x2, 0x0, 0x1, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x20000000}, 0x48) 15:22:12 executing program 0: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000001c0)={0x18, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000040)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:12 executing program 3: bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x10, 0x4, 0x4, 0x2, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x1}, 0x48) 15:22:12 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:12 executing program 2: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x8, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x2}, 0x20) 15:22:12 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x11, 0x3, &(0x7f00000000c0)=@framed, &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000002c0)={r0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x48) 15:22:12 executing program 0: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0x1, 0x1, 0x53b, 0x72}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/5, 0x3}, 0x20) 15:22:12 executing program 3: socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000007c0)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$sock_attach_bpf(r0, 0x1, 0x2b, &(0x7f0000000340), 0x4) 15:22:12 executing program 2: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000580)={0x6, 0x4, &(0x7f0000000000)=@framed={{}, [@kfunc={0x85, 0x0, 0x2, 0x0, 0x2}]}, &(0x7f0000000080)='GPL\x00', 0x3, 0x8c, &(0x7f00000000c0)=""/140, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 15:22:12 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x3, &(0x7f0000001fd8)=@framed={{0xffffff85, 0x0, 0x0, 0x0, 0x13, 0x44}}, &(0x7f0000000000)='GPL\x00', 0x5, 0x487, &(0x7f000000cf3d)=""/195}, 0x48) 15:22:12 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = dup(r0) connect$inet(r1, &(0x7f0000000000)={0x10, 0x2}, 0x10) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000040)={0x0, 0x3}, 0x10) 15:22:12 executing program 3: open$dir(&(0x7f0000000040)='./file0\x00', 0x200, 0x0) unlink(&(0x7f0000000080)='./file0\x00') 15:22:12 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000040)={0x0, 0x3, 0x0, 0x2}, 0x10) 15:22:12 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:12 executing program 2: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x5, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x2}, 0x20) 15:22:12 executing program 3: bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000140)=@base={0xa}, 0x48) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0xe, 0x4, 0x4, 0x2, 0x0, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f00000002c0)={r0, &(0x7f0000000080), &(0x7f0000000140)=""/20, 0x2}, 0x20) 15:22:12 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) connect$inet(r0, &(0x7f0000000000)={0x10, 0x2}, 0x10) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(r0, 0x84, 0x102, &(0x7f0000001700)=ANY=[], &(0x7f0000001640)=0x1008) 15:22:12 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = dup2(r0, r0) setsockopt$sock_timeval(r1, 0xffff, 0x1005, &(0x7f0000000080), 0x8) 15:22:12 executing program 0: mkdir(&(0x7f00000005c0)='./file0\x00', 0x0) rename(&(0x7f0000000a00)='./file0\x00', 0x0) 15:22:12 executing program 3: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) setsockopt$inet6_IPV6_PKTINFO(r0, 0x29, 0x2e, &(0x7f0000000040)={@empty}, 0x14) 15:22:12 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = dup2(r0, r0) sendto(0xffffffffffffffff, &(0x7f0000000000)="6bbe68253807a3d8a23fb8c87466f121977dc3efc53a7f4b61f978691f2deb149531c81bcc31a4468056906eb2ceb74441c62ab32debc163568f727c1d121dcb2c60d85775", 0x45, 0x0, 0x0, 0x0) r2 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r2, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f0000000080)=0x8) sendmsg$inet_sctp(r1, &(0x7f00000003c0)={&(0x7f00000000c0)=@in6={0x1c, 0x1c, 0x1}, 0x1c, 0x0, 0x0, &(0x7f0000000340)=[@sndinfo={0x1c, 0x84, 0x4, {0x0, 0x0, 0x0, 0x0, r3}}], 0x1c}, 0x0) 15:22:13 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:13 executing program 0: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) bind(r0, &(0x7f0000000000)=@in={0x10, 0x2}, 0x10) 15:22:13 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = dup2(r0, r0) sendto(0xffffffffffffffff, &(0x7f0000000000)="6bbe68253807a3d8a23fb8c87466f121977dc3efc53a7f4b61f978691f2deb149531c81bcc31a4468056906eb2ceb74441c62ab32debc163568f727c1d121dcb2c60d85775", 0x45, 0x0, 0x0, 0x0) r2 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r2, 0x84, 0x105, &(0x7f0000000040)={0x1, [0x0]}, &(0x7f0000000080)=0x8) sendmsg$inet_sctp(r1, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)=[@sndinfo={0x1c, 0x84, 0x4, {0x0, 0x0, 0x0, 0x0, r3}}], 0x1c}, 0x0) 15:22:13 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(r0, 0x84, 0x102, &(0x7f0000001700)=ANY=[], &(0x7f0000001640)=0x1008) 15:22:13 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) r1 = socket(0x1c, 0x3, 0x0) dup2(r0, r1) setsockopt$inet_sctp_SCTP_NODELAY(r1, 0x84, 0x4, &(0x7f0000000000), 0x4) 15:22:13 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_DELAYED_SACK(r0, 0x84, 0xf, &(0x7f0000000140), 0xc) 15:22:13 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0) 15:22:13 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x2}, 0x10) 15:22:13 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000040)={0x0, 0x3}, 0x10) 15:22:13 executing program 3: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=ANY=[@ANYBLOB="b5050025358c"], &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0) 15:22:13 executing program 2: r0 = socket$inet6_sctp(0x1c, 0x5, 0x84) r1 = dup2(r0, r0) setsockopt$inet_sctp_SCTP_CONTEXT(r1, 0x84, 0x1a, &(0x7f0000000340), 0x8) 15:22:13 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:13 executing program 0: r0 = syz_open_pts(0xffffffffffffffff, 0x0) poll(&(0x7f00000002c0)=[{r0}], 0x1, 0x0) syz_open_pts(0xffffffffffffffff, 0x0) syz_open_pts(0xffffffffffffffff, 0x0) poll(&(0x7f0000000000)=[{r0}], 0x1, 0x0) 15:22:13 executing program 3: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x200000000000c, &(0x7f0000000000)="e0140230010047e504000000", 0xc) 15:22:13 executing program 0: r0 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$inet_sctp_SCTP_RTOINFO(r0, 0x84, 0x1, &(0x7f0000000040)={0x0, 0x0, 0x1}, 0x10) 15:22:13 executing program 2: r0 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_ENABLE_STREAM_RESET(r0, 0x84, 0x900, &(0x7f0000000600), 0x8) 15:22:13 executing program 3: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000680)={&(0x7f0000000140)=@in={0x10, 0x2}, 0x10, 0x0, 0x0, &(0x7f0000000640)=ANY=[@ANYBLOB="1000000084000000080000e5ffffffff1b000000840000000a000000fe8000000000000000000000000000bb10"], 0x3c}, 0x0) 15:22:13 executing program 0: setitimer(0x0, &(0x7f0000000000)={{0xffffffff}, {0x0, 0x1f}}, &(0x7f0000000040)) 15:22:13 executing program 2: syz_emit_ethernet(0x52, &(0x7f0000000500)={@broadcast, @random="47a335832536", @val, {@ipv4}}, 0x0) 15:22:13 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:13 executing program 3: r0 = socket(0x2, 0x2, 0x0) connect$unix(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="02022e2fac14"], 0x10) writev(r0, &(0x7f00000001c0)=[{}, {&(0x7f0000000100)="435bcd74fbb730b565878098334aca2e17c145cd699e6eddac3de4bd4345b423ec971370e423ee9ac122ffed029045ece982b32766238830da58b8c9811598f2508762f195132fc0b867eb744326fea2e3e31171f34ace3f56cdc1dd018184bd73c1a5241d843f326632b36c9ae641e32f73905568573ea4f3b6876cddf1a100b7645f3f", 0x84}, {&(0x7f0000000400)="dcf39918364c59366827b46d83b6528e83baa0d45073b192b22d0773703791de366ac0e51969bb3b8563118956610562c7488b09c3c54475a5ea3c6ade3045a7181a44468653cd31eb4199c92bdf4211459b0bba94ba411119705f982d5833fda346cb7ca20387336f0973129a8bf2f95ebc06b46049c927ce64df64508682be144fbd548fcf16ea2d1c472d50487902525b2646627d0524236a2a7e70d3159c2b276e507395c8f421b78aad08035f23c2e19235b831ec428e9c88650d84c9c9a487daf79abb147faac2dc892e57a01eb032813f74d2c16ea19158ae7d98f559d50c59c31f777da71cbc590d203f851b2ed74122b91c0683951667b516c8ad371ded0e79013514bf3334aa59bc53d61e13e731f2562b036f6516baa45e54053eaa151cf67f1f1fd859fd2c2f8bade18f6de8a95c0d3ea13269a843db44ebc43f9b0c59eba047efcd0e69664a2cb51f614e26c77a59aa643c4ce0a6dd8c8facb468fbd1bc2f304b16dce1a09256c212254c6be0ec6ad10d79b6b619bbe612377f8c01daa3361f5861dfc29a0fa952c6209f311c2ab9a75b76a4db81da0765d7fc18df401e7543f89f0fa7a544c0b661d44881f5b1527d85be64f378f460601fa3132f92e5694e75471003974095c2e950493dba25c2c9d3d6c5772b7af80c04dd036e76c6f397bf598212767c9d18591759c20eea090c60ff5b43237d955019ded4f85856bbac6c8de587ac7be5d680152292303578a319f7d1a427f527fcaaa3dff0e9b276149fc5148a333ee491bb37f116af0238634f9268ae66846e2fa19816d9c59afe0ef50692a8c18b8d8ea0b007f7a1f89ab815afbfd968dd9bf699fc54e83ffec6b2e1cd63004d2a94df1d2f6e08d0212fe0c3fe44e45510cae7a048900c51fa56260d92dcc7406f1cec74ffc7170a9e687b95fd4c1c2d783feffade3ae478a27e86d946b73da4acba4a761c97239ad4d9b65411106f3fd29df3b4051a13fd97b4dab0f5c8d7051280535a7e5f1ae3f32e327543abef67e8c71880fd9f07924af4d8b400f20da57bc3720f573829b5d844f8bce2c3ac90e750b2b4843fc712827fd10182b6e6f12c81f574dcbf672d1088a7effb296eedb9ffaea0259cfd89cbf08d23c3baae2e564cc71a5ad660305d84378240576d38b1d6daea90444bdacf79b50a6b4fc2bb86c3f34bcf7058fc7fb704918b1dfa5ed7543bc5be9d1671a22eaf7849e46a3325317115ace385da9529ca2247e31da5ab7f991dc8448bff50414eb91cfc7014e1beac760d3139695f39f859763b20a2855ae02b100b2103aae65749a466b2665a2e5f504804025ed14de2c325265e1b313c66fede1869dfc90524cd31f3b1029694af190071fbff6869c25367abe193eb25b7d2e67f3abe1a138694550645ff113a8d38202fbb324bf24f4e58dc73e8ace09a6e273679472a1c3c98cc8968f0509db286fd05357865ff059065752fdb528ca098880c514c975efdeefffec1af827be8feea6256224b95c463e93be528276350a51dc94d2723f444910452cee9d5ca30f144535335e4dcdab466af733f51d7ddd220c8c8afb72b23917713c97543aed550e850ce4cea4647a64aee0c5f5a21db15f49dcc3750a9c99036d1175c8a3d3bd10edff48d37b390e121ca62f4821160448de7f6d4676d2ffeec1ffcab3013fb913307ad199e63fb07087dcf900251c75ba530440025842eaf26267488af105a966ce7e98a0eaac823111549c2cd7e34f8aa0dc2f655", 0x4e4}], 0x3) 15:22:13 executing program 0: r0 = open$dir(&(0x7f0000000100)='./file0\x00', 0x200, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0, 0x11, r0, 0x0) madvise(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x6) 15:22:13 executing program 2: nanosleep(&(0x7f0000000140)={0x19}, &(0x7f0000000600)) execve(0x0, 0x0, 0x0) 15:22:13 executing program 0: r0 = syz_open_pts(0xffffffffffffffff, 0x0) flock(r0, 0x0) 15:22:13 executing program 3: r0 = open(&(0x7f0000000480)='./file0\x00', 0x80000000000206, 0xfffffffffffffffd) writev(0xffffffffffffffff, &(0x7f0000000340)=[{&(0x7f0000000000), 0x2cfea}], 0x1000000000000013) r1 = open$dir(&(0x7f0000001240)='./file0\x00', 0x40000400000002c2, 0x0) r2 = dup2(r1, r0) writev(r2, &(0x7f0000000100), 0x1000000000000161) r3 = open$dir(&(0x7f0000000040)='./file0\x00', 0x4000040000000242, 0x256) lseek(r3, 0x0, 0x40fff) r4 = dup2(r3, r3) writev(r4, &(0x7f00000004c0)=[{&(0x7f0000000180)='\t', 0x1}], 0x1) 15:22:13 executing program 0: r0 = socket(0x2, 0x2, 0x0) connect$unix(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="02022e2fac14"], 0x10) writev(r0, &(0x7f0000000340)=[{0x0}], 0x1) 15:22:13 executing program 3: select(0x0, 0x0, &(0x7f0000000100), 0xffffffffffffffff, 0x0) 15:22:13 executing program 0: r0 = socket(0x2, 0x2, 0x0) connect$unix(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="02022e2fac14"], 0x10) writev(r0, &(0x7f00000001c0)=[{&(0x7f0000000000)="d378ac8c92a21d9c82bf0e98b8f4353044013f9de11dcd6d64178b5fb9ad6592da158f82158ce5f82ee17a9aeb843a1a42458ebfab56cd420209eff66fd1c169b2571b43f06cb1", 0x47}, {&(0x7f0000000100)="435bcd74fbb730b565878098334aca2e17c145cd699e6eddac3de4bd4345b423ec971370e423ee9ac122ffed029045ece982b32766238830da58b8c9811598f2508762f195132fc0b867eb744326fea2e3e31171f34ace3f56cdc1dd018184bd73c1a5241d843f326632b36c9ae641e32f73905568573ea4f3b6876cddf1a100b7645f3f1848b149b5ecc85c959eaf18cec0f2cafe76", 0x96}, {&(0x7f0000000400)="dcf39918364c59366827b46d83b6528e83baa0d45073b192b22d0773703791de366ac0e51969bb3b8563118956610562c7488b09c3c54475a5ea3c6ade3045a7181a44468653cd31eb4199c92bdf4211459b0bba94ba411119705f982d5833fda346cb7ca20387336f0973129a8bf2f95ebc06b46049c927ce64df64508682be144fbd548fcf16ea2d1c472d50487902525b2646627d0524236a2a7e70d3159c2b276e507395c8f421b78aad08035f23c2e19235b831ec428e9c88650d84c9c9a487daf79abb147faac2dc892e57a01eb032813f74d2c16ea19158ae7d98f559d50c59c31f777da71cbc590d203f851b2ed74122b91c0683951667b516c8ad371ded0e79013514bf3334aa59bc53d61e13e731f2562b036f6516baa45e54053eaa151cf67f1f1fd859fd2c2f8bade18f6de8a95c0d3ea13269a843db44ebc43f9b0c59eba047efcd0e69664a2cb51f614e26c77a59aa643c4ce0a6dd8c8facb468fbd1bc2f304b16dce1a09256c212254c6be0ec6ad10d79b6b619bbe612377f8c01daa3361f5861dfc29a0fa952c6209f311c2ab9a75b76a4db81da0765d7fc18df401e7543f89f0fa7a544c0b661d44881f5b1527d85be64f378f460601fa3132f92e5694e75471003974095c2e950493dba25c2c9d3d6c5772b7af80c04dd036e76c6f397bf598212767c9d18591759c20eea090c60ff5b43237d955019ded4f85856bbac6c8de587ac7be5d680152292303578a319f7d1a427f527fcaaa3dff0e9b276149fc5148a333ee491bb37f116af0238634f9268ae66846e2fa19816d9c59afe0ef50692a8c18b8d8ea0b007f7a1f89ab815afbfd968dd9bf699fc54e83ffec6b2e1cd63004d2a94df1d2f6e08d0212fe0c3fe44e45510cae7a048900c51fa56260d92dcc7406f1cec74ffc7170a9e687b95fd4c1c2d783feffade3ae478a27e86d946b73da4acba4a761c97239ad4d9b65411106f3fd29df3b4051a13fd97b4dab0f5c8d7051280535a7e5f1ae3f32e327543abef67e8c71880fd9f07924af4d8b400f20da57bc3720f573829b5d844f8bce2c3ac90e750b2b4843fc712827fd10182b6e6f12c81f574dcbf672d1088a7effb296eedb9ffaea0259cfd89cbf08d23c3baae2e564cc71a5ad660305d84378240576d38b1d6daea90444bdacf79b50a6b4fc2bb86c3f34bcf7058fc7fb704918b1dfa5ed7543bc5be9d1671a22eaf7849e46a3325317115ace385da9529ca2247e31da5ab7f991dc8448bff50414eb91cfc7014e1beac760d3139695f39f859763b20a2855ae02b100b2103aae65749a466b2665a2e5f504804025ed14de2c325265e1b313c66fede1869dfc90524cd31f3b1029694af190071fbff6869c25367abe193eb25b7d2e67f3abe1a138694550645ff113a8d38202fbb324bf24f4e58dc73e8ace09a6e273679472a1c3c98cc8968f0509db286fd05357865ff059065752fdb528ca098880c514c975efdeefffec1af827be8feea6256224b95c463e93be528276350a51dc94d2723f444910452cee9d5ca30f144535335e4dcdab466af733f51d7ddd220c8c8afb72b23917713c97543aed550e850ce4cea4647a64aee0c5f5a21db15f49dcc3750a9c99036d1175c8a3d3bd10edff48d37b390e121ca62f4821160448de7f6d4676d2ffeec1ffcab3013fb913307ad199e63fb07087dcf900251c75ba530440025842eaf26267488af105a966ce7e98a0eaac823111549c2cd7e34f8aa0dc2f655", 0x4e4}], 0x3) 15:22:13 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:13 executing program 3: syz_emit_ethernet(0x6e, &(0x7f0000000140)={@local, @broadcast, @val, {@ipv6}}, 0x0) 15:22:14 executing program 2: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_int(r0, 0xffff, 0x1004, 0x0, 0x0) 15:22:14 executing program 0: sendmsg$unix(0xffffffffffffffff, &(0x7f0000000840)={0x0, 0x0, &(0x7f00000000c0)=[{&(0x7f0000000380)="987413132cb6cd19c65429ac46d3f30ce804c1ed5c7d0f677a4d1fc4c50ddca1", 0x20}], 0x1}, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg(r0, &(0x7f0000000040), 0x10, 0x0) 15:22:14 executing program 3: r0 = socket$unix(0x1, 0x5, 0x0) setsockopt(r0, 0x0, 0x1, 0x0, 0x0) 15:22:14 executing program 1: openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(0xffffffffffffffff, 0xae60) ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r0}) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) 15:22:14 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000180)={0xffffffffffffffff}) sendmsg(r0, &(0x7f0000000980)={&(0x7f0000000000), 0x80, 0x0}, 0x0) 15:22:14 executing program 1: openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(0xffffffffffffffff, 0xae60) ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r0}) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) 15:22:14 executing program 2: r0 = socket(0x2, 0x2, 0x0) connect$unix(r0, &(0x7f0000000080)=ANY=[@ANYBLOB="82022e2f66"], 0x10) sendmmsg(r0, &(0x7f00000003c0), 0xffffff99, 0x0) 15:22:14 executing program 0: syz_emit_ethernet(0x2fa, &(0x7f0000000040)=ANY=[@ANYBLOB="79f99cfc4db1aaaaaaaaaaaa86dd62892b0b02c42c00fe8000000000000000000000000000bbfe8000000000000000000000000000aa3f7311cc1200050000"], 0x0) 15:22:14 executing program 1: openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(0xffffffffffffffff, 0xae60) ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r0}) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) 15:22:14 executing program 3: syz_emit_ethernet(0x6e, &(0x7f0000000180)=ANY=[@ANYBLOB="aaaaaaaaaaaaffffffffffff86dd60a6380800383a195b41ec5e875802d213266a4fa6ad65d0ff0200000000000000000000000000010404000000000000001f6bcd08903aede8578092ba62fa59b1e9fb61728f39070e90fc5fa4e9a06544000000228f0e658f"], 0x0) 15:22:14 executing program 2: syz_emit_ethernet(0x66, &(0x7f0000000440)={@broadcast, @local, @val, {@ipv6}}, 0x0) 15:22:14 executing program 0: syz_emit_ethernet(0x6e, &(0x7f0000000140)={@local, @broadcast, @val, {@ipv6}}, 0x0) 15:22:14 executing program 1: r0 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r1 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r0, 0xae60) ioctl$KVM_IOEVENTFD(r0, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r1}) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) 15:22:14 executing program 0: syz_emit_ethernet(0x7e, &(0x7f0000000140)=ANY=[@ANYBLOB="aaaaaaaaaaaaffffffffffff86dd60a6380800483a005b41ec5e875802d213266a4fa6ad65d0fe5d00000000000000000000000000aa0200907800000000609880e300000000fe8000000000000000000000000000aa0000000000000000000000000000000132"], 0x0) 15:22:14 executing program 2: syz_emit_ethernet(0x4a, &(0x7f0000000100)={@local, @broadcast, @val, {@ipv4}}, 0x0) 15:22:14 executing program 3: syz_emit_ethernet(0x6e, &(0x7f0000000140)={@local, @broadcast, @val, {@ipv6}}, 0x0) 15:22:14 executing program 1: r0 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r1 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r0, 0xae60) ioctl$KVM_IOEVENTFD(r0, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r1}) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) 15:22:14 executing program 1: r0 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r1 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r0, 0xae60) ioctl$KVM_IOEVENTFD(r0, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r1}) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) 15:22:14 executing program 0: syz_emit_ethernet(0x7e, &(0x7f0000000140)=ANY=[@ANYBLOB="aaaaaaaaaaaaffffffffffff86dd60a7380800483a005b41ec5e875802d213266a4fa6fe65d0fe8000000300000000000000000000aa0200907800000000609880e300000000fe80000000000a0000000800000000aa0000000000000000000000000000000132"], 0x0) 15:22:14 executing program 3: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff}) getsockopt$sock_cred(r0, 0xffff, 0x1022, 0x0, 0x0) 15:22:14 executing program 2: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000000c0), 0x2, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000100)={0xb, {'syz0\x00', 'syz1\x00', 'syz1\x00', 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, "66b0"}}, 0x11a) write$UHID_INPUT2(r0, &(0x7f0000000340), 0x6) 15:22:14 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:14 executing program 0: r0 = syz_io_uring_setup(0x5573, &(0x7f0000000080), &(0x7f0000ff4000/0x9000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000180), &(0x7f0000000100)) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x2, &(0x7f0000001780)=[{0x0}], 0x1) r1 = openat$khugepaged_scan(0xffffffffffffff9c, &(0x7f0000000240), 0x1, 0x0) io_uring_register$IORING_REGISTER_FILES_UPDATE(r0, 0x6, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)=[r1]}, 0x1) [ 355.301536][ T177] hid-generic 0000:0000:0000.0003: item fetching failed at offset 0/2 [ 355.307026][ T177] hid-generic: probe of 0000:0000:0000.0003 failed with error -22 15:22:14 executing program 3: r0 = syz_io_uring_setup(0x5573, &(0x7f0000000080), &(0x7f0000ff4000/0x9000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000180), &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x2, &(0x7f0000001780)=[{0x0}], 0x1) io_uring_register$IORING_REGISTER_FILES_UPDATE(r0, 0x2, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) 15:22:14 executing program 0: r0 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000001c0), 0x0, 0x0) read$FUSE(r0, &(0x7f00000004c0)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) syz_open_procfs$userns(r1, 0x0) 15:22:14 executing program 2: r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000140)='\x00', 0x9101) r1 = openat$cgroup_ro(r0, &(0x7f00000020c0)='cpuset.memory_pressure_enabled\x00', 0x11cd, 0x408) open_by_handle_at(r1, &(0x7f0000000040)=@ocfs2_parent={0x18, 0x2, {{0x324, 0xffff8548}}}, 0x0) 15:22:14 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:14 executing program 3: syz_mount_image$minix(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="400020000100010006000000001c08107f13", 0x12, 0x400}, {&(0x7f0000010020)="ff00000000000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed418076700000006c1f1f635303", 0x80e, 0x800}, {0x0, 0x0, 0x1800}], 0x0, &(0x7f0000000080)=ANY=[], 0x1) openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x1c1d41, 0x0) lstat(&(0x7f00000001c0)='./file0\x00', &(0x7f00000002c0)) fcntl$setown(0xffffffffffffffff, 0x8, 0xffffffffffffffff) 15:22:14 executing program 0: r0 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000001c0), 0x0, 0x0) read$FUSE(r0, &(0x7f00000004c0)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) syz_open_procfs$userns(r1, 0x0) 15:22:14 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='fd\x00') fchown(r0, 0xee01, 0xee00) fcntl$setlease(r0, 0x400, 0x0) 15:22:14 executing program 2: r0 = openat$damon_init_regions(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) readv(r0, &(0x7f00000001c0)=[{&(0x7f0000000000)=""/193, 0xffffffc3}], 0x1) [ 355.411398][T11034] loop3: detected capacity change from 0 to 24 15:22:14 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000240)=ANY=[@ANYBLOB='./file0'], &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) mount$bpf(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0xa4, 0x0) 15:22:14 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) [ 355.435700][T11034] MINIX-fs: mounting unchecked file system, running fsck is recommended 15:22:14 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) 15:22:14 executing program 3: r0 = syz_io_uring_setup(0x5573, &(0x7f0000000080), &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000180), &(0x7f00000001c0)) mmap$IORING_OFF_SQ_RING(&(0x7f0000ffb000/0x4000)=nil, 0x4000, 0x0, 0x83913, r0, 0x0) [ 355.468643][ T9] kworker/u17:0: attempt to access beyond end of device [ 355.468643][ T9] loop3: rw=1, sector=46, nr_sectors = 2 limit=24 [ 355.477941][ T9] Buffer I/O error on dev loop3, logical block 23, lost async page write 15:22:14 executing program 2: r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000140)='\x00', 0x9101) r1 = openat$cgroup_ro(r0, &(0x7f00000020c0)='cpuset.memory_pressure_enabled\x00', 0x11cd, 0x408) ioctl$FS_IOC_GETFSMAP(r1, 0xc0189436, &(0x7f0000000000)) 15:22:14 executing program 1: openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r1 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r0, 0xae60) ioctl$KVM_IOEVENTFD(r0, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r1}) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) 15:22:14 executing program 3: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nullb, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='udf\x00', 0x0, 0x0) 15:22:14 executing program 1: openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r1 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r0, 0xae60) ioctl$KVM_IOEVENTFD(r0, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r1}) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) [ 355.590025][T11051] UDF-fs: warning (device nullb0): udf_load_vrs: No VRS found [ 355.601619][T11051] UDF-fs: Scanning with blocksize 512 failed [ 355.608385][T11051] UDF-fs: warning (device nullb0): udf_load_vrs: No VRS found [ 355.613932][T11051] UDF-fs: Scanning with blocksize 1024 failed [ 355.623490][T11051] UDF-fs: warning (device nullb0): udf_load_vrs: No VRS found [ 355.628196][T11038] EXT4-fs (sda1): re-mounted. Quota mode: none. [ 355.663893][T11051] UDF-fs: Scanning with blocksize 2048 failed 15:22:14 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) unlink(&(0x7f0000000180)='./file0\x00') 15:22:14 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f00000002c0)='hugetlbfs\x00', 0x0, 0x0) 15:22:14 executing program 1: openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r1 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r0, 0xae60) ioctl$KVM_IOEVENTFD(r0, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r1}) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) [ 355.675516][T11051] UDF-fs: warning (device nullb0): udf_load_vrs: No VRS found [ 355.689517][T11051] UDF-fs: Scanning with blocksize 4096 failed 15:22:14 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x1267, 0x0) 15:22:15 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(0xffffffffffffffff, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:15 executing program 3: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) poll(&(0x7f0000000040)=[{}, {r0}], 0x2, 0xfffffffc) 15:22:15 executing program 0: syz_io_uring_setup(0x6f5a, &(0x7f0000001080)={0x0, 0x0, 0x303}, &(0x7f0000ff9000/0x3000)=nil, &(0x7f0000ff8000/0x1000)=nil, &(0x7f0000001100), &(0x7f0000001140)) 15:22:15 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000040)=@loop={'/dev/loop', 0x0}, &(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='xfs\x00', 0x0, 0x0) 15:22:15 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000100)=@nullb, &(0x7f0000000040)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x125f, 0x0) 15:22:15 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x1000, 0x0) open$dir(&(0x7f0000000040)='./file0\x00', 0x2281, 0x0) openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x801, 0x0) [ 355.885918][T11071] I/O error, dev loop2, sector 0 op 0x0:(READ) flags 0x1000 phys_seg 1 prio class 2 [ 355.896582][T11071] XFS (loop2): SB validate failed with error -5. 15:22:15 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(0xffffffffffffffff, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:15 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000040)=@loop={'/dev/loop', 0x0}, &(0x7f0000000140)='./file0\x00', &(0x7f0000000180)='xfs\x00', 0x0, 0x0) [ 356.021793][T11087] I/O error, dev loop2, sector 0 op 0x0:(READ) flags 0x1000 phys_seg 1 prio class 2 [ 356.028868][T11087] XFS (loop2): SB validate failed with error -5. 15:22:15 executing program 2: syz_mount_image$gfs2(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4, 0x2, &(0x7f0000000040)=[{&(0x7f0000000340)="011619702200000100000000000008000000006400000000000007090000076c00000000000010000000000c00000000000000000000000200000000000008d0b3607b4f845eddf42de869baa55942f1dcca833010a82dfa5ae14fbee48cdeff1c7f8df88cb499dcf21e93e9a698ff5a9f588005f38d62f07d401c6ace70acfdf62abad0e2f8cf944e9c3b37d6d0141a887aa43f1bdf388f69d8fd3f745d146addd860db0fd74fc4ae55a52c212e92105a89c00927e342799b573732c71eaa7fe4d220f554e06cc079a28e6e2573273adc0b27de47e0ad3d2c982fd5c6a0cf9dafc1f6e38cc33d1b8be84ee01a427e55874216da6b65627c0cafc24b52f93196d94c0024cedd9c255b6422822763035b4a373605819ff9e87ae20e467c5bdbe3d968ed98e68ce67efd37948ee204f0dbbff12901ef239723f95a51d10750ea89f1972fedeb026a827acaa37f0acd083bfff2eb1af9de7d", 0x157, 0x10000}, {&(0x7f0000000140)="6022a7f372ec34f63452c26bb0bfce99ad3e098325dfc0a4974f37e36ef415f4415b6fdeffb327e6637543ddc18702f53702b300ea66a8555fd52b6f8099c84e4e960346ead1d3677f38ce9e9cee9b771ef96d85cc746e9028c6653c77cc4f7b22d23d697d22608ffe30011f82acf1ae103461e78b43a3dd6884800f8229dab8d46c", 0x82, 0x9}], 0x8, &(0x7f0000000240)=ANY=[], 0x0) [ 356.155963][T11094] loop2: detected capacity change from 0 to 256 [ 356.169357][T11094] gfs2: not a GFS2 filesystem 15:22:15 executing program 3: r0 = syz_io_uring_setup(0x2a42, &(0x7f0000000100), &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000000000), &(0x7f0000000080)) io_uring_register$IORING_REGISTER_FILES_UPDATE(r0, 0x18, &(0x7f0000002700)={0x0, 0x0, &(0x7f00000026c0)=[0xffffffffffffffff]}, 0x1) 15:22:15 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(0xffffffffffffffff, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:15 executing program 2: r0 = openat$vicodec1(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) r1 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000080), 0x0) poll(&(0x7f0000000040)=[{r0, 0x160}, {r1}], 0x2, 0xe8030000) 15:22:15 executing program 2: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/bus/input/handlers\x00', 0x0, 0x0) dup3(r0, r1, 0x0) 15:22:16 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x541b, 0x0) 15:22:16 executing program 3: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x401070c9, 0x0) 15:22:16 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nullb, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='vxfs\x00', 0x0, 0x0) [ 356.727092][T11108] vxfs: WRONG superblock magic 00000000 at 1 [ 356.732078][T11108] vxfs: WRONG superblock magic 00000000 at 8 [ 356.738243][T11108] vxfs: can't find superblock. 15:22:16 executing program 3: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000140)='/proc/tty/drivers\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002240)={0x2020}, 0x2020) 15:22:16 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x1000, 0x0) open$dir(&(0x7f0000000040)='./file0\x00', 0x2281, 0x0) openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) 15:22:16 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:16 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000140)='/proc/tty/drivers\x00', 0x0, 0x0) readv(r0, &(0x7f00000001c0)=[{&(0x7f0000000000)=""/208, 0xd0}], 0x1) read$FUSE(r0, &(0x7f0000001200)={0x2020}, 0x2020) 15:22:16 executing program 3: r0 = syz_io_uring_setup(0x5573, &(0x7f0000000080), &(0x7f0000ff4000/0x9000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000180), &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x2, &(0x7f0000001780), 0x7000000) 15:22:16 executing program 2: r0 = syz_io_uring_setup(0x4d4c, &(0x7f0000001400)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000180), &(0x7f0000000080)) io_uring_enter(r0, 0x0, 0xb419, 0x1, 0x0, 0x0) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x15, &(0x7f0000001780)=[{0x0}], 0x1) 15:22:16 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x1000, 0x0) open$dir(&(0x7f0000000040)='./file0\x00', 0x2281, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x5760, 0x0) 15:22:16 executing program 3: r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000140)='\x00', 0x9101) r1 = openat$cgroup_ro(r0, &(0x7f00000020c0)='cpuset.memory_pressure_enabled\x00', 0x11cd, 0x408) ioctl$FS_IOC_GETFSMAP(r1, 0xc0c0583b, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, '\x00', [{}, {0x80}]}) 15:22:16 executing program 3: open_tree(0xffffffffffffff9c, &(0x7f0000000140)='\x00', 0x9101) 15:22:16 executing program 0: r0 = syz_io_uring_setup(0x5573, &(0x7f0000000080), &(0x7f0000ff4000/0x9000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000180), &(0x7f00000001c0)) io_uring_register$IORING_REGISTER_BUFFERS(r0, 0x18, &(0x7f0000000100)=[{&(0x7f0000000200)=""/83, 0xfffffffffffffde4}], 0x1) 15:22:16 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:16 executing program 3: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x40081271, 0x0) 15:22:16 executing program 0: fchownat(0xffffffffffffff9c, &(0x7f0000000080)='\x00', 0xee00, 0xee01, 0x1000) renameat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0xffffffffffffff9c, &(0x7f0000000040)='.\x00') 15:22:16 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x125f, 0x0) 15:22:16 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x401870c8, 0x0) 15:22:16 executing program 3: r0 = openat$vga_arbiter(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) poll(&(0x7f0000000200)=[{r0}], 0x1, 0x3) 15:22:16 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4020ae46, &(0x7f0000000040)={0x10000, 0x0, 0x0, r2}) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:17 executing program 3: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x1) mount$fuseblk(&(0x7f0000000140), &(0x7f00000001c0)='./file0\x00', &(0x7f0000000200), 0x0, 0x0) 15:22:17 executing program 0: r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000140)='\x00', 0x9101) r1 = openat$cgroup_ro(r0, &(0x7f00000020c0)='cpuset.memory_pressure_enabled\x00', 0x11cd, 0x408) write$apparmor_exec(r1, &(0x7f0000000200)=ANY=[], 0x24) write$6lowpan_enable(r1, &(0x7f00000000c0)='0', 0x1) 15:22:17 executing program 2: syz_read_part_table(0x0, 0x0, 0x0) syz_read_part_table(0x0, 0x2, &(0x7f0000000300)=[{&(0x7f0000000000)=']', 0x1, 0x7}, {&(0x7f0000000140)='{', 0x1}]) 15:22:17 executing program 3: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x1000, 0x0) open$dir(&(0x7f0000000240)='./file0\x00', 0x42, 0x0) 15:22:17 executing program 3: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x125d, 0x0) 15:22:17 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r0, 0x1275, 0x0) 15:22:17 executing program 2: r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000140)='\x00', 0x9101) r1 = openat$cgroup_ro(r0, &(0x7f00000020c0)='cpuset.memory_pressure_enabled\x00', 0x11cd, 0x408) write$apparmor_exec(r1, 0x0, 0x24) write$6lowpan_enable(r1, &(0x7f00000000c0)='0', 0x1) 15:22:17 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) eventfd2(0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_IOEVENTFD(r1, 0x4020ae46, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) 15:22:17 executing program 0: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000140)=ANY=[@ANYBLOB='/dev/nbd0'], &(0x7f00000000c0)='./file0\x00', 0x0, 0x11400, 0x0) openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) 15:22:17 executing program 2: r0 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) open_tree(r0, &(0x7f0000000140)='\x00', 0x9001) 15:22:17 executing program 3: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) fcntl$lock(r0, 0x24, &(0x7f0000000000)={0x0, 0x2, 0x8000000000000000}) 15:22:17 executing program 2: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x1000, 0x0) open$dir(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) openat$dir(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x3f00, 0x0) 15:22:17 executing program 0: syz_mount_image$gfs2(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4, 0x2, &(0x7f0000000040)=[{&(0x7f0000000340)="011619700000000100000000000000000000226400000000000007090000076c00000000000010000000000c00000000000000000000000200000000000008d0b3607b4f845eddf42de869baa55942f1dcca833010a82dfa5ae14fbee48cdeff1c7f8df88cb499dcf21e93e9a698ff5a9f588005f38d62f07d401c6ace70acfdf62abad0e2f8cf944e9c3b37d6d0141a887aa43f1bdf388f69d8fd3f745d146addd860db0fd74fc4ae55a52c212e92105a89c00927e342799b573732c71eaa7fe4d220f554e06cc079a28e6e2573273adc0b27de47e0ad3d2c982fd5c6a0cf9dafc1f6e38cc33d1b8be84ee01a427e55874216da6b65627c0cafc24b52f93196d94c0024cedd9c255b6422822763035b4a373605819ff9e87ae20e467c5bdbe3d968ed98e68ce67efd37948ee204f0dbbff12901ef239723f95a51d10750ea89f1972fedeb026a827acaa37f0acd083bfff2eb1af9de7d", 0x157, 0x10000}, {&(0x7f0000000140)="6022a7f372ec34f63452c26bb0bfce99ad3e098325dfc0a4974f37e36ef415f4415b6fdeffb327e6637543ddc18702f53702b300ea66a8555fd52b6f8099c84e4e960346ead1d3677f38ce9e9cee9b771ef96d85cc746e9028c6653c77cc4f7b22d23d697d22608ffe30011f82acf1ae103461e78b43a3dd6884800f8229dab8d46c", 0x82, 0x9}], 0x8, &(0x7f0000000240)=ANY=[], 0x0) 15:22:17 executing program 3: r0 = fsopen(&(0x7f0000000040)='romfs\x00', 0x0) fsconfig$FSCONFIG_SET_FLAG(r0, 0x5, &(0x7f0000000080)='nomand\x00', 0x0, 0x0) 15:22:17 executing program 3: mknodat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0, 0x0) mount(&(0x7f0000000000)=@sg0, &(0x7f0000000100)='./file0\x00', &(0x7f0000000140)='hfsplus\x00', 0x0, 0x0) [ 357.978496][T11187] loop0: detected capacity change from 0 to 256 [ 357.991394][T11187] detected buffer overflow in __fortify_strlen [ 357.997872][T11187] ------------[ cut here ]------------ [ 358.002725][T11187] kernel BUG at lib/string_helpers.c:983! [ 358.007219][T11187] invalid opcode: 0000 [#1] PREEMPT SMP KASAN [ 358.010847][T11187] CPU: 2 PID: 11187 Comm: syz-executor.0 Not tainted 6.0.0-rc6-syzkaller-00309-g1a61b828566f #0 [ 358.017014][T11187] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014 [ 358.025300][T11187] RIP: 0010:fortify_panic+0x18/0x1a [ 358.030299][T11187] Code: 8c e8 83 5c d5 fa e9 71 10 b3 fa e8 b9 8d 7d f8 eb db 55 48 89 fd e8 7e 2d 31 f8 48 89 ee 48 c7 c7 40 c7 48 8a e8 e6 f0 f0 ff <0f> 0b e8 68 2d 31 f8 48 8b 54 24 18 4c 89 f1 48 c7 c7 c0 d1 48 8a [ 358.046287][T11187] RSP: 0018:ffffc90023067b08 EFLAGS: 00010286 [ 358.050917][T11187] RAX: 000000000000002c RBX: ffff8880219a4000 RCX: 0000000000000000 [ 358.056705][T11187] RDX: 0000000000040000 RSI: ffffffff8161f3a8 RDI: fffff5200460cf53 [ 358.062537][T11187] RBP: ffffffff8a3aa2a0 R08: 000000000000002c R09: 0000000000000000 [ 358.068467][T11187] R10: 0000000080000000 R11: 0000000000000000 R12: 0000000000000040 [ 358.073985][T11187] R13: ffff8880787ed47e R14: ffff8880787ec128 R15: 0000000000000000 [ 358.078978][T11187] FS: 0000000000000000(0000) GS:ffff88802ca00000(0063) knlGS:00000000f7f53b40 [ 358.083934][T11187] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 [ 358.088330][T11187] CR2: 0000000056df5404 CR3: 0000000048ffe000 CR4: 0000000000152ee0 [ 358.093414][T11187] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 358.098880][T11187] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 358.103870][T11187] Call Trace: [ 358.106071][T11187] [ 358.108136][T11187] gfs2_fill_super+0x1226/0x27f0 [ 358.111728][T11187] ? gfs2_reconfigure+0x1060/0x1060 [ 358.115414][T11187] ? lock_downgrade+0x6e0/0x6e0 [ 358.118777][T11187] ? snprintf+0xbb/0xf0 [ 358.121830][T11187] ? vsprintf+0x30/0x30 [ 358.124948][T11187] ? wait_for_completion_io_timeout+0x20/0x20 [ 358.129481][T11187] ? set_blocksize+0x2e5/0x370 [ 358.132550][T11187] get_tree_bdev+0x440/0x760 [ 358.135794][T11187] ? gfs2_reconfigure+0x1060/0x1060 [ 358.139763][T11187] gfs2_get_tree+0x4a/0x270 [ 358.143080][T11187] vfs_get_tree+0x89/0x2f0 [ 358.146334][T11187] path_mount+0x1326/0x1e20 [ 358.149550][T11187] ? kmem_cache_free+0xeb/0x5b0 [ 358.152962][T11187] ? finish_automount+0x960/0x960 [ 358.156570][T11187] ? putname+0xfe/0x140 [ 358.159620][T11187] __ia32_sys_mount+0x27e/0x300 [ 358.163019][T11187] ? __x64_sys_mount+0x300/0x300 [ 358.166692][T11187] ? syscall_enter_from_user_mode_prepare+0x19/0x80 [ 358.171627][T11187] ? syscall_enter_from_user_mode_prepare+0x19/0x80 [ 358.176361][T11187] __do_fast_syscall_32+0x65/0xf0 [ 358.180136][T11187] do_fast_syscall_32+0x2f/0x70 [ 358.183759][T11187] entry_SYSENTER_compat_after_hwframe+0x70/0x82 [ 358.188342][T11187] RIP: 0023:0xf7f58549 [ 358.191475][T11187] Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00 [ 358.203624][T11187] RSP: 002b:00000000f7f53410 EFLAGS: 00000296 ORIG_RAX: 0000000000000015 [ 358.208720][T11187] RAX: ffffffffffffffda RBX: 00000000f7f53480 RCX: 0000000020000100 [ 358.214091][T11187] RDX: 0000000020000000 RSI: 0000000000000008 RDI: 00000000f7f534c0 [ 358.218846][T11187] RBP: 00000000f7f534c0 R08: 0000000000000000 R09: 0000000000000000 [ 358.223608][T11187] R10: 0000000000000000 R11: 0000000000000292 R12: 0000000000000000 [ 358.229217][T11187] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 358.234567][T11187] [ 358.237004][T11187] Modules linked in: [ 358.240807][T11187] ---[ end trace 0000000000000000 ]--- [ 358.244414][T11187] RIP: 0010:fortify_panic+0x18/0x1a [ 358.248733][T11187] Code: 8c e8 83 5c d5 fa e9 71 10 b3 fa e8 b9 8d 7d f8 eb db 55 48 89 fd e8 7e 2d 31 f8 48 89 ee 48 c7 c7 40 c7 48 8a e8 e6 f0 f0 ff <0f> 0b e8 68 2d 31 f8 48 8b 54 24 18 4c 89 f1 48 c7 c7 c0 d1 48 8a [ 358.264143][T11187] RSP: 0018:ffffc90023067b08 EFLAGS: 00010286 [ 358.269922][T11187] RAX: 000000000000002c RBX: ffff8880219a4000 RCX: 0000000000000000 [ 358.276489][T11187] RDX: 0000000000040000 RSI: ffffffff8161f3a8 RDI: fffff5200460cf53 [ 358.282859][T11187] RBP: ffffffff8a3aa2a0 R08: 000000000000002c R09: 0000000000000000 [ 358.288555][T11187] R10: 0000000080000000 R11: 0000000000000000 R12: 0000000000000040 [ 358.294513][T11187] R13: ffff8880787ed47e R14: ffff8880787ec128 R15: 0000000000000000 [ 358.300304][T11187] FS: 0000000000000000(0000) GS:ffff88802ca00000(0063) knlGS:00000000f7f53b40 [ 358.306955][T11187] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 [ 358.311936][T11187] CR2: 0000000056df5404 CR3: 0000000048ffe000 CR4: 0000000000152ee0 [ 358.317856][T11187] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 358.323706][T11187] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 358.329178][T11187] Kernel panic - not syncing: Fatal exception [ 358.335594][T11187] Kernel Offset: disabled [ 358.338568][T11187] Rebooting in 86400 seconds.. VM DIAGNOSIS: 15:22:17 Registers: info registers vcpu 0 RAX=0000000000040000 RBX=ffff88802ca3edc0 RCX=ffffc900273f4000 RDX=0000000000040000 RSI=ffffffff81715871 RDI=0000000000000005 RBP=0000000000000003 RSP=ffffc90025c77688 R8 =0000000000000005 R9 =0000000000000000 R10=0000000000000001 R11=0000000000000001 R12=ffffed1005947db9 R13=0000000000000002 R14=dffffc0000000000 R15=0000000000000001 RIP=ffffffff81715873 RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA] CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA] FS =0000 0000000000000000 ffffffff 00c00000 GS =0063 ffff88802c800000 ffffffff 00d0f300 DPL=3 DS [-WA] LDT=0000 0000000000000000 00000000 00000000 TR =0040 fffffe0000003000 00004087 00008b00 DPL=0 TSS64-busy GDT= fffffe0000001000 0000007f IDT= fffffe0000000000 00000fff CR0=80050033 CR2=0000000000000000 CR3=0000000064f5f000 CR4=00152ef0 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 XMM00=000000000000000000000000000001a4 XMM01=3335883b6fb92f447430636005c5613a XMM02=552a613b1ac185cd77219358281227ba XMM03=8a4fd4d5064f978272be322c7a5f2dce XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 XMM06=0d0c0f0e09080b0a0504070601000302 XMM07=0e0d0c0f0a09080b0605040702010003 XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000 XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 info registers vcpu 1 RAX=0000000000000001 RBX=ffff8880120f0000 RCX=ffffffff89803145 RDX=ffffed100592698a RSI=0000000000000000 RDI=ffffffff89833b2f RBP=0000000000000001 RSP=ffffc9000046fe00 R8 =0000000000000000 R9 =ffff88802c934c4b R10=ffffed1005926989 R11=0000000000000001 R12=ffffed100241e000 R13=0000000000000001 R14=ffffffff8ddee3d0 R15=0000000000000000 RIP=ffffffff8983337b RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 ffffffff 00000000 CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0000 0000000000000000 ffffffff 00000000 FS =0000 0000000000000000 ffffffff 00000000 GS =0000 ffff88802c900000 ffffffff 00000000 LDT=0000 0000000000000000 00000000 00000000 TR =0040 fffffe000004a000 00000067 00008b00 DPL=0 TSS64-busy GDT= fffffe0000048000 0000007f IDT= fffffe0000000000 0000ffff CR0=80050033 CR2=00000000f6f4a1b0 CR3=000000005051d000 CR4=00152ee0 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 XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 XMM08=39a2776f6ee9eeba9b9244cb404be033 XMM09=00000000000000000000000000000000 XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 info registers vcpu 2 RAX=0000000000000031 RBX=00000000000003f8 RCX=0000000000000000 RDX=00000000000003f8 RSI=ffffffff84620431 RDI=ffffffff91481b20 RBP=ffffffff91481ae0 RSP=ffffc90023067410 R8 =0000000000000001 R9 =000000000000001f R10=0000000000000000 R11=613178302f383152 R12=0000000000000000 R13=0000000000000031 R14=ffffffff846203d0 R15=0000000000000000 RIP=ffffffff8462045b RFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA] CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA] FS =0000 0000000000000000 ffffffff 00c00000 GS =0063 ffff88802ca00000 ffffffff 00d0f300 DPL=3 DS [-WA] LDT=0000 0000000000000000 00000000 00000000 TR =0040 fffffe0000091000 00000067 00008b00 DPL=0 TSS64-busy GDT= fffffe000008f000 0000007f IDT= fffffe0000000000 0000ffff CR0=80050033 CR2=0000000056df5404 CR3=0000000048ffe000 CR4=00152ee0 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 XMM00=25252525252525252525252525252525 XMM01=000000000000000000000000000000ff XMM02=000000000000000000000000000000ff XMM03=00000000000000000000000000000000 XMM04=2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 XMM08=7461657263206f742064656c69614600 XMM09=00000000000000000000000000000000 XMM10=73732614413d4363737326111750489f XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000 info registers vcpu 3 RAX=0000000000000003 RBX=ffff8880120f3b00 RCX=ffffffff89803145 RDX=ffffed100596698a RSI=0000000000000000 RDI=ffffffff89833b2f RBP=0000000000000003 RSP=ffffc9000048fe00 R8 =0000000000000000 R9 =ffff88802cb34c4b R10=ffffed1005966989 R11=0000000000000001 R12=ffffed100241e760 R13=0000000000000003 R14=ffffffff8ddee3d0 R15=0000000000000000 RIP=ffffffff8983337b RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=1 ES =0000 0000000000000000 ffffffff 00c00000 CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA] SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA] DS =0000 0000000000000000 ffffffff 00c00000 FS =0000 0000000000000000 ffffffff 00c00000 GS =0000 ffff88802cb00000 ffffffff 00c00000 LDT=0000 0000000000000000 00000000 00000000 TR =0040 fffffe00000d8000 00000067 00008b00 DPL=0 TSS64-busy GDT= fffffe00000d6000 0000007f IDT= fffffe0000000000 0000ffff CR0=80050033 CR2=0000000033822000 CR3=000000006a265000 CR4=00152ee0 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 XMM00=25252525252525252525252525252525 XMM01=000000000000000000000000000000ff XMM02=000000000000000000000000000000ff XMM03=0000000000ff0000000000ff00000000 XMM04=2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000 XMM08=7461657263206f742064656c69614600 XMM09=00000000000000000000000000000000 XMM10=73732614413d4363737326111750489f XMM11=00000000000000000000000000000000 XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000 XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000