71339e0cecfe5056dadf16b193d84ddbf5ccaf952c70ac7ec0171090f60b8242743276efcefde5cc56522d35558dcd5a6f992f2d2070f3a7df35f669cfa01c7e8bca3f01c5ad99441d1b6218deed663a3cf80fd18ac78cea1c08783f52cfb279b1338bf9ed2de0b8c4ee9193856f232d0dc6c9b2fb4ef55e6b14ccee83e131fde17c08196c41924f2aee4e95fbbca8104e1fca6e559dbeda4918ac5812a99870987b92e64ff28c618f7c5b1c1a71b4b2283ca78657c43b7aa5aee7835160a68c14675c53eb639b9da0264a3370d469cfc958260492da6ced05a8db88086b4fc14cf50f60bd721c460fc5dbe3333d4141b2f6b7ebacb26b1d9ee14434e21a12893a66d4dfaea2eed1455ac397c4a0a0751eb92d22a63b168cac901bdf890684a85378740d710d10298cb8045bd64397dadc4b6fee80262d5f2ff2f914f3ce3247176667fb30dbf65ef359d12c2a1099f34df80029ff6dbd2b83523bac55b25d8038b49fa012f7a1fa5caccf0d2181a5c0bddb2b944efe3e8c77b789951ae7a7e5653cc9e563d5baaeee31dbd6838b57c0eaeebfc6cdb48f458bbf09570c14516a8d2a9e424b35cd840a94404881bfb2d9a39791a46d3fc61b2b9768231267c46ef614242719cca0b8a426c4ecab4af29ef1f529519d05b7a3da113b518978385ff902fee7bc89c715ce727656f4dd78d7b81f060cde8e93c005e1d9799ff08554d3ba6807360179b9e0246945159786792727a115b22489f91afe818443c88329e43d681744727a56ea930e227b4544081d2d4ca97d67497029260c6d763fc92c51a5b08230d70747063606e5549646e4f745fa0f001ad7d399dd40ddda062b0b36ebf4fd285fc497faaa13cf74a39e535cd859bc20bf6672017d3db518a3d419f334cafa8234ba84de94fcdf22e832177e9469ea66678d89d4e4ab9b769ff9d38b29f0856466f8ac60fdd7e834724e9e528d0c1919d81fd99c72c393083429640d2f817ec24de88b09cd3aed923594c225bfd71f661f1b0bcd611558dded48d40afa0e95932f44d28228b7270e2188866fb37154856b54103e7aca99009d4e11534b0545ff6ae0233c50fde3eb44a2ad918b30cfcb717c1f58c7b7caa5cc13aad0837b8c894db22a2f55320258bd985c821a320ae1a15f8fffc61b169dbb1690fd1c8dfa2b89ad5935f5193f9ab7717c1319916d44abf496384a7ae8ff772f814bdc2598b1feec2d2e5d65158e8a7b39c4640eab283edc612806799cc5f94be1cbc0e5cab930e8e33a15d913f8b08ea06563135b20bf83da87d7a9e09d652f498de68f9ac65cc670e3a600c5ac109337db9b43fff311828c0e9c9a3d9a92028742e23d1f00bbc27c865b8fe514be04e74f38c3d07cf0ca5042836245d53a2afa0effa54af510bdf93da93798d425ae33c2cab0dc4a1274d0919b7fb34b6f8c05b0fe05cc8a42ff6ea47eb35c48c366e1a8e4ef6275c5761bbaa484104bafb398b1b5a25a8c6c2a20461db45315985b159009d5189230f19c4b6ab6bb7a910d815f70f1fe84b8c72df2662d1fe41692ceaff3296c88bf49b33b0f6ea920100c45268b10d76ebe55d4caa19f907085e046a8ecf1d7cd3bf8071bbfe1b8ee11a46f673c7b431da285c7043638e4e219f1590f186a533202b1021936734f43c1dce05625f5542238068a108ebcfe86e44a269f77e58fa59e30505e2483dacbd71bda13c0886c4fb7a98d26125c0ed128e55f5f9c9e5dde773dd3e9b4009898f8c7f81c1a2356052785a8f53f62952e1751a99e68da0ba272aa82ede934be28ce09395dc340153342bed5ce7973b43589fdde92bd171f94aa1c8bd16801bb90622774113a63a1a06e508fe8e5921645d071e95898d51869a777f7815b7682306e7c660fae9f6847d71383b4f291c4ecf3276d34d0d57769e8c8f598ccff2dad3227e609a53928d778d2861438e359fdd2cd9dd0674adc48eaddaeac727c455c9420c0ca24797b257f66175c5db24a66766e3679a9376ce47d22759d1f5cc69ff8aaee759d0285ecef6bf70722661df6b53dfff9e78339f016ce4ed49b67ac75a67595f2b510977e91bb6eadc34a02654700e03e126bb0ab2c28c1939faf21f81d1ab1204567579eb75a67e9c2d8095917993d6b2f65540589021d709f100ffa5d50df801df3906868f38e38eeaee0cebc05d4c4a1b33336c5cebd6268a70e46380130c0dfcc27db6716a2d7514d2679954976ace50ad0a27abe93034b3b675070da70d8fdd3ca3917a0a590c8e44aa7dea24f20c08ae98abcb7b52f34b5dd247908e86b4a9d5fba59476d744c1937f11423d0dae907aeee5d849d2a98493ef9a16b8f5372b1d738730b13cc60d581eda7a9c0ca9f3d0bbc271ba18213093cdb7407cdb76ba7cc15bb9b24ebba3f40ed32b75ad19f099b453692970675db963e030a547b0abee1e845fb98e0742be83255ed1e82e49cddd36698d72e9f7c282419b6781ca965796320f32d07cc84813bf96619c99aa8996a5fb9739e6d021bcb3607ef535073878c1c13129c2d9d96e44483f057759da93e98c941b2bcc97ab7ea8619955d1e02fad042f4dfbe6778373b9760cd6f3d9a9f093b0066e7f9e61f319d5580d03b00083823b3c265d0697ea21a68e9a2f9764cd3aa8e8ed5771d18b118000260d5be2c4982862e92e8eb671257ab95726a2209d6e528c58607b9aa1888450b3e9ab81d4edd6d82ccae8f1f7b8ac418288b1b7ea06a8c6f32e305f05a1db97f6a0774e2dfbad09413d7f63002d14c9e8ce301a4deb123e1eae7ec731518b0f01ab7d10427bca6cff9cfc9690b90dacbc5d707ccb5e4a80b6cb9888c6316b742fc6fb25d498df524e0d9e2ae82402021541649f685a6804c54932479d6d7dbb6dc108578d646c0a6047b08d10925f1c6d68a63ae5a5af7ae03da034d59da76b5681d1c3afa0777050ccf2ec1c8cac43c010db93f13a1d6947ed06f8541fcb7a624c6dc51f96124c33ef152fda87ef884e62430990a45a442e265dac6df81aa76dd4351ef3061d36d3db645c92e85dca1c5a41c73fb06f4eec5a13f236853187b619a35891079bc8a12ac714ee39f352a061f3d32dbd1d0b8be240f0fe9ec53b1fbf2c4331f55fb55538d9ae492a93e79fa4382319a84da0549f0fc6f38eb3c872bec9d6afc4c25700b22d8f0a6e5e3aa07c9a62e88b4e74f0928c96ad48af45d7d9d1f7ac7d9a108e0fe97303623e15670081be978eb10083e1da556a64ff79bc9102c0581ba924a7b9580573131b97ab06765bc0b6d4d36719ab90beb6da10c85c872b9a9e34b6bd9fc1c693a785d6b5245f082c3c126068134e3487840e76d918a60ea3240a9a319001c58fb6bc6424ebe212c1b6d0f81d55acc890597c259087db04cac2cd1d1e0895a1f4adfd910147681faa872248026b87e205f382b29cfd89efcc6efd6b3464dd87acac91077b90c394ec420d0a473f8cbb2ec49100555161765668fa4468927a2b11a52c606bb723f97dd9de4c0cc60a64bfc92abaf5fa87fcbb410a36cfe35581eb6d480bee15de674402511ab77b4ccf188fbf12234cfd6e50bf637a3fd983834e598a31ce8891bcfe55448e3fbe6eef14defa34b6df4fafb94498f33d0244db837e2de847edac50ab6b5ac7d325818956ff231d422916b8d78b23d37063af3b4acb62966e38d95389e51fea82562787f7ff1cb59cb14933a10b8f606d063d36588a8724b83eb70f690b28cfe463d89f330d7129262d436f772dc13040cde2bc5aef76ea8d37c2c0a97a3cae5abf3c6b3f9b195413d30b17c022f87215f557a46fb13642c378917b29ead844583b5d31a67727f454e855e22afe8e41fa5d6f67421d4de063995af21ab0ad286bc63ee8232b4d9a34a1d516009b10b22870239c4c1d94471436c2c6ac2b90f790e2d58c061df5ff25926d706ee0caf2457f903b080be1607417202a2c6dcaef5d7fc982221495a9f1faccc3b25d0b99c6186db819a7c699d9ee02695707e5ed924cc938693647a0a611c45c156ec35a7900b58bf7b539c499dd8bff4326001466fdf95d84f9113970403085d024f5adf96bc92bea361483b61e6fe0c1520b1242485ca89b580443b6bbfe0f2a1230d0893c694bb24fa41d309d8903264c01284aeb5da07334ff3e4615625d5ede30fa4e1c85d013c471ce7872db3754d28260856329df287e28105a6986349f34850ad55a01ece762dc4ce036fa1699fbf6ac96a625ffc0bf43dd683e9e25b4e8cecb310067329521bd4ee29dc0809e22e4131eb053288fced030459d258f35aa96c45b6e6981399725708fe8265ab27cea1232d13abeff9a0c37b1d68d779226b23381d7aadb274f74006014f44a9c91aa1760d17c2d824461bb9460ebbeab623db4d0e8cdb5a5b24236b58478085e66887ad5c5d0cd1bb7c85d10974cdbbea7a03feeea8048b70f2bdfc202fc2edb15b2356c685bdd09e46bcb6305cd29255a4548148723df27c9404c31620baa7b85d903f60ac5bf4bd56ce7464755608f4a20728cf926a76cd5cb6d771f68eb427dc8b35075a37dcf2f790e7fc1a57d42e333ef67c39a8269afa2e04e1179f040c804696dadf934f9598c037923a672445a2b367978637fef36a9d1142bff489ff097298b6e6ca7ceaf75d022edb480a29795f9087554c2dac61193a9d6194f790eefef00b89f10f9608c7958e5ca515841bde56fa2387ddc4c7b6fd10cc8a828404f1df9bfc0ce0674e9a9a1362bf4e5ad44d388836dc94a178c76f2562798e93b5ace97a674d3d29bb167c823f4e7e82859cefa6600d9d9fc173c7431c178498996febfb86ca25d4cb81cda8ec5af8ce6ae794dd9207485cf7d44ba666e25300a47d895ddbf8d166e69e75df5bf21183edf5304ac96bd75849905c4d1469986905f866f8557aba17e0f3cada7a53810382bc11f19a18db3e3b32f2ceea267cf4df57637c36c35da6df3589b4c21a40270988da6d6f9ab839e76bda10227cdbe45837521d619d7b4ef75efe676885d26d0ebe545103e7f6b407ded42fe24085325f71b5d32557d4002d66bfc300bb883fe18c44901a58772d6ac6cb053fc644c4eed538c94a1f93c1f2ae3ae6f317c91f60b801e61f256efc3c3cc4662b7ca17c9c06283dbabfd981a47d11417e65c427f00b63d0128ad6bf80b414fee7da663d33b8b9f34240073e534c91202a9549ffcbc18d56a9394f2d14d1931ced8624137fe0e4aca06a3b8e78b11a4a52419886ebe18c06392653f58a41e6bd6fe1e87a1b9b519d479b1743de2aa9c10ad054127cf4d70efce0ebacc5ed13eaad6814dc36d972a7af7aa721eae1635fa18c7c115960afd5ba393ff1bba25bba7f79c29dc748f976b964481f085bc04f763b718deb70f6f487e86ac805dec0f4e62cadbee833b5be88d0daee54efcafe77b67eb87145fdff7b4be2de2e3247d75204b808768857242369fe1ffda259057c541be788566ccef149030e5f03e0fadb8d16d281f96ee8a08c1056494e6bafae35961acc3c9d8d89e86c4a9aef1a82d675f6a316f006fdd11220df77164271a3fd5e821b9aa2dd8b2004def5506d5dbabd194ee19b5d896389a08dc7bef505dc3be0f860a8791b79351ba445d7d68cb3e0e54e23d55bf35376500f1c06d4260bee647e06fb31b19ad53ae8b7a56db5e89f68fd7258f05dd922b5b73e9385f045a6267fc3cba704aee7d7af063687ca31f48d209ed2ce8bce8b9026802181b7ac80fda0830783b2e290cc91af64a8e4b90e94777642695c7f31f04bbbd0b94b487730306b0a255fc7641f162157aeb524e4bb5e1fd4c234b2d8f2c213b7f719e1a23bc19150e5c6beeba3d57bc7b28b725838642eea73ce6c6c980a5d5d6b5970bdea2580e64a72d0974018252d6e4df03377e59c820fb2d56df899a14aa21b3e6ea5e82f6b802146484f9ba6422b7247e8c24d575453ecfd2ee2077d3047507573cc7a06f3816caec285ecca8c1510727da88d0e88e633db52b6c021672954e28818e54987a57e7e2a35d0c320f5cc00721ba826c0fe83f1a2138e3558d5984b328f24bf0fbf9987184fda88c1b0638669c99660b868577eea7640601070ea1bda7b69021ae8f7b212812a7876eee199950b194bd494db5e09d4aacc4925b3b51d11117c4d51664d5adec628dfbb66a35d536709dda1d4da7e960a0784b75041a10604cecfaa7c6df2cabe647f627683a430031a9ad7af3b06faac214c1728b6e3d613e515defbb6d7349dd91e4241862e7cd2594694c353ab85a4f7f02bd6046efbe93b9a718b0ec84c16cbf912041fe6672c70868fb38b34683d4e0f47a7d653d04aa3b4135536002d310b6e2b22ed9c465e6375ec21f8bf18df2b263bc356189874b99c16701c479d51af3be9ffcae93b2fd550757680af09bcf7059299b96ef43732c9ae79a4067108ee92b68045647170c01c89132327a617897dc78caf67622a4ed9d3e18c9a8ecc2836ad34db0118af3e6e0e3c7e12219d314c9ceac00e0312047d962fb088e29c402a0f1e432e0a936a6cab3a98f3120d69bed0010cc9dd1722b0e250bca21d9c309f5ee944cec194e78d5b69080e195aefe6271f078154b30a9e4dba4007a89a00ca20c0375b6b4c665e725e3da722f06e82598ac8b65ee7ec8ea65c3762b1a6fca6b540cabfcd1bbe0dcf3464019a6fdec31303b64bb8087d665d3e9f2f19e405008ac9f00eb7ff2517828fb1ce0a7a9e76c79bd0d7b1d734adf8bcc938c73e0c89742bf6ce0e34f6c95efbee04d14e9c5147185e70d16a9b6571cbcec03aafff2287da728bac5b8b96b69b98860dfe4935f33bf411de8864418927d5b9046093ae9e4a0a47e460b3350dbf34436aa023419b8fcce3f66226d3dc8c66a3f2e4be2708ad5ceba629d2f2f197d1d41717f515c25a40d252b9931a063242e8dd9adf1a22567ac6603ddf9b18613b32e28dacb1797ac3c037c3bfd0850d8b893881c1ced7b0a4029aa0979f79abb414a264e3367de5dd586cd799c7c4bfb91c7d5bc029e8fce81c1d68b59e5370cacd6cc93ba3f6f6e1d0b48bdb588a2d273eb00edf4139a6a7e64ec2a34515984599db4b201c3941bdc622ad1504034956f66bd398d0c84dca5daa1b2dd9714c585eddcf3e286f789af2a739cf78445db43a2bad37be65570ec5ad41f11b18fd00270d78bf46ca5e3e42c6401faeebecabb5c7196c6458d0c84a7031fe407371e6ee983f96cf61f452a2bcae0cc9a529f6d19519dc0d4166790813cbb2ac4a6d2b6050e9fa50c0c20c5112e8f3817ca59e52ed05baaba617bec24322c61c3d2969f8f05718a6a6c1cddcf0af17a38c94fbc9ff1ab449e6548bec6f7631ce0cf31fbd1669de6eb9a7bea724af1e3dcf3a34a6b0e29ee244c113d7fbc73435026db2cb29d70a903af5c6b5234029a7ff1012e859ad589a9d4bc5a375ac0926c1823b3089afe5065041380c995960f10f559fee23ec1550ec609d1912990b875240f079e6ca65f25b8104293596a9c435b8bf1a05da75e3693a28580e65478eacb86f5e99fa605ab21ba2c6de1aa85e59a82c1a0b12793a00ba5ce641eb67922eadbaa630559033f039a88a11a4eff70d3cbabe2c94b90afb68b250d7b3675bb5933ec810317b2325afd74a62af212478092d6610500c723b434da8acae7faa2d152bac51263badd79a298d4ab7744f4402e27e5993f5b6e0a109b24da3d41552c0e8566a126c5fd9b338724e964a0e4a63970291d480e70c168364d0f7921fc5910e4bcea608514c959366918ee13a674546806608f12cf6a5cc26f2f2db32093a430576065ed215510bfd77257c8e345d1b63c25b6eccb70443c2ad30e8ea9cb37a325317128346b9c8f9e0bc50c0470b5d6dc5b6f44eff439d1191fb24fd3500762bd3418e6cea4b0aecd3d9bdc1bbc3e72f5d793baa016a01f189716fcdf69f31f7553b2ea27bbe808f9356ff6aeb75941689c9265871ca8752953f8e6133559b888d5abd1873865b699aa73bbbb979cd5a7557ffe07a2465849c63ba3a2188303adecf96d6d0699613f8bc4d6b96c8caf2c5bd8a848eafe499cf48f7e7c13af17aadf06367ab4343c6504a6d894f49928d70462fadb642bb5c4e0142947b75d3f7fc9c3551a90867a65dc4890ec563e3eb517951be68fb57e69967ab1e63c14e46e77eaf97feb482bcd60aa657d6f4f432103a503526914d7b63a8e38981540a31cd90ca186475bb6861cb6ea814c16a3b24e20967545a91b4c114e1532df9d67744d0472f34b5f8c061bb93241d47e8dfc92bdc1bb8affe7088dd008f43e70470cf428f9beb3976ab4afa626f13868d65d36a9c0b1318d793189eee41abdbff8ae0efcb81d985e3bcf93f03b419e27f9162f34e26429bde69ced235d86418d86754e5a2b20c2ceb43af44b213e24d924b4d5809a7813d5fd80f505e6c09517f0b5855e18ace372a064ebf3005247bf91e0f56fb5ed05d942b89c7a6231c7e11a2ceeb69454d9d9d1dfb6f35baad98dbe448091e7094f6b11444dd7ea613f11045018d2739589288929e0da6ff21463fa7eaed2590390866d050aa2ff918cf5b6e547c8a39f85f039c01bdb73dfd1866ac165e87d62ef7ea8c6003eb3439131d28d13d4345fcf7c13343a25f58a8748a3c7035fd3dd4f0ecebc33cfd9c5e504d6ee6180de17cb49d6596056b34dc5f4ac6cc2e0f36a03f0c23dc23d50f228dc8e07cf5fdd2c4dc02b85f795f255d0939c531e53ebad5769775a82e3c38b4901e52d2e16028715d88a2338c93e1ac5b3825e0908fb42c0e2e74c50f02a8a32444f7867c0a756601bcf33efecb39e19d6808d48ebe63454599cf45cd20635abff47678cc7f6ee52bc72ed2b5735face9d896fabecbe369b3122981b5a95732edd3bab3eedfeeea2b0ab9c08239057eeee3d5f29c11a5e93d3c57db95f5683a12c0dd984e54c0d38ccec71ace236f42bb4ccbb4742a407ca3bb419d445222b3c11063384bb020de96ae3850f912a0982d0e6ea232fbbc4144ee5a9afec0c329e6bb61ab2fcdebf257adb2e66994d48152926d99365d2482ca2ff11e898eec98d6911867864663bc5ba77dff4adbf9c09cb8fdc2765d523d5690d3dd40dc8d1f23808e9589046370ce46f9313b424980ad7fd78ebf0d18c86fce118f441be7d8b0cbf768603c7aed92a9696f277e163f308a286212871d8e4da4d5821d407705e12858e8900087e92902830e49814a55da415769b6e2b20ab3959601089de76875413d7cad60c8104506c16e33c99ba4d5292112bd96612c39f30a1a2efe3256edfa3c3be416dfdd13337b170b9b19e42330c03483ad252e67a8588eb0f14fed645e0ba71db977de19c1a6b0d30effcb8fb5686c56cc45279faae305cf9f3691a8621ffbc96c444ec9e77c5831ede209698e965ed0b006e469280e6d1662bd93ecb0e6ea13604583865631bec5c77c04ff72a776ef6c756b96e81771ea7f151cedb59a3b15cc5a59fe99d4763c9984f1995ff0b492c6d9645dba0a362ed790a9ce0c55ff8ca079dd55c56416ea88e8472377981577a6dcb9e9c6859d4426a0a40811071e6ff54bf990f5f44ee1329d704fa66a3e274ad60e809ebaa13a7235da642d2448d9ef541f9365c92294fa3a4290ab31de0c519cd63ec9cbd060ec7cbff9dcafad1d330c72d93d31f8d558dfdfcee6cebaea575c2566d28948377ef5d9d8a9a98ca3f28250e5967b0e0200ae29b5fb58ca7301133af033436c6a3a41ddaf4a79574c45a66022597b754ed50e25858e64ac0d6f45718b21b3124daa17f4da4726e4a3a19383b32042dc9075b568e0a8656b0453ecf93ed7e37600f87b4d1552bae327104b1c09cf3900948b17321b5c67dd26c20d9f385924c346ffc37bbd0b0b20828ec9311210a073db0368e34c3b958c4ca123340d56d3fda5c711ced84bef2e6bdb53385157c5c0693df74d5cf5e38d7bc232a28a64d3351b6e51c0f0de4bf3428acba44589dff5e383f2d35a4babd345e2a7b3eda4e51d3e7cc2fb0e8813921a774f2f7f9828f34e871bbd4a124ec2242ab14a17aebf4f495c6ec10817df6ecb72308527e9d0c2c971d4d02b3013607f660d45e68b9783abf979237af367f63b4b116831b1a18735f5df2706c05d26edad61e0633c639a73812bfc1fb1ba58b2ed4c58b50638cebd678e4b259a7baa81c8c00b3c1bbef3cdd05319b6fc5f83147c31f6bae588c68500b40af27dcf01bf6c37dab6fcd508afcb2cbfa42b4821396b10d786a4b156b129093d0a4359dbe099732259207db6d688a745a42315b8fc9234a99a3f15a9b511cc01417fb2de8ad146ea1078d9a04f7e4ae4f2f730f949c61c213c5eeb0fde906ffb10f182eeca1bf", 0x2000, &(0x7f00000008c0)={&(0x7f0000000000)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) socket$inet_udplite(0x2, 0x2, 0x88) (async) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) (async) setresuid(0x0, r2, 0xee00) (async) getgid() (async) socket$inet_udplite(0x2, 0x2, 0x88) (async) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) (async) setresuid(0x0, r5, 0xee00) (async) socket$netlink(0x10, 0x3, 0x0) (async) socket$netlink(0x10, 0x3, 0x0) (async) getsockopt$sock_cred(r7, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) (async) setresgid(0x0, 0x0, r8) (async) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) (async) sendmsg$netlink(r6, &(0x7f0000000f40)={0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000180)={0x10}, 0x10}], 0x1, &(0x7f0000000ec0)=[@cred={{0x1c, 0x1, 0x2, {r9, 0x0, r8}}}], 0x20}, 0x0) (async) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000006300)="4e97124397b9b7346210b31b91286e7d22a2def9db4eba3dbcb09440d1256a28914d2a3314c466d66379ce3cc2ee05186737763a5524cf844f444929191b84beb946bb0ec96159997f8e8f943b5dbf10ceb39f76a05b680a1af7483d1bd07fc6c5d9d713ce0ab0eb3b87385ce5bfc34992c6a1918f6b9225153b507d0f49a40df36be4b2f21a949caa24c35481766d46216366c1e899f788868100de105973ff131d38727d44e2fe571fc79b412218e84e26b864bdd0b0cf32928f5c3f2481f84366d210ff008c79945fbf19888626d5b4f334092373e2d0cd125886483e2a1c1dda0c6e98605b3f85a8e95778a37ebb5f4ca682ebc6481eff17070acf229c35a0dff0e86bb930c9788b85244707ffcb8ed1cff991bc57bbe53a376a27073b5a924639e95af912865aa809239f6c1fb560c93d658c00951678cff9a7a92ae5a75e5f63e42c466e7f0d245996095685578dd244e37b6c88d79248f2908fe4f046f0a40b348fc6359befd75ee67c659be6c8d446585f8fefc472d4f80bfc4b074b7d7c5eca157807040bfb0b046e4baebff4ead609a9cb59f335839be73dcbe60fe1e0f0b0cf6034a787130994f5b1d2b5f502c61afc1b9f9943df759430d6633b991ce6bfe06e5df54a74d3f5c229d9b02ce9be39d69c05be9b3b2aad4345c9baf1977bef46c79fe241886903acec93d0b9114b39feefdcd06728700850dc658a4e1a4a515459b70c4b55fb20503a553336b04c269c7cde690b7015b4c6600b5dbe003e15b87b58e7696c800abbfff3302c4478567451466abf28005f81fda8076cd5f9b35af4efc8a3783b9cbcff56ee941ef8abfe74ac3d55802659a03e43d4ef9f16db9d32a1ebe7456483b8fd6213e8cf9de6824a04f14c83172f0ce68e2d34f2085b1dc565523d4010bbf901636f82f3b7b3efe5fc56485524241ff2096706b0f89f6a0365d981c417d745fddbb5c28056910c386a4e9fd05025647577988ecc159425ad07da217b3b5a54f420f5023bad762b729373319bf2e23f6736cc1c119bb1546b38afe25f90ac23b18beb1e575963883e50256441677a5d1feba7eef283c87ee0ee34ef2ec4b22a68c5b3b0077e07220429e99fdab23a45d233999a08c04c2628f673c8cb8a9e3aed36c051f30961899b4b25fac1f3c849e51b100a39b311b7cf90cb13a97f780300b808531358e579a212efe0aa830abe5935f6cd840664642f3e25c8daa46d609f0ad2a5be99a898f4ed86261fb08b8bf458f45922b8f8df95d05e9956a7b79b2c9ceef67157945bb2dbdd2136e7b9e5dfa8c2cee6d8e3f95d64097ba1eb2e7ba44a973a4a93730bf3daf7227454a7bb3543cc59ceb4e65741d35a25fdb6cc8b005b3f6dd5257424147279ae198637a65b3f9d716005c3ef32779f6e3c9f602ded262bb6f21b457dae5e6e327e46cd7709c06ccb0e0828c4bce5d7396ed55d2c30d5e0a9b40c7fe41d79311364c2f5888da45ecf97c75f7580fa745e72d075631e835f82594297e82be792aef379cee304a72757cce35028287e8dae63c5a0b5ddb5d4215573b101939ff7f384b1d055688a07239e64ac3e31af5d45dbcbd345138c6ba61aaba3e143994a96dd8e6bce6cfdc9d2e3d45223f0dc57f3a62a6b8a7e248439d1792c49260090879ab528b4433308c3f025b1884b7b7f565cd3a4b93bcd3de0c791d657a69aba8aa1fb8c6dbe783937502530a6addfc23d86f80da51d492c9cf7b437305b331fdd3d2dc2b3192d8f32753042398966afbabfd4803909cac2912813f4a8eb89bff49361bf5337552cdbaf918548e288df334a558bca53bf83ec229f14602f0b85a789933ad3a3c863adbe49322decf89bad4ebe16e9a883a6997d0ef3d209f32c0f51540fdc9aeb9f711e0a970220dbcaf13e9f9c7f6fefc57fb0306c8e784ee2ce15de22bfa184a3c6a51ef191efc78f26b836dc391a1c3b0fa2a587b1671b4e38f71510a678ad27746666d2cbd8b76115207bc958052c4fbddb445ded6f15d618e66f7351a68f2ebeede330fcdaf113390713b8286d4c871b1bd59f549a3a5b2ad96791fdee329bc2e62cf60695cb62942f0f5b2c78911ef7d0f8be25943305e2ed118301fd12a24f54ef94cd00bacd7584f4c8ee4f08230189098cf5156787e6a279ba60e2cc98a9690c0d510df50461e0c1dc649ece90776e239d7923d9aa5388f211c10e201851a108f655338930835e551e3a2ee33539d2336d469f65a7b4348665722846f4079e40fd2549a86269afb281fd02c5a2928c638845608f0d48380c16a63fdcbad487d9f52974508750a4730a5394812d58d325030f0b21dbf3e9adbe69dd78ecd3d7011b07acdb7ac1086c792f29d82f80b6fe4efeb36a65558fee5fcd002c841ca02c6d856bfcc43ade862451067ab184319ee4c49cd2e597ebd76821b3746f2580c814d004f87f37f5adada58a59d8b56d890d3a9fdf613f229addc72a426302cb221cae01eb26ab0c599c0225824c74c88138bacd9141672bada90c2258cb13263b92d77195bde4b94632f52d1fac603b4064b4ebc77fa55c6d2f9bdcd706e19c9fc94a58e616314b95982f0a3bbc1005d938528953666eb020093868be15ab6a156cf6ac4f206689b5c06f3cebd71d1b93e8e9af099df5ca6e05b9522fa1512412ac6ace40c2589ec4d76a65c2c9dd749b392434f9f710e4df46ae1bf82feca10552ef08a6ce29b2ff9667ec84126ae1cad425fbd8ebcb151749141ac94a4e8b4d006fd97d5ca4f42b6dcebdc6ab354d0dbae5d34ecbd9190146c5d5aa4157a32330d38b2bf89dcec710823eef8411cb07797cec5330774c05532652b1cd3f1b4055e5f101f582bbecf3e2f47aff3f4729108bc4d8040c1b80aa429254403957f97d12ace0cb487ae4d61658a974e7e9c5902d12cdbf964c4b442127c9e1938c3146fa7f4d5bafb5b89aa72cfbcfd7d95ac45e7d5dc80442cf969542ad8b10ff99a6390c56c8eb63780f59408cc09fb4f60b825d3436c2e04315a23bd594402a28e4f6deb36a7eb7a7d2a487e2a61074c18cd04479944a4bb086e58a7e136ae56bf16dad657d5666021974925132011f0e4cf255af5b03b01771bfade18bb1aadef01dce5d419a7d97144cdabc5cd7b2139361fee7c694b10bd2adaa779a330e42362f355b9e6f4c2354db470303157ca6323cf4661ee14b8c31eefb2bc25c13e60f2557661438e4c6347dfe8231843d6a3e0950575684701ab9f30f7896a06bb4ae7b888813e29340d1b0bd43d871d83bbd1ae59178b620e2058a8bc8cef4affd9694259204b443f9f0ce7b007e4f1d996ce6dae18d7e4a9380c4e990fd9bf9f609c64aa409d55ddfd1bc188e215492385474cb4dbef4980c8531b10ca0e7da47cd7c181b19ef09123843c1e735cf808edccfbd5e59c7ebe642af7b8ec343af3e0ce4b65baadfdfe3df9021468e19441ebd7bc014d32d776f3a8233a8fc9c178c05f9417516e4b87086aeaa85ffa64493c79f276b520c088350677b7b0d80e95e7d62a1c04065588875387073550ecf48676a292d6b834e92d270d377efa41ace963ae3c390d1e1e1f41e730d95a326e70b0afd423129502ddb4e4749d0bcd23dd91886acfc4bb0dee877b9bbade4ad269a82c953622ce4d906a65bfe9a7c94080f4845dd2f467d3064447910d999fc297982e7560951ba971f4380493f9a8f727f5de7d063486b3d76743fe8cf45c50a82cd9f4eb125550721631058c8794d104b0054969638d86f22ddda26f389ad6b74df49d7b1653b4e34600ca27bc101c7895c1d190d0e7f858d6faa4b659d9e749d8a427e5fedaf7679223eac568eb3ea58c9d189ff36a686c97a0ef447b192220f632d7738f627ce13c1833fc52acf2889a65391e90ab3da27d84a228c8242752ec2db350b8b15de6e00b683de3a79c0b514d0a684d185680764c206780fb367c0ebea3ec741e853a0a100febf40821604da673fddaec16579b50aa32082cf669fd8ff4d40ad57838b93ef53eebb26e356d0dd68c3af5038b54daa5e131723c74404af64be7ad3af1f606f3b6cec800b4ed1e8fb8fee17ef141ec5b1cd7d04cd7bcfb53e55d463243185edd5893bfa73860a56b231446527b8dea7e9caa1b50a2a3091cd4cb61bdef9aea5a91aa38743ff9a724d8cf55e2b1daf618af2985b6dae633dab9857a2004a7600a8e75f94a83ae72e4b53bdcc803291b06000e9c6075e2317907d98432bb87b86aedb22f9609e277e466742096011d4a9b80f46b8acf84704ac59d5f0f68aa3660e663bc14e5ae51d8615ea6ef56f8f46459d2259363b7629a3d4fb41c0ea3b0cbea28f9bb860016100227fb26e014b26ffa503d449b62c45ba4be53211cdf53118230ae14dc840993fb29936cdbbfb064462bd048e4e7ffe49eb124122a888c499032ee5b90227c74035a05cc7cd926e05df92d38c154c141a25e01bf33e5b67966ea0bbdee5027cb18906b34b9cea409aba366294f6505eb8de151e6bce13dd42655fa9c453700dc114cae7802272be7f4317cc01c6e7f17b9f468c7e6f9df8a025810adacb9633a1f403951875895fd0eeac691675d935e070a9c4eee442ea79d94ef91207b3b9adc85607660993a17a37898d6e40e8fe30aca2903dc01d77247a110e4208166111bbd95b7d6634eecbac04af5ed99c637d73c561e717ae3c9dd3500db2000d0029da7a820a3bf92f547035b2aa1b8e7999f64a4dc530858bec29752c5eef09bd2fc4ffc059e91717bd9b667f100fa476a4cac778a4cd727fe57fdc7eb9a31e25821a717a49876a8f3da8b695a6a5ec668f821ef3fc69cd912d4561a9d8667d8bf1c9e64595a949ff88193e065ab6e54fbc5fe1893ede8b3e2f56e01ab965d4b821672f4ed3b97872f0598826eec803d4cc3ce77906e092ae2a6cc3221bd2afe28069b736a19c344fc61e294f86aa80d489755728c69d625fe90ce820ef20cc8c6724d5d17dcd8c2cb41a8e58234299810663e4340114af3cbc1ebfcc8d08b2368a250aceadec22a869bcd57ebca546c1f9695dd9a5f466ddd62a40acea4508e7b73a40459378c80e3d869a586cd5189d7dc11ea63b85c2a70b76699650d29ad4e0dbffaa5f9ad93d9a33e22125a5f4b61704b5f64afc50257ef95cb4daf52c2a8c8f39bde83413b81d07d813ba30ccc2fa7d5c326585932931cd446ef5a806ed890e348cf44890cd373119ab5f04ac38d7d7fbf7128ada612292fa8bcf9b5025025695ae453ae5cfa1ed5a6f6938631da434a952f65c7e12751f3f42291690430a6c98af47994e978dbd3f503867e7c9086085aa74fd04cabe67d907358926325e8f28a3c4b1defc19206e7c163f7f846b7d43419f91aacf9113c453ab93505b95d14a645674d32e80d3ebc09374f92ed5d1b2893d4be5c2cdebc7b04a52d9e7b6fcff754e2f5436cb82945622c47be85861fe2f2ad56241e88b7fac60208fc566d3c984b0ce273ddf9404d7d738d1ca80836c3d6b7d11feb8ab42242a3c060671f05f335c7feb1bd183a9ba8e7659a99e51f021d49671b18c6e158a13c830f59d7400676d5fb5e89a677fee8a8321a0e4d35cfabd79d37df6ac5e779b69c2dcfcd69854e12aa298fd88120b9b7412f5f0cacf3a7bb8bacb4e7d6c1412875ee53816aff2d961ebbcba2bb4e5e7167c1fc6285f9519142a7cdcee6618b7b5f3d993eea51a53bdfc8ce4fc6d34be1ad9e3913f1867814fef0e53fa3a28e2ebf8a1ec9acb17fa17039b281a3ab31cae681d977d4b5145e822fe9b44f5069342567a988c075425729aace1f73a4d5acb27625d0d25c513b08f3d42b3a38377ee50e30d2e327cfcb601175c76e4a3effaa196294b07cb995f0be35b9e6191e08a6f5bf08b51192a8d257bba8e2afeca70fd0070cfca0527c35cc146112f9400965e10e4df9783999ca5af3726c781602c66aeb7bb1b3bec2f06c15e03fdd0c12458027be37ebc9496b76eb0d9ce831d8f1fdae1b1cde25131502192593dec01c89e9f842987b76e8f70d8d227902744de4a5863944815786d8b1d89fe9aaa8eee03052efbb554dda9e161adf699c61d63edcab08ee6b8a52e1f1f1ede883dcf0f40db3926ed5ea2671e91fcad69a36045089dd595ecc273792978ba685d64c9adf2738a302c92ea937fafbbda942e6e7a0c5fda1d367b512a3d5813bbff6fd780fd85f186b0e977f1ada95db130bac3f673bb60506fd10da685932b21ca90363f55376774af5e3f6c8e8bb6475ff505d9b8442da2148f650f50f366813e7551a358b3fd6f4519357cf92844da6852587b7eb672e30ec259fcde8d3bb7d327a2eff1cd828040cb0a136de55562dbd50992eed985e820e939a6956f1af3fdf8bf249590ca41e529623c4d22a43b14cc625a723df0754a5b4ee040fc46e8b2a4ef74d4e8cd64fbb5742d55258409ed252eaf8ee7d98bf573ceb127d80e0b6e352fe040eaa148e3c7e248c71ca730ea23b1e20430a5086169165d326d0e68c17b2bbf2a41b38488c6245f35e4a46f4e457a46cdb99ceac546a7150f5c9e22f34be361539f4d80388a394db6215581efbe8ab0648ec50aee3238670000a498d912a5bb975f562b676ae91042aeae65d4e63e9f5cedb4b2c6f446616a29cfac4df2375c5351d034f63a0200bc32eaa0cf99407806b6c1223558cac4ba3cdbe85edf41a95e8be4a45f0a795b143b041f5ac22243851b18894bd92b16f7c884b7f4bb5f78eede65d7014b775e214ffe45f1c869bd24056095460dedbefe9333d4cf1462c06b561c88f9e4f8f38f78230d6912d055228ba4e99fe8e57aeeb42982d9ae4987b20acb57488a0a851fd8b2dd8f8cc44eba219c6e2b34f932695976e51debec4f8189592cc0cff8873505949e8f065a76188ed6fb990033af7cbee33f1adc337e4cfcb4513ea3ef8977bd5338e911afd12b042d3338deb8596cd500ddbebecdca8b9db5b368919a57f8fcae0d3c3a57ae586cf442eedbe31389fd170bca9e933112e71ee145b188c611260464dabb6d44bb2e6f07b048653f58d0edea10a6193dfef73d710bac4a786e18ee0ca221d5b464bedc53766cb1ffef3f5cceaf9102777bed90c7e88b46b9a1ad0fe4acfa9518bc1b817a67675ac85288d13cba436bc2712175a5ae7c89e7e7436e9c26288fe177dd392b4a52e1d780ca2ff6350b02c222a40be4b4aafc526044170457e340386037f2ec4181319ff53acbafd64fb05adf856281988d7146550d948ab27f455e8d71fea4880eb039847ced46427e7a2e5ee6f2d1b10d2d89d501c7d064488cc2662588aac40c55176185c9c26d18f1efbccd4d11fb1b277f761406ea016fa1d2fa30a6161c7fefccc40664708968fa82ef0cf17c09123a18f82e6c655044e461eaaed1e327ecc69823b048f8b0be1dc1e309aea791ea951b61ae51dca89b567eccc4022ca444134a7812b0c81f48dd6d13baea44bd607cf3ad9da531b5ee305f65309f57bc2fedb1e371595dd7e456e9698d4f78b5696717fa3d29a0d5fabc71793343aafd79414423c32ccd7b68d1ee6d5b819835c4aef51285e98ab9574f88de3a2e57bedfc0f31be5fc0bbfb75b2f17c60ff437b9e052eef37fbd773f0dd560401aa98e854c70da89e1649e1440b1b4aafaf78881013fb1a78a575913d49db902cf92ba97881c3efe83a17faed03ecc327dd034ce9274ef1363594e3267ac11593b7845f44e91d8ecfa23d6eebf225b545d66e6150625d259a5f476e4de1210c5078a7d3dc2b6d6db6d874184c2305d9f000f8717753d5577e832095f9048c6113de7864a4302f1618c0f9b7566e21b81776bbe3e9c0b46271fed0377f636da08fdd91fa07406f0c4a96fcf492043468312e40845f6fed8e7d6341944291217d89400c01aa8c0e7e7273947ef38ba69b6a44f5748f1af5c12cfceef511c36ac4aaef805e6c39e346f53991bbbcfcb756e0217e3059962a12bc9a90554cf184a9940765b928132dbbf303a00e3027ff6d5e5c925186c33b34925088c2df6b78eeed5454a6a58820ae19ebf635bd5f742c5e7843cb7eae8605502db84c0e73176bf1ebf51656d87afbac339a8fe8c473174dbd305b73ba39e6d76aca31c4c4c9459f8e674964e8aa1c0a0e873f1123df80297b998abc697b89eacd2d0ce462956e549c51cdc2ed7c31e39564afb4f4d1513233802adc9ba17f74c8e7e3c476112c29893eaad0b6012ab97a955fdf9e642cb8506eb59b86d345d2afab4b4aa0bf217673ad1cedd19af21df86f236060d1bc58026ea56360a6e38c3cfd59e6d047e6ce348936a926ac10ddaef16ccbe30f1978e6c5882da703cdaa109874c1a34fb15c5bf46d0b67cd3fa88a08d5c3d39a59a11f5dfc2aa7b7004600535bc557bb23a80e342665c90f6e016a0705e1b641210860a09f85f6b07f46b5716b3e3b332711da563fcaa05ce5c61c193e0effef785b3567831b85c7b2e773b78b6d4ec874c1d6a595227162c80d215c1e4cd01f78e51816876d600322b18f9fb478ecc3fc895515020c704953b402c81a00d135bd4b57e94ae511eeb26778788b2a761a6518b682d513fa2a6111b237c3e5ea3b570287ea8f1d2ddbab7a00d8d340f0aab4a560243ae108f48a2e46b7e76e407aaf326ef51460b32909853e9e6827fcc1f58ad06702e59276cfa485e453b808986f5d7a1863076d991e1fadd660d039939ee71ad0dcd88cb35e54a7052a88f60b80dfacd043ccf8e64a92fa2e5b76f55113a9ad21088829162973ea7f56d76bf32578ad72b3415b9a2c6ae05f28d94c8aec1088bf1cc9794db5b8d8713e57e5922348800abfd5e4b309705671663f8399738fc0fe9f964941cab69781f7b35cbc16c154383c586db5f51895e43b79c5befccd49bebc1f8e0e2d1eb7b55d03fd192274cd1093a09275a9717c5ec68d183d27a9306e4023500d9af5f208614f9d8d58225912068f5dd101dbebf3fc88bf2fcae579d15f77c749e5a9f13fea071080d4303eead0a45c82ef575b53ac59f3bedf3b842cb801ece51caee9ee436d095df4291b0b43ae8701fb889c79a8d9c934b1e89c24f92908885288a4fda60f34564bef55d07c53abd285fdffe24fdb382772047cb9ce1567eaf433021d9ecc48b1b916185284692f1ca266713456272f52b15a01e42be9ed7c67db5c5d2b1be85603c2e610dcc3dd36e7c6415d32d1a796ee7f4cfd161793246b93893c4539c9ed4a92edbd29375d4987cb19e3474f6e805415058aae0567dbb76f2fabd5e1caf6c76d7dd944b2c00d54d29012f38847143afccb0ceb33fd784bb59aba5dc67c90986d00b389d5eb12f50ead8d65b018125f2ec7ee3477f215ee2327fa30cc982814d30bf13ebf7afa0b6539b5b8d6db1d1a295530e750fdb046f21f65547d8fb0fa2724cf01d9f09f5c85277508b9776e66babbe01f3dd8f823bdc0505f9305203749c32b422704a4025351883ea6a9f8fbbc1390b185583600dcb5e7509045d759e0f9912a714e717032d16a458b9e3e4c898d1b3826efeec1284ac4fc6ebf8eb03b7274eb8982fb8c05a1bd3d54af774d1ea3b2f969772b8b8edb7bd638ed28768b5f90ba0f0dddc755c1e4a33a9add96e7b3e645525d76cd624a60bab34293f90197b8dc099f8436a7ce5875127ca707402c8aa2bdf085b63d43ce7ad92a6a6ccb077ad2cff706e8a226f0e9e16ff020696ba059c317b5c98c80a530c26c3ee3b366f446a22de73e84175374068b94e55e91b810cccd9808c32a86c9a5fffd81d749e8d179d6a721c340e5f27cbaa75a3a9564f261e78b854e9d98c4a646cf80cfccb27f6d1eeac41fa1bce90eb2d005b11b22930970ea4df3934b9f4f378e293a96f4450e08478d5c205231545f2512de1da1a307665b105a1114c74ee982575784d0c9cf38db775da1f39ec59371774c506b9df411e584310357bc61bafb6692ff2016953c0d298b711b470e506f2cf3451db621fa0210c97350a0fbec43e3af4a485f747f0fed3ea6a097ea05f3edfae5b3a2b975f76f92f4e9645d688079fd60f94e7fe4e84bf78a86a0127008e9a9b81d9275f462aa71de7c3aa3deaa930e1684e7a71c9f70e36fd7e4af42c053e93e04f9ae7de5566e2fed454efd42f25337d66ad0ca227aa8d61e1f00ba2afa4ce4251cdef2125ccc7daebc6f1d43146afe1f3aed84dc9a32dbf348dcb895fe58ae012a61830d0dfc09e2897136c7b301b259d21df37c5f87b94c226a6c51b77e6b8e4542be5f39acb184dfc105494c37ad2f8ba3a6b2e037df19de3ebd503d0347940e92b75c9937bdf186a3e5dabb4a77928292981448e5b9320e665aa6a77a33a0a56ecb3cd9df72c1bb9ce5aa4016946f9ef4936a34f233c8ec4f2a38cd70ca727f3f53302837f3930f4778c63f506fc14d35b4f20d1140223e13c4a5af2da05a62c5ab7077176360bf9d4ae694494a722ca053cbc87c6681a6c571659246f46be7452dda01cb442a8b37334bc1eba21a0e9932a48d14b6950fc1f604931eedda946b66805fce7750e7396b16e601c7b6f513e5dac483bd67801c6f3dac700b47e242935e692ad80cc5a50bac59555cf4a35858b181255f8de905162c2644c9c326afa60c3f7a0e72f21257ee28f1574d082be9e0227a92b4018a685f83d1acaf91632f2c017dc093c0250e4e1009b5b7012d7d7b6c3af497004973fb8bd66d0aabf37ce617dc21588145f473d14e7e78beada658990a31b4160ab208886dc83777055fa3b45606fb17c5c1818042418431a80ada9dca2b925892c8e0129fcbfdb56f1b393300790c93e90f2b489e4db6ffaec2d50be832ba7f0ffc77d9d956f09416b264953bcd177d93196514dc9f43d056450b08a86bdc14912b2146a79f54c38480923781fe2af268426ff204183c5a7943a287ea452763674254c0ae1f6a2ce976905c92fff80b6ec6f23bc304f2fefee21431d8f2ccbc18655f95975a5693213daf2fa11294cce658087f5e1b34a3f0c220b515982d73ac4d523b0d16741bfa4e36aca0194f131ecd8cba71e0d78d163fb96edd71197088cafc96be1ae028843a8b77762d7e183711270d4e303f18af7fcc7dd12843b2ed97bbf24cdcc3bb7d0cd0055a9f01751b53fe30358d53db1db83feb936fe539c5160e94c7e65026f8f494124bcbb2464e6d742a8a325e805d73541eec428772fe9fb6a57c3ee315caeb9cb47ea9fe4754ba4c9e6e48f5e52770f756c904a956a7cbd6e5ef4f0e7333867d330c4b6b238d576a81a678ec8a78869db387b43c3ec71de19d926e7af205f9cac9eb4b04b4be4dd69e0b203c0a80b53f0cb324a6cd8cc45949203eec381cc8e3df75f37df3ff64374b37a168efd5c5cab3d6462256b2eafb176d28bfa00a7121ff2c668f56eec32353f2c40b87f1d502ca6a07a96b824c79fcc5c9c32a1064a8d436ea36be7c251441f3b2ce387145bbb0c70416832e63376bc70156eecebbbf468c441a661adbc0ad4989d4ef956d2f5a980e909bed6ad7dfecd51eb70a49c9adbc27201a380326184a8ef77da47460df06d2dc0bba39f95a8784de420d439b304034d", 0x2000, &(0x7f0000000800)={&(0x7f00000000c0)={0x50, 0x0, 0xffff, {0x7, 0x24, 0x7, 0x800, 0x1000, 0x7, 0x1}}, &(0x7f0000000140)={0x18, 0x0, 0x8, {0x8}}, &(0x7f0000000180)={0x18, 0x0, 0x8000000000000001, {0x7}}, &(0x7f00000001c0)={0x18, 0xffffffffffffffda, 0x20, {0x7}}, &(0x7f0000000940)={0x18, 0x0, 0x9, {0x3}}, &(0x7f0000000240)={0x28, 0x0, 0x7f, {{0x7ff, 0x0, 0x2}}}, &(0x7f0000000280)={0x60, 0x0, 0x0, {{0x1, 0x0, 0x1, 0x1ff, 0x401, 0xd75, 0x3, 0xcd01}}}, &(0x7f0000000300)={0x18, 0x0, 0x0, {0xf7}}, &(0x7f0000000340)={0x12, 0x0, 0x1, {'fd'}}, &(0x7f0000000380)={0x20, 0xfffffffffffffffe, 0x400, {0x0, 0x18}}, &(0x7f00000003c0)={0x78, 0x0, 0xd341, {0x1f, 0x8000, 0x0, {0x4, 0x1, 0x401, 0x2, 0x8, 0x7, 0x400, 0x10001, 0x1, 0xa000, 0x339, 0x0, 0xee00, 0x4}}}, &(0x7f0000000440)={0x90, 0xfffffffffffffffe, 0x6, {0x0, 0x3, 0xb, 0x4, 0x7, 0x3, {0x3, 0x8, 0x6c8, 0x7, 0x100000001, 0x1, 0xfe4a, 0xfffffffe, 0xffffff07, 0x6000, 0x0, r2, 0xee00, 0x7f, 0x80000000}}}, &(0x7f0000000500)={0x60, 0x0, 0x3, [{0x0, 0xfffffffffffffe0a, 0xa, 0xa0, '/dev/fuse\x00'}, {0x1, 0xffffffffffffff00, 0xa, 0x7515, '/dev/fuse\x00'}]}, &(0x7f0000000580)={0x148, 0xfffffffffffffff5, 0x4, [{{0x1, 0x1, 0xffffffffffffffff, 0xfff, 0xa82c, 0x0, {0x0, 0x1ff, 0x7, 0x7fffffffffffffff, 0x380000, 0x7fffffff, 0x5, 0x1ff, 0x1, 0xc000, 0x20, 0xee00, r3, 0x5, 0x7fff}}, {0x0, 0x8, 0x2, 0x1, 'fd'}}, {{0x0, 0x3, 0x80, 0x2, 0x7, 0xfffff001, {0x1, 0x0, 0x5, 0x800000, 0x8, 0x0, 0x8001, 0x2, 0x100, 0x0, 0x4, r5, r8, 0x401, 0x1bdd}}, {0x4, 0x275e, 0x0, 0x800}}]}, &(0x7f0000000700)={0xa0, 0x0, 0x68, {{0x6, 0x3, 0xfff, 0x1563, 0xfffffffc, 0x400, {0x2, 0x8, 0x9, 0x1, 0xf23, 0x3df, 0x1, 0x2, 0x8000, 0x2000, 0x1, 0xee01, 0xffffffffffffffff, 0x8, 0x4}}, {0x0, 0x1a}}}, &(0x7f00000007c0)={0x20, 0x0, 0x7ff, {0x7, 0x0, 0xffffffe1, 0xe2}}}) (async) 00:06:18 executing program 4: mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002540), 0x0, &(0x7f0000002240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) removexattr(&(0x7f0000002040)='./file0\x00', &(0x7f0000000980)=ANY=[@ANYBLOB="622c674b491146070000148a090000007964a46b5041575f34be90e691e324bd378ac8e05609f23b51018fd99dda29f4c3d003e4e90022d003e9ab4a47ff6ef8d496199bb384018828f3deb0456214ab37b88bfe03f11c7c053e5cf50060ac5b4422289330f7984515d8de28dc0f6cc4c88afe7fbaf42294015a1ceeb750339592e29fb7d4504cc24976c2d816e1d57009ab1f64ae6e64b6e4e2224a3ecf95e99af88e3fc00968ae3439ab591c8e38a3884230dc6b9c6acc4ce14aff59765d3ee40dbaa7c58d54d87e1bc26b0f40daa85de793c92bec080a6e56eddca5ff9a0ace98ea764a025a3f33a77d430960900942ba0af271e3d52dfb6d7e286daabe50c40d05870df224788f1534f7b8593e77d4cfd9366deeb77b9a29599b9acae9f25452046ab460d30fcd50e1b54de0051588e366509ed25cb8b53c8ab84c82aa90630e8d2e591255d5cac0f1"]) syz_fuse_handle_req(r0, &(0x7f0000004300)="554c9220ded44dc871e99bf93ba98edab14b65e6c40f3d7e63c5f0c7347398ac6e17a02e3a04251346947f4a6880f2b945ee61eb1c3e37d15fcc1a893cd80a31a1047003831638a9eb35eee32129765d0a6b4a2d3714da892ef150593cc708c1a37e839c22a3c311ac70bf116c4b5ecefe045509c79d3130b8cc663db8815042336bda88202f57e451c12349249987fea63a1b9f90bf8c073518c6dbf5b544516568f3c0cc9176338fa7220d49e1f09fd55f7b02bc3b0b234e4ab63454c6a1b6f76d1365a79c96f7b27f6ce62c4ac33d652c0b979202ef70ec4b00eca11a28fbd969f246b5589c7149f57607dc7230513e9a0f4f294161e9d8bb2ae1c6d3171d51f340a9aea4adab9f4fa2cb36a4d8493797a39538b35d628348eaf7cff790b864750eb0c0d92d06b7ffa9a349af6aaefdacee2226ed2c975e7f810aa388b1bc30ac2a4837668ce8d91d01f8e6be28aead6e029874c7aed2c7f8e9475667fd6d364b66f4b24b796ceffe8cc5a737cb389de6e8d0fc70fd0b9b9e77821d0940c2b9a7141f4ab8c0f7ae8a1e85946b3c2ea6ae584a3e677b9c3089775318f4121dd06bbbef8a4492b7b089dfee21ae92053da80fae983f152649acfc164b4838147244296050801773f0f7aa575caa4f113f76508a05ecdcc0a7f0ca656e85bb207283ea9a61272c99a4a7960cca8d88808f372547296dfb0ee5011f5c33a12d77fe032e12af8fa69915304d0866f10329925889a6a1ac215b6ef8bc05409ead00a3e3fa31cbb3de1217100d65249b00d4b7a7b6b6cc10d8553311abac7a5eb60ca1bfcdb1ca2347d8ca81fda24fedcb1213404d4b13d174cf18f67866b1d23e7efa408ee06dc18f1fbb62f124f1e541aeb89c322b04f0cadd31dfc6c13840e439503e1422d4218344a01ae9e0030fc286b11a93305d818920c3c8145a5d9e9dde3217b2db60761166d11e6c997d8f521d881a99f20364cdc1a801e21cb529703583c04431525c50c29708be6961aa173719c84df0fe81b0d040573562d9acec837d1afe70ba5cd12e81ca39eefef683625a8d237b5aed2f61b26b828bc10fdfede883f8f1d89fa08ab5070f683d234103d67906ea4dbbb2f4e3cb65a1ce08a8fb96a5bd314238a4d3dbdadfe85004dc132cae7a8d34ba24cb5e18fcae804c96d93eaaee6c0e6882214ba919871eaaaff4a6b00ef7f22c0d1f93f563c475660a1c0654eafcf0c07c141ebbc1ae0b8a1b75159ed5c694cb241368a55ac01c819ea624c74df20432f781dddb820f70a3eee1e53e603b0f00b9e2c321258d69b4ccf332db63ca96e96a633ec4c1fa19864d4b4c34b026a30e49d85eba66c3007afc8969ef0f4b3e7dd0bcc035c68a5381620e1c6b9141a24f68ec600f8adb73a16cd0df2de797a9be785e5a5edccace15db9331d5643cd835f902b8f91e52e3111353cd157cadbfeda4e0eb9159a33a54141d95f7319131eec6e937b21d5ab17638b34700da566b652ea3ec8d23c14c1e1ae771e730c31e1ff84bc4a5404e6e0c244e961749dcb46154c872f424c63b08cd261163f117d90a7667236a054d284c22aef8d4c3be8699c52250e0fec9b679909c748ffa8ca9111ceb0cdac1024db98abe5810cfa07a73de3b23750b7e5c1c56554ddb7d1903dc872a938887fd6e26af8fa0b3ef2b5e57d98464c0c3747a34c7df348027769c0bb88359b72b72cd5704488bdb151ee8322e053b4fdf57a84129b5269b1a133c085a029b86f6ffca37bbb24c318e66632693080649f08eea35281eeb725e441932df3c276fb93a686bf40daae3b1c5b3e99ccb2024929ce1352e9c6e660880118dae4de1cdad0fcdab8a97deda2984ee82b05ef1f51b7f04c8ad517b95f1d8d71b356efb22effc6e38a197017058ea1fef4e7916fd943e44f16e7edbba93a3c9e4c20634f480e6d51bf6b5a90a55cab77a942c6f32d343706a50f827ffbf1079398ea8eeb582ccd25e75274232c13dc44de5f8c5ecc3110629ccb76dd39d045b9f3f3d531f238bcbf3f694003c478c8285fed3d4ad10a6a81d1b5540afaae2576b766d79c78439db8551cd341f7c1737191fd73e1b6537fde8cc1ae660a2aae90c4596ab9510fcd946e84e7d738e1e46338a37dd1e9666a2b819a1f1ac6c9d661d09562a2cd65a43b6295afa4e3df42e83951e01e86ad2c1b5b641425b0a54d3fcc1fb8687e89216debe978c7db246fde2496e82a758019030b9a6026f1cccd3566e106d7cd18e2071988c7f622c9a97507a90cdd7ecbe124accd36d65ac302018f10672354f774f58453b94586752916ec4ae988d98ba3bea388bacdb9b86b87d64ccde8c8d84baa91d97f902552a75a8dd7b361177ceebec45e60e73f5df5dbc99a99d053a311d2a7763ceb6af5265af68b13178e65f94981907f8f2532196f8ed213edafa38f3cacc142a036d317b1c8ec74e78913bb36c22c65d2fab252954042cb2ff1db2f087a7252bb5011d1ec848680bb6136c182f9c3529fb8d91fbce5e1ebf651b048d5248b954e0d8cbf540a16e17eda1518e0a965ddb22c5d900e707efd52d5b372ac6fd411c5779f3870201fd4b66de90d44093e532a691ee4f57e5e5f578a722394ce305d891d57ff2675e755a5e0abbc4499084ffdda746cd778da2ff87115429065776b71e2a6019bde3122b05d131ad7ef5b4a19cd979df3fbca57c469c6566c5811766d65f8a0869db56c1f90b924c67fa992ceada2d46aa17d89d260ee6078c844756675d15ceab36b0a632447f238ba9531d615a793628b59ca5b15fbc7a8a4dc2114dbd0a9b2b245c54111e6ba343c3f413ea14e66a0ac57c7dd0446399289465f81e6c6f730e4cca19751023dcbc3e15f9c9ba5cbc5d059c882e42de5f0ec49d7171870f17faa132cbcf0cc422a9a78869ffc22f376cad1b359c277dd6e0d7ca7d5739fcf320be450a3b64581ff7e0e4a2be026300cc99ad925b62b8d7bc8e1158c0c5d721da8fc3038bdf49da52edd4b2452e3c9cfcbe89a131b84e72eda38ad33cd2d6ca62958e8b695ad20ae04799d1c273fe5ddbb869991397e80f6c15813154e2d65c29ae3e4dd4472d961f6c848682a233e0767949d292882c03e5f47afb5985717ec13ae4af89e42030d360f1ac03977e2dc0b2a9e6f6a994d769c73dac84b4ebe8fad74d293d6c9aa6b315fa9eadd47588fff802e9e196d814c0dbbcf66915898f4785fc8ef49f3050df0fa3d8eefdc92c0db7e9d053a72e4e53200dcca91b200b240e36146f8dd6777816bc8fc5921e08051cdf0dc608008eeebdd28cd6303e4cc533fb93c7d7dbe9f9a634f9287d6350f84d704427ed54e0c71c0c99a4db202b4835a463a6c77be774f2b80ce652c1a680f84f291f8f6d9b230c42b58a10237d3e6ad67742824758084b7eac9916d3bdd1526bbce6a08498082163f14bb5fa005fd804cf78a46c28a3514828c242322e410ea3b7f4f6807a792544155c02949a3febd4a8dd4e4c75946af457a39f52e80b643a6cc1de0d26884a170fd763b13b11d3ddaeb7275612cc1d69da85fe942ba49f5393c6a3d25f28ca7cd0fd37dddf6355b9fcf474e3400f5908a7d1975c34a61f22229cdba7bdd426650a3603cc7562bd5e1c15d2cbbaf7a73d6e26235249c1c0b4e8732b0860c43b280a4cd02e4a2d6170f12b31ac4351e2d1bca0bd9a481242b0ccd82b70037e5e9e536697f1719dc366e6554bca111fdc16d65400977d31e4bed3a585278aac11642993f56abb47b2c41f35e3b21643ab754178ba47902a599f729ebf592730d3c9d6e69509f37c165ca6203fc07b79ecc422f4aeb5c69a0c6b5f32307c28b7b4aa09ee9a640cbe05122f973ed1d3674dd78944999f9059c88d05602bc03a191f3e302a7969b57e9aefa3c694e9ee6d221cd982d5c18df47b6df146a037c3284d4fbdbc5c5abddae3ed27dbf439f2cbad51fe7331185458ad284c842177c8358a55612c43161d6f8bcfac07bc0c7a1dc5d269a2b4318d280ca354c5a9a934813453c223120b4c200feaf2550ed2bb76bfd9d6dfc2582d422f4a528703466c1f0ed93bd12a4ce2ce0fd0a56c087b501221368d5030c4fe288693ba8e84991d312ca8bff1740cbc8c68f92d617cfca0a068a029bcb2fd6fd827bf8a283672a0d416384b72b6070dc326ed674a79a952cd65ccf15449e60241ed5b849475208898868668fe14d9fefc3e701127ad18f01b6fc0905caf40e4040d2e31bf04daf4dfa902629a6816ddfb2f3fcf88a784c98698ccd746fd373a07e957d6444a2df20fd114678e7dd62066f84be596b2c9db14707612ffef8b9ccc7e9ae11e5c6eb31710c3ad0007cc58402d55069bd1970c3329e1f9017e2c2281a9f7908a15e394c534d5a9cd53f0436005ba5b7c1cbc7652ea0ed9c0b83db0ec73a2b196276dfa86f290d70ebca1bb83fc2c3fc66a4356c627b5aad22e5ff301f0326d8013c55076782b6c911da526bc87a2a88c593e90c56f9bcfe244bdcd7c41506d596adcc1dbc973edf9eafd2ad04818eabcd47ac483a6d3d8090dff194f73f3c592ba7d27b06cb8338946bb83c5a7d3b1d05e873f65ae5cdb6996920ae2ba1215964e37c4027f995485c66b8897c82d6415711a1ea055eb7a1de1f841379aa2de8fe1cfb49c4f6fb26d50f1b351648f771504c6a6dfd3f408154443702cd1587d1612db808fbe7a64ac63fb49a1dead3120ef2fd601ef9a07479f982521cd32b5315c0bb02b71590c726a33aabc704dbd24730351b7e10e587f8ee1e5becdf701fcb4dfe5c4a1a8cb361b751893d99a7ea5d01a39a8d7f003082610fa69ab49b0603e3378e01b89e1ede84bce7ed19c39298d8ee21548e1ce21c2aace325fdc6852368dc0c51832bfe1ee91dddd6733a57b2b265280b59f52af5117405a1b9b9fee024199d25ce1a50255efcd28201960cd0e0a9048e6f909634d44e40a58616135697cb96c0d6e4e4f75521e73dbe8749192efd82da3a85507833543af5653559a8712ef34d9a05d3124eebc682402ec5838339c196941c4fc535232a0ade824ed368d5e2d653cf21cef4240af9ce27f2a2e03f6ef504ed614ed480057cf106d35fae40f7f045234705d7d9355619dba5db6269249f7489f09aaa53a941347920851661322cb499cd556ae47dd09b38db4c58ff4563ab4a7bac1b742962dbbb8da1483324a6b85f10bd47f5127beb1e582f84a66a1c2148a5f190acd787561274e0d225417ebf2ae2211050ad4edbb58850eace0aad4f2f2771f9e7d517f18cacde926ac44108dad0e510d9a3d865b6209315907c18706b4d36148f1be5a8d9973935e810874538b260974006bad01eebb74fa412807dd51920d43cf60c34841de6e53cba1a090a14004ad068cc7410f2a144b969507b1aa6a313e3e2f5cea95a6d55fe409d19cca0ab7d718da745eb9827476f20d8940a588affa25fac2b279ce62f3057589a5d49c8075dfc8843325df501985646b7f6f15699fb42ef73f2c9c2c6bc3e2b8aab5f0fa5df79e248b5c96cef845e717d35fe119c7db193687c9a08f451fb3d09f600bb60a5920445fdba80aea8521e473cc90a4faa01e5a74e3418ea876d7face87f592c3c73ec633859b525ed9362543723c03f7c4d8cbeeb70d65f4718252a0280eed383257ebfebd9ae823cf84351495d41f4b76468637bca03ca939234b68f39d1e30c6c25a94b727027574c9ea42744dd1d7a660471653244834bf5a5ac6bf3f23eb20369369c46d04c0d48040f240f35745082228662f116bad1ef276adb4ff5aff675e48bcb8a3b166a8cb03dbff184e9ce2713cd69422fe2ee2007bd8901bdace6d00e237440bbe3a20a81edead57d2c325361cdaceadf13f4d5e05c8b093042507d931e39864d0c9842c237ca709432cfea487487893242d25aa2309f04e23597677fbb6b2f7a386357002a7b34e53b6612831b195d68d1a6a897318e32a0d374f01bb15d1996720f26e209ad7329bcd58db85583bd7016581a47fc218c8eb4bd5ce8b59a37c9d594aab36fa5be9c52fce6013a4d9d21e1a6d3a0a261f6a53707334f76bbab4eba24bfc38d6c80da8eca93c2381e3c449568d5fbc98648653dcab941ba09b62d129df944c4d3ddfdea13ca04e5e37ad94b105e50eee019100f2828f7d8a70606b736fa5f92b8016484bbdc2ebe2304b02336e1c1e8e01098c4f078f722a91081c3f56eaddcd6a9e5eaa2e31492415b25f89dbc038c01eb205d850ec772b04e2f987d55510af33e2d2435463c3c68a6ec4b5d356c9ed875fe15b07720340caed09163bafebc8919f484854392a758514eaa9fcbe16d64333c4337fe65c5690e5ef127ed508e32e4cc9c2664641e7b2fe042a02aa19d68ad28f926c7c67e2ef0ad0464c9878dea3328fc6640b5554fa33c2bc0c1a4b970611f41e5012bfee4ce3bca33b51add7b6c364f38fcea8daad485d627a45cabfcc5bd1702a6f6fa91c3522228cb2a32ed5687d18b47783d3ad015643ab3235755c2b1711f9289f0cf81fd063353af9a3c221dd773909c7392aac0aa496ba0eedc89f460f0e1856a20a32c176fc585f93dcd2e033af4ea6c64fda3cdc9ab1b19d0d8e897fe0c29a0d911a73330a1cb379b376f70efb7852a73d7090177a4c03c4af8de139a19d207b693cd46c80d631c905d6fbc3cc43499763c91bec16b6887ce36c6eb54937706f81434e0b511a9dc32e16f7e9699bc02a0482253d71849db9773371d19b9829da4c82c889572527c0e0ceff8e37f4c4e0751337f6f16fa1682cc78c063e60c1084c9eb9f72c0ec1fee55ac8554781c454c5d9fd262daf6a9101c4fbb3f54ae37a7415694fd09be0a2f26728294bafc7aa811e9ba3c70c74bbf7c1b352e63fd026504a5aa0efe22c905f225ae5710ccc78de17393d9d4060180d159150ab307481ed164f55a1ce91d7fa718bef4b329a396753894ed6b9f1c4192fae8bc7cbef412821031b71e6ffef7ceb30c6202f20d2bb26cb7819180ab50ab469799d7802c208a8e300bd737783daf7d99ffb8d8050c76b6f42899f6433d2912502533f6edaa0800872d6f484f31a42169ce6935c8621e0cc2acb8adbbc7534ef47d5e1c6c50dfd0afa938233d19c4976c6345f5eb34810379be02013af20c12906013a358ecd7f2972a6dd383308750fe04069d5461c3747b6b643e50532a98d473ca4d8553ab4ec7cfc359298decb8762f937329579793f6bf9ea716b7581fa95a5b392b7b55164e73b3feb17ee8788185d3c94cb59130767bb3a7933a25341aaf830fb185b9bbb758f4b1717dc7209201e540b22ca4a78c99b6b8e5d32cbe1b65fbbdcb66f8975160179e8c72c964763034a9f9c437f64af4ea65c5b1a94fc29eebf3b19f18b8901b212bbcdd6e82ba28265b12d6f124d79bacc6040222107e7b751308b8388e26b9be8334006b2c4d551f905bdb4dd5da32487919181a4c2f75e81a1eda09514d6467f038e326c42eac0288803359d1585469646e35e7d82176454dac8ef1c7cb87111ea18851b85f54a4ad29857e96b40292e591c9f762b5918b1d8568a6b4299d15306131c2a93f7e2fccfdcd760f15e009aef0acb4f9c22fa22117f184102979121ab5139741032896a9307caec475557dda818de7a8ec6781f44e169130a34767c395f8d6aa9882cbc85c0f259c2e825f9dc19dbd825fe6b02cf8037339949657c0e80c45bf52d6527665dd40a2d3d237535e088e0e82ea3d470f0e79d2053917a37bb7e747a6e36ba371a302bc92641132bc9e26838d7d3f7e79f44be68ee484ba35bb1ae11531a518b97de0dd7b8258dac4c70b53e8ca1403b2edeb8f8ce8924770d7cb26ae3267e535c136b0d2eee51350e439ce6e062c3eb90ac199dd2f8be1921db381c7ea4e5a5a2345e5f0658d645bcaaab1ed835b8257219605c4134ad21735fb51312ec7437f93756950e23ac0f7b480b7268d8a9c2dcd9e25a84e0346b8b534116d18158d6598f4fdde2b8a4d0cb13627b116cbef96186f45fee329010b18dee5bce2f4d666018b0c9c1775b826b091bb1e52d0411c074dfd5be1eb892bae5623a1f369d9848f9779e9333d6e78402bff09be0f8de1baf39f1697c0e8d236710f8466a379fca03ef05db8e0baed90ebf1f729f32d393b6eba15972592a083bec88572bdf1ab1e9bc88045ad6a9d6279264700ef608fa205423d8310d54d9e3b71841d741dd7ead43674775e68091a179dc58a2629745e89d6dc040aa1e0bf66e3f694614f05ba3f993589f59fe3c43e220d4d0d470282a16cafbee8b164b6f6f8070d23a75da4f760380c9c53fa31822ac71938d62d78f4c2ddc8e273a42e88af5329160adf77aef67a11b2717c909d6597b255c21c5760c084ff4a2bd56e79958c55c3f57514af234891c8cacaf28b948737f07a4f0cb5b499a147d6f9e959c1294e1fce0e920663ed6590dc25d0a81853441471cb08afc0e30b5de2820f812f17a0573ffa908f78e494624266c9df6d77065ae1908dd0e237c58c76a3b43b7484b2f24f2c6ec79d4c6524e7306e061ebf45afa5f51e48306ed8068566d311cbfca977453dd044e91474e67eeddbacbe5bb154831c51cce97f9c1aca1fe061be71212da7dc871b1c4afd46c7401732f4513602db334190ce7dba442b5b0ea54353a255b6c4f3502cff0889bd78700aefb22b00e68549248458da540d2bb558205d3f0e7ea76439d7a1b2ec3367ddece6b58f57df1591117c160603448f3022655fe61cafe5524d5126025395f670105728d7d81b270b1a63368373d000c653bcb34e7b601dc46616a6d4724f9b7aa0805ea3da3d8bacc7beb1f0bc499169f2153078d18a0ac0067dfc7d486aa3c8373245e38fed4869d67e5c1d957d5b45af8c407becb0f31b8a7cf9bd7db337356f59c754f41e567a5c238f27fe40958681a802192f24259c983173ac467ec592d22b7a0c276900316f6b70d55db8a55eeb2124ff3b51234b421a925047085afbd258e8645e66d33b4120a3608fe74afedfc8771f27ade9df1a21041b14d19dc424fc444302e568ca359db00fedd75ba3e19f0d2638e8c1698fa8fba7325d1743531daa735872cd213b15ebbc64dcf2dec1e37b16de5d89552a47061ba5f718bd522fa25d2d2f3296beed101eb3c85ced6827644c8f25b01e6b527fd2d76e0182e12ac5fc2498e9028733ef8958166e142a03a964aea9b52a9341d0646228ea2edf89d7864aedd17b908b6d36991dc91d5dc39809d8f4f1f78d2f1014e8607fd6da36c440f63bbdb8d0141e3194779c91069897e712f2b06cde4999100424213daee4fc268afa3cd55d8b3cc19ed88e56c1e9cbc13c21f98faa53ffe327b47284bc52377fe0dbdef42d89d02ec6fabc9670571beab37ac5aac88d95d857b045411d8f1e16b51ccc320f89090aa08bb4bf802195cb9840b5bdb35a02967ecbb2f8624d5061a9453a9e42ff451671423d8901d44ed82b2509e84d76032273a4e435d323198de201af1a13a7f15a36f0f5ce00b5c20813e21282c3adf599cc3c3857cd2a426533147ee4a2c43cc3d0032359a33e59d46acbfd22ea38f6cbbccff45b0adf82f143c43ac6a6b947d3b8f1690c842f6fe43630402eccb69dc0dc8f9de97476ab6024f0001c6ac3b283f4e926c3938d753fb103f023cf76f880812ff24d11553c72249eaf781b903a4559958e1352df5ddda095ba334359f8853c32a0b59907dd5bbe849bd00e06719550830a22110cde2430d3e7596117475dd1fe202be037ac0ff919f521de47b59428ed36d6f91f983d4aeab9546383254f89761e96db0a3dcd3498721519243f504f241a9e29974c8bb2dc908cb8e54f8c1ecc4e1fd1fa489d3f0e604b08f0e68309cea3c3fe4a32313bdbe0b94b17b3063bd4b52aba5508c4ed7cbc581073bdd37117e029e6ca508b5df47dfe9dae6b7f20f75686775db1b24737ed3838c5e55b98af9ec63e85f6515ecd19650dbcc4edcac1bebb2c367c9d0378c6ff1becc55189297cf600d8c32a95e51e6b7eda9689f1f66c07fe6979a9d8aa167767aef050a6ef442c40bac9eb1be9c932b9fbf49c7e33c45dad2a6598cb82014aceb0908192f54ffe892111b640a07c290f1e1b59f5c069d458d55dc45ffe8cc77d8f58dbd57e8f26b4882ebf02b976c36b6767c9b85a2ae5bbf536232787b016dfa044b42807dcd080a6db79ef3e182c7919176714b1b8d6f061072d5781c0be1699141686db62be66fdd4fc17f4a928d8aec93e435f0fb1530c60f75df81df04244226391e084455c50209105a32a6fb2230a3c9f24105267373bf9c09892c0edd2c4dcc16e70585ac625ecd751103aae3be858f08cd561e94813e8630de72d0d0f070beec08fbf70ee3e808f25fb9aad0186919dc1814a20534df63f04d9c13fabae769d15501f46483de475d5ccf0a05e7abd10ab3a5f0bc3bc0daf56b06fec01dfad9dd730588d0d0eabc90ba0de016c716d1120eec475248146a650cce6ecb1a210331c93fd61ce150ec840125c3e761fd9fbd7bb908bf0fa535da2219263a5acb16f366d7db519c2e6b8e1bb0360c82570f6c8cd65e85e0289fe8b0e1622eaae67ea1ed3c9e3ce8548014edb31d55df6e614a70752f612fdde060d2687708e32f21b8a2608c0fb49bbe2075c81736793abd9b0776f4f8a2d552987b84393e1734960a9b239e9b3c2eec661154bb63d6ee3a90f7e5242935364eb379c292b84cee2279440d3bc1b894fb443c72244c00532d093eb4a0479b32c0d4b8e1c0e5ad4f7b97deb781470de9bfabd03677f9b2adf7de39bd76d07fa852c630df5c695aa136caf6178d4f2251acac8cbce1ca0ffaa7f4c826c8ef9aa1214900abcbad6be0a968e26ef9d384f272bc4cc3bb1834b9406af248256db77eda8eec77a0b3ec6c6c94ff3fc5b45dc163d16e4eb8e58421ae523940aa81ab28e68ba2c89b3f159c87646c74696fa04532a7aa41d344e34943843f32caf3182d5369e1658c13e29dc6493ddcbdb24d200878cd091eed857fb4c466fe1fe071e6133922e3c21b82bbbb3b68108161af41c8341a4315cab48980b1980b29af0e12a60972f2be4ca43e5bf0bcde540279f7b69946074d7e4c302412745a3e01d12e747c23409766723a72354d937aa251ac8cf37ab303f0897642bc9d052bf406aaf248d8de14a3477ec3dfe4bf69d82e4d1d64c9dbc31aefeaa9042115ac0f8da8818a1f5c8cd23bcde6aff0c035acd8a2948102aa7ce31684bcc27c84742db3e8e2bf595fbe76009d8b966be7ada94cfedc375ef77d875ebd762039effc007538b7cfd86d0fd5e05dfe2257c1117b6b68b9a09883de6256e7ae9550b3c6b2830baa3f75180ced65e77b0dc4154fab4405b2558ea44ced11825a4203469bcd5782fb2b91f34379b99b731b9c4250bb0edc742fea58ef447391274711c79561894e2979167c71c0b1332b6ded364711048e2794bd8f489dbb0589cc65ec4084df5a578801be0f31ae6ee9c7730169f29c8f4fe9453a7610a130d57aac428b1c78a4440877b4f21b251f81dedf3ba16822f310049d9342eb91810fbbc509", 0x2000, &(0x7f0000002b40)={&(0x7f0000002100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008a80)="3a2956771f5af6a59f431f6012b2bfbe8a1a57883e685d9d6ac37a6582f7627997a74e8ada02c7bcdf16a27ad55064141ff6063f254f6a81143ce5cfed7c14e57db057774426562b0ee70399a434ccc567e924f0bbe5a048e679c1382d5e04a1022229f48c146e279016f24b7f8f6cbbd60386d42b80ac2131c7db0a6750ddb3ac8e3f1d29f62d6e7c517501eadc172ce63eca9ca1f1e582d1745fbe7b073b1d74e83c74b860c514adb20326fc947fe263e86c61a67109d22f11831a0c8d9e2f4dac71a52417e020a6bb082ab4c6bef0428083e4fade4fab679ea5db2674557f4200e16718cc838d64067df8e6c61881bc9875cce90b6f362bedb3cd76c739e010885a2912d84c06b01e5b9adf03f7690039e2422c5d6e590ab45b66e42ca8a45e836c6d6fe2d6542bd638c669308967777253b420491eee4fbdf681584b3d50011983582f4fc3fb009fc4337e42b3378dca7f268fab71c69c8e16fd78b89971cdfbb1c85d703cf61e97e97937d6dec1a045f8392389a4c4924e6c60224d6a55218ea299134ceec06d34c5fcaeb352e2bbb8ad3ac143ef51e907db89b3a06d417f4e029158ee674d115ee5014edd96fc5d69800be66a132a917c91c108a3a03bdcbf6eeb6e5e3d04b20c6687d919a54a3f50f719a96e95cac6fb365dc39fed426e83d62310237a008c6bdc78d2ede2dd2d6a1b434912b0be9f7497d88bddda3f2a90447e984a94e282c45b54cb8c772bc5a7782b76ddbd0af7d0df7fd3b455d8c4889d73d6790673f6963ac96e7be68a489cd06dedc03bb756b5b8aab25b040e9e6df6c35faed980f923f45103a4cd3701a0e77a7a0316cea6d7290b694e23ed60e4429f8085511009bbef29b03876238c2483f031ba0ea7ba98fd6b70994f7668eed0d33beb4584db34c942b086628a4b27cdc8e87dcd02fc5304b279c399d093122ff260176ffd38eca07fbd8065d52aa33ebe77f8364ec7d297125f527f981e865d0c1f5491a44184c71150755f763e6293996b1a7f6fcb8d16cdd7b7cc51d97e6d2010d7dd111b3bfd2039daccd480391f7714f5a54b74ec2958800e0b57c56aded3a30e275d71a39b936c0bbf3d2797f2eaefa21cc4f306df67e169bcc4d7364c9c4256fe64c500fa944591a59758476d975125256d129b71603ec4fa288a2a03e839704e9fbed3ad9e70cbddc1a71339e0cecfe5056dadf16b193d84ddbf5ccaf952c70ac7ec0171090f60b8242743276efcefde5cc56522d35558dcd5a6f992f2d2070f3a7df35f669cfa01c7e8bca3f01c5ad99441d1b6218deed663a3cf80fd18ac78cea1c08783f52cfb279b1338bf9ed2de0b8c4ee9193856f232d0dc6c9b2fb4ef55e6b14ccee83e131fde17c08196c41924f2aee4e95fbbca8104e1fca6e559dbeda4918ac5812a99870987b92e64ff28c618f7c5b1c1a71b4b2283ca78657c43b7aa5aee7835160a68c14675c53eb639b9da0264a3370d469cfc958260492da6ced05a8db88086b4fc14cf50f60bd721c460fc5dbe3333d4141b2f6b7ebacb26b1d9ee14434e21a12893a66d4dfaea2eed1455ac397c4a0a0751eb92d22a63b168cac901bdf890684a85378740d710d10298cb8045bd64397dadc4b6fee80262d5f2ff2f914f3ce3247176667fb30dbf65ef359d12c2a1099f34df80029ff6dbd2b83523bac55b25d8038b49fa012f7a1fa5caccf0d2181a5c0bddb2b944efe3e8c77b789951ae7a7e5653cc9e563d5baaeee31dbd6838b57c0eaeebfc6cdb48f458bbf09570c14516a8d2a9e424b35cd840a94404881bfb2d9a39791a46d3fc61b2b9768231267c46ef614242719cca0b8a426c4ecab4af29ef1f529519d05b7a3da113b518978385ff902fee7bc89c715ce727656f4dd78d7b81f060cde8e93c005e1d9799ff08554d3ba6807360179b9e0246945159786792727a115b22489f91afe818443c88329e43d681744727a56ea930e227b4544081d2d4ca97d67497029260c6d763fc92c51a5b08230d70747063606e5549646e4f745fa0f001ad7d399dd40ddda062b0b36ebf4fd285fc497faaa13cf74a39e535cd859bc20bf6672017d3db518a3d419f334cafa8234ba84de94fcdf22e832177e9469ea66678d89d4e4ab9b769ff9d38b29f0856466f8ac60fdd7e834724e9e528d0c1919d81fd99c72c393083429640d2f817ec24de88b09cd3aed923594c225bfd71f661f1b0bcd611558dded48d40afa0e95932f44d28228b7270e2188866fb37154856b54103e7aca99009d4e11534b0545ff6ae0233c50fde3eb44a2ad918b30cfcb717c1f58c7b7caa5cc13aad0837b8c894db22a2f55320258bd985c821a320ae1a15f8fffc61b169dbb1690fd1c8dfa2b89ad5935f5193f9ab7717c1319916d44abf496384a7ae8ff772f814bdc2598b1feec2d2e5d65158e8a7b39c4640eab283edc612806799cc5f94be1cbc0e5cab930e8e33a15d913f8b08ea06563135b20bf83da87d7a9e09d652f498de68f9ac65cc670e3a600c5ac109337db9b43fff311828c0e9c9a3d9a92028742e23d1f00bbc27c865b8fe514be04e74f38c3d07cf0ca5042836245d53a2afa0effa54af510bdf93da93798d425ae33c2cab0dc4a1274d0919b7fb34b6f8c05b0fe05cc8a42ff6ea47eb35c48c366e1a8e4ef6275c5761bbaa484104bafb398b1b5a25a8c6c2a20461db45315985b159009d5189230f19c4b6ab6bb7a910d815f70f1fe84b8c72df2662d1fe41692ceaff3296c88bf49b33b0f6ea920100c45268b10d76ebe55d4caa19f907085e046a8ecf1d7cd3bf8071bbfe1b8ee11a46f673c7b431da285c7043638e4e219f1590f186a533202b1021936734f43c1dce05625f5542238068a108ebcfe86e44a269f77e58fa59e30505e2483dacbd71bda13c0886c4fb7a98d26125c0ed128e55f5f9c9e5dde773dd3e9b4009898f8c7f81c1a2356052785a8f53f62952e1751a99e68da0ba272aa82ede934be28ce09395dc340153342bed5ce7973b43589fdde92bd171f94aa1c8bd16801bb90622774113a63a1a06e508fe8e5921645d071e95898d51869a777f7815b7682306e7c660fae9f6847d71383b4f291c4ecf3276d34d0d57769e8c8f598ccff2dad3227e609a53928d778d2861438e359fdd2cd9dd0674adc48eaddaeac727c455c9420c0ca24797b257f66175c5db24a66766e3679a9376ce47d22759d1f5cc69ff8aaee759d0285ecef6bf70722661df6b53dfff9e78339f016ce4ed49b67ac75a67595f2b510977e91bb6eadc34a02654700e03e126bb0ab2c28c1939faf21f81d1ab1204567579eb75a67e9c2d8095917993d6b2f65540589021d709f100ffa5d50df801df3906868f38e38eeaee0cebc05d4c4a1b33336c5cebd6268a70e46380130c0dfcc27db6716a2d7514d2679954976ace50ad0a27abe93034b3b675070da70d8fdd3ca3917a0a590c8e44aa7dea24f20c08ae98abcb7b52f34b5dd247908e86b4a9d5fba59476d744c1937f11423d0dae907aeee5d849d2a98493ef9a16b8f5372b1d738730b13cc60d581eda7a9c0ca9f3d0bbc271ba18213093cdb7407cdb76ba7cc15bb9b24ebba3f40ed32b75ad19f099b453692970675db963e030a547b0abee1e845fb98e0742be83255ed1e82e49cddd36698d72e9f7c282419b6781ca965796320f32d07cc84813bf96619c99aa8996a5fb9739e6d021bcb3607ef535073878c1c13129c2d9d96e44483f057759da93e98c941b2bcc97ab7ea8619955d1e02fad042f4dfbe6778373b9760cd6f3d9a9f093b0066e7f9e61f319d5580d03b00083823b3c265d0697ea21a68e9a2f9764cd3aa8e8ed5771d18b118000260d5be2c4982862e92e8eb671257ab95726a2209d6e528c58607b9aa1888450b3e9ab81d4edd6d82ccae8f1f7b8ac418288b1b7ea06a8c6f32e305f05a1db97f6a0774e2dfbad09413d7f63002d14c9e8ce301a4deb123e1eae7ec731518b0f01ab7d10427bca6cff9cfc9690b90dacbc5d707ccb5e4a80b6cb9888c6316b742fc6fb25d498df524e0d9e2ae82402021541649f685a6804c54932479d6d7dbb6dc108578d646c0a6047b08d10925f1c6d68a63ae5a5af7ae03da034d59da76b5681d1c3afa0777050ccf2ec1c8cac43c010db93f13a1d6947ed06f8541fcb7a624c6dc51f96124c33ef152fda87ef884e62430990a45a442e265dac6df81aa76dd4351ef3061d36d3db645c92e85dca1c5a41c73fb06f4eec5a13f236853187b619a35891079bc8a12ac714ee39f352a061f3d32dbd1d0b8be240f0fe9ec53b1fbf2c4331f55fb55538d9ae492a93e79fa4382319a84da0549f0fc6f38eb3c872bec9d6afc4c25700b22d8f0a6e5e3aa07c9a62e88b4e74f0928c96ad48af45d7d9d1f7ac7d9a108e0fe97303623e15670081be978eb10083e1da556a64ff79bc9102c0581ba924a7b9580573131b97ab06765bc0b6d4d36719ab90beb6da10c85c872b9a9e34b6bd9fc1c693a785d6b5245f082c3c126068134e3487840e76d918a60ea3240a9a319001c58fb6bc6424ebe212c1b6d0f81d55acc890597c259087db04cac2cd1d1e0895a1f4adfd910147681faa872248026b87e205f382b29cfd89efcc6efd6b3464dd87acac91077b90c394ec420d0a473f8cbb2ec49100555161765668fa4468927a2b11a52c606bb723f97dd9de4c0cc60a64bfc92abaf5fa87fcbb410a36cfe35581eb6d480bee15de674402511ab77b4ccf188fbf12234cfd6e50bf637a3fd983834e598a31ce8891bcfe55448e3fbe6eef14defa34b6df4fafb94498f33d0244db837e2de847edac50ab6b5ac7d325818956ff231d422916b8d78b23d37063af3b4acb62966e38d95389e51fea82562787f7ff1cb59cb14933a10b8f606d063d36588a8724b83eb70f690b28cfe463d89f330d7129262d436f772dc13040cde2bc5aef76ea8d37c2c0a97a3cae5abf3c6b3f9b195413d30b17c022f87215f557a46fb13642c378917b29ead844583b5d31a67727f454e855e22afe8e41fa5d6f67421d4de063995af21ab0ad286bc63ee8232b4d9a34a1d516009b10b22870239c4c1d94471436c2c6ac2b90f790e2d58c061df5ff25926d706ee0caf2457f903b080be1607417202a2c6dcaef5d7fc982221495a9f1faccc3b25d0b99c6186db819a7c699d9ee02695707e5ed924cc938693647a0a611c45c156ec35a7900b58bf7b539c499dd8bff4326001466fdf95d84f9113970403085d024f5adf96bc92bea361483b61e6fe0c1520b1242485ca89b580443b6bbfe0f2a1230d0893c694bb24fa41d309d8903264c01284aeb5da07334ff3e4615625d5ede30fa4e1c85d013c471ce7872db3754d28260856329df287e28105a6986349f34850ad55a01ece762dc4ce036fa1699fbf6ac96a625ffc0bf43dd683e9e25b4e8cecb310067329521bd4ee29dc0809e22e4131eb053288fced030459d258f35aa96c45b6e6981399725708fe8265ab27cea1232d13abeff9a0c37b1d68d779226b23381d7aadb274f74006014f44a9c91aa1760d17c2d824461bb9460ebbeab623db4d0e8cdb5a5b24236b58478085e66887ad5c5d0cd1bb7c85d10974cdbbea7a03feeea8048b70f2bdfc202fc2edb15b2356c685bdd09e46bcb6305cd29255a4548148723df27c9404c31620baa7b85d903f60ac5bf4bd56ce7464755608f4a20728cf926a76cd5cb6d771f68eb427dc8b35075a37dcf2f790e7fc1a57d42e333ef67c39a8269afa2e04e1179f040c804696dadf934f9598c037923a672445a2b367978637fef36a9d1142bff489ff097298b6e6ca7ceaf75d022edb480a29795f9087554c2dac61193a9d6194f790eefef00b89f10f9608c7958e5ca515841bde56fa2387ddc4c7b6fd10cc8a828404f1df9bfc0ce0674e9a9a1362bf4e5ad44d388836dc94a178c76f2562798e93b5ace97a674d3d29bb167c823f4e7e82859cefa6600d9d9fc173c7431c178498996febfb86ca25d4cb81cda8ec5af8ce6ae794dd9207485cf7d44ba666e25300a47d895ddbf8d166e69e75df5bf21183edf5304ac96bd75849905c4d1469986905f866f8557aba17e0f3cada7a53810382bc11f19a18db3e3b32f2ceea267cf4df57637c36c35da6df3589b4c21a40270988da6d6f9ab839e76bda10227cdbe45837521d619d7b4ef75efe676885d26d0ebe545103e7f6b407ded42fe24085325f71b5d32557d4002d66bfc300bb883fe18c44901a58772d6ac6cb053fc644c4eed538c94a1f93c1f2ae3ae6f317c91f60b801e61f256efc3c3cc4662b7ca17c9c06283dbabfd981a47d11417e65c427f00b63d0128ad6bf80b414fee7da663d33b8b9f34240073e534c91202a9549ffcbc18d56a9394f2d14d1931ced8624137fe0e4aca06a3b8e78b11a4a52419886ebe18c06392653f58a41e6bd6fe1e87a1b9b519d479b1743de2aa9c10ad054127cf4d70efce0ebacc5ed13eaad6814dc36d972a7af7aa721eae1635fa18c7c115960afd5ba393ff1bba25bba7f79c29dc748f976b964481f085bc04f763b718deb70f6f487e86ac805dec0f4e62cadbee833b5be88d0daee54efcafe77b67eb87145fdff7b4be2de2e3247d75204b808768857242369fe1ffda259057c541be788566ccef149030e5f03e0fadb8d16d281f96ee8a08c1056494e6bafae35961acc3c9d8d89e86c4a9aef1a82d675f6a316f006fdd11220df77164271a3fd5e821b9aa2dd8b2004def5506d5dbabd194ee19b5d896389a08dc7bef505dc3be0f860a8791b79351ba445d7d68cb3e0e54e23d55bf35376500f1c06d4260bee647e06fb31b19ad53ae8b7a56db5e89f68fd7258f05dd922b5b73e9385f045a6267fc3cba704aee7d7af063687ca31f48d209ed2ce8bce8b9026802181b7ac80fda0830783b2e290cc91af64a8e4b90e94777642695c7f31f04bbbd0b94b487730306b0a255fc7641f162157aeb524e4bb5e1fd4c234b2d8f2c213b7f719e1a23bc19150e5c6beeba3d57bc7b28b725838642eea73ce6c6c980a5d5d6b5970bdea2580e64a72d0974018252d6e4df03377e59c820fb2d56df899a14aa21b3e6ea5e82f6b802146484f9ba6422b7247e8c24d575453ecfd2ee2077d3047507573cc7a06f3816caec285ecca8c1510727da88d0e88e633db52b6c021672954e28818e54987a57e7e2a35d0c320f5cc00721ba826c0fe83f1a2138e3558d5984b328f24bf0fbf9987184fda88c1b0638669c99660b868577eea7640601070ea1bda7b69021ae8f7b212812a7876eee199950b194bd494db5e09d4aacc4925b3b51d11117c4d51664d5adec628dfbb66a35d536709dda1d4da7e960a0784b75041a10604cecfaa7c6df2cabe647f627683a430031a9ad7af3b06faac214c1728b6e3d613e515defbb6d7349dd91e4241862e7cd2594694c353ab85a4f7f02bd6046efbe93b9a718b0ec84c16cbf912041fe6672c70868fb38b34683d4e0f47a7d653d04aa3b4135536002d310b6e2b22ed9c465e6375ec21f8bf18df2b263bc356189874b99c16701c479d51af3be9ffcae93b2fd550757680af09bcf7059299b96ef43732c9ae79a4067108ee92b68045647170c01c89132327a617897dc78caf67622a4ed9d3e18c9a8ecc2836ad34db0118af3e6e0e3c7e12219d314c9ceac00e0312047d962fb088e29c402a0f1e432e0a936a6cab3a98f3120d69bed0010cc9dd1722b0e250bca21d9c309f5ee944cec194e78d5b69080e195aefe6271f078154b30a9e4dba4007a89a00ca20c0375b6b4c665e725e3da722f06e82598ac8b65ee7ec8ea65c3762b1a6fca6b540cabfcd1bbe0dcf3464019a6fdec31303b64bb8087d665d3e9f2f19e405008ac9f00eb7ff2517828fb1ce0a7a9e76c79bd0d7b1d734adf8bcc938c73e0c89742bf6ce0e34f6c95efbee04d14e9c5147185e70d16a9b6571cbcec03aafff2287da728bac5b8b96b69b98860dfe4935f33bf411de8864418927d5b9046093ae9e4a0a47e460b3350dbf34436aa023419b8fcce3f66226d3dc8c66a3f2e4be2708ad5ceba629d2f2f197d1d41717f515c25a40d252b9931a063242e8dd9adf1a22567ac6603ddf9b18613b32e28dacb1797ac3c037c3bfd0850d8b893881c1ced7b0a4029aa0979f79abb414a264e3367de5dd586cd799c7c4bfb91c7d5bc029e8fce81c1d68b59e5370cacd6cc93ba3f6f6e1d0b48bdb588a2d273eb00edf4139a6a7e64ec2a34515984599db4b201c3941bdc622ad1504034956f66bd398d0c84dca5daa1b2dd9714c585eddcf3e286f789af2a739cf78445db43a2bad37be65570ec5ad41f11b18fd00270d78bf46ca5e3e42c6401faeebecabb5c7196c6458d0c84a7031fe407371e6ee983f96cf61f452a2bcae0cc9a529f6d19519dc0d4166790813cbb2ac4a6d2b6050e9fa50c0c20c5112e8f3817ca59e52ed05baaba617bec24322c61c3d2969f8f05718a6a6c1cddcf0af17a38c94fbc9ff1ab449e6548bec6f7631ce0cf31fbd1669de6eb9a7bea724af1e3dcf3a34a6b0e29ee244c113d7fbc73435026db2cb29d70a903af5c6b5234029a7ff1012e859ad589a9d4bc5a375ac0926c1823b3089afe5065041380c995960f10f559fee23ec1550ec609d1912990b875240f079e6ca65f25b8104293596a9c435b8bf1a05da75e3693a28580e65478eacb86f5e99fa605ab21ba2c6de1aa85e59a82c1a0b12793a00ba5ce641eb67922eadbaa630559033f039a88a11a4eff70d3cbabe2c94b90afb68b250d7b3675bb5933ec810317b2325afd74a62af212478092d6610500c723b434da8acae7faa2d152bac51263badd79a298d4ab7744f4402e27e5993f5b6e0a109b24da3d41552c0e8566a126c5fd9b338724e964a0e4a63970291d480e70c168364d0f7921fc5910e4bcea608514c959366918ee13a674546806608f12cf6a5cc26f2f2db32093a430576065ed215510bfd77257c8e345d1b63c25b6eccb70443c2ad30e8ea9cb37a325317128346b9c8f9e0bc50c0470b5d6dc5b6f44eff439d1191fb24fd3500762bd3418e6cea4b0aecd3d9bdc1bbc3e72f5d793baa016a01f189716fcdf69f31f7553b2ea27bbe808f9356ff6aeb75941689c9265871ca8752953f8e6133559b888d5abd1873865b699aa73bbbb979cd5a7557ffe07a2465849c63ba3a2188303adecf96d6d0699613f8bc4d6b96c8caf2c5bd8a848eafe499cf48f7e7c13af17aadf06367ab4343c6504a6d894f49928d70462fadb642bb5c4e0142947b75d3f7fc9c3551a90867a65dc4890ec563e3eb517951be68fb57e69967ab1e63c14e46e77eaf97feb482bcd60aa657d6f4f432103a503526914d7b63a8e38981540a31cd90ca186475bb6861cb6ea814c16a3b24e20967545a91b4c114e1532df9d67744d0472f34b5f8c061bb93241d47e8dfc92bdc1bb8affe7088dd008f43e70470cf428f9beb3976ab4afa626f13868d65d36a9c0b1318d793189eee41abdbff8ae0efcb81d985e3bcf93f03b419e27f9162f34e26429bde69ced235d86418d86754e5a2b20c2ceb43af44b213e24d924b4d5809a7813d5fd80f505e6c09517f0b5855e18ace372a064ebf3005247bf91e0f56fb5ed05d942b89c7a6231c7e11a2ceeb69454d9d9d1dfb6f35baad98dbe448091e7094f6b11444dd7ea613f11045018d2739589288929e0da6ff21463fa7eaed2590390866d050aa2ff918cf5b6e547c8a39f85f039c01bdb73dfd1866ac165e87d62ef7ea8c6003eb3439131d28d13d4345fcf7c13343a25f58a8748a3c7035fd3dd4f0ecebc33cfd9c5e504d6ee6180de17cb49d6596056b34dc5f4ac6cc2e0f36a03f0c23dc23d50f228dc8e07cf5fdd2c4dc02b85f795f255d0939c531e53ebad5769775a82e3c38b4901e52d2e16028715d88a2338c93e1ac5b3825e0908fb42c0e2e74c50f02a8a32444f7867c0a756601bcf33efecb39e19d6808d48ebe63454599cf45cd20635abff47678cc7f6ee52bc72ed2b5735face9d896fabecbe369b3122981b5a95732edd3bab3eedfeeea2b0ab9c08239057eeee3d5f29c11a5e93d3c57db95f5683a12c0dd984e54c0d38ccec71ace236f42bb4ccbb4742a407ca3bb419d445222b3c11063384bb020de96ae3850f912a0982d0e6ea232fbbc4144ee5a9afec0c329e6bb61ab2fcdebf257adb2e66994d48152926d99365d2482ca2ff11e898eec98d6911867864663bc5ba77dff4adbf9c09cb8fdc2765d523d5690d3dd40dc8d1f23808e9589046370ce46f9313b424980ad7fd78ebf0d18c86fce118f441be7d8b0cbf768603c7aed92a9696f277e163f308a286212871d8e4da4d5821d407705e12858e8900087e92902830e49814a55da415769b6e2b20ab3959601089de76875413d7cad60c8104506c16e33c99ba4d5292112bd96612c39f30a1a2efe3256edfa3c3be416dfdd13337b170b9b19e42330c03483ad252e67a8588eb0f14fed645e0ba71db977de19c1a6b0d30effcb8fb5686c56cc45279faae305cf9f3691a8621ffbc96c444ec9e77c5831ede209698e965ed0b006e469280e6d1662bd93ecb0e6ea13604583865631bec5c77c04ff72a776ef6c756b96e81771ea7f151cedb59a3b15cc5a59fe99d4763c9984f1995ff0b492c6d9645dba0a362ed790a9ce0c55ff8ca079dd55c56416ea88e8472377981577a6dcb9e9c6859d4426a0a40811071e6ff54bf990f5f44ee1329d704fa66a3e274ad60e809ebaa13a7235da642d2448d9ef541f9365c92294fa3a4290ab31de0c519cd63ec9cbd060ec7cbff9dcafad1d330c72d93d31f8d558dfdfcee6cebaea575c2566d28948377ef5d9d8a9a98ca3f28250e5967b0e0200ae29b5fb58ca7301133af033436c6a3a41ddaf4a79574c45a66022597b754ed50e25858e64ac0d6f45718b21b3124daa17f4da4726e4a3a19383b32042dc9075b568e0a8656b0453ecf93ed7e37600f87b4d1552bae327104b1c09cf3900948b17321b5c67dd26c20d9f385924c346ffc37bbd0b0b20828ec9311210a073db0368e34c3b958c4ca123340d56d3fda5c711ced84bef2e6bdb53385157c5c0693df74d5cf5e38d7bc232a28a64d3351b6e51c0f0de4bf3428acba44589dff5e383f2d35a4babd345e2a7b3eda4e51d3e7cc2fb0e8813921a774f2f7f9828f34e871bbd4a124ec2242ab14a17aebf4f495c6ec10817df6ecb72308527e9d0c2c971d4d02b3013607f660d45e68b9783abf979237af367f63b4b116831b1a18735f5df2706c05d26edad61e0633c639a73812bfc1fb1ba58b2ed4c58b50638cebd678e4b259a7baa81c8c00b3c1bbef3cdd05319b6fc5f83147c31f6bae588c68500b40af27dcf01bf6c37dab6fcd508afcb2cbfa42b4821396b10d786a4b156b129093d0a4359dbe099732259207db6d688a745a42315b8fc9234a99a3f15a9b511cc01417fb2de8ad146ea1078d9a04f7e4ae4f2f730f949c61c213c5eeb0fde906ffb10f182eeca1bf", 0x2000, &(0x7f00000008c0)={&(0x7f0000000000)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0xee00) r3 = getgid() r4 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r5, 0xee00) r6 = socket$netlink(0x10, 0x3, 0x0) r7 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r7, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, r8) r9 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) sendmsg$netlink(r6, &(0x7f0000000f40)={0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000180)={0x10}, 0x10}], 0x1, &(0x7f0000000ec0)=[@cred={{0x1c, 0x1, 0x2, {r9, 0x0, r8}}}], 0x20}, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000006300)="4e97124397b9b7346210b31b91286e7d22a2def9db4eba3dbcb09440d1256a28914d2a3314c466d66379ce3cc2ee05186737763a5524cf844f444929191b84beb946bb0ec96159997f8e8f943b5dbf10ceb39f76a05b680a1af7483d1bd07fc6c5d9d713ce0ab0eb3b87385ce5bfc34992c6a1918f6b9225153b507d0f49a40df36be4b2f21a949caa24c35481766d46216366c1e899f788868100de105973ff131d38727d44e2fe571fc79b412218e84e26b864bdd0b0cf32928f5c3f2481f84366d210ff008c79945fbf19888626d5b4f334092373e2d0cd125886483e2a1c1dda0c6e98605b3f85a8e95778a37ebb5f4ca682ebc6481eff17070acf229c35a0dff0e86bb930c9788b85244707ffcb8ed1cff991bc57bbe53a376a27073b5a924639e95af912865aa809239f6c1fb560c93d658c00951678cff9a7a92ae5a75e5f63e42c466e7f0d245996095685578dd244e37b6c88d79248f2908fe4f046f0a40b348fc6359befd75ee67c659be6c8d446585f8fefc472d4f80bfc4b074b7d7c5eca157807040bfb0b046e4baebff4ead609a9cb59f335839be73dcbe60fe1e0f0b0cf6034a787130994f5b1d2b5f502c61afc1b9f9943df759430d6633b991ce6bfe06e5df54a74d3f5c229d9b02ce9be39d69c05be9b3b2aad4345c9baf1977bef46c79fe241886903acec93d0b9114b39feefdcd06728700850dc658a4e1a4a515459b70c4b55fb20503a553336b04c269c7cde690b7015b4c6600b5dbe003e15b87b58e7696c800abbfff3302c4478567451466abf28005f81fda8076cd5f9b35af4efc8a3783b9cbcff56ee941ef8abfe74ac3d55802659a03e43d4ef9f16db9d32a1ebe7456483b8fd6213e8cf9de6824a04f14c83172f0ce68e2d34f2085b1dc565523d4010bbf901636f82f3b7b3efe5fc56485524241ff2096706b0f89f6a0365d981c417d745fddbb5c28056910c386a4e9fd05025647577988ecc159425ad07da217b3b5a54f420f5023bad762b729373319bf2e23f6736cc1c119bb1546b38afe25f90ac23b18beb1e575963883e50256441677a5d1feba7eef283c87ee0ee34ef2ec4b22a68c5b3b0077e07220429e99fdab23a45d233999a08c04c2628f673c8cb8a9e3aed36c051f30961899b4b25fac1f3c849e51b100a39b311b7cf90cb13a97f780300b808531358e579a212efe0aa830abe5935f6cd840664642f3e25c8daa46d609f0ad2a5be99a898f4ed86261fb08b8bf458f45922b8f8df95d05e9956a7b79b2c9ceef67157945bb2dbdd2136e7b9e5dfa8c2cee6d8e3f95d64097ba1eb2e7ba44a973a4a93730bf3daf7227454a7bb3543cc59ceb4e65741d35a25fdb6cc8b005b3f6dd5257424147279ae198637a65b3f9d716005c3ef32779f6e3c9f602ded262bb6f21b457dae5e6e327e46cd7709c06ccb0e0828c4bce5d7396ed55d2c30d5e0a9b40c7fe41d79311364c2f5888da45ecf97c75f7580fa745e72d075631e835f82594297e82be792aef379cee304a72757cce35028287e8dae63c5a0b5ddb5d4215573b101939ff7f384b1d055688a07239e64ac3e31af5d45dbcbd345138c6ba61aaba3e143994a96dd8e6bce6cfdc9d2e3d45223f0dc57f3a62a6b8a7e248439d1792c49260090879ab528b4433308c3f025b1884b7b7f565cd3a4b93bcd3de0c791d657a69aba8aa1fb8c6dbe783937502530a6addfc23d86f80da51d492c9cf7b437305b331fdd3d2dc2b3192d8f32753042398966afbabfd4803909cac2912813f4a8eb89bff49361bf5337552cdbaf918548e288df334a558bca53bf83ec229f14602f0b85a789933ad3a3c863adbe49322decf89bad4ebe16e9a883a6997d0ef3d209f32c0f51540fdc9aeb9f711e0a970220dbcaf13e9f9c7f6fefc57fb0306c8e784ee2ce15de22bfa184a3c6a51ef191efc78f26b836dc391a1c3b0fa2a587b1671b4e38f71510a678ad27746666d2cbd8b76115207bc958052c4fbddb445ded6f15d618e66f7351a68f2ebeede330fcdaf113390713b8286d4c871b1bd59f549a3a5b2ad96791fdee329bc2e62cf60695cb62942f0f5b2c78911ef7d0f8be25943305e2ed118301fd12a24f54ef94cd00bacd7584f4c8ee4f08230189098cf5156787e6a279ba60e2cc98a9690c0d510df50461e0c1dc649ece90776e239d7923d9aa5388f211c10e201851a108f655338930835e551e3a2ee33539d2336d469f65a7b4348665722846f4079e40fd2549a86269afb281fd02c5a2928c638845608f0d48380c16a63fdcbad487d9f52974508750a4730a5394812d58d325030f0b21dbf3e9adbe69dd78ecd3d7011b07acdb7ac1086c792f29d82f80b6fe4efeb36a65558fee5fcd002c841ca02c6d856bfcc43ade862451067ab184319ee4c49cd2e597ebd76821b3746f2580c814d004f87f37f5adada58a59d8b56d890d3a9fdf613f229addc72a426302cb221cae01eb26ab0c599c0225824c74c88138bacd9141672bada90c2258cb13263b92d77195bde4b94632f52d1fac603b4064b4ebc77fa55c6d2f9bdcd706e19c9fc94a58e616314b95982f0a3bbc1005d938528953666eb020093868be15ab6a156cf6ac4f206689b5c06f3cebd71d1b93e8e9af099df5ca6e05b9522fa1512412ac6ace40c2589ec4d76a65c2c9dd749b392434f9f710e4df46ae1bf82feca10552ef08a6ce29b2ff9667ec84126ae1cad425fbd8ebcb151749141ac94a4e8b4d006fd97d5ca4f42b6dcebdc6ab354d0dbae5d34ecbd9190146c5d5aa4157a32330d38b2bf89dcec710823eef8411cb07797cec5330774c05532652b1cd3f1b4055e5f101f582bbecf3e2f47aff3f4729108bc4d8040c1b80aa429254403957f97d12ace0cb487ae4d61658a974e7e9c5902d12cdbf964c4b442127c9e1938c3146fa7f4d5bafb5b89aa72cfbcfd7d95ac45e7d5dc80442cf969542ad8b10ff99a6390c56c8eb63780f59408cc09fb4f60b825d3436c2e04315a23bd594402a28e4f6deb36a7eb7a7d2a487e2a61074c18cd04479944a4bb086e58a7e136ae56bf16dad657d5666021974925132011f0e4cf255af5b03b01771bfade18bb1aadef01dce5d419a7d97144cdabc5cd7b2139361fee7c694b10bd2adaa779a330e42362f355b9e6f4c2354db470303157ca6323cf4661ee14b8c31eefb2bc25c13e60f2557661438e4c6347dfe8231843d6a3e0950575684701ab9f30f7896a06bb4ae7b888813e29340d1b0bd43d871d83bbd1ae59178b620e2058a8bc8cef4affd9694259204b443f9f0ce7b007e4f1d996ce6dae18d7e4a9380c4e990fd9bf9f609c64aa409d55ddfd1bc188e215492385474cb4dbef4980c8531b10ca0e7da47cd7c181b19ef09123843c1e735cf808edccfbd5e59c7ebe642af7b8ec343af3e0ce4b65baadfdfe3df9021468e19441ebd7bc014d32d776f3a8233a8fc9c178c05f9417516e4b87086aeaa85ffa64493c79f276b520c088350677b7b0d80e95e7d62a1c04065588875387073550ecf48676a292d6b834e92d270d377efa41ace963ae3c390d1e1e1f41e730d95a326e70b0afd423129502ddb4e4749d0bcd23dd91886acfc4bb0dee877b9bbade4ad269a82c953622ce4d906a65bfe9a7c94080f4845dd2f467d3064447910d999fc297982e7560951ba971f4380493f9a8f727f5de7d063486b3d76743fe8cf45c50a82cd9f4eb125550721631058c8794d104b0054969638d86f22ddda26f389ad6b74df49d7b1653b4e34600ca27bc101c7895c1d190d0e7f858d6faa4b659d9e749d8a427e5fedaf7679223eac568eb3ea58c9d189ff36a686c97a0ef447b192220f632d7738f627ce13c1833fc52acf2889a65391e90ab3da27d84a228c8242752ec2db350b8b15de6e00b683de3a79c0b514d0a684d185680764c206780fb367c0ebea3ec741e853a0a100febf40821604da673fddaec16579b50aa32082cf669fd8ff4d40ad57838b93ef53eebb26e356d0dd68c3af5038b54daa5e131723c74404af64be7ad3af1f606f3b6cec800b4ed1e8fb8fee17ef141ec5b1cd7d04cd7bcfb53e55d463243185edd5893bfa73860a56b231446527b8dea7e9caa1b50a2a3091cd4cb61bdef9aea5a91aa38743ff9a724d8cf55e2b1daf618af2985b6dae633dab9857a2004a7600a8e75f94a83ae72e4b53bdcc803291b06000e9c6075e2317907d98432bb87b86aedb22f9609e277e466742096011d4a9b80f46b8acf84704ac59d5f0f68aa3660e663bc14e5ae51d8615ea6ef56f8f46459d2259363b7629a3d4fb41c0ea3b0cbea28f9bb860016100227fb26e014b26ffa503d449b62c45ba4be53211cdf53118230ae14dc840993fb29936cdbbfb064462bd048e4e7ffe49eb124122a888c499032ee5b90227c74035a05cc7cd926e05df92d38c154c141a25e01bf33e5b67966ea0bbdee5027cb18906b34b9cea409aba366294f6505eb8de151e6bce13dd42655fa9c453700dc114cae7802272be7f4317cc01c6e7f17b9f468c7e6f9df8a025810adacb9633a1f403951875895fd0eeac691675d935e070a9c4eee442ea79d94ef91207b3b9adc85607660993a17a37898d6e40e8fe30aca2903dc01d77247a110e4208166111bbd95b7d6634eecbac04af5ed99c637d73c561e717ae3c9dd3500db2000d0029da7a820a3bf92f547035b2aa1b8e7999f64a4dc530858bec29752c5eef09bd2fc4ffc059e91717bd9b667f100fa476a4cac778a4cd727fe57fdc7eb9a31e25821a717a49876a8f3da8b695a6a5ec668f821ef3fc69cd912d4561a9d8667d8bf1c9e64595a949ff88193e065ab6e54fbc5fe1893ede8b3e2f56e01ab965d4b821672f4ed3b97872f0598826eec803d4cc3ce77906e092ae2a6cc3221bd2afe28069b736a19c344fc61e294f86aa80d489755728c69d625fe90ce820ef20cc8c6724d5d17dcd8c2cb41a8e58234299810663e4340114af3cbc1ebfcc8d08b2368a250aceadec22a869bcd57ebca546c1f9695dd9a5f466ddd62a40acea4508e7b73a40459378c80e3d869a586cd5189d7dc11ea63b85c2a70b76699650d29ad4e0dbffaa5f9ad93d9a33e22125a5f4b61704b5f64afc50257ef95cb4daf52c2a8c8f39bde83413b81d07d813ba30ccc2fa7d5c326585932931cd446ef5a806ed890e348cf44890cd373119ab5f04ac38d7d7fbf7128ada612292fa8bcf9b5025025695ae453ae5cfa1ed5a6f6938631da434a952f65c7e12751f3f42291690430a6c98af47994e978dbd3f503867e7c9086085aa74fd04cabe67d907358926325e8f28a3c4b1defc19206e7c163f7f846b7d43419f91aacf9113c453ab93505b95d14a645674d32e80d3ebc09374f92ed5d1b2893d4be5c2cdebc7b04a52d9e7b6fcff754e2f5436cb82945622c47be85861fe2f2ad56241e88b7fac60208fc566d3c984b0ce273ddf9404d7d738d1ca80836c3d6b7d11feb8ab42242a3c060671f05f335c7feb1bd183a9ba8e7659a99e51f021d49671b18c6e158a13c830f59d7400676d5fb5e89a677fee8a8321a0e4d35cfabd79d37df6ac5e779b69c2dcfcd69854e12aa298fd88120b9b7412f5f0cacf3a7bb8bacb4e7d6c1412875ee53816aff2d961ebbcba2bb4e5e7167c1fc6285f9519142a7cdcee6618b7b5f3d993eea51a53bdfc8ce4fc6d34be1ad9e3913f1867814fef0e53fa3a28e2ebf8a1ec9acb17fa17039b281a3ab31cae681d977d4b5145e822fe9b44f5069342567a988c075425729aace1f73a4d5acb27625d0d25c513b08f3d42b3a38377ee50e30d2e327cfcb601175c76e4a3effaa196294b07cb995f0be35b9e6191e08a6f5bf08b51192a8d257bba8e2afeca70fd0070cfca0527c35cc146112f9400965e10e4df9783999ca5af3726c781602c66aeb7bb1b3bec2f06c15e03fdd0c12458027be37ebc9496b76eb0d9ce831d8f1fdae1b1cde25131502192593dec01c89e9f842987b76e8f70d8d227902744de4a5863944815786d8b1d89fe9aaa8eee03052efbb554dda9e161adf699c61d63edcab08ee6b8a52e1f1f1ede883dcf0f40db3926ed5ea2671e91fcad69a36045089dd595ecc273792978ba685d64c9adf2738a302c92ea937fafbbda942e6e7a0c5fda1d367b512a3d5813bbff6fd780fd85f186b0e977f1ada95db130bac3f673bb60506fd10da685932b21ca90363f55376774af5e3f6c8e8bb6475ff505d9b8442da2148f650f50f366813e7551a358b3fd6f4519357cf92844da6852587b7eb672e30ec259fcde8d3bb7d327a2eff1cd828040cb0a136de55562dbd50992eed985e820e939a6956f1af3fdf8bf249590ca41e529623c4d22a43b14cc625a723df0754a5b4ee040fc46e8b2a4ef74d4e8cd64fbb5742d55258409ed252eaf8ee7d98bf573ceb127d80e0b6e352fe040eaa148e3c7e248c71ca730ea23b1e20430a5086169165d326d0e68c17b2bbf2a41b38488c6245f35e4a46f4e457a46cdb99ceac546a7150f5c9e22f34be361539f4d80388a394db6215581efbe8ab0648ec50aee3238670000a498d912a5bb975f562b676ae91042aeae65d4e63e9f5cedb4b2c6f446616a29cfac4df2375c5351d034f63a0200bc32eaa0cf99407806b6c1223558cac4ba3cdbe85edf41a95e8be4a45f0a795b143b041f5ac22243851b18894bd92b16f7c884b7f4bb5f78eede65d7014b775e214ffe45f1c869bd24056095460dedbefe9333d4cf1462c06b561c88f9e4f8f38f78230d6912d055228ba4e99fe8e57aeeb42982d9ae4987b20acb57488a0a851fd8b2dd8f8cc44eba219c6e2b34f932695976e51debec4f8189592cc0cff8873505949e8f065a76188ed6fb990033af7cbee33f1adc337e4cfcb4513ea3ef8977bd5338e911afd12b042d3338deb8596cd500ddbebecdca8b9db5b368919a57f8fcae0d3c3a57ae586cf442eedbe31389fd170bca9e933112e71ee145b188c611260464dabb6d44bb2e6f07b048653f58d0edea10a6193dfef73d710bac4a786e18ee0ca221d5b464bedc53766cb1ffef3f5cceaf9102777bed90c7e88b46b9a1ad0fe4acfa9518bc1b817a67675ac85288d13cba436bc2712175a5ae7c89e7e7436e9c26288fe177dd392b4a52e1d780ca2ff6350b02c222a40be4b4aafc526044170457e340386037f2ec4181319ff53acbafd64fb05adf856281988d7146550d948ab27f455e8d71fea4880eb039847ced46427e7a2e5ee6f2d1b10d2d89d501c7d064488cc2662588aac40c55176185c9c26d18f1efbccd4d11fb1b277f761406ea016fa1d2fa30a6161c7fefccc40664708968fa82ef0cf17c09123a18f82e6c655044e461eaaed1e327ecc69823b048f8b0be1dc1e309aea791ea951b61ae51dca89b567eccc4022ca444134a7812b0c81f48dd6d13baea44bd607cf3ad9da531b5ee305f65309f57bc2fedb1e371595dd7e456e9698d4f78b5696717fa3d29a0d5fabc71793343aafd79414423c32ccd7b68d1ee6d5b819835c4aef51285e98ab9574f88de3a2e57bedfc0f31be5fc0bbfb75b2f17c60ff437b9e052eef37fbd773f0dd560401aa98e854c70da89e1649e1440b1b4aafaf78881013fb1a78a575913d49db902cf92ba97881c3efe83a17faed03ecc327dd034ce9274ef1363594e3267ac11593b7845f44e91d8ecfa23d6eebf225b545d66e6150625d259a5f476e4de1210c5078a7d3dc2b6d6db6d874184c2305d9f000f8717753d5577e832095f9048c6113de7864a4302f1618c0f9b7566e21b81776bbe3e9c0b46271fed0377f636da08fdd91fa07406f0c4a96fcf492043468312e40845f6fed8e7d6341944291217d89400c01aa8c0e7e7273947ef38ba69b6a44f5748f1af5c12cfceef511c36ac4aaef805e6c39e346f53991bbbcfcb756e0217e3059962a12bc9a90554cf184a9940765b928132dbbf303a00e3027ff6d5e5c925186c33b34925088c2df6b78eeed5454a6a58820ae19ebf635bd5f742c5e7843cb7eae8605502db84c0e73176bf1ebf51656d87afbac339a8fe8c473174dbd305b73ba39e6d76aca31c4c4c9459f8e674964e8aa1c0a0e873f1123df80297b998abc697b89eacd2d0ce462956e549c51cdc2ed7c31e39564afb4f4d1513233802adc9ba17f74c8e7e3c476112c29893eaad0b6012ab97a955fdf9e642cb8506eb59b86d345d2afab4b4aa0bf217673ad1cedd19af21df86f236060d1bc58026ea56360a6e38c3cfd59e6d047e6ce348936a926ac10ddaef16ccbe30f1978e6c5882da703cdaa109874c1a34fb15c5bf46d0b67cd3fa88a08d5c3d39a59a11f5dfc2aa7b7004600535bc557bb23a80e342665c90f6e016a0705e1b641210860a09f85f6b07f46b5716b3e3b332711da563fcaa05ce5c61c193e0effef785b3567831b85c7b2e773b78b6d4ec874c1d6a595227162c80d215c1e4cd01f78e51816876d600322b18f9fb478ecc3fc895515020c704953b402c81a00d135bd4b57e94ae511eeb26778788b2a761a6518b682d513fa2a6111b237c3e5ea3b570287ea8f1d2ddbab7a00d8d340f0aab4a560243ae108f48a2e46b7e76e407aaf326ef51460b32909853e9e6827fcc1f58ad06702e59276cfa485e453b808986f5d7a1863076d991e1fadd660d039939ee71ad0dcd88cb35e54a7052a88f60b80dfacd043ccf8e64a92fa2e5b76f55113a9ad21088829162973ea7f56d76bf32578ad72b3415b9a2c6ae05f28d94c8aec1088bf1cc9794db5b8d8713e57e5922348800abfd5e4b309705671663f8399738fc0fe9f964941cab69781f7b35cbc16c154383c586db5f51895e43b79c5befccd49bebc1f8e0e2d1eb7b55d03fd192274cd1093a09275a9717c5ec68d183d27a9306e4023500d9af5f208614f9d8d58225912068f5dd101dbebf3fc88bf2fcae579d15f77c749e5a9f13fea071080d4303eead0a45c82ef575b53ac59f3bedf3b842cb801ece51caee9ee436d095df4291b0b43ae8701fb889c79a8d9c934b1e89c24f92908885288a4fda60f34564bef55d07c53abd285fdffe24fdb382772047cb9ce1567eaf433021d9ecc48b1b916185284692f1ca266713456272f52b15a01e42be9ed7c67db5c5d2b1be85603c2e610dcc3dd36e7c6415d32d1a796ee7f4cfd161793246b93893c4539c9ed4a92edbd29375d4987cb19e3474f6e805415058aae0567dbb76f2fabd5e1caf6c76d7dd944b2c00d54d29012f38847143afccb0ceb33fd784bb59aba5dc67c90986d00b389d5eb12f50ead8d65b018125f2ec7ee3477f215ee2327fa30cc982814d30bf13ebf7afa0b6539b5b8d6db1d1a295530e750fdb046f21f65547d8fb0fa2724cf01d9f09f5c85277508b9776e66babbe01f3dd8f823bdc0505f9305203749c32b422704a4025351883ea6a9f8fbbc1390b185583600dcb5e7509045d759e0f9912a714e717032d16a458b9e3e4c898d1b3826efeec1284ac4fc6ebf8eb03b7274eb8982fb8c05a1bd3d54af774d1ea3b2f969772b8b8edb7bd638ed28768b5f90ba0f0dddc755c1e4a33a9add96e7b3e645525d76cd624a60bab34293f90197b8dc099f8436a7ce5875127ca707402c8aa2bdf085b63d43ce7ad92a6a6ccb077ad2cff706e8a226f0e9e16ff020696ba059c317b5c98c80a530c26c3ee3b366f446a22de73e84175374068b94e55e91b810cccd9808c32a86c9a5fffd81d749e8d179d6a721c340e5f27cbaa75a3a9564f261e78b854e9d98c4a646cf80cfccb27f6d1eeac41fa1bce90eb2d005b11b22930970ea4df3934b9f4f378e293a96f4450e08478d5c205231545f2512de1da1a307665b105a1114c74ee982575784d0c9cf38db775da1f39ec59371774c506b9df411e584310357bc61bafb6692ff2016953c0d298b711b470e506f2cf3451db621fa0210c97350a0fbec43e3af4a485f747f0fed3ea6a097ea05f3edfae5b3a2b975f76f92f4e9645d688079fd60f94e7fe4e84bf78a86a0127008e9a9b81d9275f462aa71de7c3aa3deaa930e1684e7a71c9f70e36fd7e4af42c053e93e04f9ae7de5566e2fed454efd42f25337d66ad0ca227aa8d61e1f00ba2afa4ce4251cdef2125ccc7daebc6f1d43146afe1f3aed84dc9a32dbf348dcb895fe58ae012a61830d0dfc09e2897136c7b301b259d21df37c5f87b94c226a6c51b77e6b8e4542be5f39acb184dfc105494c37ad2f8ba3a6b2e037df19de3ebd503d0347940e92b75c9937bdf186a3e5dabb4a77928292981448e5b9320e665aa6a77a33a0a56ecb3cd9df72c1bb9ce5aa4016946f9ef4936a34f233c8ec4f2a38cd70ca727f3f53302837f3930f4778c63f506fc14d35b4f20d1140223e13c4a5af2da05a62c5ab7077176360bf9d4ae694494a722ca053cbc87c6681a6c571659246f46be7452dda01cb442a8b37334bc1eba21a0e9932a48d14b6950fc1f604931eedda946b66805fce7750e7396b16e601c7b6f513e5dac483bd67801c6f3dac700b47e242935e692ad80cc5a50bac59555cf4a35858b181255f8de905162c2644c9c326afa60c3f7a0e72f21257ee28f1574d082be9e0227a92b4018a685f83d1acaf91632f2c017dc093c0250e4e1009b5b7012d7d7b6c3af497004973fb8bd66d0aabf37ce617dc21588145f473d14e7e78beada658990a31b4160ab208886dc83777055fa3b45606fb17c5c1818042418431a80ada9dca2b925892c8e0129fcbfdb56f1b393300790c93e90f2b489e4db6ffaec2d50be832ba7f0ffc77d9d956f09416b264953bcd177d93196514dc9f43d056450b08a86bdc14912b2146a79f54c38480923781fe2af268426ff204183c5a7943a287ea452763674254c0ae1f6a2ce976905c92fff80b6ec6f23bc304f2fefee21431d8f2ccbc18655f95975a5693213daf2fa11294cce658087f5e1b34a3f0c220b515982d73ac4d523b0d16741bfa4e36aca0194f131ecd8cba71e0d78d163fb96edd71197088cafc96be1ae028843a8b77762d7e183711270d4e303f18af7fcc7dd12843b2ed97bbf24cdcc3bb7d0cd0055a9f01751b53fe30358d53db1db83feb936fe539c5160e94c7e65026f8f494124bcbb2464e6d742a8a325e805d73541eec428772fe9fb6a57c3ee315caeb9cb47ea9fe4754ba4c9e6e48f5e52770f756c904a956a7cbd6e5ef4f0e7333867d330c4b6b238d576a81a678ec8a78869db387b43c3ec71de19d926e7af205f9cac9eb4b04b4be4dd69e0b203c0a80b53f0cb324a6cd8cc45949203eec381cc8e3df75f37df3ff64374b37a168efd5c5cab3d6462256b2eafb176d28bfa00a7121ff2c668f56eec32353f2c40b87f1d502ca6a07a96b824c79fcc5c9c32a1064a8d436ea36be7c251441f3b2ce387145bbb0c70416832e63376bc70156eecebbbf468c441a661adbc0ad4989d4ef956d2f5a980e909bed6ad7dfecd51eb70a49c9adbc27201a380326184a8ef77da47460df06d2dc0bba39f95a8784de420d439b304034d", 0x2000, &(0x7f0000000800)={&(0x7f00000000c0)={0x50, 0x0, 0xffff, {0x7, 0x24, 0x7, 0x800, 0x1000, 0x7, 0x1}}, &(0x7f0000000140)={0x18, 0x0, 0x8, {0x8}}, &(0x7f0000000180)={0x18, 0x0, 0x8000000000000001, {0x7}}, &(0x7f00000001c0)={0x18, 0xffffffffffffffda, 0x20, {0x7}}, &(0x7f0000000940)={0x18, 0x0, 0x9, {0x3}}, &(0x7f0000000240)={0x28, 0x0, 0x7f, {{0x7ff, 0x0, 0x2}}}, &(0x7f0000000280)={0x60, 0x0, 0x0, {{0x1, 0x0, 0x1, 0x1ff, 0x401, 0xd75, 0x3, 0xcd01}}}, &(0x7f0000000300)={0x18, 0x0, 0x0, {0xf7}}, &(0x7f0000000340)={0x12, 0x0, 0x1, {'fd'}}, &(0x7f0000000380)={0x20, 0xfffffffffffffffe, 0x400, {0x0, 0x18}}, &(0x7f00000003c0)={0x78, 0x0, 0xd341, {0x1f, 0x8000, 0x0, {0x4, 0x1, 0x401, 0x2, 0x8, 0x7, 0x400, 0x10001, 0x1, 0xa000, 0x339, 0x0, 0xee00, 0x4}}}, &(0x7f0000000440)={0x90, 0xfffffffffffffffe, 0x6, {0x0, 0x3, 0xb, 0x4, 0x7, 0x3, {0x3, 0x8, 0x6c8, 0x7, 0x100000001, 0x1, 0xfe4a, 0xfffffffe, 0xffffff07, 0x6000, 0x0, r2, 0xee00, 0x7f, 0x80000000}}}, &(0x7f0000000500)={0x60, 0x0, 0x3, [{0x0, 0xfffffffffffffe0a, 0xa, 0xa0, '/dev/fuse\x00'}, {0x1, 0xffffffffffffff00, 0xa, 0x7515, '/dev/fuse\x00'}]}, &(0x7f0000000580)={0x148, 0xfffffffffffffff5, 0x4, [{{0x1, 0x1, 0xffffffffffffffff, 0xfff, 0xa82c, 0x0, {0x0, 0x1ff, 0x7, 0x7fffffffffffffff, 0x380000, 0x7fffffff, 0x5, 0x1ff, 0x1, 0xc000, 0x20, 0xee00, r3, 0x5, 0x7fff}}, {0x0, 0x8, 0x2, 0x1, 'fd'}}, {{0x0, 0x3, 0x80, 0x2, 0x7, 0xfffff001, {0x1, 0x0, 0x5, 0x800000, 0x8, 0x0, 0x8001, 0x2, 0x100, 0x0, 0x4, r5, r8, 0x401, 0x1bdd}}, {0x4, 0x275e, 0x0, 0x800}}]}, &(0x7f0000000700)={0xa0, 0x0, 0x68, {{0x6, 0x3, 0xfff, 0x1563, 0xfffffffc, 0x400, {0x2, 0x8, 0x9, 0x1, 0xf23, 0x3df, 0x1, 0x2, 0x8000, 0x2000, 0x1, 0xee01, 0xffffffffffffffff, 0x8, 0x4}}, {0x0, 0x1a}}}, &(0x7f00000007c0)={0x20, 0x0, 0x7ff, {0x7, 0x0, 0xffffffe1, 0xe2}}}) 00:06:18 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cpu.stat\x00', 0x275a, 0x0) (async) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r1, 0x0) (async) bpf$BPF_PROG_ATTACH(0x8, &(0x7f0000000000)={@cgroup=r0, r1, 0x29, 0x6, r0}, 0x14) (async) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x12, r0, 0x0) ftruncate(r0, 0x8979) (async) ioctl$EXT4_IOC_CHECKPOINT(r0, 0x4004662b, &(0x7f0000000040)) (async) fcntl$setstatus(r0, 0x4, 0x800) [ 378.054010][T20146] loop3: detected capacity change from 0 to 6160 [ 378.066714][T20146] ntfs3: loop3: Different NTFS' sector size (2048) and media sector size (512) [ 378.089480][T20146] ntfs3: loop3: Mark volume as dirty due to NTFS errors 00:06:18 executing program 5: r0 = socket$inet6(0xa, 0x805, 0x0) setsockopt$inet6_buf(r0, 0x29, 0x39, &(0x7f00000002c0)="ff02040000eeff0000000000000000000000000000020205", 0x18) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) r2 = socket$inet6_sctp(0xa, 0x5, 0x84) r3 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r3, 0x84, 0x14, &(0x7f0000000100)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r2, 0x84, 0x10, &(0x7f0000000280)={r4}, 0x8) setsockopt$inet_sctp6_SCTP_ASSOCINFO(0xffffffffffffffff, 0x84, 0x1, &(0x7f0000000080)={r4, 0x7, 0x2ba, 0x8, 0x48, 0xfff00}, 0x14) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r1, 0x0) bind$inet6(r1, &(0x7f0000000040)={0xa, 0x4e21, 0x8, @mcast2, 0x3}, 0x1c) setsockopt$IPT_SO_SET_REPLACE(r3, 0x0, 0x40, &(0x7f0000000300)=@raw={'raw\x00', 0x9, 0x3, 0x278, 0x0, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x1e0, 0xffffffff, 0xffffffff, 0x1e0, 0xffffffff, 0x3, &(0x7f00000000c0), {[{{@ip={@private=0xa010100, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff, 0xffffffff, 'vlan0\x00', 'ip_vti0\x00', {0xff}, {0xff}, 0x89, 0x1, 0xe}, 0x0, 0x98, 0xe0, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x1, 0x7, 0x7f, 0x9, '\x00', {0x2}}}}, {{@ip={@dev={0xac, 0x14, 0x14, 0xe}, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff000000, 0x0, 'wlan0\x00', 'nr0\x00', {}, {0xff}, 0x1d, 0x2, 0xc4}, 0x0, 0xc0, 0x100, 0x0, {}, [@inet=@rpfilter={{0x28}, {0x2}}, @common=@ttl={{0x28}, {0x1, 0x33}}]}, @common=@unspec=@RATEEST={0x40, 'RATEEST\x00', 0x0, {'syz1\x00', 0x8, 0xfb}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2d8) sendto$inet6(r0, &(0x7f0000000140)="a8", 0x1, 0x4000804, &(0x7f0000000000)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0xa}, 0x1}, 0x1c) 00:06:18 executing program 0: r0 = syz_open_dev$mouse(&(0x7f0000000a40), 0x200, 0x129400) sendmsg$RDMA_NLDEV_CMD_SYS_GET(r0, &(0x7f00000042c0)={&(0x7f0000004200)={0x10, 0x0, 0x0, 0x4000020}, 0xc, &(0x7f0000004280)={&(0x7f0000004240)={0x18, 0x1406, 0x100, 0x70bd25, 0x25dfdbfd, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x2}]}, 0x18}, 0x1, 0x0, 0x0, 0x8000}, 0x20000809) (async) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r1, 0x0) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000000b00)='./file0\x00', &(0x7f0000000b40)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x4000) write$FUSE_ATTR(r1, &(0x7f0000000bc0)={0x78, 0x0, 0x0, {0x7d8c0b9, 0x5, 0x0, {0x0, 0x4, 0x80, 0x7, 0xfcda, 0x3, 0x0, 0x8, 0x6, 0xc000, 0x23b, r2, 0x0, 0x1, 0x5}}}, 0x78) (async) ioctl$DRM_IOCTL_GEM_FLINK(0xffffffffffffffff, 0xc008640a, &(0x7f0000000a80)={0x0, 0x0}) ioctl$DRM_IOCTL_GEM_OPEN(r0, 0xc010640b, &(0x7f0000000ac0)={r3}) (async) r4 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x7, &(0x7f0000000200)=[{&(0x7f00000003c0)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000e2f4655fe2f4655f0100ffff53ef010001000000e1f4655f000000000000000001000000000000000b0000000004bf0008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000000080)="000000000000000000000000fc8e0b490248a4efd641c246704d25a0f18393", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000e1f4655fe2f4655fe2f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000e1f4655fe1f4655fe1f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d}, {&(0x7f0000013900)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x30000}], 0x0, &(0x7f0000000e40)=ANY=[]) mknodat(r4, &(0x7f0000000a00)='./file0/file0\x00', 0x100, 0x0) (async) lsetxattr$trusted_overlay_upper(&(0x7f0000000040)='./file0\x00', &(0x7f00000000c0), 0x0, 0x0, 0x0) symlinkat(&(0x7f0000000180)='./file0\x00', r4, &(0x7f00000001c0)='./file0\x00') syz_mount_image$tmpfs(&(0x7f0000000c40), &(0x7f0000000c80)='./file0/file0\x00', 0x3, 0x9, &(0x7f0000004080)=[{&(0x7f0000000cc0)="a9c165e817e8995a3c9cc2967c8fbcb9c2af9b7e5093125fd3fd588f7d6894da200e306c88d6ad9e724267cb9045c9b0b430a5ec007f650ba4fdb4301e6c31268e6121c24b0bbc8f03eaeec8167684e8f7140cb94ecf79bbfa6d4a46e51b373d92583ca15322676f13be04d7957b5278b5d67dbe1e81bbf42e7382a7c85031bbc96086f861918c6af4a798f0d832c7c19bd2e24550399a8d66f91e7174f9c92c45bc912045fcef9046c10f2a06dfb6a87603644e724dc657fa692b0f02c90316136e04ee8a34c5c3b8a1326826b3a7e9cdb7d05f14140364375737510c8580ee85ffa0666ae06a4b255e49daaa53713fecbb9b1edd1065dc80c3d07ef131914c8497af93b96d5a9bce486a7e41536502998089a356f663894286da1f2a724a386adb5bad13e7d07375b00e9277a4842a07d979f72c575d5bcc0f9ad9877b7bf7b3d2c90582fae96a0a30ef30dbe1e1322b0b632284155cd3dc3b165943ed0f52ddb306322a1cd94a244bcc29668ce307a1c42f80a204f356f5e412ab145f53f6ea0b6789f4a6af9463d0cd14f32660857b135d82a461cd26fa7930f06955dcf2061ab8a61fd37f548a8572e275703a6d070e01621d14104915d134aae2089dc9f95caad5c60ee2f9832396584cfae36a96f9fd27b07eb0f3fb538109e5c194a4525af22af761123d11db2d77c159b7b6b1355ab6701b252c03fdc18af165e48472b80c8b746906170869d478021f6e4312de9d8023c48124cb65012f80083747529e91b1e2f75c5610d0108720b6c4e56909eb26deb5384f87c9beb67bc44cf51792e9bcc2f2e9ad34eeabf36fdd6b6de89331109f3539b34b94d7e5f54ae28bf390f37a0a1e7099709ed192e900a7d202793156c53c7bad477cda4991fa670315d231b75750a266985dafa2f0de1007268ff868085ab154911801ec80254cefe79cd5a98e61f0d010e9424767ee3ed30612d30675998e79c2d4cb57feadadccc544b05584848323081aa8ca263481529f761ac9568203106d05ca5ea87db6acca1df25fb93ce8a49a9344593cac832f7734a0426392ee78372f4da2708b86fc734356a0b25fab6cee1328c76aa80e5a87d7067ed83ac100813378d741053682b116cc28b4e9883ac6fdce27e227f104ff22fea6c5e65b93ad47211c0ca0a54ae40970560749015daed1a46909ed0439b0b3b1c6cd27cf6a70056d9c250029ef049826eb7dfad107fbb51319395a4d7b0b7d344a716da7b2204bbefc04333912ad5e26453d96b0f05d560f51ee16256edc8fca5d0eb4ac6f753337371e6bd5c3daf0947a62f2c4bc848048ddcd625777fa4abe5abeea35cc0b2743863477411c860c44fe234fe3b2c58ffd31e4e2b44f91f4c5525978da79081ac5bc2a792a6b5e07000f70061766e13b1abe85090332bf289f96c08663e31dcb84aeaf189f89492fdac016e2e778fda912c212abf88e0b74a673b5c2a9c13d23be0acf087107b732accd8dba344424178bc4d22470cc7caf3e7da664dc838d4707b4e976cc445ef14df507d8246c6fdabee375c35757803fbfe0712d76055b705c95cfee7177f1bc3e2630d33fd7d3457e6fbc93443bcda2184ab0ff1f9d6dfde4932170a29f1a9d2e1741cec4b78230d2deb3c919a21b988505fa75e637ba1c0c8a163a0b3d01c54b8c50f862e05d2126a61489d8be560b0134b09ba50f515c663d27b0ee4a08eec5c9782f84a66bddb92c86dc494395b8620a3b9efc2b2fa0d88f2c4be5ca22c2ab1ca3fbde73d7b8bcb59a3a8150fa57700869225aa87fe2279ae3d1f8eacf95d12df8b05774cd6012eb9cedeca59c1c365059a45ca94dc9011170bf77bed2bbc92af738e6b1dbe5eee43f515b117ed2fb025091cba14aef76344289d03bea6e0ef7b98f097616d1a144616ca54479ff34b188f6505b9cbc7c2f6efcc0ca9ad6e072401d9965188337c73ddd49f84ef73b1760f1d3c10b4b1cbf74f316f6529acacd333839e59a3b24c6bb1274a1c21843f4fd9d6171ffa44cde7f5814feac8bef8c4ffcd394095e8516771b73bcf0b38c18b41f62d2e6cabe4ba63d79dd567cf67f2f82a2a1c564759f98752bf9c83c38373720e1a5f129dabe60bfeef6a1bcfea0a1eb8f59813ff2c6a652bac259ec20bad14f6a54a60eefdb2070fe5b418fd1d2fb2ddedf29c7c0f5fd3b49f3358ef090182d7c639b10e64762dd0a73b1e11a599f3d5722384afbe5f3250f08b2980e22a2d2b2eecba0a2185d69bcba197ee16b0967f8acdc64adfb3e45bb90638904ce7d1d7226429b80505c00f5ef7454bf4a946f6e4e05af7f8eda668acb3e40499534e9ded788d68e07cfafe5002afac5c9d19536f8d99710efe4e4bf92a5901771320fbcc72da2f00e3d8856d3930f0e4bcc210ad14cbe87c2a1d6b0943d6c6c60bac5012e0465f45504e99265792fd9bcebf4f7361764397bdfea7847806fc6a67e4e1f109eaaf7960f3b144596f6537a05fbd864d5c3088d8879620a8f26c2f91687234a758dc90801b28fbc88a47970b23330c775cdb40365f92f546742c3826da13d303b8f05e8a5eb8651e1fb5869bf9dd3e740553d6c23ab21a02c14eb55f89c6887c211da2731d9ef31cb5eb4b11e814689a688553d53dfbab61189874a8d630f778f04ff90cd36308a2634b7fd7fd492408654861c3e49a5910baba418eef119bc1806c0f04e52255d87086b41ce1b9ab9bc76bbcd582bc063d226fd155a9d3680e74fcc5278b51faa00b387d1003b86d399cee6517ae3ccd0d2c7c196411d7da78ec8eef5be62a04a6b1ddfad7d532a1ab23c2c32334de1e15cb5463aaebfb502823424ae6ef5e1cbe14b3dfadfb834ba4bc371b3a984dcd75edaeb5018676dd70822a187e69d770f967eb311f5e91c2ca8fba44123756e806f15bd2e901505179233185b40ded786d15ec1f20410420394b02e9e5dd1e44e8d19328f89a142c5111b149d2c12a2c35c2ab48c4188f5e9c6b4d88079eb9c481eeb19850188d5ed97956376ad513afc45e35b82786c42393f4ffafccc1729661916c5cf2bfb382d506c9ce9fa48bc5772260543554613520613ecb3155e5bd7f5952b0e14800966595e8f193715e5dae1b491067c534a13e4944b0a9833468334058205ee7262c96e191f435270d2402491115506b06b82560e57c95c492dde8bb4b314975b2bb3f14044fce1184e0cdc217e18cfe4b78f9a932308932e88865bf9bc700a9b7f615d3cd1ae3b005770e76c25b7722338b99690e5435d9632b57c03df6dd7f71821929d51a82ab6dae8b048d2a922874b1d7bccaef746b92557f6980440402420e1ad8c473ed972167b45e194378b6105178819a89d178f1d32ea1f23cb1464d26b7790bdd93209a725ed975ccbb931504aba4c98c870dda6a13e0966c923b69c7ec844379fe852680a617180846cffe379838ed9bf951ce8e86c5e7cfde0becdd664e13a1d8d04902636aa47498f5a09b0eeaf9ce2f8f2cbf76369fe1f6a8ccad918e4251941c8be6cb8eb0201da81b3e91ef4365e8cf801deebc8aa00461f6c848916fea61b81a7b5e7f7f6812f3115e729ac0e9d28a27c2132d937d9b505659fde66e59cbeb3d8883ae3cabcab916e1930438d4b9107d02a37a80367d4f0cac7828486a4a5fde19dd35bb05cc10211ca5ebecf84f60c97379df6838069d88ace52a07a1ced278407a23393e4f875df6ca41e3ff1c2b64974553031ac9ef9390e3a2aa08f3a8e9fb3b19d3118b430907b671cd2e14fa18a173aabc6ece0bf48e37ed3a7d8a7486377ff00fb6bda66b9312ef7e29571cda0f62494000a25afc4f494982c06d138df451221ebbd86d5a8948b3c61b409294dae124f3048d26448a1455226493333ee11dbbfeb778badc5092912e0f1306b2ed7837dbb2dfd12af0456bade31a7494f7404f00c00465a72739775ca130476599c4b12060a0138986e46b8c546b20e7c5dd5c3e0b32dff1949332a717dcf04360c8dbce8b92f0e5adc335087dfbb6448f4bb48fd0917407220d5d94de2edd3dc6d52866f47b8ecb5020ba3bbb19d441873591c0f52642167256176a90e4a75ade0005fa39d7f78d63ca976cd7af11a2630e17be7a4cfd7b2cf9e1f6dfd256d441cb7900b090fcd522218b8c4fc9729893a5f0c55e8742cddc4af2ccbed92cd9f591004403c8ffb4767bd7635bc088848e5d7b9cc8c6b2bc74c0e3d354396ee6ac96535ecff2258412024481694beb04e3b466f1be97a22af03edde1b9727d9d52c1a41880f2d282b8e4e61b2c84399768f490302282ce08b32922f79734d9031bcd381eeecbe1430d654d2935717949d9047925b95650be8871ee29abe387e05e0c6d4e34b40f7d9322e5943b2468e70eff890bdc33ae2f778d169ae14d8bd4234bd6648432983c4fb37d48069649588c36548079f79cdd4dfaf1a40e35319664a4d90f6c558c9c0468b471267c123fee7c3cb1b4f2eed92078036c15f82c2445dd9e4e2bc949a9f345424c413fb070a177868edcc0b2197b0e1e83dbb092f602631e38cbec1fffa2f652a49b81516d4428ca3e938b16f68ec86fd67f87251fc9e1509666b85a5390176aecc70d236a21c67964ea130b2d4a83cf729653548c789e60c5cfca8c3062dd695b7c2df8a51d42c16ac6375e7595a8531f72395e48f9b244a0d27d7f0d51fcbbe364bac2cd643debe3e74c266a8bc12b6869c816543afe077db2dfaaeac2ed9452ccef1268fe09fb24b6ff9060103440e4a741d7466f46cb3bebad5e9e64d32af9a565d27324725c9668f9e9bf75b7101e784e0be32d3d66b5308d7123c1a987460f3f2d0773b0e2e4423c57213f471fdc5e26bf82f8ca4ac844b5e88cac55808167dc3cbb600a6d6edf9fc07ba750ea107b2e6d8745c9de8afa6b9c123a3539d99daff21a3b9424035f1e029245ca50e38942dc2f6d5a1304068b188ab1162537759129982de1afcae36433874d821e4acf2dd165259ac729f5d6e82d5ed6100f4c18ebe8227953bf5d0288687b55aa182498f7fe361d96c533c5ebd4e17d0baedffabdec96754f1d679529e3de35c0001cc3a16f63b79cabe60cd0386cd04284a444dd0a0891efb615650aab19a0cf4dc53a7c652aa2227c1799724944f64f7d78e0d9404aff76edbeb9b611c797dac23e8e68ee405c814b524a4ce714b2e0559ff197d4e79663101b913c0995bfd33339872f7b03e0ff17a841b9ea4414db5af0b71dce7271c616fbf2e55019b2e071cef3b06ff7366ef1a167dc103f2498e0b6c476f9bd9a5a48729748da0d3bd9481ecf4666cf14a39058ebba070b0a3b876fab72caabaa0bd806f5643902c4824b2fa1b57f65bc2fcb843d0e26cc8fde5f8a8f9e82dcac19a3fab7f0633b7d59ebbfdf1efe5b30a22fab6cf23b5ece0a359985f64c27005c2a505abc6a9d41437b35f51a87ddf71ba5c5c1e8ca0b4922971d402dd325dd2c76cef13a2acc2c52e8e808d145986957af80a1956d8882fc3b6bcddf99b7fc0ce8b3760f17e19805b1b6d729d2f28f90596b3dc7180e737b3f8cf15bcd2c2c40689788a4c8a8402b4a1db645d2d2ff1425ffc67c0ee72a02a0124be01d84ff05b61738b1ca1e9509829cd7fd7d054dadb1c45a815a3334bc95d79166e4d243dcd7eb8b1741d75f33113eb2a79437245f9ad5f3cb0a838481e8773bd6ba17b1f8e5cca00cf94e2ad689ae2f2e6b84e662508dff82008e8345fa276c5d2589d32b0f6b54a8b577b6a0497df806d45cbb37141f86ca3aa86546f79bb1f94a928", 0x1000, 0x8000}, {&(0x7f0000001cc0)="1837875b563964a1462b578e56d80b288c90c6f8d48797dc1ff09f949364c1993f1b4fea5537dfd07225db71e98f0dc3b9f01c3f0f3cefc28b4b2190a10c3229b20c463bc15a75ec140be9f4af084fd46e5ac74b3c048319d07fe9511954dde8398032e60bf84c8d8367567b111a8fad4df9eeac04e64c2a5398b0a6195afb677c7da9eb11acfa77b2d4f8971f6c06e0272737618387c8c3b6c6b7a6c58e20e06fb14408fb741538f3f1238723c04b7a4d312d6979f2a9a346b2c01fd50ba56b7bb6f96b6da9b16d9a137769a411e2975c730cbed90ed5b0d6e53735f9bb37ef504edd7cc546bf8c4cc674764d7da10a7671de4e1c47eb6f3a9bb5860c76681ad65c6d228c86f361f9cecf7a51a422147113eeb40510da2122b5819a1e832030db86ac1def2f49939562c082015c62a791e71437181ff97a101da5e1a4a065ac7fb6e10c24c34611bc421b44468eecd6834a6caafd3160389119b6b09d841c8787ceab70c81b763e762c9d76f1cee706590d83101969ca14f9727af928d3dfbe3bcd8603058b7cc7225db1067ea189be1e385ba286906dc902e935ea1639ed62fc949ad490ac81cd5969a22927acc6d4d83ec701dabd381bc16b7c6f11a7c2ff1b29958a96a8e4eb03421a810e48accf6d9f75fb43bc9a0cce0d9f940b8d617bc12af2e38f2ee9b0cd1b8e4cd82d07014cca654bc9e9838c0b0478e893c270d31d629b57918e8ce41d99d8662e45be86a24919d9c307a682bdc4ce9e0f33518bae5305d56c5476002a01ada1a306b77fd2514c7e768c62f98a4aad4cda7cc6663e7067827ce3d36bbb0889488c2bf5d4253bd676b54db7872596220fc4a189050d0ba5c2e462d3a663e8a70d88a9aca8184ec77ff75ff7952e16c131dbb3672622a8f8d847f93a3c3ad4e36488359799ae580d963ff54d071244ee5313b1ca3ccb64741dfdfc7c81d4ebdee4f2660e5bbdc3e0d6d914c6524c43bbbc7d0594ff540b25d2f9274bbb8318e78d8aa15410f90ad59a71e3d33784b3e933db0aaf284d168b87a73e334de0c7a5be00126e89a2f88b766b57f19f7684c253daf90d76b290d260c0df22777e2e8b9ba9de3dbe044bcb154a3b32d397deb9ad71d4b1393d9cb4868274744096352e73aff2caadfeba12dfe341054de56136a75ddaf607cdafce11c43519aec0fec1fac97c863dd81dbf83ca68530d06718f96bef445cb30935d62fca9aeb055f51173b3e7b5fb18fcbfabd2bf83f55ce483c690a8d9872fc46cb6af41f38df8ef98c28d3d5af90e36e010f840734a5adfb68804ede1164f90643259860709492e8834e1ff874e86370f724e5d340e9b8a9c7c680eed96296934a8f24f523d7feab9ad8a650cee0dd81b3e3cc43b442dfe110f616a5f8fde800ddb26edaaf69435ba68d465c9ce61a9b912181408353616b1bbf8ee746b1e3ccd1c23ed254b0918ade9ffa0cee5b47a92ad1ef8fbe4e2fa9e9d436cde58e79ad562bd2e273516b15fc8f51ea31ed9b397f8421d81424d35c93901116d8cd7f19ea20dcdf1d26873ad0fd464db43d233fb98fb48c225b339e755bd3a4fa49f73755112574c70a7ded7bddc7c7be815496c2069a22b6c75249321a70572644f1ed22bff49bfadf70a8626cd4728abd97b42e243123a7ed7a53b733f54a4996975b85df4cbab2f53e42743b3fac2075125061a7f100d2ca06c3e4dd66b0595592cfaf4d4220497f74398242515b705e4f0e92b08eae58153401c9460f28c2e9605b062377701751911629a45f8030ee8eb164cd073f5bd3a8389cd199fa29433d5c6b60e9496dc2115fba3210649312ffe13a730ea40728ec5d52bef94a022f0d94d8bd469b47efdca88293f977cd863bd3547459166abe900e43ad2a546f135643a3f36766a620af2f3ca4b709a0f8463680af9fe6d68572bc68708e1da8ed3a493bb771dbf40533fd59133faf853f06a88bf8c442ae34e608c49918db6b884cacfee95dde2c1a2a398431372b3711f62fdb66d0596a50f2db2e301c34ff65ba78c07185dc1fb7c99a005efc6917cb629f982c547d8b2a0e27ae637f9c6f29aaf8703c32ec16322b1e0f2358c661e9219d7ccb35718617c7b0928cdff9ce6c950a7986cfc77dd71eb03a9d1baeb9a657616a8a3abc15b54d09a6788270f539e4c1d6fd2d77d3febc3b76acda0ed28cc4247151442a33167be9164b20f9c739a63a705f78327bf5d47725f91fb82adfb0c18895010aee27c0ed9e9949e275a5870985b35f088fbe1a368b9a09b74a79aee7652543eaca178bbaeecb8c0dbb84c52808bf81f4a76800515c628d6c78f086651b2b47202a23af2dd18fd1253e0edc6cd46eeb37a4194ad29826735ac8f6b1cc2120c162030f76bdd9a5480fe8b62be040b835ed7fe18bc3d8647dd062129573f8750da82743464ee5d3f3e6b31f02b7a0bd911b87f9177a05662b2e1db3c06d0f1a5ef9b3788b6d287f7a7f0b53c6445d71573050f6c02a2d66ff6ab76610c32ebaba77a4f83ad5f43fe755455101dd40a734eda153f7c144d614a2e6178a5679c80e0041dac2a118dd5d2354755c6361b3718da9b74ffe3b7796a148064838fb0f0dc057a0079dcd2521e2a19b3ab6e4f015185c8f3dfa91fe297ac0f466fbd68cf2badc27e6a7081584230a77d60a485e7ea1bceb6735ed0f202f10ab75ff9b0753891d83c5531045bc8f9b86956f1261b68f0ff6cc31b1cb07aeab69d220d13d8555f634179e8fb28ad27e1f4a65cf98976792a23eb36290aef9083eecbc9fe0af0c62e2adf444568226cdac6bc13b7a5101ad5b409f5215837915b9c78eb075004f506e01ec031e4186b66a60bf565cf88b13dda20f9e6f9aa1910173a1bb2dcab18153d1ee6a39abfec071dee144b486ca3f7e823b24e0a8ff20a7f0aa099514c017af7ba624b47273cc91000a82acb424326cf8c1c46193cf1c7602d93ea734f7a56167d28b0b61650ded10b1cfbac68ba77660422ad8d3db88f90c95311fac2acda998d463146f2ea4b5c63df8f3f4c6a998636d43d22466bfdeac475b8c78a1b838c47d811df8f758c6e5e65f0349df8ee20aeb5c200de76f4c481e04136ca4b6d0e46acafbad7d54327367e420360504006aa3289979c55c1cf6bf8b0383517f1e6d1d7eee9e6a8ddd56e57c21d546747333fa66c1c30b17440176ec729a8b255c89122f334ac187f2169bfdabbca468ab409a0276790a8d783681e017cefb9a8a9b8ba4e66f8357ccf1c459e11b3aa31d17aa42e80a1e0155e5d766425cae0d85bd681f18c75c1e236f9167aab0acc92f29711c5fe290378d0e0f14e1a6679cbdca11413ee0af22d2ca605a85d795ee659b85497a7628cb2ea04f6c7a327b73d24c5482023e293c9ad64d3c760d5d8ec57addba77b755363f0c4005f6f446a17c397c3aa10578dc1c321e0add1a12690826ffe517bf410d910fd0e56cd3a17f968fc8107e02af729a033d1e193bc923f4cb7658f4767e71bb3e49e4d6db123ceaa762b8bcbc743d32274f0e09a5304ce6545a2caf1dbf05f3cce1fccfaaf2ca39d6443013516e81acb323e8a301aa71f18e4add26d1f62b6a22f7d982f1a2d87039d05c8d58e719d7ddf62a878f51adc93dfe1c53ef77b2447981a4f8fd8e2d41016c00d51ec7ba6d271151c7540a094e151f8d9291ed15d5b2201667fa011adb0b2c9f5de6a8fa984c546c0d7cba453ecd6870ebe071b0a674758e154768e9b04405bef579369aaa1ff4f3f34461ea060d71352b015ec12d34efe2514614fd0a6b9f822cfb73f646499eecba1b36a39a4dfdedde6011feeee570b54fc4bf83c0daa20b568ccd2e1e52cf9bbbe87b17dfd8aaa0f4599ba88f3f344cca440962bcd92e8ac8132b2447f9273de9ad84baa047fb44ed137c42d98982db76bb6d790153d56825966675fbea2bf5469f39e4d51532744dfab0bad9cab7474547b87b665c59367a943628aec207181f9805a333136269d652b50410876909ade90e700ad6acecaabe6d450929e5a37a3f6201514b683dd3d0261bcbe41393ec42795682604442d86429df3c71afcbc31c52ac6b751da318586411312a3c7c3b090734d0ca725ee06f383ea26ade56a95ffa76016a96fdc9037a9c80818647409141e7a77e1c9a0c872f7230ceac8a930e0f44168b87ef74bd3300f4456e709321b7f47dbb8f3cce8d82f4b94f30069cd5b3252f46242c717f47fbde5dcf49ce276c5d54245abcdf1d86367ecc6bba4a17c2cedd9a83a6322d596a3087ff2e32204f00e41c82ac4a55ef8884f7945fe5991465a00148fd2766940775cccf88c8e81ec0649d35a086fd7d5abe06d8c0730e7bbd46dcb54dbcf915e156e8b6ddf321c4e05aa5dc1f264a8fe72b5f8572beee25e4c465034bfa59c46111fb26b55e7d09abd7a57b8b8f3261d2deefccc6a596c46ae4cd3d6b24ce9f9402244b32cd75e4d2e63bc19afbff624bff3744b3fb8cb6c062ced6c63e68117cb8340fc754278d4b776d6b6c0c90bde7b3a1d34d9b5aaa900cc70bbf3be99cf52450d514849418ea4f431ad5d61db7cb5d48b17bed4d66f6c1d63c6b1d404e29793ecd554df5cf736935051995a819f20bc341b28e3011625ad56985ce3ddeb37b5eaeccf06f14cd3a7d1cb0a1b6139fb3cf74b94978c3e94ee1fa610c6c54de6df5acd414a52cd540521c9f79f484b26a45588b7133ffeea91f3e2a0a1295fc89f253a3047c71388675678d60d82d5dda8e16907b87ec653845eab922a29d6970ae2b0c2e1c573738a9cd28e260dfb04b4de06d548851dec11a19c9764fed4bad8637121e6e122ac74e03b80f5af73e66094c5acac31927e648a597edb10382c36830f29d0a0cc1a71fbb81849bbd2aa69de78a06c638ee86ef9b4f4c22bc89dbc735cf9014b13cf04119d42355c8d966d41ca820d740745f5ce6332e4a3ef8f589c4ec84f48237b134252cda558ef084478576b5486bc0de0022de2d10449a73821a9253d027c8e0776f660cedb00f7217e941cb0fa32b48b26c917dd4c707e5123007daf16d4194ce2ec8fe9f511e1dadfc39b9c7ca5c2b747e8e0ec1e06300299f26b2dd815412f3cc1d37804904b8e5acadbac74b5ec31a2ba9aaba325de5d9ac58c0ca88d081cae2351f122b2251050e10a54271f7387196f48f8678557d1ad6a9456358b67bf6ca90b6e39aab528646aa108a1b59077c9bb0a1154c5e171ce74f8c8fb373ddc257dbe27da82ed258daefd0c2eed126aa6ba5db490cdf15cd5345f700621084026b2a71be058b79989ddb56547f960a3dbc3ea2b2f9cafda216ea1e15ba26b020f7e22290862e203a4db0793bb4e506880a5384ebc23724940ee99e3283e33e497c2f6eeb07f83c56dfb5fcfe70349fec36ab4fa9d2e460472c7de5d3f9f27e638832bf35a02450969e2d4531e82f17d1393c094cc8ca4ceaf34a3f893b2381209e143628b3fc2651ec1d66d44fec398c899a5b1633b46367b2ad0ccf9475cbefcacd6fbe49e61d5a82f5d194a3c7b28c3bfe9163e099280de912b5c217c259451100e91438d29ad59647ed4551f1d5ba20c4b34ce0149da6294b2681c291ce6ef9fc98ce7326dc3dbd62c768f4ebc9b88b7a7e8fe718dd0d5508fc37fa277af3d34e16baf9482cf63aa7de58ef232aadcbe16a6f09a301a0baac39688f46e40de5bb9999e15fd44a0cd1ad373d907f55c8e5a326134986512ceaca860d6c04b2098eff421678d51c2e05afd7110ad2d988b8422b64d3cf72166fcaae2b7085a9b059f1187349c", 0x1000, 0x9}, {&(0x7f0000002cc0)="95f6496b67cee2e95ae15831321c77999634cfe0391883d5d01d251a8829b4a1933a3febb347ac3378e40f43ffd8e9d206398e296781b25b5dc4ca98dbcaffadd38388148a226c63f085d626de74ed64895e1452a9df281fe37244792ea702e4336c7d32fc2d977390c2a0c59256e9974f591c758550c51a90a4a53e41261d085bbea18a", 0x84, 0x80}, {&(0x7f0000002d80)="d503976b6bbed9a9ca9b2481ddb1dfa4b7e3f32a901f862c48f007652f3af801b271f5b29e53e72d4f50a5c29584acb2654b186c37fce96c0d5e8087cbb89896150ab0b62c731bb634b54f59251310dadb95734166067e4d7fc112c462852151601e7950d4df40a7657b6de7c5d5d7cc44a4425ae31e8631cfad370fbdf670d630f5d086a4746c957030c4edffbd60c5ee6bc80217d9082ff53cf61e110bbffdb068e7852afc36d963c72ff8e6df6e12e6dc33d0c9a4432305aff860d08ba8f51a6927940c06b307e424b16c5968ab7afdf7dee29df2d4e6756bcced93a6e771c25a", 0xe2, 0x96}, {&(0x7f0000002e80)="d9ae847632d655ac2f17f3c227e98c0b500bcf750a3a6e7ac7576b7785300c139b3837e6812d127fc02e2aa8f0e7d32da4606fdc3cc53408887ba12e1770d51ab5bf94b8cc57d18e5054aa9f1cfb509a8024293715cf8f68ff5b", 0x5a, 0xeb}, {&(0x7f0000002f00)="e50f2664c64c3ee41a03b4a5431f2f75a3d35a7d0c227e9be7eafd1444e2270d0207df5350232d92f6e697ffab87f26f996d54381283383fd71fcfe4aa7baf8b1044490afcc6e333ce9ef6a4c829ffcd690825c42c1422afc9fc505dc947e0f165bc6fc115151db581588fb104271a4cdb18f59de58d6ccf4354ab3a4c802fc460fb5b9fff1ddd776e81e9cd7f92c58a9ac8f1978d13b17d2bed6a4a3ce913ad2f", 0xa1}, {&(0x7f0000002fc0)="020840bbe63ee8f1834f1ca95be6be405b43da44e9d01ba3aa400ae842fd4f6bf59af193fc98725e165a6e929bddd481d4871806b79fe8d99d843eaa677505ae9d5bafe466dd5585270fb6ee20e86dca30efe115e03e25626a5e33d7ea27a1e62233281acfd4cccb84ba12bdcf310b188de49ed82720d00f195ab74da89d4205c830db057a731d200eb478d405ef7715c045373dc2400c9e22feb96da4498022abe57e506b76334821264efac02939fee9035446feee3d10a8449d9905921aa1fd49be63212ccd0242c6dae812e9f45e5de6d4fd98c9fcf1181fbc38f8c9abf2001202e3490976a09a90f02b25a391490ddeb1adbb7f4f25508834ba99a4edb9ad212960694df4d2abdf790ee918716c0265d070b3cc1e56046a2c4f79258a016461f3d2a4b95bc499c5aa317c4e040272dabfa20056011dd813514d7439cfa96849f3e5f44a45d04b60df79a0a4c4c74226c90abd1462cbb7fe64631e38db2ff1197bec66ec0d9b6da5ccae9f4193186b52403bb5070cb34cb2cd927dfe5cb40974b8cc7d878fad4cdf8fbfd5243e701d3805f5ba3a08d5ed6686072459991631bc96d1bde76a43b4f18d226d00204798ff254a93ce181957478a1547ff0d53029ea897652d64e0e302c2a9bc842e028bfa5d02454939cf0a22192b0c3f7cea44f5e680848a39965e6d58cfbb31088312d0f7ad5ef99587e4e49aedf109d760e803837ad7ba4db92d754d60cebc54b6b6fe7ef3a84a3e598f1aa18e2307cdf2c59217d498ce19f96ff90811dce6f5ce56109b3f53d47ebcbff464a94e59c673835ca83e35c5e19be5caaadf6125b6fb96d2942fce08f774e172c3cdedd6cdc6cf83e1b049a605e51bd3a7c04add793673cb5e65bc818fb8db788d0eabeead88b25de63dd42866220dbb44686f527f313b227b6f6b66612d328b89f635dbd2dccccc1c6cd310bf2fe5a454a7ef9224ca0513d2770fe24ad5a1e8c9774a0ee6427ac01af51f609a9cd36a055a4752179b38a177d0b8353d7e3b9b506a46fe89f6326600d8766269488482f61f1a84543d307c32a8c191295c9418dafc183c53b469902063239241b6ad33df5b162a07c1633d4a826814caf6fdca0f52f2e85d52007461a01f754d81206a03b37818652bd9998faf9d95bf32192b3100da88d9f6e158f3e549ca74194db01f8a4de0a3d352350963be85eb3124198544834edf641cbf33fd7dc2dba3545a80ade55f43cf2ca0f4957c67fc0a4f472221e6d5dedd97669e031e1845297d86aa095db0f120637100e693d5453f365f09b8a13ffbe87a2f0770b9b136ad8d11042a9bf9a2150295d7d98035dc762e4a0773dfcbc115e481ff38641d7eb87a6e9668b9dd265295bafbcffc2b13e74ea0fc8358a406210ff16df55848e3895eca5b268f846ea62e385cba127f3857af0b8a1b79b49a86f9c74df0902bd5de4e223a47fd3983ebb38edbb4313cab99fe3848265a237e095f0cd4afafcdf4aef8c074cbd720ebe84c5e77a7e9594557a3399510f2f503aa20c019143ad72b1d9f71faed31e20cebc6d90652dede5259fee89d109324418bd6d6afe11d0b3e18a7717a5300d80496629ab3db47bc1c6abdf6e9a4b4b351096143748c6396616c035858ff07dba435ee33a5f2d79dd5051de22ff9622324747c0bb035ac75712b09e13e6ade583a92bb0e5ed578b126171f51dff20168bf7298e3452080861bf74ad50a5250580135e142e6bcbaf4d55930077d42576766d9af7bf8d0f8634e21a293096cd6d8d542438b60d85bba751514e8c1900261613a734aa42fcad1af1dfb03b279ad9d7ea099cc3f5dd3da0076c6179a8455e37bfeaccd83fa14cbd97f030493907972bfb7aad7dd8ce5ed4b304a492abac960171d4f4d36ee0a53a2c9da9a58af94473233265369daa56333c035796e132a8596757be73c29e52095008cdd43b33b9be6a4c8215817f5e8013ce3b6c46d3c5d2a050bc43ad250953d3cd5c1a962bc19df2ba3f0f2122122c87a9834583388e0d1868ee118eebd4cb722b53d6c7dd906f676a9866e6fbb97a696458e25c2b9bdbd5752ee0cdc9854547b72a0fec5514538ec128c79c2877d906b3e6df6f0282f36999b804505d5001d53e0da11daf24887c94bb0618ba63ea28580ac4babacd1c150714afc1a899267032718125c8aa57663cf4a242465a648dd68037791446fb262229905a37b51927be55c8053617c3610b9a79d802627b228200088eb347f93cea818cc35d5c876a9faa56fba3f37074556ab07486d42aa51d464b5d1632fcd2cfb7443f9067a4182e270c16b4cad714a04579c6e6691b99338d5049ed7b9a545b09dd008e4ea97fafc57819c8e27467763826b242b96ece1766ad19c57c0c300ebbd052ce94c4067ec93228a1594cc985f9434f6cc0fa5b50b524d00a21a92cd4c58678c7af9b04d07bfe2269abd5320f105c95498b4bf12715c45b378a34e992f8719dd59e8e993c3976dfecccc6524cc41721da2aa063a3510d374fd16bd04d4fce60e001769ac67be172904e7637c5ed02074cbafaa8755070a14c54a180f47156aa4ab809e92b27255c8ea46a494a50855c09750abc383639ed8bbc856e68cb17896e3754855bb2a6c5ec40ac2d75a08f028f04ade8a91bb36721ba0717a90fadbd21a1c60a55587de636fe2d067f83ad216d407f108997cf4164fc8ac1d188851b0393f11bd98cb657d109670501d8e2ab6f5301ae14327124bfda54595c499707577ce5fc67bcf1a65e489f3ea535598aa901d0c76e15aa64c0fac0a48809bbe1917610f31934e06899b88bf5beea5705c757c369404cc2c1e83c5c25ee42cd71ae9d5f194d31bbe02cd58cef28a22993aff216381c81ccaf5df9d52f306e42f306959cdbb77a28dad7af38d678b436ba1a5a7adaf3b8d81d0e7c13eb56b6bacb8c9202b1c2854cc5b59fe362b9cc0d8f2223bebdcffa9637ef820e03f14ea0e2bc0b4a48b9e943e91204291a196ed3d1ed485fbc90206d6192f865a342256227aba584e06a3a318c017920441c4b51f407963f9c8a9cc1823d22244f200fdde4d686782d7641ad0569385d965c5b60878d8ec6731be20b79afda4651968e9c4ff7e6bd91487b3e1528204ea9b41cce2deb8211f342b31a17d94b2b5ef5e974e9f24d29fefe6a2c5f3fa80f70e9f1c0924aad0f5480697ecde4341cd70f8bead55470c7633eb8668ba45ca3d25e14f5003b0d5b768fea4b815c29158baaf8f4f838740894f14eba6e08aab35b2873adbfc3f0f0fd80ec5a22fc80cc1dac0f2d0e69b56f5b56f1db31c8e3be12fba35bf446d88329c796d0745ffa89766b2b59d31db0bcfaf736ca72f4a5d44ac808708b0d5c6efd99b71083ba8de47669e7cfb3d363e3262881a30da009302b90442cbee2a64e0a30daeb8dd0a2fa24b572f5acac118f5ac3bff95026976b6e9fb56bd759e132a063a03f28b1ee96c65173d4cecee2142225c2a7e7ca4bf7cc0215811b44a5df66acfbd25fdf3f47e7a951c9ffdfa18c774bc099410606419ad2a31ae22a616da396cdbb915bba79d1096f1cc4363bb8e8e136c14fd75b491ebfe2374a28661eeba5afed1655f8b5f02bf52c5c7d1109c3337180a9c9fb67bab0f483adfa193b66baabb38b68c94f3b64d4654f25e4f40a227154e3eb78867af7f314f4562d1eaf9829b3b37e2519ac65c924fa81a5f1c06b8376fd49dcd9a22884bf09d533e8c98cb3d6287cd9d504b91b0b8720aa382667b281f832f3645d2a9091ea1e4e3ed6df009ea189c3e496d24b1fb940e558108f7d90a11db415a3f0c30217c06adf4f5559f7d8d234ab6cbd409817e2a429ec89a789513ceb08b0253545b2172e9ea45293344ae02fef39e1644d2cb0d98639a0ee87d3d8ff8364330b55d1960f4e17041d42c6732a45719ab087e168929ed3f543c324d9b940c62c79f69a530caed4cafcb0611a2dbcdf9d4c223f30d5f75756e3c51536a4a26a1cea1307de9f045c865d9969e4e54a5da435ee75fb141839d0e70ae323784a293d2576affc35497473914f3927f85f8606e2c869652d904d67fea5681011f777c15ac95007ed2c71baa704d3165f5884ab2d7cf77dddc8ea183711eed32034fd8866dacf7811a7b902c1e58e78ff11005c579efbaf8da995c8aa32579547e6e04a2e3f6691c41f2fa76ff1f09b973a70df5aa61fc87d65c6862fdcfc7ea67f73753dcba5645191b393aa3b43ef11616297f4e91925fa44c725f590d444204b7f8e1e233fd30ed3c7048c6c5886c32438e728a801f3156a01d6fd6d796dee98e526f687e1c29b42f284246c8513607fa23a0138b58c673ec4a772e47aad11e9bee51e6776d5104ca453293394548e8c5bcbd6e9f2b96b16501d1fae9f6036702cf0bf1808d758b7aef79c7856ad9d59438849f9acdba52e2abb34e1169461070f783e2cf0df740935fd55050b60c612136ceda7467111b05ff33b40cece7e1a19792edb7700b9448385dbc28ab8126b99c1eda600b46c2bca3a67b5c0f6ff6a0903615bf528be2d31bf8c6db08caee44ca96f28c11c93947aa31e5d4bcd754963059e547b53a146e27a6c5849c653bb389e70b4fc5fac78097625926e47437e8c0339ef076754c113c7c4a72aa828b72dcaadd764152b1f5334a53d8a1c9c7714fbe930686cc254bf6bcec63fae094b4635bf0e7a95fc87cc9a0d85a9701c20a4d77fc35fe41b0b8157dbbdc49a9c4bcb23324b28406b49ed92db0d0c93d7e2cf5711b87ff1f7722a6d6fe611c9b5a81add889080ab763cacf2cac1521ffe6385bd8ee44ca98a89e9176b960b344130945b9a6d6dc6c6db5019c26a4ba003302f0d8fe585e5757e36ad8ca535a408dbbe5f57a4c68b28e3256a80cee5f2f24ba8bf489d9235fde0af6b79a0ddb9568570ebdbdac112b90b853064e47dc27416b5a762cf30be39054f21a7e173ab25f9f4907285d2592c9b6f299c4b2b79fb41439f69403d0df7558acb5ba41b5d5853dae392358e8500fa99ce0a2c3c629f19015bfa046938344ab6b33695c921571d466fa20908e5d298eaef38bb44e62d8cb084016472cc37b01b66c55164cad18ec899c098e94a28e23186f8b001f4e61bd9e946621e2714225e6a0f3383dfc810c9f7ff23bb855c095917cad953f052aacf11657a632bee68b0d15f5fd4b28f90ad86f63460a3e85f316bfbe6431d2e0025b2c311427e037b2e895d66ceca3c6efc05e7729ee0fbc59b564c2c156c2425dc7d67607c2f42d7eac1e2e76c834c45d3e2a8e5794754289bd45c80353ec065fdaf18ccaa451bef08ea35605543d49783935eb940527e99088a6266bff1b54f73136be9968bada0113aec26f33dd5851331456a04a939b19ff2711cab1ac751674c3f975e4cb242aa162bcaa8eb46dbb26084cb10fcccaeedd51072633e6aca12d4c42d5cba2cb51357378281a8a1561b3138fdb41f443126410933a8b8395d81f288c8004e1b4cb9f62e13582abc13d677b0ba874946776703a789501056dd1cb32867907dea1b6517ee0a776d3ba8d08e2fd0006fa3bb02ce6708cff0e324682d4a46188baf69b70d19c080df68f923680deb51bdc7f10e098669fa96bd0bc61dbe677496631632fb4c6de5db043f03550df81be25bffcaa58334f76af6c20352d6e59ef3d14d40077a57c4867f54b1981c769371107c08cb4471106873f3950388d49eb5c0a546852fa81ab8cd739ecac82274bf7ed30a91f9d219f5797e445bced7aff289d92d09935ed5f190384d3", 0x1000, 0x3}, {&(0x7f0000003fc0)="30f0a998d1d01fc83253fc5795a020bc095c6941d89385f5a856aa68679459beeaf9252fc7ce9e4f57481760bab74df0c81e51480f11c14312428075d1138a50ac4126a75e743bd7fd07c29e2bb93fd3a9d9960aab73d9d4cbebc314d6316d50aadd332f0a4e9fc2ce1e292ac381fcf21d81fcbc3917fa", 0x77, 0x3}, {&(0x7f0000004040)="de0e0afcd1bc576fb32d269ca2c1275e0266b0d3d0a3", 0x16, 0x8}], 0x2000004, &(0x7f0000004180)={[{@mode={'mode', 0x3d, 0x9508}}, {@huge_never}, {@huge_never}], [{@smackfsroot={'smackfsroot', 0x3d, ',:\xd7'}}, {@measure}]}) (async) syz_mount_image$ext4(&(0x7f0000000340)='ext4\x00', &(0x7f0000000380)='./file0\x00', 0x8000000000000001, 0x6, &(0x7f0000000840)=[{&(0x7f0000000440)="ed7464d072999a3dd70cf4e8a6d59875dabaa4ec091ed86bda30657c74ec31b8828a08ada88ac0481ff9d44857f65b090476aa3f3a8b47d9657eb064680a546078c08b7abd70b49cde10364acf87b7600654e754d8649a7c52b7b4f2134638167e5c969abc2df9b04a5767d30e444d3b5449e93028551aa4c167ce2bd95b1de2ecbbddd00889ba254ad84e4489b4c3545d642b9ed2cb32304d2196906b7b115fa1bd6c23348917eb3b9c1fb2c4cc43a0dcd98a7401155fc97d4e801f8274fcefb8eb60e77c", 0xc5, 0x1}, {&(0x7f0000000540)="cbbc6db1", 0x4, 0x537}, {&(0x7f0000000580)="439fa90a2e6807d83675408cf4d719f9b180018e0b62201a77dbcbe8b0ace400cbd2229ffcd59a20d2b93dc393d716b0c9b7b0df5a486a2bc8677435251c16b27761b85c9d1d35d4e585fa5077d79af113913ae36329d91f12a6773d8a96090e5f13fa82b6e638e1e0d87f1d0e34b1d2efed5f2af204bdc64c32de9169967e2afe50070842cf4c7ee5b7057ec661b998c0", 0x91}, {&(0x7f0000000640)="8f6cdb5ae6de752dc814266f8f731bb916c87f3639c770a31ba3edec72896f828deb59c0d55639748589db44bd09b5f4449e1a02f947fb03bb3bb7852d14710067abf23373391b27e33d60559085b82996e8e94ddf40cd82df1e688f638dc3d34633bc99a780ff934899353f53470d88eddc4ae2610371c6eb6e83cc9fa8e5d6d62d9fe3bac965c28b43759b3dc71221fb81337bae8751", 0x97, 0xe4}, {&(0x7f0000000700)="1df8f819ffa3b47f6cbf3eb314a291239cfd19ea4b71a61de8f1ef95e86155caa41fd618d966eb8d52bad1b54b826b6720050c69cc2717fe02e7", 0x3a, 0x81}, {&(0x7f0000000740)="f1598a0cc8406b422df0e0792196becb79ce41a27213a4269f7d1d8af16beed5dee9a0911f1434be90f350d1734438f69ca206d749761f0b827893e9c5f85154c7109e45210884ae414cea4afbfc4b5b0d5cb46670be541192a5c45d9c481d02b47e4cffaff6cf81f09cac70079a23d9ece3bd9083faf181ae90e5cfa25abf3d04f1a0a89baeb97986725049a1a44fbd76bef2594ed8d14df893b0ab3827c0a87d13af24075757e9942c406652fa0ab7b6cef6668474500fb83c1aa19c95fc9692442cd5d174858c22", 0xc9, 0x3}], 0x890002, &(0x7f0000000900)={[{@nobh}, {@min_batch_time={'min_batch_time', 0x3d, 0x3}}, {@journal_ioprio}, {@debug_want_extra_isize={'debug_want_extra_isize', 0x3d, 0x1}}, {@user_xattr}, {@data_err_ignore}], [{@func={'func', 0x3d, 'POLICY_CHECK'}}, {@obj_role={'obj_role', 0x3d, 'trusted.overlay.upper\x00'}}, {@fsuuid={'fsuuid', 0x3d, {[0x34, 0x39, 0x31, 0x66, 0x30, 0x61, 0x61, 0x32], 0x2d, [0x66, 0x31, 0x38, 0x66], 0x2d, [0x31, 0x37, 0x0, 0x31], 0x2d, [0x65, 0x31, 0x65, 0x30], 0x2d, [0x35, 0x35, 0x34, 0x33, 0x38, 0x66, 0x66, 0x30]}}}, {@obj_type={'obj_type', 0x3d, ')'}}]}) (async) setxattr$incfs_id(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0), &(0x7f0000000300)={'0000000000000000000000000000000', 0x30}, 0x20, 0x1) [ 378.114675][T20157] sctp: [Deprecated]: syz-executor.5 (pid 20157) Use of struct sctp_assoc_value in delayed_ack socket option. [ 378.114675][T20157] Use struct sctp_sack_info instead [ 378.115077][T20146] ntfs3: loop3: Failed to load $Extend. 00:06:18 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) (async) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000400)=@abs={0x0, 0x0, 0x4e21}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setaffinity(r0, 0x8, &(0x7f0000000180)=0x80000ae) (async) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000300)) (async) r3 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(0xffffffffffffffff, &(0x7f00000000c0)={0x2, 0x4e20, @private=0xa010100}, 0x10) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) (async) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) (async) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000340)='./file1\x00', 0x40000, 0x6, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000001f40)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000840)=ANY=[@ANYBLOB="00da9bccad002100000400001f2b6fe2f96a3f6d2f93ca9700b41d3200000000e61dc18e8c44810000e4259e66932f75a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcffff1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1947ae4d82b1aa0b548e7393f3e00bc4cc5b3e3c8bf5321d391264cefcf9faad2b4077e1ebdb10df5353093c588708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000009e9084343c6ed98d00f15eaf0131f5b4136929ed31bdecd21d59ccdb410dd93aa5079d6be21e9b112ef80bdd651f649886634749b8801cfb90e1aed6002a74c5081cb3cd8433e4f5c57aa4e64917abef7028d07ed6039c9f08efd7d996a5be6c9a33c6cbcdce39c469faf34d80b5e3633c078ce7d7522ffdaadd9d817ab33fce554e2150459954ac9bfcbe5d28ec65524a218b229a40d3b719cbf13220914dd4cfcd808e1ac9949a617dbe4913dd2e1c383e83fd2ed7b3266a7fef1e0c9fb0f4870bcfc981618782a42ade56271308ce57542589154cffb13c304348445f40a1595bc156a087e038bb447c623d3f0500cbacf9af1c93d1be01bc0b90d0a13edf05702e43ce8268af172e049a5a9a6ca77b0dd3cf48f73f27079a8743644e426be045aa4428c13ebec99f3cc5a269b4d50c077a68af9e8cd7d3ebd646719323fd11e3ac29c159ddd9162a8ffb0f66c0c888296644dfda99ea960ebf781a6c6f84de13c4568023f79708e7cc3e5c7a25b1f13ac3ca08bf39810d14b3a7bf2e40c94e8586dbae0e6f5e5379700eeabe00c600"/642, @ANYBLOB="21080000007d201e0a8bff3abf40e33fce6bd51e1788c18ba76b876ff56546dfd72d85f54bc9c004a58a5cae8013b3fce1b42ba08d7de49f945fd8ad595a4d6044e488a32bf951794940d3cda05b246c528cc39c5c10cdbfb0445b6c9c9201004a777f12b31a94d4adb60d8e5f553867c10101000059220e980438ff0421c86a91348d4603d2b5ad506829"]) (async) sched_setattr(0x0, 0x0, 0x0) (async) ioctl$sock_FIOGETOWN(r2, 0x8903, &(0x7f0000000040)=0x0) ptrace$cont(0x20, r4, 0x2593, 0x4) bind$unix(r1, &(0x7f0000000280)=@file={0x1, './file1\x00'}, 0x6e) 00:06:18 executing program 5: r0 = socket$inet6(0xa, 0x805, 0x0) setsockopt$inet6_buf(r0, 0x29, 0x39, &(0x7f00000002c0)="ff02040000eeff0000000000000000000000000000020205", 0x18) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) r2 = socket$inet6_sctp(0xa, 0x5, 0x84) r3 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r3, 0x84, 0x14, &(0x7f0000000100)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r2, 0x84, 0x10, &(0x7f0000000280)={r4}, 0x8) setsockopt$inet_sctp6_SCTP_ASSOCINFO(0xffffffffffffffff, 0x84, 0x1, &(0x7f0000000080)={r4, 0x7, 0x2ba, 0x8, 0x48, 0xfff00}, 0x14) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r1, 0x0) bind$inet6(r1, &(0x7f0000000040)={0xa, 0x4e21, 0x8, @mcast2, 0x3}, 0x1c) setsockopt$IPT_SO_SET_REPLACE(r3, 0x0, 0x40, &(0x7f0000000300)=@raw={'raw\x00', 0x9, 0x3, 0x278, 0x0, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x1e0, 0xffffffff, 0xffffffff, 0x1e0, 0xffffffff, 0x3, &(0x7f00000000c0), {[{{@ip={@private=0xa010100, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff, 0xffffffff, 'vlan0\x00', 'ip_vti0\x00', {0xff}, {0xff}, 0x89, 0x1, 0xe}, 0x0, 0x98, 0xe0, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x1, 0x7, 0x7f, 0x9, '\x00', {0x2}}}}, {{@ip={@dev={0xac, 0x14, 0x14, 0xe}, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff000000, 0x0, 'wlan0\x00', 'nr0\x00', {}, {0xff}, 0x1d, 0x2, 0xc4}, 0x0, 0xc0, 0x100, 0x0, {}, [@inet=@rpfilter={{0x28}, {0x2}}, @common=@ttl={{0x28}, {0x1, 0x33}}]}, @common=@unspec=@RATEEST={0x40, 'RATEEST\x00', 0x0, {'syz1\x00', 0x8, 0xfb}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2d8) sendto$inet6(r0, &(0x7f0000000140)="a8", 0x1, 0x4000804, &(0x7f0000000000)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0xa}, 0x1}, 0x1c) socket$inet6(0xa, 0x805, 0x0) (async) setsockopt$inet6_buf(r0, 0x29, 0x39, &(0x7f00000002c0)="ff02040000eeff0000000000000000000000000000020205", 0x18) (async) openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) (async) socket$inet6_sctp(0xa, 0x5, 0x84) (async) socket$inet(0x2, 0x80001, 0x84) (async) getsockopt$inet_sctp_SCTP_MAX_BURST(r3, 0x84, 0x14, &(0x7f0000000100)=@assoc_value, &(0x7f0000000040)=0x8) (async) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r2, 0x84, 0x10, &(0x7f0000000280)={r4}, 0x8) (async) setsockopt$inet_sctp6_SCTP_ASSOCINFO(0xffffffffffffffff, 0x84, 0x1, &(0x7f0000000080)={r4, 0x7, 0x2ba, 0x8, 0x48, 0xfff00}, 0x14) (async) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r1, 0x0) (async) bind$inet6(r1, &(0x7f0000000040)={0xa, 0x4e21, 0x8, @mcast2, 0x3}, 0x1c) (async) setsockopt$IPT_SO_SET_REPLACE(r3, 0x0, 0x40, &(0x7f0000000300)=@raw={'raw\x00', 0x9, 0x3, 0x278, 0x0, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x1e0, 0xffffffff, 0xffffffff, 0x1e0, 0xffffffff, 0x3, &(0x7f00000000c0), {[{{@ip={@private=0xa010100, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff, 0xffffffff, 'vlan0\x00', 'ip_vti0\x00', {0xff}, {0xff}, 0x89, 0x1, 0xe}, 0x0, 0x98, 0xe0, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x1, 0x7, 0x7f, 0x9, '\x00', {0x2}}}}, {{@ip={@dev={0xac, 0x14, 0x14, 0xe}, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff000000, 0x0, 'wlan0\x00', 'nr0\x00', {}, {0xff}, 0x1d, 0x2, 0xc4}, 0x0, 0xc0, 0x100, 0x0, {}, [@inet=@rpfilter={{0x28}, {0x2}}, @common=@ttl={{0x28}, {0x1, 0x33}}]}, @common=@unspec=@RATEEST={0x40, 'RATEEST\x00', 0x0, {'syz1\x00', 0x8, 0xfb}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2d8) (async) sendto$inet6(r0, &(0x7f0000000140)="a8", 0x1, 0x4000804, &(0x7f0000000000)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0xa}, 0x1}, 0x1c) (async) 00:06:18 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000400)=@abs={0x0, 0x0, 0x4e21}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setaffinity(r0, 0x8, &(0x7f0000000180)=0x80000ae) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000300)) r3 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(0xffffffffffffffff, &(0x7f00000000c0)={0x2, 0x4e20, @private=0xa010100}, 0x10) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000340)='./file1\x00', 0x40000, 0x6, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000001f40)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000840)=ANY=[@ANYBLOB="00da9bccad002100000400001f2b6fe2f96a3f6d2f93ca9700b41d3200000000e61dc18e8c44810000e4259e66932f75a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcffff1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1947ae4d82b1aa0b548e7393f3e00bc4cc5b3e3c8bf5321d391264cefcf9faad2b4077e1ebdb10df5353093c588708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000009e9084343c6ed98d00f15eaf0131f5b4136929ed31bdecd21d59ccdb410dd93aa5079d6be21e9b112ef80bdd651f649886634749b8801cfb90e1aed6002a74c5081cb3cd8433e4f5c57aa4e64917abef7028d07ed6039c9f08efd7d996a5be6c9a33c6cbcdce39c469faf34d80b5e3633c078ce7d7522ffdaadd9d817ab33fce554e2150459954ac9bfcbe5d28ec65524a218b229a40d3b719cbf13220914dd4cfcd808e1ac9949a617dbe4913dd2e1c383e83fd2ed7b3266a7fef1e0c9fb0f4870bcfc981618782a42ade56271308ce57542589154cffb13c304348445f40a1595bc156a087e038bb447c623d3f0500cbacf9af1c93d1be01bc0b90d0a13edf05702e43ce8268af172e049a5a9a6ca77b0dd3cf48f73f27079a8743644e426be045aa4428c13ebec99f3cc5a269b4d50c077a68af9e8cd7d3ebd646719323fd11e3ac29c159ddd9162a8ffb0f66c0c888296644dfda99ea960ebf781a6c6f84de13c4568023f79708e7cc3e5c7a25b1f13ac3ca08bf39810d14b3a7bf2e40c94e8586dbae0e6f5e5379700eeabe00c600"/642, @ANYBLOB="21080000007d201e0a8bff3abf40e33fce6bd51e1788c18ba76b876ff56546dfd72d85f54bc9c004a58a5cae8013b3fce1b42ba08d7de49f945fd8ad595a4d6044e488a32bf951794940d3cda05b246c528cc39c5c10cdbfb0445b6c9c9201004a777f12b31a94d4adb60d8e5f553867c10101000059220e980438ff0421c86a91348d4603d2b5ad506829"]) sched_setattr(0x0, 0x0, 0x0) ioctl$sock_FIOGETOWN(r2, 0x8903, &(0x7f0000000040)=0x0) ptrace$cont(0x20, r4, 0x2593, 0x4) bind$unix(r1, &(0x7f0000000280)=@file={0x1, './file1\x00'}, 0x6e) 00:06:18 executing program 3: r0 = syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x16d, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002000000015f1c32890d2820000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b", 0x8c}, {0x0}, {&(0x7f0000010120)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000800000000000010000000000000001000000000000000110104", 0x193, 0x4000}, {0x0, 0x0, 0x41e0}, {&(0x7f00000102e0)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x43e0}, {0x0, 0x0, 0x45e0}, {&(0x7f0000010320)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff0100000000ffffffff00000000", 0x1c0, 0x47a0}, {0x0, 0x0, 0x4de0}, {&(0x7f0000010540)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302000000ffffffff00000000", 0x180, 0x4fe0}, {0x0}, {&(0x7f0000010700)='\x00'/16, 0x10, 0x55e0}, {&(0x7f0000010720)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018000000000018000000030000000000", 0x1fc, 0x57e0}, {0x0, 0x0, 0x5be0}, {0x0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c8010000000800000000000000000000040000000400000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c00", 0x1dc, 0x5fe0}, {&(0x7f0000010ba0)='\x00'/28, 0x1c, 0x63e0}, {&(0x7f0000010bc0), 0x0, 0x65e0}, {&(0x7f0000010be0)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000050001004000030008020000000800000000000000000000060000000500000003000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801fc42f8c1344fd801fc42f8c1344fd801801875c1344fd801262000100000000000000000000000003000000060000000000018000000010044000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000200000000000000400000000000000000180000000000002c100000000000002c10000000000000210387000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000200000010000000280000002800000001000000000000000000000018000000030000000000000000000000a0000000500000000104400000000500000000000000000001000000000000004800000000000000001000000000000000100000000000000010000000000000240049003300300021028a0000000000b0000000280000000004180000000400080000002000000024004900330030000100000000000300ffffffff000000000000000000", 0x22d, 0x67e0}, {&(0x7f0000010e20)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x6be0}, {&(0x7f0000010e40)='\x00'/20, 0x14, 0x6de0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c45300005000000000000000000060001004000010058010000000800000000000000000000030000000600000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000020050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e0000000000ffffffff00000000", 0x178, 0x6fe0}, {&(0x7f0000010fe0)='\x00'/12, 0xc, 0x71e0}, {&(0x7f0000011020)}, {&(0x7f0000011040)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000700010040000100c0010000000800000000000000000000040000000700000002000000000000000000000000000000100000004800000000001800000000003000000018000000", 0x78, 0x77e0}, {&(0x7f0000011240)='\x00'/12, 0xc, 0x7be0}, {&(0x7f0000011260)='\x00'/16, 0x10, 0x7de0}, {&(0x7f0000011280)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000080001004000010080010000000800000000000000000000040000000800000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000030052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff0300", 0x194, 0x7fe0}, {&(0x7f0000011420)='\x00'/22, 0x16, 0x81e0}, {&(0x7f0000011440)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x83e0}, {&(0x7f0000011460), 0x0, 0x85e0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000090001004000090008030000000800000000000000000000050000000900000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000200000000000000000000000000000000001010000000000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000000600002000000000070324005300650063007500720065008000000050000000010440000000020000000000000000008000000000000000480000000000000000080400000000007001040000000000700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002000000ffffffff00"/832, 0x340, 0x87e0}, {0x0}, {0x0, 0x0, 0x8de0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a00000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000030050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000020000000000000002000000000000000200000000002140100100000000800000004800000000051800000002002000000028000000240049006e0066006f0000000000000020000000000000000c691b6b777edcda00000000000000000000000000000000ffffffff00", 0x1bd, 0x8fe0}, {0x0}, {&(0x7f0000011ce0)='\x00'/14, 0xe, 0x9be0}, {&(0x7f0000011d00)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x9de0}, {&(0x7f0000011e80)='\x00'/10, 0xa, 0xa1e0}, {&(0x7f0000011ea0)}, {&(0x7f0000012040)}, {&(0x7f0000012060)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xabe0}, {0x0}, {&(0x7f0000012260)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000f0000004000010028010000000800000000000000000000030000000f00000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000500000", 0xab, 0xb7e0}, {0x0}, {&(0x7f0000012400), 0x0, 0xbde0}, {0x0}, {0x0, 0x0, 0xc7e0}, {&(0x7f0000012600)}, {&(0x7f0000012620), 0x0, 0xcbe0}, {&(0x7f0000012640)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xcde0}, {0x0}, {0x0, 0x0, 0xd1e0}, {0x0}, {0x0, 0x0, 0xd9e0}, {&(0x7f0000012860)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xdbe0}, {&(0x7f0000012880)='\x00'/28, 0x1c, 0xdde0}, {0x0, 0x0, 0xdfe0}, {0x0, 0x0, 0xe3e0}, {0x0}, {&(0x7f00000129c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000150000004000000090000000000800000000000000000000010000000000000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000ffffffff00"/191, 0xbf, 0xe7e0}, {0x0, 0x0, 0xede0}, {0x0}, {&(0x7f0000012bc0), 0x0, 0xf3e0}, {0x0, 0x0, 0xf7e0}, {&(0x7f0000012cc0), 0x0, 0xf9e0}, {0x0, 0x0, 0xfbe0}, {&(0x7f0000012d00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xfde0}, {&(0x7f0000012d20), 0x0, 0xffe0}, {&(0x7f0000012fc0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x103e0}, {0x0, 0x0, 0x105e0}, {&(0x7f0000013000)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000100010040000d0060010000000800000000000000000000030000001900000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80126000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001004e000000180001000b00000000000b00801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000002600002000000000060324004f0062006a0049006400000090000000500000000002180000000200300000002000000024004f00000000000000000013000000", 0x150, 0x107e0}, {0x0, 0x0, 0x10be0}, {&(0x7f00000131e0)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000100010040000d0088010000000800000000000000000000030000001a00000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801260000200000000000000000000000000000000001010000000000000000000000000000000000003000000070000000000018000000010052000000180001000b00000000000b00801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000026000020000000000803240052006500700061007200730065000000000000", 0x12f, 0x10fe0}, {0x0}, {0x0, 0x0, 0x115e0}, {&(0x7f0000013400)="000000000000000000000000000000000000000000000000000000000000030046494c452a000500000000000000000001000100380003009002000000080000000000000000000005006600000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120200010000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000000000000001004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100000000000000000000000000000000202000102d0000000500660069006c00650030000000000090000000100100000004180000000200f00000002000000024004900330030003000000001000000001000000200000010000000e0000000e0000000000000001c0000000000010060004c00000000001b00000000000100fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000001a04000000000000200000002d0000000500660069006c0065003000000000001d0000000000010060004c00000000001b00000000000100fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100000000000000000000000000000000000400002d0000000500660069006c00650031000000660000000000000000001000000002000000d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed41000000000000", 0x2a7, 0x117e0}, {&(0x7f00000136c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00f\x00', 0x20, 0x11be0}, {&(0x7f00000136e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00f', 0x1f, 0x11de0}, {&(0x7f0000013700)="000000000000000000000000000000000000000000000000000000000000660046494c452a00050000000000000000000100010038000100c801000000080000000000000000000005006500000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120000000000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000000000000001004c000000180001001b00000000000100fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000001a04000000000000200000002d0000000500660069006c0065003000000000008000000048000000010040000000020000000000000000000000000000000000400000000000000000080000000000001a040000000000001a040000000000002101020300000000d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800", 0x194, 0x11fe0}, {0x0}, {&(0x7f0000013960)}, {0x0}, {&(0x7f0000013c80), 0x0, 0x12de0}, {&(0x7f0000013ca0)="000000000000000000000000000000000000000000000000000000000000650046494c452a000500000000000000000001000100380001000002000000080000000000000000000005006500000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120000000000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000000000000001004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000000a0000000000000020000000590000000500660069006c0065003100000000008000000048000000010040000000020000000000000000000000000000000000400000000000000000080000000000000a000000000000000a000000000000002101030300000000d000000020000000000018000000030008000000180000005900000074000000e000000090000000000018000000040074000000180000001400000000060400244c585549", 0x1ad, 0x12fe0}, {&(0x7f0000013ec0)='\x00'/19, 0x13, 0x133e0}, {&(0x7f0000013ee0)='\x00'/20, 0x14, 0x135e0}, {&(0x7f0000013f00)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000650046494c452a000500000000000000000001000200380001003002000000080000000000000000000006006500000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120000000000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000001800000005004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c006500330000000000300000006800000000000000000001004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c00650032000000000080000000480000000100400000000200000000000000000004000000000000004000000000000000002800000000000028230000000000002823000000", 0x225, 0x13780}, {&(0x7f00000141c0), 0x0, 0x13be0}, {0x0}, {&(0x7f00000144a0)}, {&(0x7f00000144c0)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000650046494c452a0005000000000000000000000000003800000040000000000800000000", 0xa2, 0x14780}, {0x0, 0x0, 0x14de0}, {0x0, 0x0, 0x14fe0}, {0x0, 0x0, 0x151e0}, {&(0x7f0000014660)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0x153e0}, {&(0x7f0000014680)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x155e0}, {&(0x7f0000014700)='\x00'/14, 0xe, 0x159e0}, {0x0}, {&(0x7f00000147c0)='\x00'/28, 0x1c, 0x161e0}, {0x0, 0x0, 0x165e0}, {&(0x7f0000014820), 0x0, 0x167e0}, {0x0}, {&(0x7f00000148c0)}, {&(0x7f00000148e0)="0000000000000000000000000000000000000000000000000000000000000b0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000000c00000000000000000000000000ffffffff00000000", 0x60, 0x16fe0}, {&(0x7f0000014940), 0x0, 0x171e0}, {&(0x7f0000014960), 0x0, 0x173e0}, {0x0}, {0x0, 0x0, 0x181e0}, {0x0}, {&(0x7f0000014b20)='\x00'/12, 0xc, 0x187e0}, {&(0x7f0000014b80)="0000000000000000000000000000000000000000000000000000000000000f00", 0x20, 0x189e0}, {0x0}, {&(0x7f0000014be0)="0000000000000000000000000000000000000000000000000000000000000f0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000001000000000000000000000000000ffff", 0x5a, 0x18fe0}, {&(0x7f0000014c40)='\x00'/21, 0x15, 0x191e0}, {0x0}, {&(0x7f0000014ca0)="000000000000000000000000000000000000000000000000000000000000100046494c452a0005000000000000000000000000003800000040000000000800"/72, 0x48, 0x197e0}, {&(0x7f0000014d00)="0000000000000000000000000000000000000000000000000000000000001100", 0x20, 0x199e0}, {0x0}, {&(0x7f0000014dc0)='\x00'/27, 0x1b, 0x1a1e0}, {0x0}, {&(0x7f0000014e20)='\x00'/12, 0xc, 0x1a7e0}, {&(0x7f0000014e80), 0x0, 0x1a9e0}, {0x0, 0x0, 0x1ade0}, {0x0}, {&(0x7f0000014f40), 0x0, 0x1b1e0}, {0x0}, {0x0, 0x0, 0x1b7e0}, {&(0x7f0000015000)="0000000000000000000000000000000000000000000000000000000000001500", 0x20, 0x1b9e0}, {0x0, 0x0, 0x1bbe0}, {0x0, 0x0, 0x1bfe0}, {&(0x7f00000150c0)='\x00'/24, 0x18, 0x1c1e0}, {&(0x7f00000150e0)='\x00'/24, 0x18, 0x1c3e0}, {&(0x7f0000015100)='\x00'/24, 0x18, 0x1c5e0}, {0x0}, {&(0x7f00000151a0)='\x00'/20, 0x14, 0x1cbe0}, {&(0x7f00000151e0)}, {0x0, 0x0, 0x1d5e0}, {&(0x7f0000015300)}, {&(0x7f0000015320)='\x00'/12, 0xc, 0x1dbe0}, {&(0x7f0000015340)="0000000000000000000000000000000000000000000000000000000000001900", 0x20, 0x1dde0}, {&(0x7f00000153e0)}, {0x0, 0x0, 0x1e5e0}, {0x0}, {&(0x7f00000154c0)="0000000000000000000000000000000000000000000000000000000000001b", 0x1f, 0x1ede0}, {0x0}, {&(0x7f00000155a0)="0000000000000000000000000000000000000000000000000000000000001c0046494c452a0005000000000000000000000000003800000040000000", 0x3c, 0x1f7e0}, {&(0x7f0000015600)='\x00'/25, 0x19, 0x1f9e0}, {&(0x7f0000015620), 0x0, 0x1fbe0}, {&(0x7f0000015640)}, {&(0x7f0000015660)="0000000000000000000000000000000000000000000000000000000000001d0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000001e00000000000000000000000000ffff", 0x5a, 0x1ffe0}, {0x0}, {&(0x7f0000015720), 0x0, 0x207e0}, {&(0x7f0000015780)='\x00'/30, 0x1e, 0x209e0}, {&(0x7f00000157a0), 0x0, 0x20be0}, {&(0x7f00000157c0)='\x00'/20, 0x14, 0x20de0}, {0x0}, {0x0, 0x0, 0x213e0}, {0x0, 0x0, 0x217e0}, {&(0x7f0000015900)='\x00'/26, 0x1a, 0x219e0}, {&(0x7f0000015920), 0x0, 0x21be0}, {&(0x7f0000015940)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x21de0}, {&(0x7f0000015960), 0x0, 0x21fe0}, {&(0x7f00000159c0), 0x0, 0x221e0}, {0x0, 0x0, 0x227e0}, {&(0x7f0000015a80)='\x00\x00\x00\x00\x00\x00', 0x6, 0x229e0}, {&(0x7f0000015ac0)}, {0x0, 0x0, 0x233e0}, {&(0x7f0000015b80), 0x0, 0x235e0}, {&(0x7f0000015ba0)}, {0x0}, {&(0x7f0000015c40)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x23de0}, {&(0x7f0000015c60), 0x0, 0x23fe0}, {&(0x7f0000015cc0), 0x0, 0x241e0}, {&(0x7f0000015d20), 0x0, 0x247e0}, {&(0x7f0000015d80), 0x0, 0x249e0}, {&(0x7f0000015da0)='\x00'/11, 0xb, 0x24be0}, {&(0x7f0000015dc0), 0x0, 0x24de0}, {&(0x7f0000015de0), 0x0, 0x24fe0}, {0x0, 0x0, 0x251e0}, {0x0}, {&(0x7f0000015e80)='\x00'/12, 0xc, 0x255e0}, {&(0x7f0000015ea0), 0x0, 0x257e0}, {0x0}, {&(0x7f0000015f60)}, {0x0, 0x0, 0x261e0}, {&(0x7f0000015fe0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00*', 0x1f, 0x263e0}, {0x0}, {&(0x7f00000160a0)='\x00'/16, 0x10, 0x26be0}, {0x0, 0x0, 0x26de0}, {&(0x7f00000160e0)}, {&(0x7f0000016140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\x00', 0x20, 0x271e0}, {&(0x7f0000016180), 0x0, 0x275e0}, {&(0x7f0000016200)='\x00'/29, 0x1d, 0x279e0}, {0x0, 0x0, 0x27be0}, {&(0x7f0000016260)='\x00', 0x1}, {0x0, 0x0, 0x281e0}, {&(0x7f00000162e0)='\x00'/22, 0x16, 0x283e0}, {0x0, 0x0, 0x285e0}, {0x0, 0x0, 0x28be0}, {&(0x7f00000163c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00', 0x9, 0x28de0}, {0x0}, {0x0}, {&(0x7f0000016520), 0x0, 0x29be0}, {&(0x7f00000165c0), 0x0, 0x2a1e0}, {&(0x7f00000165e0)}, {&(0x7f0000016600)='\x00'/24, 0x18, 0x2a5e0}, {0x0}, {0x0, 0x0, 0x2abe0}, {&(0x7f00000166e0), 0x0, 0x2afe0}, {&(0x7f0000016780)}, {&(0x7f00000167a0)="000000000000000000000000000000000000000000000000000000000000340046494c452a000500000000000000000000000000380000004000000000080000000000000000000000003500000000000000000000000000ffffffff00000000", 0x60, 0x2b7e0}, {&(0x7f0000016820)='\x00'/23, 0x17, 0x2bbe0}, {&(0x7f0000016860)}, {0x0, 0x0, 0x2c1e0}, {0x0, 0x0, 0x2c3e0}, {0x0, 0x0, 0x2c7e0}, {&(0x7f0000016980)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x007', 0x1f, 0x2c9e0}, {0x0, 0x0, 0x2cbe0}, {0x0}, {&(0x7f0000016a40), 0x0, 0x2d1e0}, {&(0x7f0000016a60)='\x00'/28, 0x1c, 0x2d3e0}, {&(0x7f0000016a80)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008\x00', 0x20, 0x2d5e0}, {&(0x7f0000016aa0)="000000000000000000000000000000000000000000000000000000000000380046494c452a0005000000000000000000000000003800000040000000000800000000000000", 0x45, 0x2d7e0}, {&(0x7f0000016b00), 0x0, 0x2d9e0}, {&(0x7f0000016b20), 0x0, 0x2dbe0}, {&(0x7f0000016b40), 0x0, 0x2dde0}, {&(0x7f0000016be0)='\x00\x00\x00\x00\x00', 0x5, 0x2e3e0}, {&(0x7f0000016c00)='\x00'/28, 0x1c, 0x2e5e0}, {0x0, 0x0, 0x2e9e0}, {0x0}, {&(0x7f0000016d40), 0x0, 0x2f1e0}, {0x0}, {&(0x7f0000016e40)}, {0x0, 0x0, 0x301e0}, {&(0x7f0000016ee0)='\x00'/24, 0x18, 0x303e0}, {&(0x7f0000016f00)='\x00'/16, 0x10, 0x305e0}, {&(0x7f0000016f20)='\x00'/18, 0x12, 0x307e0}, {&(0x7f0000016f80)='\x00'/28, 0x1c, 0x309e0}, {&(0x7f0000016fa0), 0x0, 0x30be0}, {0x0}, {&(0x7f0000016fe0)="0000000000000000000000000000000000000000000000000000000000003f0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000004000000000000000000000000000ffffffff00000000", 0x60, 0x30fe0}, {0x0, 0x0, 0x313e0}, {0x0}, {0x0}, {0x0, 0x0, 0x31fe0}, {0x0}, {&(0x7f0000017220), 0x0, 0x327e0}, {&(0x7f0000017280)='\x00'/28, 0x1c, 0x329e0}, {&(0x7f00000172a0)='\x00'/30, 0x1e, 0x32be0}, {&(0x7f00000172c0)='\x00'/12, 0xc, 0x32de0}, {0x0}, {0x0, 0x0, 0x337e0}, {&(0x7f0000017420), 0x0, 0x33be0}, {&(0x7f0000017440)='\x00'/22, 0x16, 0x33de0}, {&(0x7f00000174c0)='\x00'/26, 0x1a, 0x341e0}, {0x0}, {&(0x7f0000017520)}, {&(0x7f00000175a0), 0x0, 0x34be0}, {&(0x7f00000175e0)='\x00', 0x1, 0x34fe0}, {&(0x7f0000017640)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x351e0}, {0x0, 0x0, 0x353e0}, {&(0x7f0000017680)}, {0x0, 0x0, 0x359e0}, {&(0x7f0000017720)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00I\x00', 0x20, 0x35be0}, {0x0, 0x0, 0x35de0}, {&(0x7f00000177c0)='\x00'/18, 0x12, 0x361e0}, {0x0}, {&(0x7f0000017820), 0x0, 0x367e0}, {&(0x7f0000017880)}, {&(0x7f00000178a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00K\x00', 0x20, 0x36be0}, {&(0x7f00000178c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00K', 0x1f, 0x36de0}, {0x0}, {&(0x7f0000017960)}, {&(0x7f0000017980), 0x0, 0x375e0}, {0x0, 0x0, 0x379e0}, {&(0x7f0000017a20), 0x0, 0x37be0}, {&(0x7f0000017a60)="0000000000000000000000000000000000000000000000000000000000004d0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000004e000000", 0x4e, 0x37fe0}, {&(0x7f0000017b00)='\x00\x00\x00\x00', 0x4, 0x385e0}, {0x0, 0x0, 0x387e0}, {&(0x7f0000017b80), 0x0, 0x389e0}, {&(0x7f0000017bc0)='\x00'/15, 0xf, 0x38de0}, {&(0x7f0000017be0)="0000000000000000000000000000000000000000000000000000000000004f0046494c452a0005000000000000000000", 0x30, 0x38fe0}, {&(0x7f0000017c40), 0x0, 0x391e0}, {&(0x7f0000017c60)='\x00'/16, 0x10, 0x393e0}, {&(0x7f0000017c80)}, {0x0, 0x0, 0x39be0}, {0x0, 0x0, 0x39de0}, {&(0x7f0000017d60)}, {0x0, 0x0, 0x3a3e0}, {&(0x7f0000017e00)}, {&(0x7f0000017e20)='\x00'/30, 0x1e, 0x3a7e0}, {&(0x7f0000017e80)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00S\x00', 0x20, 0x3a9e0}, {&(0x7f0000017ec0)}, {0x0}, {&(0x7f0000017fa0)}, {&(0x7f0000018060)}, {&(0x7f00000180c0), 0x0, 0x3c1e0}, {&(0x7f00000180e0)}, {0x0, 0x0, 0x3c7e0}, {0x0, 0x0, 0x3cbe0}, {&(0x7f00000181c0), 0x0, 0x3cde0}, {&(0x7f00000181e0), 0x0, 0x3cfe0}, {0x0, 0x0, 0x3d3e0}, {0x0, 0x0, 0x3d7e0}, {&(0x7f0000018320)}, {&(0x7f0000018340), 0x0, 0x3dde0}, {&(0x7f0000018360)="000000000000000000000000000000000000000000000000000000000000590046494c452a000500000000000000000000000000380000004000000000080000000000000000000000005a000000000000000000", 0x54, 0x3dfe0}, {&(0x7f00000183c0)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x3e1e0}, {&(0x7f00000183e0)='\x00'/20, 0x14, 0x3e3e0}, {0x0, 0x0, 0x3e9e0}, {&(0x7f00000184a0), 0x0, 0x3ebe0}, {&(0x7f00000184e0)}, {0x0, 0x0, 0x3f1e0}, {0x0}, {&(0x7f0000018580)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00', 0x20, 0x3f5e0}, {&(0x7f00000185a0), 0x0, 0x3f7e0}, {0x0, 0x0, 0x3f9e0}, {&(0x7f0000018620)='\x00'/20, 0x14, 0x3fbe0}, {&(0x7f00000186c0)}, {&(0x7f0000018700), 0x0, 0x405e0}, {0x0, 0x0, 0x407e0}, {&(0x7f0000018780), 0x0, 0x409e0}, {0x0, 0x0, 0x40de0}, {&(0x7f00000187e0)='\x00'/18, 0x12, 0x40fe0}, {0x0, 0x0, 0x411e0}, {0x0, 0x0, 0x417e0}, {&(0x7f0000018900), 0x0, 0x419e0}, {0x0, 0x0, 0x41be0}, {&(0x7f0000018940)='\x00'/30, 0x1e, 0x41de0}, {&(0x7f0000018960), 0x0, 0x41fe0}, {&(0x7f00000189c0)='\x00'/24, 0x18, 0x421e0}, {&(0x7f00000189e0), 0x0, 0x423e0}, {&(0x7f0000018a00)='\x00'/16, 0x10, 0x425e0}, {&(0x7f0000018a20)="000000000000000000000000000000000000000000000000000000000000620046494c452a000500000000000000000000000000380000004000000000080000000000000000000000006300000000000000000000000000ffffffff000000", 0x5f, 0x427e0}, {0x0, 0x0, 0x429e0}, {&(0x7f0000018aa0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00c', 0x1f, 0x42be0}, {0x0}, {0x0}, {&(0x7f0000018b40)='\x00'/29, 0x1d, 0x431e0}, {0x0, 0x0, 0x44800}, {&(0x7f0000018ce0)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d8010000000000000000000000000000000000000000040000000000040068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a0000000000000600000000000000080324004100740074007200440065006600000000000100080000000000080068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300000000000700060000000000060060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c00000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b0060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344f0d00801875c1344fd8010000000000000000000000000000000006000010000000000703240045007800740065006e006400020000000000020068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a00000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d0046005400000000000000010000000000010068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000002000000090000000000090060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a0060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000020000000d000000020000000000060000000000000007032400550070004300610073006500030000000000030060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d006500050000000000050058004400000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100000000000000000000000000000000202000102d0000000500660069006c0065003000000000001e0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c0065003300000000000000000000000000100000000200"/1760, 0x6e0, 0x45000}, {&(0x7f00000193c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00', 0x20, 0x457e0}, {&(0x7f00000193e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00', 0x20, 0x459e0}, {&(0x7f0000019400)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00', 0x20, 0x45be0}, {&(0x7f0000019420)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r', 0x1f, 0x45de0}, {&(0x7f0000019440)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00$\x00S\x00T\x00A\x00N\x00D\x00A\x00R\x00D\x00_\x00I\x00N\x00F\x00O\x00', 0x3c, 0x45fe0}, {&(0x7f00000194a0)="100000000000000000000000400000003000000000000000480000000000000024004100540054005200490042005500540045005f004c004900530054000000", 0x40, 0x46080}, {&(0x7f0000019520)='0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00B\x00\x00', 0xf, 0x461c0}, {&(0x7f0000019560)="40000000000000000000000040000000000000000000000000010000000000002400530045004300550052004900540059005f00440045005300430052004900500054004f0052", 0x47, 0x46260}, {&(0x7f00000195c0)}, {0x0, 0x0, 0x46440}, {&(0x7f00000196a0)="800000000000000000000000000000000000000000000000ffffffffffff", 0x1e, 0x464e0}, {0x0}, {&(0x7f0000019840), 0x0, 0x468a0}, {&(0x7f00000198a0)}, {&(0x7f0000019940), 0x0, 0x47800}, {0x0}, {&(0x7f0000039c40), 0x0, 0xff800}, {&(0x7f0000039e00)}, {0x0}, {0x0, 0x0, 0x1003e0}, {0x0}, {0x0}, {&(0x7f000003a4a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20025, 0x1017e0}, {0x0, 0x0, 0x181000}], 0x0, &(0x7f000007aa80)) (async) read$FUSE(0xffffffffffffffff, &(0x7f0000003580)={0x2020}, 0x2020) (async) mount$cgroup(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080), 0xc, &(0x7f0000000140)={[{@name={'name', 0x3d, '{--(,*)$/,^'}}, {@none}, {}, {@subsystem='freezer'}], [{@euid_lt}]}) statx(r0, &(0x7f0000005980)='./file0\x00', 0x1000, 0x400, &(0x7f00000059c0)) (async) r1 = mmap$IORING_OFF_SQ_RING(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x10, 0xffffffffffffffff, 0x0) syz_io_uring_submit(r1, 0x0, 0x0, 0x0) (async) getsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x1e, &(0x7f00000056c0), &(0x7f0000005700)=0x4) (async) r2 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r2, 0x0) r3 = openat2(r0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000180)={0x0, 0x1, 0x6}, 0x18) ioctl$DRM_IOCTL_MODE_CREATE_LEASE(0xffffffffffffffff, 0xc01864c6, &(0x7f0000002640)={&(0x7f0000002600)=[0x0], 0x1, 0x0, 0x0, 0xffffffffffffffff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000026c0)={0x11, 0xf, &(0x7f0000002440)=@framed={{0x18, 0x0, 0x0, 0x0, 0xae3, 0x0, 0x0, 0x0, 0x7}, [@call={0x85, 0x0, 0x0, 0xa7}, @map_val={0x18, 0x0, 0x2, 0x0, r2, 0x0, 0x0, 0x0, 0x40}, @generic={0x3, 0x0, 0x5, 0x6, 0x4}, @generic={0x9, 0x2, 0xe, 0x9, 0x5}, @ldst={0x1, 0x0, 0x1, 0xb, 0xa, 0x2, 0x1}, @map_val={0x18, 0x3, 0x2, 0x0, r3, 0x0, 0x0, 0x0, 0x8}, @alu={0x7, 0x1, 0x6, 0x6053609a41657c21, 0x8, 0xffffffffffffffb4, 0x4}, @alu={0x4, 0x0, 0xb, 0x1, 0x1, 0xc, 0x1}, @call={0x85, 0x0, 0x0, 0xac}, @generic={0x9, 0xd, 0x1, 0x4, 0x1ff}]}, &(0x7f00000001c0)='syzkaller\x00', 0x1f, 0xa2, &(0x7f00000024c0)=""/162, 0x41100, 0x4, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000002580)={0x3, 0x5}, 0x8, 0x10, &(0x7f00000025c0)={0x2, 0x2, 0x7fff, 0x2}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000002680)=[r4, 0xffffffffffffffff, 0x1]}, 0x80) 00:06:18 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002540), 0x0, &(0x7f0000002240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}}) (async) removexattr(&(0x7f0000002040)='./file0\x00', &(0x7f0000000980)=ANY=[@ANYBLOB="622c674b491146070000148a090000007964a46b5041575f34be90e691e324bd378ac8e05609f23b51018fd99dda29f4c3d003e4e90022d003e9ab4a47ff6ef8d496199bb384018828f3deb0456214ab37b88bfe03f11c7c053e5cf50060ac5b4422289330f7984515d8de28dc0f6cc4c88afe7fbaf42294015a1ceeb750339592e29fb7d4504cc24976c2d816e1d57009ab1f64ae6e64b6e4e2224a3ecf95e99af88e3fc00968ae3439ab591c8e38a3884230dc6b9c6acc4ce14aff59765d3ee40dbaa7c58d54d87e1bc26b0f40daa85de793c92bec080a6e56eddca5ff9a0ace98ea764a025a3f33a77d430960900942ba0af271e3d52dfb6d7e286daabe50c40d05870df224788f1534f7b8593e77d4cfd9366deeb77b9a29599b9acae9f25452046ab460d30fcd50e1b54de0051588e366509ed25cb8b53c8ab84c82aa90630e8d2e591255d5cac0f1"]) syz_fuse_handle_req(r0, &(0x7f0000004300)="554c9220ded44dc871e99bf93ba98edab14b65e6c40f3d7e63c5f0c7347398ac6e17a02e3a04251346947f4a6880f2b945ee61eb1c3e37d15fcc1a893cd80a31a1047003831638a9eb35eee32129765d0a6b4a2d3714da892ef150593cc708c1a37e839c22a3c311ac70bf116c4b5ecefe045509c79d3130b8cc663db8815042336bda88202f57e451c12349249987fea63a1b9f90bf8c073518c6dbf5b544516568f3c0cc9176338fa7220d49e1f09fd55f7b02bc3b0b234e4ab63454c6a1b6f76d1365a79c96f7b27f6ce62c4ac33d652c0b979202ef70ec4b00eca11a28fbd969f246b5589c7149f57607dc7230513e9a0f4f294161e9d8bb2ae1c6d3171d51f340a9aea4adab9f4fa2cb36a4d8493797a39538b35d628348eaf7cff790b864750eb0c0d92d06b7ffa9a349af6aaefdacee2226ed2c975e7f810aa388b1bc30ac2a4837668ce8d91d01f8e6be28aead6e029874c7aed2c7f8e9475667fd6d364b66f4b24b796ceffe8cc5a737cb389de6e8d0fc70fd0b9b9e77821d0940c2b9a7141f4ab8c0f7ae8a1e85946b3c2ea6ae584a3e677b9c3089775318f4121dd06bbbef8a4492b7b089dfee21ae92053da80fae983f152649acfc164b4838147244296050801773f0f7aa575caa4f113f76508a05ecdcc0a7f0ca656e85bb207283ea9a61272c99a4a7960cca8d88808f372547296dfb0ee5011f5c33a12d77fe032e12af8fa69915304d0866f10329925889a6a1ac215b6ef8bc05409ead00a3e3fa31cbb3de1217100d65249b00d4b7a7b6b6cc10d8553311abac7a5eb60ca1bfcdb1ca2347d8ca81fda24fedcb1213404d4b13d174cf18f67866b1d23e7efa408ee06dc18f1fbb62f124f1e541aeb89c322b04f0cadd31dfc6c13840e439503e1422d4218344a01ae9e0030fc286b11a93305d818920c3c8145a5d9e9dde3217b2db60761166d11e6c997d8f521d881a99f20364cdc1a801e21cb529703583c04431525c50c29708be6961aa173719c84df0fe81b0d040573562d9acec837d1afe70ba5cd12e81ca39eefef683625a8d237b5aed2f61b26b828bc10fdfede883f8f1d89fa08ab5070f683d234103d67906ea4dbbb2f4e3cb65a1ce08a8fb96a5bd314238a4d3dbdadfe85004dc132cae7a8d34ba24cb5e18fcae804c96d93eaaee6c0e6882214ba919871eaaaff4a6b00ef7f22c0d1f93f563c475660a1c0654eafcf0c07c141ebbc1ae0b8a1b75159ed5c694cb241368a55ac01c819ea624c74df20432f781dddb820f70a3eee1e53e603b0f00b9e2c321258d69b4ccf332db63ca96e96a633ec4c1fa19864d4b4c34b026a30e49d85eba66c3007afc8969ef0f4b3e7dd0bcc035c68a5381620e1c6b9141a24f68ec600f8adb73a16cd0df2de797a9be785e5a5edccace15db9331d5643cd835f902b8f91e52e3111353cd157cadbfeda4e0eb9159a33a54141d95f7319131eec6e937b21d5ab17638b34700da566b652ea3ec8d23c14c1e1ae771e730c31e1ff84bc4a5404e6e0c244e961749dcb46154c872f424c63b08cd261163f117d90a7667236a054d284c22aef8d4c3be8699c52250e0fec9b679909c748ffa8ca9111ceb0cdac1024db98abe5810cfa07a73de3b23750b7e5c1c56554ddb7d1903dc872a938887fd6e26af8fa0b3ef2b5e57d98464c0c3747a34c7df348027769c0bb88359b72b72cd5704488bdb151ee8322e053b4fdf57a84129b5269b1a133c085a029b86f6ffca37bbb24c318e66632693080649f08eea35281eeb725e441932df3c276fb93a686bf40daae3b1c5b3e99ccb2024929ce1352e9c6e660880118dae4de1cdad0fcdab8a97deda2984ee82b05ef1f51b7f04c8ad517b95f1d8d71b356efb22effc6e38a197017058ea1fef4e7916fd943e44f16e7edbba93a3c9e4c20634f480e6d51bf6b5a90a55cab77a942c6f32d343706a50f827ffbf1079398ea8eeb582ccd25e75274232c13dc44de5f8c5ecc3110629ccb76dd39d045b9f3f3d531f238bcbf3f694003c478c8285fed3d4ad10a6a81d1b5540afaae2576b766d79c78439db8551cd341f7c1737191fd73e1b6537fde8cc1ae660a2aae90c4596ab9510fcd946e84e7d738e1e46338a37dd1e9666a2b819a1f1ac6c9d661d09562a2cd65a43b6295afa4e3df42e83951e01e86ad2c1b5b641425b0a54d3fcc1fb8687e89216debe978c7db246fde2496e82a758019030b9a6026f1cccd3566e106d7cd18e2071988c7f622c9a97507a90cdd7ecbe124accd36d65ac302018f10672354f774f58453b94586752916ec4ae988d98ba3bea388bacdb9b86b87d64ccde8c8d84baa91d97f902552a75a8dd7b361177ceebec45e60e73f5df5dbc99a99d053a311d2a7763ceb6af5265af68b13178e65f94981907f8f2532196f8ed213edafa38f3cacc142a036d317b1c8ec74e78913bb36c22c65d2fab252954042cb2ff1db2f087a7252bb5011d1ec848680bb6136c182f9c3529fb8d91fbce5e1ebf651b048d5248b954e0d8cbf540a16e17eda1518e0a965ddb22c5d900e707efd52d5b372ac6fd411c5779f3870201fd4b66de90d44093e532a691ee4f57e5e5f578a722394ce305d891d57ff2675e755a5e0abbc4499084ffdda746cd778da2ff87115429065776b71e2a6019bde3122b05d131ad7ef5b4a19cd979df3fbca57c469c6566c5811766d65f8a0869db56c1f90b924c67fa992ceada2d46aa17d89d260ee6078c844756675d15ceab36b0a632447f238ba9531d615a793628b59ca5b15fbc7a8a4dc2114dbd0a9b2b245c54111e6ba343c3f413ea14e66a0ac57c7dd0446399289465f81e6c6f730e4cca19751023dcbc3e15f9c9ba5cbc5d059c882e42de5f0ec49d7171870f17faa132cbcf0cc422a9a78869ffc22f376cad1b359c277dd6e0d7ca7d5739fcf320be450a3b64581ff7e0e4a2be026300cc99ad925b62b8d7bc8e1158c0c5d721da8fc3038bdf49da52edd4b2452e3c9cfcbe89a131b84e72eda38ad33cd2d6ca62958e8b695ad20ae04799d1c273fe5ddbb869991397e80f6c15813154e2d65c29ae3e4dd4472d961f6c848682a233e0767949d292882c03e5f47afb5985717ec13ae4af89e42030d360f1ac03977e2dc0b2a9e6f6a994d769c73dac84b4ebe8fad74d293d6c9aa6b315fa9eadd47588fff802e9e196d814c0dbbcf66915898f4785fc8ef49f3050df0fa3d8eefdc92c0db7e9d053a72e4e53200dcca91b200b240e36146f8dd6777816bc8fc5921e08051cdf0dc608008eeebdd28cd6303e4cc533fb93c7d7dbe9f9a634f9287d6350f84d704427ed54e0c71c0c99a4db202b4835a463a6c77be774f2b80ce652c1a680f84f291f8f6d9b230c42b58a10237d3e6ad67742824758084b7eac9916d3bdd1526bbce6a08498082163f14bb5fa005fd804cf78a46c28a3514828c242322e410ea3b7f4f6807a792544155c02949a3febd4a8dd4e4c75946af457a39f52e80b643a6cc1de0d26884a170fd763b13b11d3ddaeb7275612cc1d69da85fe942ba49f5393c6a3d25f28ca7cd0fd37dddf6355b9fcf474e3400f5908a7d1975c34a61f22229cdba7bdd426650a3603cc7562bd5e1c15d2cbbaf7a73d6e26235249c1c0b4e8732b0860c43b280a4cd02e4a2d6170f12b31ac4351e2d1bca0bd9a481242b0ccd82b70037e5e9e536697f1719dc366e6554bca111fdc16d65400977d31e4bed3a585278aac11642993f56abb47b2c41f35e3b21643ab754178ba47902a599f729ebf592730d3c9d6e69509f37c165ca6203fc07b79ecc422f4aeb5c69a0c6b5f32307c28b7b4aa09ee9a640cbe05122f973ed1d3674dd78944999f9059c88d05602bc03a191f3e302a7969b57e9aefa3c694e9ee6d221cd982d5c18df47b6df146a037c3284d4fbdbc5c5abddae3ed27dbf439f2cbad51fe7331185458ad284c842177c8358a55612c43161d6f8bcfac07bc0c7a1dc5d269a2b4318d280ca354c5a9a934813453c223120b4c200feaf2550ed2bb76bfd9d6dfc2582d422f4a528703466c1f0ed93bd12a4ce2ce0fd0a56c087b501221368d5030c4fe288693ba8e84991d312ca8bff1740cbc8c68f92d617cfca0a068a029bcb2fd6fd827bf8a283672a0d416384b72b6070dc326ed674a79a952cd65ccf15449e60241ed5b849475208898868668fe14d9fefc3e701127ad18f01b6fc0905caf40e4040d2e31bf04daf4dfa902629a6816ddfb2f3fcf88a784c98698ccd746fd373a07e957d6444a2df20fd114678e7dd62066f84be596b2c9db14707612ffef8b9ccc7e9ae11e5c6eb31710c3ad0007cc58402d55069bd1970c3329e1f9017e2c2281a9f7908a15e394c534d5a9cd53f0436005ba5b7c1cbc7652ea0ed9c0b83db0ec73a2b196276dfa86f290d70ebca1bb83fc2c3fc66a4356c627b5aad22e5ff301f0326d8013c55076782b6c911da526bc87a2a88c593e90c56f9bcfe244bdcd7c41506d596adcc1dbc973edf9eafd2ad04818eabcd47ac483a6d3d8090dff194f73f3c592ba7d27b06cb8338946bb83c5a7d3b1d05e873f65ae5cdb6996920ae2ba1215964e37c4027f995485c66b8897c82d6415711a1ea055eb7a1de1f841379aa2de8fe1cfb49c4f6fb26d50f1b351648f771504c6a6dfd3f408154443702cd1587d1612db808fbe7a64ac63fb49a1dead3120ef2fd601ef9a07479f982521cd32b5315c0bb02b71590c726a33aabc704dbd24730351b7e10e587f8ee1e5becdf701fcb4dfe5c4a1a8cb361b751893d99a7ea5d01a39a8d7f003082610fa69ab49b0603e3378e01b89e1ede84bce7ed19c39298d8ee21548e1ce21c2aace325fdc6852368dc0c51832bfe1ee91dddd6733a57b2b265280b59f52af5117405a1b9b9fee024199d25ce1a50255efcd28201960cd0e0a9048e6f909634d44e40a58616135697cb96c0d6e4e4f75521e73dbe8749192efd82da3a85507833543af5653559a8712ef34d9a05d3124eebc682402ec5838339c196941c4fc535232a0ade824ed368d5e2d653cf21cef4240af9ce27f2a2e03f6ef504ed614ed480057cf106d35fae40f7f045234705d7d9355619dba5db6269249f7489f09aaa53a941347920851661322cb499cd556ae47dd09b38db4c58ff4563ab4a7bac1b742962dbbb8da1483324a6b85f10bd47f5127beb1e582f84a66a1c2148a5f190acd787561274e0d225417ebf2ae2211050ad4edbb58850eace0aad4f2f2771f9e7d517f18cacde926ac44108dad0e510d9a3d865b6209315907c18706b4d36148f1be5a8d9973935e810874538b260974006bad01eebb74fa412807dd51920d43cf60c34841de6e53cba1a090a14004ad068cc7410f2a144b969507b1aa6a313e3e2f5cea95a6d55fe409d19cca0ab7d718da745eb9827476f20d8940a588affa25fac2b279ce62f3057589a5d49c8075dfc8843325df501985646b7f6f15699fb42ef73f2c9c2c6bc3e2b8aab5f0fa5df79e248b5c96cef845e717d35fe119c7db193687c9a08f451fb3d09f600bb60a5920445fdba80aea8521e473cc90a4faa01e5a74e3418ea876d7face87f592c3c73ec633859b525ed9362543723c03f7c4d8cbeeb70d65f4718252a0280eed383257ebfebd9ae823cf84351495d41f4b76468637bca03ca939234b68f39d1e30c6c25a94b727027574c9ea42744dd1d7a660471653244834bf5a5ac6bf3f23eb20369369c46d04c0d48040f240f35745082228662f116bad1ef276adb4ff5aff675e48bcb8a3b166a8cb03dbff184e9ce2713cd69422fe2ee2007bd8901bdace6d00e237440bbe3a20a81edead57d2c325361cdaceadf13f4d5e05c8b093042507d931e39864d0c9842c237ca709432cfea487487893242d25aa2309f04e23597677fbb6b2f7a386357002a7b34e53b6612831b195d68d1a6a897318e32a0d374f01bb15d1996720f26e209ad7329bcd58db85583bd7016581a47fc218c8eb4bd5ce8b59a37c9d594aab36fa5be9c52fce6013a4d9d21e1a6d3a0a261f6a53707334f76bbab4eba24bfc38d6c80da8eca93c2381e3c449568d5fbc98648653dcab941ba09b62d129df944c4d3ddfdea13ca04e5e37ad94b105e50eee019100f2828f7d8a70606b736fa5f92b8016484bbdc2ebe2304b02336e1c1e8e01098c4f078f722a91081c3f56eaddcd6a9e5eaa2e31492415b25f89dbc038c01eb205d850ec772b04e2f987d55510af33e2d2435463c3c68a6ec4b5d356c9ed875fe15b07720340caed09163bafebc8919f484854392a758514eaa9fcbe16d64333c4337fe65c5690e5ef127ed508e32e4cc9c2664641e7b2fe042a02aa19d68ad28f926c7c67e2ef0ad0464c9878dea3328fc6640b5554fa33c2bc0c1a4b970611f41e5012bfee4ce3bca33b51add7b6c364f38fcea8daad485d627a45cabfcc5bd1702a6f6fa91c3522228cb2a32ed5687d18b47783d3ad015643ab3235755c2b1711f9289f0cf81fd063353af9a3c221dd773909c7392aac0aa496ba0eedc89f460f0e1856a20a32c176fc585f93dcd2e033af4ea6c64fda3cdc9ab1b19d0d8e897fe0c29a0d911a73330a1cb379b376f70efb7852a73d7090177a4c03c4af8de139a19d207b693cd46c80d631c905d6fbc3cc43499763c91bec16b6887ce36c6eb54937706f81434e0b511a9dc32e16f7e9699bc02a0482253d71849db9773371d19b9829da4c82c889572527c0e0ceff8e37f4c4e0751337f6f16fa1682cc78c063e60c1084c9eb9f72c0ec1fee55ac8554781c454c5d9fd262daf6a9101c4fbb3f54ae37a7415694fd09be0a2f26728294bafc7aa811e9ba3c70c74bbf7c1b352e63fd026504a5aa0efe22c905f225ae5710ccc78de17393d9d4060180d159150ab307481ed164f55a1ce91d7fa718bef4b329a396753894ed6b9f1c4192fae8bc7cbef412821031b71e6ffef7ceb30c6202f20d2bb26cb7819180ab50ab469799d7802c208a8e300bd737783daf7d99ffb8d8050c76b6f42899f6433d2912502533f6edaa0800872d6f484f31a42169ce6935c8621e0cc2acb8adbbc7534ef47d5e1c6c50dfd0afa938233d19c4976c6345f5eb34810379be02013af20c12906013a358ecd7f2972a6dd383308750fe04069d5461c3747b6b643e50532a98d473ca4d8553ab4ec7cfc359298decb8762f937329579793f6bf9ea716b7581fa95a5b392b7b55164e73b3feb17ee8788185d3c94cb59130767bb3a7933a25341aaf830fb185b9bbb758f4b1717dc7209201e540b22ca4a78c99b6b8e5d32cbe1b65fbbdcb66f8975160179e8c72c964763034a9f9c437f64af4ea65c5b1a94fc29eebf3b19f18b8901b212bbcdd6e82ba28265b12d6f124d79bacc6040222107e7b751308b8388e26b9be8334006b2c4d551f905bdb4dd5da32487919181a4c2f75e81a1eda09514d6467f038e326c42eac0288803359d1585469646e35e7d82176454dac8ef1c7cb87111ea18851b85f54a4ad29857e96b40292e591c9f762b5918b1d8568a6b4299d15306131c2a93f7e2fccfdcd760f15e009aef0acb4f9c22fa22117f184102979121ab5139741032896a9307caec475557dda818de7a8ec6781f44e169130a34767c395f8d6aa9882cbc85c0f259c2e825f9dc19dbd825fe6b02cf8037339949657c0e80c45bf52d6527665dd40a2d3d237535e088e0e82ea3d470f0e79d2053917a37bb7e747a6e36ba371a302bc92641132bc9e26838d7d3f7e79f44be68ee484ba35bb1ae11531a518b97de0dd7b8258dac4c70b53e8ca1403b2edeb8f8ce8924770d7cb26ae3267e535c136b0d2eee51350e439ce6e062c3eb90ac199dd2f8be1921db381c7ea4e5a5a2345e5f0658d645bcaaab1ed835b8257219605c4134ad21735fb51312ec7437f93756950e23ac0f7b480b7268d8a9c2dcd9e25a84e0346b8b534116d18158d6598f4fdde2b8a4d0cb13627b116cbef96186f45fee329010b18dee5bce2f4d666018b0c9c1775b826b091bb1e52d0411c074dfd5be1eb892bae5623a1f369d9848f9779e9333d6e78402bff09be0f8de1baf39f1697c0e8d236710f8466a379fca03ef05db8e0baed90ebf1f729f32d393b6eba15972592a083bec88572bdf1ab1e9bc88045ad6a9d6279264700ef608fa205423d8310d54d9e3b71841d741dd7ead43674775e68091a179dc58a2629745e89d6dc040aa1e0bf66e3f694614f05ba3f993589f59fe3c43e220d4d0d470282a16cafbee8b164b6f6f8070d23a75da4f760380c9c53fa31822ac71938d62d78f4c2ddc8e273a42e88af5329160adf77aef67a11b2717c909d6597b255c21c5760c084ff4a2bd56e79958c55c3f57514af234891c8cacaf28b948737f07a4f0cb5b499a147d6f9e959c1294e1fce0e920663ed6590dc25d0a81853441471cb08afc0e30b5de2820f812f17a0573ffa908f78e494624266c9df6d77065ae1908dd0e237c58c76a3b43b7484b2f24f2c6ec79d4c6524e7306e061ebf45afa5f51e48306ed8068566d311cbfca977453dd044e91474e67eeddbacbe5bb154831c51cce97f9c1aca1fe061be71212da7dc871b1c4afd46c7401732f4513602db334190ce7dba442b5b0ea54353a255b6c4f3502cff0889bd78700aefb22b00e68549248458da540d2bb558205d3f0e7ea76439d7a1b2ec3367ddece6b58f57df1591117c160603448f3022655fe61cafe5524d5126025395f670105728d7d81b270b1a63368373d000c653bcb34e7b601dc46616a6d4724f9b7aa0805ea3da3d8bacc7beb1f0bc499169f2153078d18a0ac0067dfc7d486aa3c8373245e38fed4869d67e5c1d957d5b45af8c407becb0f31b8a7cf9bd7db337356f59c754f41e567a5c238f27fe40958681a802192f24259c983173ac467ec592d22b7a0c276900316f6b70d55db8a55eeb2124ff3b51234b421a925047085afbd258e8645e66d33b4120a3608fe74afedfc8771f27ade9df1a21041b14d19dc424fc444302e568ca359db00fedd75ba3e19f0d2638e8c1698fa8fba7325d1743531daa735872cd213b15ebbc64dcf2dec1e37b16de5d89552a47061ba5f718bd522fa25d2d2f3296beed101eb3c85ced6827644c8f25b01e6b527fd2d76e0182e12ac5fc2498e9028733ef8958166e142a03a964aea9b52a9341d0646228ea2edf89d7864aedd17b908b6d36991dc91d5dc39809d8f4f1f78d2f1014e8607fd6da36c440f63bbdb8d0141e3194779c91069897e712f2b06cde4999100424213daee4fc268afa3cd55d8b3cc19ed88e56c1e9cbc13c21f98faa53ffe327b47284bc52377fe0dbdef42d89d02ec6fabc9670571beab37ac5aac88d95d857b045411d8f1e16b51ccc320f89090aa08bb4bf802195cb9840b5bdb35a02967ecbb2f8624d5061a9453a9e42ff451671423d8901d44ed82b2509e84d76032273a4e435d323198de201af1a13a7f15a36f0f5ce00b5c20813e21282c3adf599cc3c3857cd2a426533147ee4a2c43cc3d0032359a33e59d46acbfd22ea38f6cbbccff45b0adf82f143c43ac6a6b947d3b8f1690c842f6fe43630402eccb69dc0dc8f9de97476ab6024f0001c6ac3b283f4e926c3938d753fb103f023cf76f880812ff24d11553c72249eaf781b903a4559958e1352df5ddda095ba334359f8853c32a0b59907dd5bbe849bd00e06719550830a22110cde2430d3e7596117475dd1fe202be037ac0ff919f521de47b59428ed36d6f91f983d4aeab9546383254f89761e96db0a3dcd3498721519243f504f241a9e29974c8bb2dc908cb8e54f8c1ecc4e1fd1fa489d3f0e604b08f0e68309cea3c3fe4a32313bdbe0b94b17b3063bd4b52aba5508c4ed7cbc581073bdd37117e029e6ca508b5df47dfe9dae6b7f20f75686775db1b24737ed3838c5e55b98af9ec63e85f6515ecd19650dbcc4edcac1bebb2c367c9d0378c6ff1becc55189297cf600d8c32a95e51e6b7eda9689f1f66c07fe6979a9d8aa167767aef050a6ef442c40bac9eb1be9c932b9fbf49c7e33c45dad2a6598cb82014aceb0908192f54ffe892111b640a07c290f1e1b59f5c069d458d55dc45ffe8cc77d8f58dbd57e8f26b4882ebf02b976c36b6767c9b85a2ae5bbf536232787b016dfa044b42807dcd080a6db79ef3e182c7919176714b1b8d6f061072d5781c0be1699141686db62be66fdd4fc17f4a928d8aec93e435f0fb1530c60f75df81df04244226391e084455c50209105a32a6fb2230a3c9f24105267373bf9c09892c0edd2c4dcc16e70585ac625ecd751103aae3be858f08cd561e94813e8630de72d0d0f070beec08fbf70ee3e808f25fb9aad0186919dc1814a20534df63f04d9c13fabae769d15501f46483de475d5ccf0a05e7abd10ab3a5f0bc3bc0daf56b06fec01dfad9dd730588d0d0eabc90ba0de016c716d1120eec475248146a650cce6ecb1a210331c93fd61ce150ec840125c3e761fd9fbd7bb908bf0fa535da2219263a5acb16f366d7db519c2e6b8e1bb0360c82570f6c8cd65e85e0289fe8b0e1622eaae67ea1ed3c9e3ce8548014edb31d55df6e614a70752f612fdde060d2687708e32f21b8a2608c0fb49bbe2075c81736793abd9b0776f4f8a2d552987b84393e1734960a9b239e9b3c2eec661154bb63d6ee3a90f7e5242935364eb379c292b84cee2279440d3bc1b894fb443c72244c00532d093eb4a0479b32c0d4b8e1c0e5ad4f7b97deb781470de9bfabd03677f9b2adf7de39bd76d07fa852c630df5c695aa136caf6178d4f2251acac8cbce1ca0ffaa7f4c826c8ef9aa1214900abcbad6be0a968e26ef9d384f272bc4cc3bb1834b9406af248256db77eda8eec77a0b3ec6c6c94ff3fc5b45dc163d16e4eb8e58421ae523940aa81ab28e68ba2c89b3f159c87646c74696fa04532a7aa41d344e34943843f32caf3182d5369e1658c13e29dc6493ddcbdb24d200878cd091eed857fb4c466fe1fe071e6133922e3c21b82bbbb3b68108161af41c8341a4315cab48980b1980b29af0e12a60972f2be4ca43e5bf0bcde540279f7b69946074d7e4c302412745a3e01d12e747c23409766723a72354d937aa251ac8cf37ab303f0897642bc9d052bf406aaf248d8de14a3477ec3dfe4bf69d82e4d1d64c9dbc31aefeaa9042115ac0f8da8818a1f5c8cd23bcde6aff0c035acd8a2948102aa7ce31684bcc27c84742db3e8e2bf595fbe76009d8b966be7ada94cfedc375ef77d875ebd762039effc007538b7cfd86d0fd5e05dfe2257c1117b6b68b9a09883de6256e7ae9550b3c6b2830baa3f75180ced65e77b0dc4154fab4405b2558ea44ced11825a4203469bcd5782fb2b91f34379b99b731b9c4250bb0edc742fea58ef447391274711c79561894e2979167c71c0b1332b6ded364711048e2794bd8f489dbb0589cc65ec4084df5a578801be0f31ae6ee9c7730169f29c8f4fe9453a7610a130d57aac428b1c78a4440877b4f21b251f81dedf3ba16822f310049d9342eb91810fbbc509", 0x2000, &(0x7f0000002b40)={&(0x7f0000002100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) syz_fuse_handle_req(r0, &(0x7f0000008a80)="3a2956771f5af6a59f431f6012b2bfbe8a1a57883e685d9d6ac37a6582f7627997a74e8ada02c7bcdf16a27ad55064141ff6063f254f6a81143ce5cfed7c14e57db057774426562b0ee70399a434ccc567e924f0bbe5a048e679c1382d5e04a1022229f48c146e279016f24b7f8f6cbbd60386d42b80ac2131c7db0a6750ddb3ac8e3f1d29f62d6e7c517501eadc172ce63eca9ca1f1e582d1745fbe7b073b1d74e83c74b860c514adb20326fc947fe263e86c61a67109d22f11831a0c8d9e2f4dac71a52417e020a6bb082ab4c6bef0428083e4fade4fab679ea5db2674557f4200e16718cc838d64067df8e6c61881bc9875cce90b6f362bedb3cd76c739e010885a2912d84c06b01e5b9adf03f7690039e2422c5d6e590ab45b66e42ca8a45e836c6d6fe2d6542bd638c669308967777253b420491eee4fbdf681584b3d50011983582f4fc3fb009fc4337e42b3378dca7f268fab71c69c8e16fd78b89971cdfbb1c85d703cf61e97e97937d6dec1a045f8392389a4c4924e6c60224d6a55218ea299134ceec06d34c5fcaeb352e2bbb8ad3ac143ef51e907db89b3a06d417f4e029158ee674d115ee5014edd96fc5d69800be66a132a917c91c108a3a03bdcbf6eeb6e5e3d04b20c6687d919a54a3f50f719a96e95cac6fb365dc39fed426e83d62310237a008c6bdc78d2ede2dd2d6a1b434912b0be9f7497d88bddda3f2a90447e984a94e282c45b54cb8c772bc5a7782b76ddbd0af7d0df7fd3b455d8c4889d73d6790673f6963ac96e7be68a489cd06dedc03bb756b5b8aab25b040e9e6df6c35faed980f923f45103a4cd3701a0e77a7a0316cea6d7290b694e23ed60e4429f8085511009bbef29b03876238c2483f031ba0ea7ba98fd6b70994f7668eed0d33beb4584db34c942b086628a4b27cdc8e87dcd02fc5304b279c399d093122ff260176ffd38eca07fbd8065d52aa33ebe77f8364ec7d297125f527f981e865d0c1f5491a44184c71150755f763e6293996b1a7f6fcb8d16cdd7b7cc51d97e6d2010d7dd111b3bfd2039daccd480391f7714f5a54b74ec2958800e0b57c56aded3a30e275d71a39b936c0bbf3d2797f2eaefa21cc4f306df67e169bcc4d7364c9c4256fe64c500fa944591a59758476d975125256d129b71603ec4fa288a2a03e839704e9fbed3ad9e70cbddc1a71339e0cecfe5056dadf16b193d84ddbf5ccaf952c70ac7ec0171090f60b8242743276efcefde5cc56522d35558dcd5a6f992f2d2070f3a7df35f669cfa01c7e8bca3f01c5ad99441d1b6218deed663a3cf80fd18ac78cea1c08783f52cfb279b1338bf9ed2de0b8c4ee9193856f232d0dc6c9b2fb4ef55e6b14ccee83e131fde17c08196c41924f2aee4e95fbbca8104e1fca6e559dbeda4918ac5812a99870987b92e64ff28c618f7c5b1c1a71b4b2283ca78657c43b7aa5aee7835160a68c14675c53eb639b9da0264a3370d469cfc958260492da6ced05a8db88086b4fc14cf50f60bd721c460fc5dbe3333d4141b2f6b7ebacb26b1d9ee14434e21a12893a66d4dfaea2eed1455ac397c4a0a0751eb92d22a63b168cac901bdf890684a85378740d710d10298cb8045bd64397dadc4b6fee80262d5f2ff2f914f3ce3247176667fb30dbf65ef359d12c2a1099f34df80029ff6dbd2b83523bac55b25d8038b49fa012f7a1fa5caccf0d2181a5c0bddb2b944efe3e8c77b789951ae7a7e5653cc9e563d5baaeee31dbd6838b57c0eaeebfc6cdb48f458bbf09570c14516a8d2a9e424b35cd840a94404881bfb2d9a39791a46d3fc61b2b9768231267c46ef614242719cca0b8a426c4ecab4af29ef1f529519d05b7a3da113b518978385ff902fee7bc89c715ce727656f4dd78d7b81f060cde8e93c005e1d9799ff08554d3ba6807360179b9e0246945159786792727a115b22489f91afe818443c88329e43d681744727a56ea930e227b4544081d2d4ca97d67497029260c6d763fc92c51a5b08230d70747063606e5549646e4f745fa0f001ad7d399dd40ddda062b0b36ebf4fd285fc497faaa13cf74a39e535cd859bc20bf6672017d3db518a3d419f334cafa8234ba84de94fcdf22e832177e9469ea66678d89d4e4ab9b769ff9d38b29f0856466f8ac60fdd7e834724e9e528d0c1919d81fd99c72c393083429640d2f817ec24de88b09cd3aed923594c225bfd71f661f1b0bcd611558dded48d40afa0e95932f44d28228b7270e2188866fb37154856b54103e7aca99009d4e11534b0545ff6ae0233c50fde3eb44a2ad918b30cfcb717c1f58c7b7caa5cc13aad0837b8c894db22a2f55320258bd985c821a320ae1a15f8fffc61b169dbb1690fd1c8dfa2b89ad5935f5193f9ab7717c1319916d44abf496384a7ae8ff772f814bdc2598b1feec2d2e5d65158e8a7b39c4640eab283edc612806799cc5f94be1cbc0e5cab930e8e33a15d913f8b08ea06563135b20bf83da87d7a9e09d652f498de68f9ac65cc670e3a600c5ac109337db9b43fff311828c0e9c9a3d9a92028742e23d1f00bbc27c865b8fe514be04e74f38c3d07cf0ca5042836245d53a2afa0effa54af510bdf93da93798d425ae33c2cab0dc4a1274d0919b7fb34b6f8c05b0fe05cc8a42ff6ea47eb35c48c366e1a8e4ef6275c5761bbaa484104bafb398b1b5a25a8c6c2a20461db45315985b159009d5189230f19c4b6ab6bb7a910d815f70f1fe84b8c72df2662d1fe41692ceaff3296c88bf49b33b0f6ea920100c45268b10d76ebe55d4caa19f907085e046a8ecf1d7cd3bf8071bbfe1b8ee11a46f673c7b431da285c7043638e4e219f1590f186a533202b1021936734f43c1dce05625f5542238068a108ebcfe86e44a269f77e58fa59e30505e2483dacbd71bda13c0886c4fb7a98d26125c0ed128e55f5f9c9e5dde773dd3e9b4009898f8c7f81c1a2356052785a8f53f62952e1751a99e68da0ba272aa82ede934be28ce09395dc340153342bed5ce7973b43589fdde92bd171f94aa1c8bd16801bb90622774113a63a1a06e508fe8e5921645d071e95898d51869a777f7815b7682306e7c660fae9f6847d71383b4f291c4ecf3276d34d0d57769e8c8f598ccff2dad3227e609a53928d778d2861438e359fdd2cd9dd0674adc48eaddaeac727c455c9420c0ca24797b257f66175c5db24a66766e3679a9376ce47d22759d1f5cc69ff8aaee759d0285ecef6bf70722661df6b53dfff9e78339f016ce4ed49b67ac75a67595f2b510977e91bb6eadc34a02654700e03e126bb0ab2c28c1939faf21f81d1ab1204567579eb75a67e9c2d8095917993d6b2f65540589021d709f100ffa5d50df801df3906868f38e38eeaee0cebc05d4c4a1b33336c5cebd6268a70e46380130c0dfcc27db6716a2d7514d2679954976ace50ad0a27abe93034b3b675070da70d8fdd3ca3917a0a590c8e44aa7dea24f20c08ae98abcb7b52f34b5dd247908e86b4a9d5fba59476d744c1937f11423d0dae907aeee5d849d2a98493ef9a16b8f5372b1d738730b13cc60d581eda7a9c0ca9f3d0bbc271ba18213093cdb7407cdb76ba7cc15bb9b24ebba3f40ed32b75ad19f099b453692970675db963e030a547b0abee1e845fb98e0742be83255ed1e82e49cddd36698d72e9f7c282419b6781ca965796320f32d07cc84813bf96619c99aa8996a5fb9739e6d021bcb3607ef535073878c1c13129c2d9d96e44483f057759da93e98c941b2bcc97ab7ea8619955d1e02fad042f4dfbe6778373b9760cd6f3d9a9f093b0066e7f9e61f319d5580d03b00083823b3c265d0697ea21a68e9a2f9764cd3aa8e8ed5771d18b118000260d5be2c4982862e92e8eb671257ab95726a2209d6e528c58607b9aa1888450b3e9ab81d4edd6d82ccae8f1f7b8ac418288b1b7ea06a8c6f32e305f05a1db97f6a0774e2dfbad09413d7f63002d14c9e8ce301a4deb123e1eae7ec731518b0f01ab7d10427bca6cff9cfc9690b90dacbc5d707ccb5e4a80b6cb9888c6316b742fc6fb25d498df524e0d9e2ae82402021541649f685a6804c54932479d6d7dbb6dc108578d646c0a6047b08d10925f1c6d68a63ae5a5af7ae03da034d59da76b5681d1c3afa0777050ccf2ec1c8cac43c010db93f13a1d6947ed06f8541fcb7a624c6dc51f96124c33ef152fda87ef884e62430990a45a442e265dac6df81aa76dd4351ef3061d36d3db645c92e85dca1c5a41c73fb06f4eec5a13f236853187b619a35891079bc8a12ac714ee39f352a061f3d32dbd1d0b8be240f0fe9ec53b1fbf2c4331f55fb55538d9ae492a93e79fa4382319a84da0549f0fc6f38eb3c872bec9d6afc4c25700b22d8f0a6e5e3aa07c9a62e88b4e74f0928c96ad48af45d7d9d1f7ac7d9a108e0fe97303623e15670081be978eb10083e1da556a64ff79bc9102c0581ba924a7b9580573131b97ab06765bc0b6d4d36719ab90beb6da10c85c872b9a9e34b6bd9fc1c693a785d6b5245f082c3c126068134e3487840e76d918a60ea3240a9a319001c58fb6bc6424ebe212c1b6d0f81d55acc890597c259087db04cac2cd1d1e0895a1f4adfd910147681faa872248026b87e205f382b29cfd89efcc6efd6b3464dd87acac91077b90c394ec420d0a473f8cbb2ec49100555161765668fa4468927a2b11a52c606bb723f97dd9de4c0cc60a64bfc92abaf5fa87fcbb410a36cfe35581eb6d480bee15de674402511ab77b4ccf188fbf12234cfd6e50bf637a3fd983834e598a31ce8891bcfe55448e3fbe6eef14defa34b6df4fafb94498f33d0244db837e2de847edac50ab6b5ac7d325818956ff231d422916b8d78b23d37063af3b4acb62966e38d95389e51fea82562787f7ff1cb59cb14933a10b8f606d063d36588a8724b83eb70f690b28cfe463d89f330d7129262d436f772dc13040cde2bc5aef76ea8d37c2c0a97a3cae5abf3c6b3f9b195413d30b17c022f87215f557a46fb13642c378917b29ead844583b5d31a67727f454e855e22afe8e41fa5d6f67421d4de063995af21ab0ad286bc63ee8232b4d9a34a1d516009b10b22870239c4c1d94471436c2c6ac2b90f790e2d58c061df5ff25926d706ee0caf2457f903b080be1607417202a2c6dcaef5d7fc982221495a9f1faccc3b25d0b99c6186db819a7c699d9ee02695707e5ed924cc938693647a0a611c45c156ec35a7900b58bf7b539c499dd8bff4326001466fdf95d84f9113970403085d024f5adf96bc92bea361483b61e6fe0c1520b1242485ca89b580443b6bbfe0f2a1230d0893c694bb24fa41d309d8903264c01284aeb5da07334ff3e4615625d5ede30fa4e1c85d013c471ce7872db3754d28260856329df287e28105a6986349f34850ad55a01ece762dc4ce036fa1699fbf6ac96a625ffc0bf43dd683e9e25b4e8cecb310067329521bd4ee29dc0809e22e4131eb053288fced030459d258f35aa96c45b6e6981399725708fe8265ab27cea1232d13abeff9a0c37b1d68d779226b23381d7aadb274f74006014f44a9c91aa1760d17c2d824461bb9460ebbeab623db4d0e8cdb5a5b24236b58478085e66887ad5c5d0cd1bb7c85d10974cdbbea7a03feeea8048b70f2bdfc202fc2edb15b2356c685bdd09e46bcb6305cd29255a4548148723df27c9404c31620baa7b85d903f60ac5bf4bd56ce7464755608f4a20728cf926a76cd5cb6d771f68eb427dc8b35075a37dcf2f790e7fc1a57d42e333ef67c39a8269afa2e04e1179f040c804696dadf934f9598c037923a672445a2b367978637fef36a9d1142bff489ff097298b6e6ca7ceaf75d022edb480a29795f9087554c2dac61193a9d6194f790eefef00b89f10f9608c7958e5ca515841bde56fa2387ddc4c7b6fd10cc8a828404f1df9bfc0ce0674e9a9a1362bf4e5ad44d388836dc94a178c76f2562798e93b5ace97a674d3d29bb167c823f4e7e82859cefa6600d9d9fc173c7431c178498996febfb86ca25d4cb81cda8ec5af8ce6ae794dd9207485cf7d44ba666e25300a47d895ddbf8d166e69e75df5bf21183edf5304ac96bd75849905c4d1469986905f866f8557aba17e0f3cada7a53810382bc11f19a18db3e3b32f2ceea267cf4df57637c36c35da6df3589b4c21a40270988da6d6f9ab839e76bda10227cdbe45837521d619d7b4ef75efe676885d26d0ebe545103e7f6b407ded42fe24085325f71b5d32557d4002d66bfc300bb883fe18c44901a58772d6ac6cb053fc644c4eed538c94a1f93c1f2ae3ae6f317c91f60b801e61f256efc3c3cc4662b7ca17c9c06283dbabfd981a47d11417e65c427f00b63d0128ad6bf80b414fee7da663d33b8b9f34240073e534c91202a9549ffcbc18d56a9394f2d14d1931ced8624137fe0e4aca06a3b8e78b11a4a52419886ebe18c06392653f58a41e6bd6fe1e87a1b9b519d479b1743de2aa9c10ad054127cf4d70efce0ebacc5ed13eaad6814dc36d972a7af7aa721eae1635fa18c7c115960afd5ba393ff1bba25bba7f79c29dc748f976b964481f085bc04f763b718deb70f6f487e86ac805dec0f4e62cadbee833b5be88d0daee54efcafe77b67eb87145fdff7b4be2de2e3247d75204b808768857242369fe1ffda259057c541be788566ccef149030e5f03e0fadb8d16d281f96ee8a08c1056494e6bafae35961acc3c9d8d89e86c4a9aef1a82d675f6a316f006fdd11220df77164271a3fd5e821b9aa2dd8b2004def5506d5dbabd194ee19b5d896389a08dc7bef505dc3be0f860a8791b79351ba445d7d68cb3e0e54e23d55bf35376500f1c06d4260bee647e06fb31b19ad53ae8b7a56db5e89f68fd7258f05dd922b5b73e9385f045a6267fc3cba704aee7d7af063687ca31f48d209ed2ce8bce8b9026802181b7ac80fda0830783b2e290cc91af64a8e4b90e94777642695c7f31f04bbbd0b94b487730306b0a255fc7641f162157aeb524e4bb5e1fd4c234b2d8f2c213b7f719e1a23bc19150e5c6beeba3d57bc7b28b725838642eea73ce6c6c980a5d5d6b5970bdea2580e64a72d0974018252d6e4df03377e59c820fb2d56df899a14aa21b3e6ea5e82f6b802146484f9ba6422b7247e8c24d575453ecfd2ee2077d3047507573cc7a06f3816caec285ecca8c1510727da88d0e88e633db52b6c021672954e28818e54987a57e7e2a35d0c320f5cc00721ba826c0fe83f1a2138e3558d5984b328f24bf0fbf9987184fda88c1b0638669c99660b868577eea7640601070ea1bda7b69021ae8f7b212812a7876eee199950b194bd494db5e09d4aacc4925b3b51d11117c4d51664d5adec628dfbb66a35d536709dda1d4da7e960a0784b75041a10604cecfaa7c6df2cabe647f627683a430031a9ad7af3b06faac214c1728b6e3d613e515defbb6d7349dd91e4241862e7cd2594694c353ab85a4f7f02bd6046efbe93b9a718b0ec84c16cbf912041fe6672c70868fb38b34683d4e0f47a7d653d04aa3b4135536002d310b6e2b22ed9c465e6375ec21f8bf18df2b263bc356189874b99c16701c479d51af3be9ffcae93b2fd550757680af09bcf7059299b96ef43732c9ae79a4067108ee92b68045647170c01c89132327a617897dc78caf67622a4ed9d3e18c9a8ecc2836ad34db0118af3e6e0e3c7e12219d314c9ceac00e0312047d962fb088e29c402a0f1e432e0a936a6cab3a98f3120d69bed0010cc9dd1722b0e250bca21d9c309f5ee944cec194e78d5b69080e195aefe6271f078154b30a9e4dba4007a89a00ca20c0375b6b4c665e725e3da722f06e82598ac8b65ee7ec8ea65c3762b1a6fca6b540cabfcd1bbe0dcf3464019a6fdec31303b64bb8087d665d3e9f2f19e405008ac9f00eb7ff2517828fb1ce0a7a9e76c79bd0d7b1d734adf8bcc938c73e0c89742bf6ce0e34f6c95efbee04d14e9c5147185e70d16a9b6571cbcec03aafff2287da728bac5b8b96b69b98860dfe4935f33bf411de8864418927d5b9046093ae9e4a0a47e460b3350dbf34436aa023419b8fcce3f66226d3dc8c66a3f2e4be2708ad5ceba629d2f2f197d1d41717f515c25a40d252b9931a063242e8dd9adf1a22567ac6603ddf9b18613b32e28dacb1797ac3c037c3bfd0850d8b893881c1ced7b0a4029aa0979f79abb414a264e3367de5dd586cd799c7c4bfb91c7d5bc029e8fce81c1d68b59e5370cacd6cc93ba3f6f6e1d0b48bdb588a2d273eb00edf4139a6a7e64ec2a34515984599db4b201c3941bdc622ad1504034956f66bd398d0c84dca5daa1b2dd9714c585eddcf3e286f789af2a739cf78445db43a2bad37be65570ec5ad41f11b18fd00270d78bf46ca5e3e42c6401faeebecabb5c7196c6458d0c84a7031fe407371e6ee983f96cf61f452a2bcae0cc9a529f6d19519dc0d4166790813cbb2ac4a6d2b6050e9fa50c0c20c5112e8f3817ca59e52ed05baaba617bec24322c61c3d2969f8f05718a6a6c1cddcf0af17a38c94fbc9ff1ab449e6548bec6f7631ce0cf31fbd1669de6eb9a7bea724af1e3dcf3a34a6b0e29ee244c113d7fbc73435026db2cb29d70a903af5c6b5234029a7ff1012e859ad589a9d4bc5a375ac0926c1823b3089afe5065041380c995960f10f559fee23ec1550ec609d1912990b875240f079e6ca65f25b8104293596a9c435b8bf1a05da75e3693a28580e65478eacb86f5e99fa605ab21ba2c6de1aa85e59a82c1a0b12793a00ba5ce641eb67922eadbaa630559033f039a88a11a4eff70d3cbabe2c94b90afb68b250d7b3675bb5933ec810317b2325afd74a62af212478092d6610500c723b434da8acae7faa2d152bac51263badd79a298d4ab7744f4402e27e5993f5b6e0a109b24da3d41552c0e8566a126c5fd9b338724e964a0e4a63970291d480e70c168364d0f7921fc5910e4bcea608514c959366918ee13a674546806608f12cf6a5cc26f2f2db32093a430576065ed215510bfd77257c8e345d1b63c25b6eccb70443c2ad30e8ea9cb37a325317128346b9c8f9e0bc50c0470b5d6dc5b6f44eff439d1191fb24fd3500762bd3418e6cea4b0aecd3d9bdc1bbc3e72f5d793baa016a01f189716fcdf69f31f7553b2ea27bbe808f9356ff6aeb75941689c9265871ca8752953f8e6133559b888d5abd1873865b699aa73bbbb979cd5a7557ffe07a2465849c63ba3a2188303adecf96d6d0699613f8bc4d6b96c8caf2c5bd8a848eafe499cf48f7e7c13af17aadf06367ab4343c6504a6d894f49928d70462fadb642bb5c4e0142947b75d3f7fc9c3551a90867a65dc4890ec563e3eb517951be68fb57e69967ab1e63c14e46e77eaf97feb482bcd60aa657d6f4f432103a503526914d7b63a8e38981540a31cd90ca186475bb6861cb6ea814c16a3b24e20967545a91b4c114e1532df9d67744d0472f34b5f8c061bb93241d47e8dfc92bdc1bb8affe7088dd008f43e70470cf428f9beb3976ab4afa626f13868d65d36a9c0b1318d793189eee41abdbff8ae0efcb81d985e3bcf93f03b419e27f9162f34e26429bde69ced235d86418d86754e5a2b20c2ceb43af44b213e24d924b4d5809a7813d5fd80f505e6c09517f0b5855e18ace372a064ebf3005247bf91e0f56fb5ed05d942b89c7a6231c7e11a2ceeb69454d9d9d1dfb6f35baad98dbe448091e7094f6b11444dd7ea613f11045018d2739589288929e0da6ff21463fa7eaed2590390866d050aa2ff918cf5b6e547c8a39f85f039c01bdb73dfd1866ac165e87d62ef7ea8c6003eb3439131d28d13d4345fcf7c13343a25f58a8748a3c7035fd3dd4f0ecebc33cfd9c5e504d6ee6180de17cb49d6596056b34dc5f4ac6cc2e0f36a03f0c23dc23d50f228dc8e07cf5fdd2c4dc02b85f795f255d0939c531e53ebad5769775a82e3c38b4901e52d2e16028715d88a2338c93e1ac5b3825e0908fb42c0e2e74c50f02a8a32444f7867c0a756601bcf33efecb39e19d6808d48ebe63454599cf45cd20635abff47678cc7f6ee52bc72ed2b5735face9d896fabecbe369b3122981b5a95732edd3bab3eedfeeea2b0ab9c08239057eeee3d5f29c11a5e93d3c57db95f5683a12c0dd984e54c0d38ccec71ace236f42bb4ccbb4742a407ca3bb419d445222b3c11063384bb020de96ae3850f912a0982d0e6ea232fbbc4144ee5a9afec0c329e6bb61ab2fcdebf257adb2e66994d48152926d99365d2482ca2ff11e898eec98d6911867864663bc5ba77dff4adbf9c09cb8fdc2765d523d5690d3dd40dc8d1f23808e9589046370ce46f9313b424980ad7fd78ebf0d18c86fce118f441be7d8b0cbf768603c7aed92a9696f277e163f308a286212871d8e4da4d5821d407705e12858e8900087e92902830e49814a55da415769b6e2b20ab3959601089de76875413d7cad60c8104506c16e33c99ba4d5292112bd96612c39f30a1a2efe3256edfa3c3be416dfdd13337b170b9b19e42330c03483ad252e67a8588eb0f14fed645e0ba71db977de19c1a6b0d30effcb8fb5686c56cc45279faae305cf9f3691a8621ffbc96c444ec9e77c5831ede209698e965ed0b006e469280e6d1662bd93ecb0e6ea13604583865631bec5c77c04ff72a776ef6c756b96e81771ea7f151cedb59a3b15cc5a59fe99d4763c9984f1995ff0b492c6d9645dba0a362ed790a9ce0c55ff8ca079dd55c56416ea88e8472377981577a6dcb9e9c6859d4426a0a40811071e6ff54bf990f5f44ee1329d704fa66a3e274ad60e809ebaa13a7235da642d2448d9ef541f9365c92294fa3a4290ab31de0c519cd63ec9cbd060ec7cbff9dcafad1d330c72d93d31f8d558dfdfcee6cebaea575c2566d28948377ef5d9d8a9a98ca3f28250e5967b0e0200ae29b5fb58ca7301133af033436c6a3a41ddaf4a79574c45a66022597b754ed50e25858e64ac0d6f45718b21b3124daa17f4da4726e4a3a19383b32042dc9075b568e0a8656b0453ecf93ed7e37600f87b4d1552bae327104b1c09cf3900948b17321b5c67dd26c20d9f385924c346ffc37bbd0b0b20828ec9311210a073db0368e34c3b958c4ca123340d56d3fda5c711ced84bef2e6bdb53385157c5c0693df74d5cf5e38d7bc232a28a64d3351b6e51c0f0de4bf3428acba44589dff5e383f2d35a4babd345e2a7b3eda4e51d3e7cc2fb0e8813921a774f2f7f9828f34e871bbd4a124ec2242ab14a17aebf4f495c6ec10817df6ecb72308527e9d0c2c971d4d02b3013607f660d45e68b9783abf979237af367f63b4b116831b1a18735f5df2706c05d26edad61e0633c639a73812bfc1fb1ba58b2ed4c58b50638cebd678e4b259a7baa81c8c00b3c1bbef3cdd05319b6fc5f83147c31f6bae588c68500b40af27dcf01bf6c37dab6fcd508afcb2cbfa42b4821396b10d786a4b156b129093d0a4359dbe099732259207db6d688a745a42315b8fc9234a99a3f15a9b511cc01417fb2de8ad146ea1078d9a04f7e4ae4f2f730f949c61c213c5eeb0fde906ffb10f182eeca1bf", 0x2000, &(0x7f00000008c0)={&(0x7f0000000000)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0xee00) r3 = getgid() r4 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r5, 0xee00) (async) r6 = socket$netlink(0x10, 0x3, 0x0) (async) r7 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r7, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(0x0, 0x0, r8) (async) r9 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) sendmsg$netlink(r6, &(0x7f0000000f40)={0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000180)={0x10}, 0x10}], 0x1, &(0x7f0000000ec0)=[@cred={{0x1c, 0x1, 0x2, {r9, 0x0, r8}}}], 0x20}, 0x0) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000006300)="4e97124397b9b7346210b31b91286e7d22a2def9db4eba3dbcb09440d1256a28914d2a3314c466d66379ce3cc2ee05186737763a5524cf844f444929191b84beb946bb0ec96159997f8e8f943b5dbf10ceb39f76a05b680a1af7483d1bd07fc6c5d9d713ce0ab0eb3b87385ce5bfc34992c6a1918f6b9225153b507d0f49a40df36be4b2f21a949caa24c35481766d46216366c1e899f788868100de105973ff131d38727d44e2fe571fc79b412218e84e26b864bdd0b0cf32928f5c3f2481f84366d210ff008c79945fbf19888626d5b4f334092373e2d0cd125886483e2a1c1dda0c6e98605b3f85a8e95778a37ebb5f4ca682ebc6481eff17070acf229c35a0dff0e86bb930c9788b85244707ffcb8ed1cff991bc57bbe53a376a27073b5a924639e95af912865aa809239f6c1fb560c93d658c00951678cff9a7a92ae5a75e5f63e42c466e7f0d245996095685578dd244e37b6c88d79248f2908fe4f046f0a40b348fc6359befd75ee67c659be6c8d446585f8fefc472d4f80bfc4b074b7d7c5eca157807040bfb0b046e4baebff4ead609a9cb59f335839be73dcbe60fe1e0f0b0cf6034a787130994f5b1d2b5f502c61afc1b9f9943df759430d6633b991ce6bfe06e5df54a74d3f5c229d9b02ce9be39d69c05be9b3b2aad4345c9baf1977bef46c79fe241886903acec93d0b9114b39feefdcd06728700850dc658a4e1a4a515459b70c4b55fb20503a553336b04c269c7cde690b7015b4c6600b5dbe003e15b87b58e7696c800abbfff3302c4478567451466abf28005f81fda8076cd5f9b35af4efc8a3783b9cbcff56ee941ef8abfe74ac3d55802659a03e43d4ef9f16db9d32a1ebe7456483b8fd6213e8cf9de6824a04f14c83172f0ce68e2d34f2085b1dc565523d4010bbf901636f82f3b7b3efe5fc56485524241ff2096706b0f89f6a0365d981c417d745fddbb5c28056910c386a4e9fd05025647577988ecc159425ad07da217b3b5a54f420f5023bad762b729373319bf2e23f6736cc1c119bb1546b38afe25f90ac23b18beb1e575963883e50256441677a5d1feba7eef283c87ee0ee34ef2ec4b22a68c5b3b0077e07220429e99fdab23a45d233999a08c04c2628f673c8cb8a9e3aed36c051f30961899b4b25fac1f3c849e51b100a39b311b7cf90cb13a97f780300b808531358e579a212efe0aa830abe5935f6cd840664642f3e25c8daa46d609f0ad2a5be99a898f4ed86261fb08b8bf458f45922b8f8df95d05e9956a7b79b2c9ceef67157945bb2dbdd2136e7b9e5dfa8c2cee6d8e3f95d64097ba1eb2e7ba44a973a4a93730bf3daf7227454a7bb3543cc59ceb4e65741d35a25fdb6cc8b005b3f6dd5257424147279ae198637a65b3f9d716005c3ef32779f6e3c9f602ded262bb6f21b457dae5e6e327e46cd7709c06ccb0e0828c4bce5d7396ed55d2c30d5e0a9b40c7fe41d79311364c2f5888da45ecf97c75f7580fa745e72d075631e835f82594297e82be792aef379cee304a72757cce35028287e8dae63c5a0b5ddb5d4215573b101939ff7f384b1d055688a07239e64ac3e31af5d45dbcbd345138c6ba61aaba3e143994a96dd8e6bce6cfdc9d2e3d45223f0dc57f3a62a6b8a7e248439d1792c49260090879ab528b4433308c3f025b1884b7b7f565cd3a4b93bcd3de0c791d657a69aba8aa1fb8c6dbe783937502530a6addfc23d86f80da51d492c9cf7b437305b331fdd3d2dc2b3192d8f32753042398966afbabfd4803909cac2912813f4a8eb89bff49361bf5337552cdbaf918548e288df334a558bca53bf83ec229f14602f0b85a789933ad3a3c863adbe49322decf89bad4ebe16e9a883a6997d0ef3d209f32c0f51540fdc9aeb9f711e0a970220dbcaf13e9f9c7f6fefc57fb0306c8e784ee2ce15de22bfa184a3c6a51ef191efc78f26b836dc391a1c3b0fa2a587b1671b4e38f71510a678ad27746666d2cbd8b76115207bc958052c4fbddb445ded6f15d618e66f7351a68f2ebeede330fcdaf113390713b8286d4c871b1bd59f549a3a5b2ad96791fdee329bc2e62cf60695cb62942f0f5b2c78911ef7d0f8be25943305e2ed118301fd12a24f54ef94cd00bacd7584f4c8ee4f08230189098cf5156787e6a279ba60e2cc98a9690c0d510df50461e0c1dc649ece90776e239d7923d9aa5388f211c10e201851a108f655338930835e551e3a2ee33539d2336d469f65a7b4348665722846f4079e40fd2549a86269afb281fd02c5a2928c638845608f0d48380c16a63fdcbad487d9f52974508750a4730a5394812d58d325030f0b21dbf3e9adbe69dd78ecd3d7011b07acdb7ac1086c792f29d82f80b6fe4efeb36a65558fee5fcd002c841ca02c6d856bfcc43ade862451067ab184319ee4c49cd2e597ebd76821b3746f2580c814d004f87f37f5adada58a59d8b56d890d3a9fdf613f229addc72a426302cb221cae01eb26ab0c599c0225824c74c88138bacd9141672bada90c2258cb13263b92d77195bde4b94632f52d1fac603b4064b4ebc77fa55c6d2f9bdcd706e19c9fc94a58e616314b95982f0a3bbc1005d938528953666eb020093868be15ab6a156cf6ac4f206689b5c06f3cebd71d1b93e8e9af099df5ca6e05b9522fa1512412ac6ace40c2589ec4d76a65c2c9dd749b392434f9f710e4df46ae1bf82feca10552ef08a6ce29b2ff9667ec84126ae1cad425fbd8ebcb151749141ac94a4e8b4d006fd97d5ca4f42b6dcebdc6ab354d0dbae5d34ecbd9190146c5d5aa4157a32330d38b2bf89dcec710823eef8411cb07797cec5330774c05532652b1cd3f1b4055e5f101f582bbecf3e2f47aff3f4729108bc4d8040c1b80aa429254403957f97d12ace0cb487ae4d61658a974e7e9c5902d12cdbf964c4b442127c9e1938c3146fa7f4d5bafb5b89aa72cfbcfd7d95ac45e7d5dc80442cf969542ad8b10ff99a6390c56c8eb63780f59408cc09fb4f60b825d3436c2e04315a23bd594402a28e4f6deb36a7eb7a7d2a487e2a61074c18cd04479944a4bb086e58a7e136ae56bf16dad657d5666021974925132011f0e4cf255af5b03b01771bfade18bb1aadef01dce5d419a7d97144cdabc5cd7b2139361fee7c694b10bd2adaa779a330e42362f355b9e6f4c2354db470303157ca6323cf4661ee14b8c31eefb2bc25c13e60f2557661438e4c6347dfe8231843d6a3e0950575684701ab9f30f7896a06bb4ae7b888813e29340d1b0bd43d871d83bbd1ae59178b620e2058a8bc8cef4affd9694259204b443f9f0ce7b007e4f1d996ce6dae18d7e4a9380c4e990fd9bf9f609c64aa409d55ddfd1bc188e215492385474cb4dbef4980c8531b10ca0e7da47cd7c181b19ef09123843c1e735cf808edccfbd5e59c7ebe642af7b8ec343af3e0ce4b65baadfdfe3df9021468e19441ebd7bc014d32d776f3a8233a8fc9c178c05f9417516e4b87086aeaa85ffa64493c79f276b520c088350677b7b0d80e95e7d62a1c04065588875387073550ecf48676a292d6b834e92d270d377efa41ace963ae3c390d1e1e1f41e730d95a326e70b0afd423129502ddb4e4749d0bcd23dd91886acfc4bb0dee877b9bbade4ad269a82c953622ce4d906a65bfe9a7c94080f4845dd2f467d3064447910d999fc297982e7560951ba971f4380493f9a8f727f5de7d063486b3d76743fe8cf45c50a82cd9f4eb125550721631058c8794d104b0054969638d86f22ddda26f389ad6b74df49d7b1653b4e34600ca27bc101c7895c1d190d0e7f858d6faa4b659d9e749d8a427e5fedaf7679223eac568eb3ea58c9d189ff36a686c97a0ef447b192220f632d7738f627ce13c1833fc52acf2889a65391e90ab3da27d84a228c8242752ec2db350b8b15de6e00b683de3a79c0b514d0a684d185680764c206780fb367c0ebea3ec741e853a0a100febf40821604da673fddaec16579b50aa32082cf669fd8ff4d40ad57838b93ef53eebb26e356d0dd68c3af5038b54daa5e131723c74404af64be7ad3af1f606f3b6cec800b4ed1e8fb8fee17ef141ec5b1cd7d04cd7bcfb53e55d463243185edd5893bfa73860a56b231446527b8dea7e9caa1b50a2a3091cd4cb61bdef9aea5a91aa38743ff9a724d8cf55e2b1daf618af2985b6dae633dab9857a2004a7600a8e75f94a83ae72e4b53bdcc803291b06000e9c6075e2317907d98432bb87b86aedb22f9609e277e466742096011d4a9b80f46b8acf84704ac59d5f0f68aa3660e663bc14e5ae51d8615ea6ef56f8f46459d2259363b7629a3d4fb41c0ea3b0cbea28f9bb860016100227fb26e014b26ffa503d449b62c45ba4be53211cdf53118230ae14dc840993fb29936cdbbfb064462bd048e4e7ffe49eb124122a888c499032ee5b90227c74035a05cc7cd926e05df92d38c154c141a25e01bf33e5b67966ea0bbdee5027cb18906b34b9cea409aba366294f6505eb8de151e6bce13dd42655fa9c453700dc114cae7802272be7f4317cc01c6e7f17b9f468c7e6f9df8a025810adacb9633a1f403951875895fd0eeac691675d935e070a9c4eee442ea79d94ef91207b3b9adc85607660993a17a37898d6e40e8fe30aca2903dc01d77247a110e4208166111bbd95b7d6634eecbac04af5ed99c637d73c561e717ae3c9dd3500db2000d0029da7a820a3bf92f547035b2aa1b8e7999f64a4dc530858bec29752c5eef09bd2fc4ffc059e91717bd9b667f100fa476a4cac778a4cd727fe57fdc7eb9a31e25821a717a49876a8f3da8b695a6a5ec668f821ef3fc69cd912d4561a9d8667d8bf1c9e64595a949ff88193e065ab6e54fbc5fe1893ede8b3e2f56e01ab965d4b821672f4ed3b97872f0598826eec803d4cc3ce77906e092ae2a6cc3221bd2afe28069b736a19c344fc61e294f86aa80d489755728c69d625fe90ce820ef20cc8c6724d5d17dcd8c2cb41a8e58234299810663e4340114af3cbc1ebfcc8d08b2368a250aceadec22a869bcd57ebca546c1f9695dd9a5f466ddd62a40acea4508e7b73a40459378c80e3d869a586cd5189d7dc11ea63b85c2a70b76699650d29ad4e0dbffaa5f9ad93d9a33e22125a5f4b61704b5f64afc50257ef95cb4daf52c2a8c8f39bde83413b81d07d813ba30ccc2fa7d5c326585932931cd446ef5a806ed890e348cf44890cd373119ab5f04ac38d7d7fbf7128ada612292fa8bcf9b5025025695ae453ae5cfa1ed5a6f6938631da434a952f65c7e12751f3f42291690430a6c98af47994e978dbd3f503867e7c9086085aa74fd04cabe67d907358926325e8f28a3c4b1defc19206e7c163f7f846b7d43419f91aacf9113c453ab93505b95d14a645674d32e80d3ebc09374f92ed5d1b2893d4be5c2cdebc7b04a52d9e7b6fcff754e2f5436cb82945622c47be85861fe2f2ad56241e88b7fac60208fc566d3c984b0ce273ddf9404d7d738d1ca80836c3d6b7d11feb8ab42242a3c060671f05f335c7feb1bd183a9ba8e7659a99e51f021d49671b18c6e158a13c830f59d7400676d5fb5e89a677fee8a8321a0e4d35cfabd79d37df6ac5e779b69c2dcfcd69854e12aa298fd88120b9b7412f5f0cacf3a7bb8bacb4e7d6c1412875ee53816aff2d961ebbcba2bb4e5e7167c1fc6285f9519142a7cdcee6618b7b5f3d993eea51a53bdfc8ce4fc6d34be1ad9e3913f1867814fef0e53fa3a28e2ebf8a1ec9acb17fa17039b281a3ab31cae681d977d4b5145e822fe9b44f5069342567a988c075425729aace1f73a4d5acb27625d0d25c513b08f3d42b3a38377ee50e30d2e327cfcb601175c76e4a3effaa196294b07cb995f0be35b9e6191e08a6f5bf08b51192a8d257bba8e2afeca70fd0070cfca0527c35cc146112f9400965e10e4df9783999ca5af3726c781602c66aeb7bb1b3bec2f06c15e03fdd0c12458027be37ebc9496b76eb0d9ce831d8f1fdae1b1cde25131502192593dec01c89e9f842987b76e8f70d8d227902744de4a5863944815786d8b1d89fe9aaa8eee03052efbb554dda9e161adf699c61d63edcab08ee6b8a52e1f1f1ede883dcf0f40db3926ed5ea2671e91fcad69a36045089dd595ecc273792978ba685d64c9adf2738a302c92ea937fafbbda942e6e7a0c5fda1d367b512a3d5813bbff6fd780fd85f186b0e977f1ada95db130bac3f673bb60506fd10da685932b21ca90363f55376774af5e3f6c8e8bb6475ff505d9b8442da2148f650f50f366813e7551a358b3fd6f4519357cf92844da6852587b7eb672e30ec259fcde8d3bb7d327a2eff1cd828040cb0a136de55562dbd50992eed985e820e939a6956f1af3fdf8bf249590ca41e529623c4d22a43b14cc625a723df0754a5b4ee040fc46e8b2a4ef74d4e8cd64fbb5742d55258409ed252eaf8ee7d98bf573ceb127d80e0b6e352fe040eaa148e3c7e248c71ca730ea23b1e20430a5086169165d326d0e68c17b2bbf2a41b38488c6245f35e4a46f4e457a46cdb99ceac546a7150f5c9e22f34be361539f4d80388a394db6215581efbe8ab0648ec50aee3238670000a498d912a5bb975f562b676ae91042aeae65d4e63e9f5cedb4b2c6f446616a29cfac4df2375c5351d034f63a0200bc32eaa0cf99407806b6c1223558cac4ba3cdbe85edf41a95e8be4a45f0a795b143b041f5ac22243851b18894bd92b16f7c884b7f4bb5f78eede65d7014b775e214ffe45f1c869bd24056095460dedbefe9333d4cf1462c06b561c88f9e4f8f38f78230d6912d055228ba4e99fe8e57aeeb42982d9ae4987b20acb57488a0a851fd8b2dd8f8cc44eba219c6e2b34f932695976e51debec4f8189592cc0cff8873505949e8f065a76188ed6fb990033af7cbee33f1adc337e4cfcb4513ea3ef8977bd5338e911afd12b042d3338deb8596cd500ddbebecdca8b9db5b368919a57f8fcae0d3c3a57ae586cf442eedbe31389fd170bca9e933112e71ee145b188c611260464dabb6d44bb2e6f07b048653f58d0edea10a6193dfef73d710bac4a786e18ee0ca221d5b464bedc53766cb1ffef3f5cceaf9102777bed90c7e88b46b9a1ad0fe4acfa9518bc1b817a67675ac85288d13cba436bc2712175a5ae7c89e7e7436e9c26288fe177dd392b4a52e1d780ca2ff6350b02c222a40be4b4aafc526044170457e340386037f2ec4181319ff53acbafd64fb05adf856281988d7146550d948ab27f455e8d71fea4880eb039847ced46427e7a2e5ee6f2d1b10d2d89d501c7d064488cc2662588aac40c55176185c9c26d18f1efbccd4d11fb1b277f761406ea016fa1d2fa30a6161c7fefccc40664708968fa82ef0cf17c09123a18f82e6c655044e461eaaed1e327ecc69823b048f8b0be1dc1e309aea791ea951b61ae51dca89b567eccc4022ca444134a7812b0c81f48dd6d13baea44bd607cf3ad9da531b5ee305f65309f57bc2fedb1e371595dd7e456e9698d4f78b5696717fa3d29a0d5fabc71793343aafd79414423c32ccd7b68d1ee6d5b819835c4aef51285e98ab9574f88de3a2e57bedfc0f31be5fc0bbfb75b2f17c60ff437b9e052eef37fbd773f0dd560401aa98e854c70da89e1649e1440b1b4aafaf78881013fb1a78a575913d49db902cf92ba97881c3efe83a17faed03ecc327dd034ce9274ef1363594e3267ac11593b7845f44e91d8ecfa23d6eebf225b545d66e6150625d259a5f476e4de1210c5078a7d3dc2b6d6db6d874184c2305d9f000f8717753d5577e832095f9048c6113de7864a4302f1618c0f9b7566e21b81776bbe3e9c0b46271fed0377f636da08fdd91fa07406f0c4a96fcf492043468312e40845f6fed8e7d6341944291217d89400c01aa8c0e7e7273947ef38ba69b6a44f5748f1af5c12cfceef511c36ac4aaef805e6c39e346f53991bbbcfcb756e0217e3059962a12bc9a90554cf184a9940765b928132dbbf303a00e3027ff6d5e5c925186c33b34925088c2df6b78eeed5454a6a58820ae19ebf635bd5f742c5e7843cb7eae8605502db84c0e73176bf1ebf51656d87afbac339a8fe8c473174dbd305b73ba39e6d76aca31c4c4c9459f8e674964e8aa1c0a0e873f1123df80297b998abc697b89eacd2d0ce462956e549c51cdc2ed7c31e39564afb4f4d1513233802adc9ba17f74c8e7e3c476112c29893eaad0b6012ab97a955fdf9e642cb8506eb59b86d345d2afab4b4aa0bf217673ad1cedd19af21df86f236060d1bc58026ea56360a6e38c3cfd59e6d047e6ce348936a926ac10ddaef16ccbe30f1978e6c5882da703cdaa109874c1a34fb15c5bf46d0b67cd3fa88a08d5c3d39a59a11f5dfc2aa7b7004600535bc557bb23a80e342665c90f6e016a0705e1b641210860a09f85f6b07f46b5716b3e3b332711da563fcaa05ce5c61c193e0effef785b3567831b85c7b2e773b78b6d4ec874c1d6a595227162c80d215c1e4cd01f78e51816876d600322b18f9fb478ecc3fc895515020c704953b402c81a00d135bd4b57e94ae511eeb26778788b2a761a6518b682d513fa2a6111b237c3e5ea3b570287ea8f1d2ddbab7a00d8d340f0aab4a560243ae108f48a2e46b7e76e407aaf326ef51460b32909853e9e6827fcc1f58ad06702e59276cfa485e453b808986f5d7a1863076d991e1fadd660d039939ee71ad0dcd88cb35e54a7052a88f60b80dfacd043ccf8e64a92fa2e5b76f55113a9ad21088829162973ea7f56d76bf32578ad72b3415b9a2c6ae05f28d94c8aec1088bf1cc9794db5b8d8713e57e5922348800abfd5e4b309705671663f8399738fc0fe9f964941cab69781f7b35cbc16c154383c586db5f51895e43b79c5befccd49bebc1f8e0e2d1eb7b55d03fd192274cd1093a09275a9717c5ec68d183d27a9306e4023500d9af5f208614f9d8d58225912068f5dd101dbebf3fc88bf2fcae579d15f77c749e5a9f13fea071080d4303eead0a45c82ef575b53ac59f3bedf3b842cb801ece51caee9ee436d095df4291b0b43ae8701fb889c79a8d9c934b1e89c24f92908885288a4fda60f34564bef55d07c53abd285fdffe24fdb382772047cb9ce1567eaf433021d9ecc48b1b916185284692f1ca266713456272f52b15a01e42be9ed7c67db5c5d2b1be85603c2e610dcc3dd36e7c6415d32d1a796ee7f4cfd161793246b93893c4539c9ed4a92edbd29375d4987cb19e3474f6e805415058aae0567dbb76f2fabd5e1caf6c76d7dd944b2c00d54d29012f38847143afccb0ceb33fd784bb59aba5dc67c90986d00b389d5eb12f50ead8d65b018125f2ec7ee3477f215ee2327fa30cc982814d30bf13ebf7afa0b6539b5b8d6db1d1a295530e750fdb046f21f65547d8fb0fa2724cf01d9f09f5c85277508b9776e66babbe01f3dd8f823bdc0505f9305203749c32b422704a4025351883ea6a9f8fbbc1390b185583600dcb5e7509045d759e0f9912a714e717032d16a458b9e3e4c898d1b3826efeec1284ac4fc6ebf8eb03b7274eb8982fb8c05a1bd3d54af774d1ea3b2f969772b8b8edb7bd638ed28768b5f90ba0f0dddc755c1e4a33a9add96e7b3e645525d76cd624a60bab34293f90197b8dc099f8436a7ce5875127ca707402c8aa2bdf085b63d43ce7ad92a6a6ccb077ad2cff706e8a226f0e9e16ff020696ba059c317b5c98c80a530c26c3ee3b366f446a22de73e84175374068b94e55e91b810cccd9808c32a86c9a5fffd81d749e8d179d6a721c340e5f27cbaa75a3a9564f261e78b854e9d98c4a646cf80cfccb27f6d1eeac41fa1bce90eb2d005b11b22930970ea4df3934b9f4f378e293a96f4450e08478d5c205231545f2512de1da1a307665b105a1114c74ee982575784d0c9cf38db775da1f39ec59371774c506b9df411e584310357bc61bafb6692ff2016953c0d298b711b470e506f2cf3451db621fa0210c97350a0fbec43e3af4a485f747f0fed3ea6a097ea05f3edfae5b3a2b975f76f92f4e9645d688079fd60f94e7fe4e84bf78a86a0127008e9a9b81d9275f462aa71de7c3aa3deaa930e1684e7a71c9f70e36fd7e4af42c053e93e04f9ae7de5566e2fed454efd42f25337d66ad0ca227aa8d61e1f00ba2afa4ce4251cdef2125ccc7daebc6f1d43146afe1f3aed84dc9a32dbf348dcb895fe58ae012a61830d0dfc09e2897136c7b301b259d21df37c5f87b94c226a6c51b77e6b8e4542be5f39acb184dfc105494c37ad2f8ba3a6b2e037df19de3ebd503d0347940e92b75c9937bdf186a3e5dabb4a77928292981448e5b9320e665aa6a77a33a0a56ecb3cd9df72c1bb9ce5aa4016946f9ef4936a34f233c8ec4f2a38cd70ca727f3f53302837f3930f4778c63f506fc14d35b4f20d1140223e13c4a5af2da05a62c5ab7077176360bf9d4ae694494a722ca053cbc87c6681a6c571659246f46be7452dda01cb442a8b37334bc1eba21a0e9932a48d14b6950fc1f604931eedda946b66805fce7750e7396b16e601c7b6f513e5dac483bd67801c6f3dac700b47e242935e692ad80cc5a50bac59555cf4a35858b181255f8de905162c2644c9c326afa60c3f7a0e72f21257ee28f1574d082be9e0227a92b4018a685f83d1acaf91632f2c017dc093c0250e4e1009b5b7012d7d7b6c3af497004973fb8bd66d0aabf37ce617dc21588145f473d14e7e78beada658990a31b4160ab208886dc83777055fa3b45606fb17c5c1818042418431a80ada9dca2b925892c8e0129fcbfdb56f1b393300790c93e90f2b489e4db6ffaec2d50be832ba7f0ffc77d9d956f09416b264953bcd177d93196514dc9f43d056450b08a86bdc14912b2146a79f54c38480923781fe2af268426ff204183c5a7943a287ea452763674254c0ae1f6a2ce976905c92fff80b6ec6f23bc304f2fefee21431d8f2ccbc18655f95975a5693213daf2fa11294cce658087f5e1b34a3f0c220b515982d73ac4d523b0d16741bfa4e36aca0194f131ecd8cba71e0d78d163fb96edd71197088cafc96be1ae028843a8b77762d7e183711270d4e303f18af7fcc7dd12843b2ed97bbf24cdcc3bb7d0cd0055a9f01751b53fe30358d53db1db83feb936fe539c5160e94c7e65026f8f494124bcbb2464e6d742a8a325e805d73541eec428772fe9fb6a57c3ee315caeb9cb47ea9fe4754ba4c9e6e48f5e52770f756c904a956a7cbd6e5ef4f0e7333867d330c4b6b238d576a81a678ec8a78869db387b43c3ec71de19d926e7af205f9cac9eb4b04b4be4dd69e0b203c0a80b53f0cb324a6cd8cc45949203eec381cc8e3df75f37df3ff64374b37a168efd5c5cab3d6462256b2eafb176d28bfa00a7121ff2c668f56eec32353f2c40b87f1d502ca6a07a96b824c79fcc5c9c32a1064a8d436ea36be7c251441f3b2ce387145bbb0c70416832e63376bc70156eecebbbf468c441a661adbc0ad4989d4ef956d2f5a980e909bed6ad7dfecd51eb70a49c9adbc27201a380326184a8ef77da47460df06d2dc0bba39f95a8784de420d439b304034d", 0x2000, &(0x7f0000000800)={&(0x7f00000000c0)={0x50, 0x0, 0xffff, {0x7, 0x24, 0x7, 0x800, 0x1000, 0x7, 0x1}}, &(0x7f0000000140)={0x18, 0x0, 0x8, {0x8}}, &(0x7f0000000180)={0x18, 0x0, 0x8000000000000001, {0x7}}, &(0x7f00000001c0)={0x18, 0xffffffffffffffda, 0x20, {0x7}}, &(0x7f0000000940)={0x18, 0x0, 0x9, {0x3}}, &(0x7f0000000240)={0x28, 0x0, 0x7f, {{0x7ff, 0x0, 0x2}}}, &(0x7f0000000280)={0x60, 0x0, 0x0, {{0x1, 0x0, 0x1, 0x1ff, 0x401, 0xd75, 0x3, 0xcd01}}}, &(0x7f0000000300)={0x18, 0x0, 0x0, {0xf7}}, &(0x7f0000000340)={0x12, 0x0, 0x1, {'fd'}}, &(0x7f0000000380)={0x20, 0xfffffffffffffffe, 0x400, {0x0, 0x18}}, &(0x7f00000003c0)={0x78, 0x0, 0xd341, {0x1f, 0x8000, 0x0, {0x4, 0x1, 0x401, 0x2, 0x8, 0x7, 0x400, 0x10001, 0x1, 0xa000, 0x339, 0x0, 0xee00, 0x4}}}, &(0x7f0000000440)={0x90, 0xfffffffffffffffe, 0x6, {0x0, 0x3, 0xb, 0x4, 0x7, 0x3, {0x3, 0x8, 0x6c8, 0x7, 0x100000001, 0x1, 0xfe4a, 0xfffffffe, 0xffffff07, 0x6000, 0x0, r2, 0xee00, 0x7f, 0x80000000}}}, &(0x7f0000000500)={0x60, 0x0, 0x3, [{0x0, 0xfffffffffffffe0a, 0xa, 0xa0, '/dev/fuse\x00'}, {0x1, 0xffffffffffffff00, 0xa, 0x7515, '/dev/fuse\x00'}]}, &(0x7f0000000580)={0x148, 0xfffffffffffffff5, 0x4, [{{0x1, 0x1, 0xffffffffffffffff, 0xfff, 0xa82c, 0x0, {0x0, 0x1ff, 0x7, 0x7fffffffffffffff, 0x380000, 0x7fffffff, 0x5, 0x1ff, 0x1, 0xc000, 0x20, 0xee00, r3, 0x5, 0x7fff}}, {0x0, 0x8, 0x2, 0x1, 'fd'}}, {{0x0, 0x3, 0x80, 0x2, 0x7, 0xfffff001, {0x1, 0x0, 0x5, 0x800000, 0x8, 0x0, 0x8001, 0x2, 0x100, 0x0, 0x4, r5, r8, 0x401, 0x1bdd}}, {0x4, 0x275e, 0x0, 0x800}}]}, &(0x7f0000000700)={0xa0, 0x0, 0x68, {{0x6, 0x3, 0xfff, 0x1563, 0xfffffffc, 0x400, {0x2, 0x8, 0x9, 0x1, 0xf23, 0x3df, 0x1, 0x2, 0x8000, 0x2000, 0x1, 0xee01, 0xffffffffffffffff, 0x8, 0x4}}, {0x0, 0x1a}}}, &(0x7f00000007c0)={0x20, 0x0, 0x7ff, {0x7, 0x0, 0xffffffe1, 0xe2}}}) 00:06:18 executing program 0: r0 = syz_open_dev$mouse(&(0x7f0000000a40), 0x200, 0x129400) sendmsg$RDMA_NLDEV_CMD_SYS_GET(r0, &(0x7f00000042c0)={&(0x7f0000004200)={0x10, 0x0, 0x0, 0x4000020}, 0xc, &(0x7f0000004280)={&(0x7f0000004240)={0x18, 0x1406, 0x100, 0x70bd25, 0x25dfdbfd, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x2}]}, 0x18}, 0x1, 0x0, 0x0, 0x8000}, 0x20000809) (async) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r1, 0x0) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000000b00)='./file0\x00', &(0x7f0000000b40)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x4000) write$FUSE_ATTR(r1, &(0x7f0000000bc0)={0x78, 0x0, 0x0, {0x7d8c0b9, 0x5, 0x0, {0x0, 0x4, 0x80, 0x7, 0xfcda, 0x3, 0x0, 0x8, 0x6, 0xc000, 0x23b, r2, 0x0, 0x1, 0x5}}}, 0x78) (async, rerun: 64) ioctl$DRM_IOCTL_GEM_FLINK(0xffffffffffffffff, 0xc008640a, &(0x7f0000000a80)={0x0, 0x0}) (rerun: 64) ioctl$DRM_IOCTL_GEM_OPEN(r0, 0xc010640b, &(0x7f0000000ac0)={r3}) r4 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x7, &(0x7f0000000200)=[{&(0x7f00000003c0)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000e2f4655fe2f4655f0100ffff53ef010001000000e1f4655f000000000000000001000000000000000b0000000004bf0008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000000080)="000000000000000000000000fc8e0b490248a4efd641c246704d25a0f18393", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000e1f4655fe2f4655fe2f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000e1f4655fe1f4655fe1f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d}, {&(0x7f0000013900)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x30000}], 0x0, &(0x7f0000000e40)=ANY=[]) mknodat(r4, &(0x7f0000000a00)='./file0/file0\x00', 0x100, 0x0) (async) lsetxattr$trusted_overlay_upper(&(0x7f0000000040)='./file0\x00', &(0x7f00000000c0), 0x0, 0x0, 0x0) (async) symlinkat(&(0x7f0000000180)='./file0\x00', r4, &(0x7f00000001c0)='./file0\x00') syz_mount_image$tmpfs(&(0x7f0000000c40), &(0x7f0000000c80)='./file0/file0\x00', 0x3, 0x9, &(0x7f0000004080)=[{&(0x7f0000000cc0)="a9c165e817e8995a3c9cc2967c8fbcb9c2af9b7e5093125fd3fd588f7d6894da200e306c88d6ad9e724267cb9045c9b0b430a5ec007f650ba4fdb4301e6c31268e6121c24b0bbc8f03eaeec8167684e8f7140cb94ecf79bbfa6d4a46e51b373d92583ca15322676f13be04d7957b5278b5d67dbe1e81bbf42e7382a7c85031bbc96086f861918c6af4a798f0d832c7c19bd2e24550399a8d66f91e7174f9c92c45bc912045fcef9046c10f2a06dfb6a87603644e724dc657fa692b0f02c90316136e04ee8a34c5c3b8a1326826b3a7e9cdb7d05f14140364375737510c8580ee85ffa0666ae06a4b255e49daaa53713fecbb9b1edd1065dc80c3d07ef131914c8497af93b96d5a9bce486a7e41536502998089a356f663894286da1f2a724a386adb5bad13e7d07375b00e9277a4842a07d979f72c575d5bcc0f9ad9877b7bf7b3d2c90582fae96a0a30ef30dbe1e1322b0b632284155cd3dc3b165943ed0f52ddb306322a1cd94a244bcc29668ce307a1c42f80a204f356f5e412ab145f53f6ea0b6789f4a6af9463d0cd14f32660857b135d82a461cd26fa7930f06955dcf2061ab8a61fd37f548a8572e275703a6d070e01621d14104915d134aae2089dc9f95caad5c60ee2f9832396584cfae36a96f9fd27b07eb0f3fb538109e5c194a4525af22af761123d11db2d77c159b7b6b1355ab6701b252c03fdc18af165e48472b80c8b746906170869d478021f6e4312de9d8023c48124cb65012f80083747529e91b1e2f75c5610d0108720b6c4e56909eb26deb5384f87c9beb67bc44cf51792e9bcc2f2e9ad34eeabf36fdd6b6de89331109f3539b34b94d7e5f54ae28bf390f37a0a1e7099709ed192e900a7d202793156c53c7bad477cda4991fa670315d231b75750a266985dafa2f0de1007268ff868085ab154911801ec80254cefe79cd5a98e61f0d010e9424767ee3ed30612d30675998e79c2d4cb57feadadccc544b05584848323081aa8ca263481529f761ac9568203106d05ca5ea87db6acca1df25fb93ce8a49a9344593cac832f7734a0426392ee78372f4da2708b86fc734356a0b25fab6cee1328c76aa80e5a87d7067ed83ac100813378d741053682b116cc28b4e9883ac6fdce27e227f104ff22fea6c5e65b93ad47211c0ca0a54ae40970560749015daed1a46909ed0439b0b3b1c6cd27cf6a70056d9c250029ef049826eb7dfad107fbb51319395a4d7b0b7d344a716da7b2204bbefc04333912ad5e26453d96b0f05d560f51ee16256edc8fca5d0eb4ac6f753337371e6bd5c3daf0947a62f2c4bc848048ddcd625777fa4abe5abeea35cc0b2743863477411c860c44fe234fe3b2c58ffd31e4e2b44f91f4c5525978da79081ac5bc2a792a6b5e07000f70061766e13b1abe85090332bf289f96c08663e31dcb84aeaf189f89492fdac016e2e778fda912c212abf88e0b74a673b5c2a9c13d23be0acf087107b732accd8dba344424178bc4d22470cc7caf3e7da664dc838d4707b4e976cc445ef14df507d8246c6fdabee375c35757803fbfe0712d76055b705c95cfee7177f1bc3e2630d33fd7d3457e6fbc93443bcda2184ab0ff1f9d6dfde4932170a29f1a9d2e1741cec4b78230d2deb3c919a21b988505fa75e637ba1c0c8a163a0b3d01c54b8c50f862e05d2126a61489d8be560b0134b09ba50f515c663d27b0ee4a08eec5c9782f84a66bddb92c86dc494395b8620a3b9efc2b2fa0d88f2c4be5ca22c2ab1ca3fbde73d7b8bcb59a3a8150fa57700869225aa87fe2279ae3d1f8eacf95d12df8b05774cd6012eb9cedeca59c1c365059a45ca94dc9011170bf77bed2bbc92af738e6b1dbe5eee43f515b117ed2fb025091cba14aef76344289d03bea6e0ef7b98f097616d1a144616ca54479ff34b188f6505b9cbc7c2f6efcc0ca9ad6e072401d9965188337c73ddd49f84ef73b1760f1d3c10b4b1cbf74f316f6529acacd333839e59a3b24c6bb1274a1c21843f4fd9d6171ffa44cde7f5814feac8bef8c4ffcd394095e8516771b73bcf0b38c18b41f62d2e6cabe4ba63d79dd567cf67f2f82a2a1c564759f98752bf9c83c38373720e1a5f129dabe60bfeef6a1bcfea0a1eb8f59813ff2c6a652bac259ec20bad14f6a54a60eefdb2070fe5b418fd1d2fb2ddedf29c7c0f5fd3b49f3358ef090182d7c639b10e64762dd0a73b1e11a599f3d5722384afbe5f3250f08b2980e22a2d2b2eecba0a2185d69bcba197ee16b0967f8acdc64adfb3e45bb90638904ce7d1d7226429b80505c00f5ef7454bf4a946f6e4e05af7f8eda668acb3e40499534e9ded788d68e07cfafe5002afac5c9d19536f8d99710efe4e4bf92a5901771320fbcc72da2f00e3d8856d3930f0e4bcc210ad14cbe87c2a1d6b0943d6c6c60bac5012e0465f45504e99265792fd9bcebf4f7361764397bdfea7847806fc6a67e4e1f109eaaf7960f3b144596f6537a05fbd864d5c3088d8879620a8f26c2f91687234a758dc90801b28fbc88a47970b23330c775cdb40365f92f546742c3826da13d303b8f05e8a5eb8651e1fb5869bf9dd3e740553d6c23ab21a02c14eb55f89c6887c211da2731d9ef31cb5eb4b11e814689a688553d53dfbab61189874a8d630f778f04ff90cd36308a2634b7fd7fd492408654861c3e49a5910baba418eef119bc1806c0f04e52255d87086b41ce1b9ab9bc76bbcd582bc063d226fd155a9d3680e74fcc5278b51faa00b387d1003b86d399cee6517ae3ccd0d2c7c196411d7da78ec8eef5be62a04a6b1ddfad7d532a1ab23c2c32334de1e15cb5463aaebfb502823424ae6ef5e1cbe14b3dfadfb834ba4bc371b3a984dcd75edaeb5018676dd70822a187e69d770f967eb311f5e91c2ca8fba44123756e806f15bd2e901505179233185b40ded786d15ec1f20410420394b02e9e5dd1e44e8d19328f89a142c5111b149d2c12a2c35c2ab48c4188f5e9c6b4d88079eb9c481eeb19850188d5ed97956376ad513afc45e35b82786c42393f4ffafccc1729661916c5cf2bfb382d506c9ce9fa48bc5772260543554613520613ecb3155e5bd7f5952b0e14800966595e8f193715e5dae1b491067c534a13e4944b0a9833468334058205ee7262c96e191f435270d2402491115506b06b82560e57c95c492dde8bb4b314975b2bb3f14044fce1184e0cdc217e18cfe4b78f9a932308932e88865bf9bc700a9b7f615d3cd1ae3b005770e76c25b7722338b99690e5435d9632b57c03df6dd7f71821929d51a82ab6dae8b048d2a922874b1d7bccaef746b92557f6980440402420e1ad8c473ed972167b45e194378b6105178819a89d178f1d32ea1f23cb1464d26b7790bdd93209a725ed975ccbb931504aba4c98c870dda6a13e0966c923b69c7ec844379fe852680a617180846cffe379838ed9bf951ce8e86c5e7cfde0becdd664e13a1d8d04902636aa47498f5a09b0eeaf9ce2f8f2cbf76369fe1f6a8ccad918e4251941c8be6cb8eb0201da81b3e91ef4365e8cf801deebc8aa00461f6c848916fea61b81a7b5e7f7f6812f3115e729ac0e9d28a27c2132d937d9b505659fde66e59cbeb3d8883ae3cabcab916e1930438d4b9107d02a37a80367d4f0cac7828486a4a5fde19dd35bb05cc10211ca5ebecf84f60c97379df6838069d88ace52a07a1ced278407a23393e4f875df6ca41e3ff1c2b64974553031ac9ef9390e3a2aa08f3a8e9fb3b19d3118b430907b671cd2e14fa18a173aabc6ece0bf48e37ed3a7d8a7486377ff00fb6bda66b9312ef7e29571cda0f62494000a25afc4f494982c06d138df451221ebbd86d5a8948b3c61b409294dae124f3048d26448a1455226493333ee11dbbfeb778badc5092912e0f1306b2ed7837dbb2dfd12af0456bade31a7494f7404f00c00465a72739775ca130476599c4b12060a0138986e46b8c546b20e7c5dd5c3e0b32dff1949332a717dcf04360c8dbce8b92f0e5adc335087dfbb6448f4bb48fd0917407220d5d94de2edd3dc6d52866f47b8ecb5020ba3bbb19d441873591c0f52642167256176a90e4a75ade0005fa39d7f78d63ca976cd7af11a2630e17be7a4cfd7b2cf9e1f6dfd256d441cb7900b090fcd522218b8c4fc9729893a5f0c55e8742cddc4af2ccbed92cd9f591004403c8ffb4767bd7635bc088848e5d7b9cc8c6b2bc74c0e3d354396ee6ac96535ecff2258412024481694beb04e3b466f1be97a22af03edde1b9727d9d52c1a41880f2d282b8e4e61b2c84399768f490302282ce08b32922f79734d9031bcd381eeecbe1430d654d2935717949d9047925b95650be8871ee29abe387e05e0c6d4e34b40f7d9322e5943b2468e70eff890bdc33ae2f778d169ae14d8bd4234bd6648432983c4fb37d48069649588c36548079f79cdd4dfaf1a40e35319664a4d90f6c558c9c0468b471267c123fee7c3cb1b4f2eed92078036c15f82c2445dd9e4e2bc949a9f345424c413fb070a177868edcc0b2197b0e1e83dbb092f602631e38cbec1fffa2f652a49b81516d4428ca3e938b16f68ec86fd67f87251fc9e1509666b85a5390176aecc70d236a21c67964ea130b2d4a83cf729653548c789e60c5cfca8c3062dd695b7c2df8a51d42c16ac6375e7595a8531f72395e48f9b244a0d27d7f0d51fcbbe364bac2cd643debe3e74c266a8bc12b6869c816543afe077db2dfaaeac2ed9452ccef1268fe09fb24b6ff9060103440e4a741d7466f46cb3bebad5e9e64d32af9a565d27324725c9668f9e9bf75b7101e784e0be32d3d66b5308d7123c1a987460f3f2d0773b0e2e4423c57213f471fdc5e26bf82f8ca4ac844b5e88cac55808167dc3cbb600a6d6edf9fc07ba750ea107b2e6d8745c9de8afa6b9c123a3539d99daff21a3b9424035f1e029245ca50e38942dc2f6d5a1304068b188ab1162537759129982de1afcae36433874d821e4acf2dd165259ac729f5d6e82d5ed6100f4c18ebe8227953bf5d0288687b55aa182498f7fe361d96c533c5ebd4e17d0baedffabdec96754f1d679529e3de35c0001cc3a16f63b79cabe60cd0386cd04284a444dd0a0891efb615650aab19a0cf4dc53a7c652aa2227c1799724944f64f7d78e0d9404aff76edbeb9b611c797dac23e8e68ee405c814b524a4ce714b2e0559ff197d4e79663101b913c0995bfd33339872f7b03e0ff17a841b9ea4414db5af0b71dce7271c616fbf2e55019b2e071cef3b06ff7366ef1a167dc103f2498e0b6c476f9bd9a5a48729748da0d3bd9481ecf4666cf14a39058ebba070b0a3b876fab72caabaa0bd806f5643902c4824b2fa1b57f65bc2fcb843d0e26cc8fde5f8a8f9e82dcac19a3fab7f0633b7d59ebbfdf1efe5b30a22fab6cf23b5ece0a359985f64c27005c2a505abc6a9d41437b35f51a87ddf71ba5c5c1e8ca0b4922971d402dd325dd2c76cef13a2acc2c52e8e808d145986957af80a1956d8882fc3b6bcddf99b7fc0ce8b3760f17e19805b1b6d729d2f28f90596b3dc7180e737b3f8cf15bcd2c2c40689788a4c8a8402b4a1db645d2d2ff1425ffc67c0ee72a02a0124be01d84ff05b61738b1ca1e9509829cd7fd7d054dadb1c45a815a3334bc95d79166e4d243dcd7eb8b1741d75f33113eb2a79437245f9ad5f3cb0a838481e8773bd6ba17b1f8e5cca00cf94e2ad689ae2f2e6b84e662508dff82008e8345fa276c5d2589d32b0f6b54a8b577b6a0497df806d45cbb37141f86ca3aa86546f79bb1f94a928", 0x1000, 0x8000}, {&(0x7f0000001cc0)="1837875b563964a1462b578e56d80b288c90c6f8d48797dc1ff09f949364c1993f1b4fea5537dfd07225db71e98f0dc3b9f01c3f0f3cefc28b4b2190a10c3229b20c463bc15a75ec140be9f4af084fd46e5ac74b3c048319d07fe9511954dde8398032e60bf84c8d8367567b111a8fad4df9eeac04e64c2a5398b0a6195afb677c7da9eb11acfa77b2d4f8971f6c06e0272737618387c8c3b6c6b7a6c58e20e06fb14408fb741538f3f1238723c04b7a4d312d6979f2a9a346b2c01fd50ba56b7bb6f96b6da9b16d9a137769a411e2975c730cbed90ed5b0d6e53735f9bb37ef504edd7cc546bf8c4cc674764d7da10a7671de4e1c47eb6f3a9bb5860c76681ad65c6d228c86f361f9cecf7a51a422147113eeb40510da2122b5819a1e832030db86ac1def2f49939562c082015c62a791e71437181ff97a101da5e1a4a065ac7fb6e10c24c34611bc421b44468eecd6834a6caafd3160389119b6b09d841c8787ceab70c81b763e762c9d76f1cee706590d83101969ca14f9727af928d3dfbe3bcd8603058b7cc7225db1067ea189be1e385ba286906dc902e935ea1639ed62fc949ad490ac81cd5969a22927acc6d4d83ec701dabd381bc16b7c6f11a7c2ff1b29958a96a8e4eb03421a810e48accf6d9f75fb43bc9a0cce0d9f940b8d617bc12af2e38f2ee9b0cd1b8e4cd82d07014cca654bc9e9838c0b0478e893c270d31d629b57918e8ce41d99d8662e45be86a24919d9c307a682bdc4ce9e0f33518bae5305d56c5476002a01ada1a306b77fd2514c7e768c62f98a4aad4cda7cc6663e7067827ce3d36bbb0889488c2bf5d4253bd676b54db7872596220fc4a189050d0ba5c2e462d3a663e8a70d88a9aca8184ec77ff75ff7952e16c131dbb3672622a8f8d847f93a3c3ad4e36488359799ae580d963ff54d071244ee5313b1ca3ccb64741dfdfc7c81d4ebdee4f2660e5bbdc3e0d6d914c6524c43bbbc7d0594ff540b25d2f9274bbb8318e78d8aa15410f90ad59a71e3d33784b3e933db0aaf284d168b87a73e334de0c7a5be00126e89a2f88b766b57f19f7684c253daf90d76b290d260c0df22777e2e8b9ba9de3dbe044bcb154a3b32d397deb9ad71d4b1393d9cb4868274744096352e73aff2caadfeba12dfe341054de56136a75ddaf607cdafce11c43519aec0fec1fac97c863dd81dbf83ca68530d06718f96bef445cb30935d62fca9aeb055f51173b3e7b5fb18fcbfabd2bf83f55ce483c690a8d9872fc46cb6af41f38df8ef98c28d3d5af90e36e010f840734a5adfb68804ede1164f90643259860709492e8834e1ff874e86370f724e5d340e9b8a9c7c680eed96296934a8f24f523d7feab9ad8a650cee0dd81b3e3cc43b442dfe110f616a5f8fde800ddb26edaaf69435ba68d465c9ce61a9b912181408353616b1bbf8ee746b1e3ccd1c23ed254b0918ade9ffa0cee5b47a92ad1ef8fbe4e2fa9e9d436cde58e79ad562bd2e273516b15fc8f51ea31ed9b397f8421d81424d35c93901116d8cd7f19ea20dcdf1d26873ad0fd464db43d233fb98fb48c225b339e755bd3a4fa49f73755112574c70a7ded7bddc7c7be815496c2069a22b6c75249321a70572644f1ed22bff49bfadf70a8626cd4728abd97b42e243123a7ed7a53b733f54a4996975b85df4cbab2f53e42743b3fac2075125061a7f100d2ca06c3e4dd66b0595592cfaf4d4220497f74398242515b705e4f0e92b08eae58153401c9460f28c2e9605b062377701751911629a45f8030ee8eb164cd073f5bd3a8389cd199fa29433d5c6b60e9496dc2115fba3210649312ffe13a730ea40728ec5d52bef94a022f0d94d8bd469b47efdca88293f977cd863bd3547459166abe900e43ad2a546f135643a3f36766a620af2f3ca4b709a0f8463680af9fe6d68572bc68708e1da8ed3a493bb771dbf40533fd59133faf853f06a88bf8c442ae34e608c49918db6b884cacfee95dde2c1a2a398431372b3711f62fdb66d0596a50f2db2e301c34ff65ba78c07185dc1fb7c99a005efc6917cb629f982c547d8b2a0e27ae637f9c6f29aaf8703c32ec16322b1e0f2358c661e9219d7ccb35718617c7b0928cdff9ce6c950a7986cfc77dd71eb03a9d1baeb9a657616a8a3abc15b54d09a6788270f539e4c1d6fd2d77d3febc3b76acda0ed28cc4247151442a33167be9164b20f9c739a63a705f78327bf5d47725f91fb82adfb0c18895010aee27c0ed9e9949e275a5870985b35f088fbe1a368b9a09b74a79aee7652543eaca178bbaeecb8c0dbb84c52808bf81f4a76800515c628d6c78f086651b2b47202a23af2dd18fd1253e0edc6cd46eeb37a4194ad29826735ac8f6b1cc2120c162030f76bdd9a5480fe8b62be040b835ed7fe18bc3d8647dd062129573f8750da82743464ee5d3f3e6b31f02b7a0bd911b87f9177a05662b2e1db3c06d0f1a5ef9b3788b6d287f7a7f0b53c6445d71573050f6c02a2d66ff6ab76610c32ebaba77a4f83ad5f43fe755455101dd40a734eda153f7c144d614a2e6178a5679c80e0041dac2a118dd5d2354755c6361b3718da9b74ffe3b7796a148064838fb0f0dc057a0079dcd2521e2a19b3ab6e4f015185c8f3dfa91fe297ac0f466fbd68cf2badc27e6a7081584230a77d60a485e7ea1bceb6735ed0f202f10ab75ff9b0753891d83c5531045bc8f9b86956f1261b68f0ff6cc31b1cb07aeab69d220d13d8555f634179e8fb28ad27e1f4a65cf98976792a23eb36290aef9083eecbc9fe0af0c62e2adf444568226cdac6bc13b7a5101ad5b409f5215837915b9c78eb075004f506e01ec031e4186b66a60bf565cf88b13dda20f9e6f9aa1910173a1bb2dcab18153d1ee6a39abfec071dee144b486ca3f7e823b24e0a8ff20a7f0aa099514c017af7ba624b47273cc91000a82acb424326cf8c1c46193cf1c7602d93ea734f7a56167d28b0b61650ded10b1cfbac68ba77660422ad8d3db88f90c95311fac2acda998d463146f2ea4b5c63df8f3f4c6a998636d43d22466bfdeac475b8c78a1b838c47d811df8f758c6e5e65f0349df8ee20aeb5c200de76f4c481e04136ca4b6d0e46acafbad7d54327367e420360504006aa3289979c55c1cf6bf8b0383517f1e6d1d7eee9e6a8ddd56e57c21d546747333fa66c1c30b17440176ec729a8b255c89122f334ac187f2169bfdabbca468ab409a0276790a8d783681e017cefb9a8a9b8ba4e66f8357ccf1c459e11b3aa31d17aa42e80a1e0155e5d766425cae0d85bd681f18c75c1e236f9167aab0acc92f29711c5fe290378d0e0f14e1a6679cbdca11413ee0af22d2ca605a85d795ee659b85497a7628cb2ea04f6c7a327b73d24c5482023e293c9ad64d3c760d5d8ec57addba77b755363f0c4005f6f446a17c397c3aa10578dc1c321e0add1a12690826ffe517bf410d910fd0e56cd3a17f968fc8107e02af729a033d1e193bc923f4cb7658f4767e71bb3e49e4d6db123ceaa762b8bcbc743d32274f0e09a5304ce6545a2caf1dbf05f3cce1fccfaaf2ca39d6443013516e81acb323e8a301aa71f18e4add26d1f62b6a22f7d982f1a2d87039d05c8d58e719d7ddf62a878f51adc93dfe1c53ef77b2447981a4f8fd8e2d41016c00d51ec7ba6d271151c7540a094e151f8d9291ed15d5b2201667fa011adb0b2c9f5de6a8fa984c546c0d7cba453ecd6870ebe071b0a674758e154768e9b04405bef579369aaa1ff4f3f34461ea060d71352b015ec12d34efe2514614fd0a6b9f822cfb73f646499eecba1b36a39a4dfdedde6011feeee570b54fc4bf83c0daa20b568ccd2e1e52cf9bbbe87b17dfd8aaa0f4599ba88f3f344cca440962bcd92e8ac8132b2447f9273de9ad84baa047fb44ed137c42d98982db76bb6d790153d56825966675fbea2bf5469f39e4d51532744dfab0bad9cab7474547b87b665c59367a943628aec207181f9805a333136269d652b50410876909ade90e700ad6acecaabe6d450929e5a37a3f6201514b683dd3d0261bcbe41393ec42795682604442d86429df3c71afcbc31c52ac6b751da318586411312a3c7c3b090734d0ca725ee06f383ea26ade56a95ffa76016a96fdc9037a9c80818647409141e7a77e1c9a0c872f7230ceac8a930e0f44168b87ef74bd3300f4456e709321b7f47dbb8f3cce8d82f4b94f30069cd5b3252f46242c717f47fbde5dcf49ce276c5d54245abcdf1d86367ecc6bba4a17c2cedd9a83a6322d596a3087ff2e32204f00e41c82ac4a55ef8884f7945fe5991465a00148fd2766940775cccf88c8e81ec0649d35a086fd7d5abe06d8c0730e7bbd46dcb54dbcf915e156e8b6ddf321c4e05aa5dc1f264a8fe72b5f8572beee25e4c465034bfa59c46111fb26b55e7d09abd7a57b8b8f3261d2deefccc6a596c46ae4cd3d6b24ce9f9402244b32cd75e4d2e63bc19afbff624bff3744b3fb8cb6c062ced6c63e68117cb8340fc754278d4b776d6b6c0c90bde7b3a1d34d9b5aaa900cc70bbf3be99cf52450d514849418ea4f431ad5d61db7cb5d48b17bed4d66f6c1d63c6b1d404e29793ecd554df5cf736935051995a819f20bc341b28e3011625ad56985ce3ddeb37b5eaeccf06f14cd3a7d1cb0a1b6139fb3cf74b94978c3e94ee1fa610c6c54de6df5acd414a52cd540521c9f79f484b26a45588b7133ffeea91f3e2a0a1295fc89f253a3047c71388675678d60d82d5dda8e16907b87ec653845eab922a29d6970ae2b0c2e1c573738a9cd28e260dfb04b4de06d548851dec11a19c9764fed4bad8637121e6e122ac74e03b80f5af73e66094c5acac31927e648a597edb10382c36830f29d0a0cc1a71fbb81849bbd2aa69de78a06c638ee86ef9b4f4c22bc89dbc735cf9014b13cf04119d42355c8d966d41ca820d740745f5ce6332e4a3ef8f589c4ec84f48237b134252cda558ef084478576b5486bc0de0022de2d10449a73821a9253d027c8e0776f660cedb00f7217e941cb0fa32b48b26c917dd4c707e5123007daf16d4194ce2ec8fe9f511e1dadfc39b9c7ca5c2b747e8e0ec1e06300299f26b2dd815412f3cc1d37804904b8e5acadbac74b5ec31a2ba9aaba325de5d9ac58c0ca88d081cae2351f122b2251050e10a54271f7387196f48f8678557d1ad6a9456358b67bf6ca90b6e39aab528646aa108a1b59077c9bb0a1154c5e171ce74f8c8fb373ddc257dbe27da82ed258daefd0c2eed126aa6ba5db490cdf15cd5345f700621084026b2a71be058b79989ddb56547f960a3dbc3ea2b2f9cafda216ea1e15ba26b020f7e22290862e203a4db0793bb4e506880a5384ebc23724940ee99e3283e33e497c2f6eeb07f83c56dfb5fcfe70349fec36ab4fa9d2e460472c7de5d3f9f27e638832bf35a02450969e2d4531e82f17d1393c094cc8ca4ceaf34a3f893b2381209e143628b3fc2651ec1d66d44fec398c899a5b1633b46367b2ad0ccf9475cbefcacd6fbe49e61d5a82f5d194a3c7b28c3bfe9163e099280de912b5c217c259451100e91438d29ad59647ed4551f1d5ba20c4b34ce0149da6294b2681c291ce6ef9fc98ce7326dc3dbd62c768f4ebc9b88b7a7e8fe718dd0d5508fc37fa277af3d34e16baf9482cf63aa7de58ef232aadcbe16a6f09a301a0baac39688f46e40de5bb9999e15fd44a0cd1ad373d907f55c8e5a326134986512ceaca860d6c04b2098eff421678d51c2e05afd7110ad2d988b8422b64d3cf72166fcaae2b7085a9b059f1187349c", 0x1000, 0x9}, {&(0x7f0000002cc0)="95f6496b67cee2e95ae15831321c77999634cfe0391883d5d01d251a8829b4a1933a3febb347ac3378e40f43ffd8e9d206398e296781b25b5dc4ca98dbcaffadd38388148a226c63f085d626de74ed64895e1452a9df281fe37244792ea702e4336c7d32fc2d977390c2a0c59256e9974f591c758550c51a90a4a53e41261d085bbea18a", 0x84, 0x80}, {&(0x7f0000002d80)="d503976b6bbed9a9ca9b2481ddb1dfa4b7e3f32a901f862c48f007652f3af801b271f5b29e53e72d4f50a5c29584acb2654b186c37fce96c0d5e8087cbb89896150ab0b62c731bb634b54f59251310dadb95734166067e4d7fc112c462852151601e7950d4df40a7657b6de7c5d5d7cc44a4425ae31e8631cfad370fbdf670d630f5d086a4746c957030c4edffbd60c5ee6bc80217d9082ff53cf61e110bbffdb068e7852afc36d963c72ff8e6df6e12e6dc33d0c9a4432305aff860d08ba8f51a6927940c06b307e424b16c5968ab7afdf7dee29df2d4e6756bcced93a6e771c25a", 0xe2, 0x96}, {&(0x7f0000002e80)="d9ae847632d655ac2f17f3c227e98c0b500bcf750a3a6e7ac7576b7785300c139b3837e6812d127fc02e2aa8f0e7d32da4606fdc3cc53408887ba12e1770d51ab5bf94b8cc57d18e5054aa9f1cfb509a8024293715cf8f68ff5b", 0x5a, 0xeb}, {&(0x7f0000002f00)="e50f2664c64c3ee41a03b4a5431f2f75a3d35a7d0c227e9be7eafd1444e2270d0207df5350232d92f6e697ffab87f26f996d54381283383fd71fcfe4aa7baf8b1044490afcc6e333ce9ef6a4c829ffcd690825c42c1422afc9fc505dc947e0f165bc6fc115151db581588fb104271a4cdb18f59de58d6ccf4354ab3a4c802fc460fb5b9fff1ddd776e81e9cd7f92c58a9ac8f1978d13b17d2bed6a4a3ce913ad2f", 0xa1}, {&(0x7f0000002fc0)="020840bbe63ee8f1834f1ca95be6be405b43da44e9d01ba3aa400ae842fd4f6bf59af193fc98725e165a6e929bddd481d4871806b79fe8d99d843eaa677505ae9d5bafe466dd5585270fb6ee20e86dca30efe115e03e25626a5e33d7ea27a1e62233281acfd4cccb84ba12bdcf310b188de49ed82720d00f195ab74da89d4205c830db057a731d200eb478d405ef7715c045373dc2400c9e22feb96da4498022abe57e506b76334821264efac02939fee9035446feee3d10a8449d9905921aa1fd49be63212ccd0242c6dae812e9f45e5de6d4fd98c9fcf1181fbc38f8c9abf2001202e3490976a09a90f02b25a391490ddeb1adbb7f4f25508834ba99a4edb9ad212960694df4d2abdf790ee918716c0265d070b3cc1e56046a2c4f79258a016461f3d2a4b95bc499c5aa317c4e040272dabfa20056011dd813514d7439cfa96849f3e5f44a45d04b60df79a0a4c4c74226c90abd1462cbb7fe64631e38db2ff1197bec66ec0d9b6da5ccae9f4193186b52403bb5070cb34cb2cd927dfe5cb40974b8cc7d878fad4cdf8fbfd5243e701d3805f5ba3a08d5ed6686072459991631bc96d1bde76a43b4f18d226d00204798ff254a93ce181957478a1547ff0d53029ea897652d64e0e302c2a9bc842e028bfa5d02454939cf0a22192b0c3f7cea44f5e680848a39965e6d58cfbb31088312d0f7ad5ef99587e4e49aedf109d760e803837ad7ba4db92d754d60cebc54b6b6fe7ef3a84a3e598f1aa18e2307cdf2c59217d498ce19f96ff90811dce6f5ce56109b3f53d47ebcbff464a94e59c673835ca83e35c5e19be5caaadf6125b6fb96d2942fce08f774e172c3cdedd6cdc6cf83e1b049a605e51bd3a7c04add793673cb5e65bc818fb8db788d0eabeead88b25de63dd42866220dbb44686f527f313b227b6f6b66612d328b89f635dbd2dccccc1c6cd310bf2fe5a454a7ef9224ca0513d2770fe24ad5a1e8c9774a0ee6427ac01af51f609a9cd36a055a4752179b38a177d0b8353d7e3b9b506a46fe89f6326600d8766269488482f61f1a84543d307c32a8c191295c9418dafc183c53b469902063239241b6ad33df5b162a07c1633d4a826814caf6fdca0f52f2e85d52007461a01f754d81206a03b37818652bd9998faf9d95bf32192b3100da88d9f6e158f3e549ca74194db01f8a4de0a3d352350963be85eb3124198544834edf641cbf33fd7dc2dba3545a80ade55f43cf2ca0f4957c67fc0a4f472221e6d5dedd97669e031e1845297d86aa095db0f120637100e693d5453f365f09b8a13ffbe87a2f0770b9b136ad8d11042a9bf9a2150295d7d98035dc762e4a0773dfcbc115e481ff38641d7eb87a6e9668b9dd265295bafbcffc2b13e74ea0fc8358a406210ff16df55848e3895eca5b268f846ea62e385cba127f3857af0b8a1b79b49a86f9c74df0902bd5de4e223a47fd3983ebb38edbb4313cab99fe3848265a237e095f0cd4afafcdf4aef8c074cbd720ebe84c5e77a7e9594557a3399510f2f503aa20c019143ad72b1d9f71faed31e20cebc6d90652dede5259fee89d109324418bd6d6afe11d0b3e18a7717a5300d80496629ab3db47bc1c6abdf6e9a4b4b351096143748c6396616c035858ff07dba435ee33a5f2d79dd5051de22ff9622324747c0bb035ac75712b09e13e6ade583a92bb0e5ed578b126171f51dff20168bf7298e3452080861bf74ad50a5250580135e142e6bcbaf4d55930077d42576766d9af7bf8d0f8634e21a293096cd6d8d542438b60d85bba751514e8c1900261613a734aa42fcad1af1dfb03b279ad9d7ea099cc3f5dd3da0076c6179a8455e37bfeaccd83fa14cbd97f030493907972bfb7aad7dd8ce5ed4b304a492abac960171d4f4d36ee0a53a2c9da9a58af94473233265369daa56333c035796e132a8596757be73c29e52095008cdd43b33b9be6a4c8215817f5e8013ce3b6c46d3c5d2a050bc43ad250953d3cd5c1a962bc19df2ba3f0f2122122c87a9834583388e0d1868ee118eebd4cb722b53d6c7dd906f676a9866e6fbb97a696458e25c2b9bdbd5752ee0cdc9854547b72a0fec5514538ec128c79c2877d906b3e6df6f0282f36999b804505d5001d53e0da11daf24887c94bb0618ba63ea28580ac4babacd1c150714afc1a899267032718125c8aa57663cf4a242465a648dd68037791446fb262229905a37b51927be55c8053617c3610b9a79d802627b228200088eb347f93cea818cc35d5c876a9faa56fba3f37074556ab07486d42aa51d464b5d1632fcd2cfb7443f9067a4182e270c16b4cad714a04579c6e6691b99338d5049ed7b9a545b09dd008e4ea97fafc57819c8e27467763826b242b96ece1766ad19c57c0c300ebbd052ce94c4067ec93228a1594cc985f9434f6cc0fa5b50b524d00a21a92cd4c58678c7af9b04d07bfe2269abd5320f105c95498b4bf12715c45b378a34e992f8719dd59e8e993c3976dfecccc6524cc41721da2aa063a3510d374fd16bd04d4fce60e001769ac67be172904e7637c5ed02074cbafaa8755070a14c54a180f47156aa4ab809e92b27255c8ea46a494a50855c09750abc383639ed8bbc856e68cb17896e3754855bb2a6c5ec40ac2d75a08f028f04ade8a91bb36721ba0717a90fadbd21a1c60a55587de636fe2d067f83ad216d407f108997cf4164fc8ac1d188851b0393f11bd98cb657d109670501d8e2ab6f5301ae14327124bfda54595c499707577ce5fc67bcf1a65e489f3ea535598aa901d0c76e15aa64c0fac0a48809bbe1917610f31934e06899b88bf5beea5705c757c369404cc2c1e83c5c25ee42cd71ae9d5f194d31bbe02cd58cef28a22993aff216381c81ccaf5df9d52f306e42f306959cdbb77a28dad7af38d678b436ba1a5a7adaf3b8d81d0e7c13eb56b6bacb8c9202b1c2854cc5b59fe362b9cc0d8f2223bebdcffa9637ef820e03f14ea0e2bc0b4a48b9e943e91204291a196ed3d1ed485fbc90206d6192f865a342256227aba584e06a3a318c017920441c4b51f407963f9c8a9cc1823d22244f200fdde4d686782d7641ad0569385d965c5b60878d8ec6731be20b79afda4651968e9c4ff7e6bd91487b3e1528204ea9b41cce2deb8211f342b31a17d94b2b5ef5e974e9f24d29fefe6a2c5f3fa80f70e9f1c0924aad0f5480697ecde4341cd70f8bead55470c7633eb8668ba45ca3d25e14f5003b0d5b768fea4b815c29158baaf8f4f838740894f14eba6e08aab35b2873adbfc3f0f0fd80ec5a22fc80cc1dac0f2d0e69b56f5b56f1db31c8e3be12fba35bf446d88329c796d0745ffa89766b2b59d31db0bcfaf736ca72f4a5d44ac808708b0d5c6efd99b71083ba8de47669e7cfb3d363e3262881a30da009302b90442cbee2a64e0a30daeb8dd0a2fa24b572f5acac118f5ac3bff95026976b6e9fb56bd759e132a063a03f28b1ee96c65173d4cecee2142225c2a7e7ca4bf7cc0215811b44a5df66acfbd25fdf3f47e7a951c9ffdfa18c774bc099410606419ad2a31ae22a616da396cdbb915bba79d1096f1cc4363bb8e8e136c14fd75b491ebfe2374a28661eeba5afed1655f8b5f02bf52c5c7d1109c3337180a9c9fb67bab0f483adfa193b66baabb38b68c94f3b64d4654f25e4f40a227154e3eb78867af7f314f4562d1eaf9829b3b37e2519ac65c924fa81a5f1c06b8376fd49dcd9a22884bf09d533e8c98cb3d6287cd9d504b91b0b8720aa382667b281f832f3645d2a9091ea1e4e3ed6df009ea189c3e496d24b1fb940e558108f7d90a11db415a3f0c30217c06adf4f5559f7d8d234ab6cbd409817e2a429ec89a789513ceb08b0253545b2172e9ea45293344ae02fef39e1644d2cb0d98639a0ee87d3d8ff8364330b55d1960f4e17041d42c6732a45719ab087e168929ed3f543c324d9b940c62c79f69a530caed4cafcb0611a2dbcdf9d4c223f30d5f75756e3c51536a4a26a1cea1307de9f045c865d9969e4e54a5da435ee75fb141839d0e70ae323784a293d2576affc35497473914f3927f85f8606e2c869652d904d67fea5681011f777c15ac95007ed2c71baa704d3165f5884ab2d7cf77dddc8ea183711eed32034fd8866dacf7811a7b902c1e58e78ff11005c579efbaf8da995c8aa32579547e6e04a2e3f6691c41f2fa76ff1f09b973a70df5aa61fc87d65c6862fdcfc7ea67f73753dcba5645191b393aa3b43ef11616297f4e91925fa44c725f590d444204b7f8e1e233fd30ed3c7048c6c5886c32438e728a801f3156a01d6fd6d796dee98e526f687e1c29b42f284246c8513607fa23a0138b58c673ec4a772e47aad11e9bee51e6776d5104ca453293394548e8c5bcbd6e9f2b96b16501d1fae9f6036702cf0bf1808d758b7aef79c7856ad9d59438849f9acdba52e2abb34e1169461070f783e2cf0df740935fd55050b60c612136ceda7467111b05ff33b40cece7e1a19792edb7700b9448385dbc28ab8126b99c1eda600b46c2bca3a67b5c0f6ff6a0903615bf528be2d31bf8c6db08caee44ca96f28c11c93947aa31e5d4bcd754963059e547b53a146e27a6c5849c653bb389e70b4fc5fac78097625926e47437e8c0339ef076754c113c7c4a72aa828b72dcaadd764152b1f5334a53d8a1c9c7714fbe930686cc254bf6bcec63fae094b4635bf0e7a95fc87cc9a0d85a9701c20a4d77fc35fe41b0b8157dbbdc49a9c4bcb23324b28406b49ed92db0d0c93d7e2cf5711b87ff1f7722a6d6fe611c9b5a81add889080ab763cacf2cac1521ffe6385bd8ee44ca98a89e9176b960b344130945b9a6d6dc6c6db5019c26a4ba003302f0d8fe585e5757e36ad8ca535a408dbbe5f57a4c68b28e3256a80cee5f2f24ba8bf489d9235fde0af6b79a0ddb9568570ebdbdac112b90b853064e47dc27416b5a762cf30be39054f21a7e173ab25f9f4907285d2592c9b6f299c4b2b79fb41439f69403d0df7558acb5ba41b5d5853dae392358e8500fa99ce0a2c3c629f19015bfa046938344ab6b33695c921571d466fa20908e5d298eaef38bb44e62d8cb084016472cc37b01b66c55164cad18ec899c098e94a28e23186f8b001f4e61bd9e946621e2714225e6a0f3383dfc810c9f7ff23bb855c095917cad953f052aacf11657a632bee68b0d15f5fd4b28f90ad86f63460a3e85f316bfbe6431d2e0025b2c311427e037b2e895d66ceca3c6efc05e7729ee0fbc59b564c2c156c2425dc7d67607c2f42d7eac1e2e76c834c45d3e2a8e5794754289bd45c80353ec065fdaf18ccaa451bef08ea35605543d49783935eb940527e99088a6266bff1b54f73136be9968bada0113aec26f33dd5851331456a04a939b19ff2711cab1ac751674c3f975e4cb242aa162bcaa8eb46dbb26084cb10fcccaeedd51072633e6aca12d4c42d5cba2cb51357378281a8a1561b3138fdb41f443126410933a8b8395d81f288c8004e1b4cb9f62e13582abc13d677b0ba874946776703a789501056dd1cb32867907dea1b6517ee0a776d3ba8d08e2fd0006fa3bb02ce6708cff0e324682d4a46188baf69b70d19c080df68f923680deb51bdc7f10e098669fa96bd0bc61dbe677496631632fb4c6de5db043f03550df81be25bffcaa58334f76af6c20352d6e59ef3d14d40077a57c4867f54b1981c769371107c08cb4471106873f3950388d49eb5c0a546852fa81ab8cd739ecac82274bf7ed30a91f9d219f5797e445bced7aff289d92d09935ed5f190384d3", 0x1000, 0x3}, {&(0x7f0000003fc0)="30f0a998d1d01fc83253fc5795a020bc095c6941d89385f5a856aa68679459beeaf9252fc7ce9e4f57481760bab74df0c81e51480f11c14312428075d1138a50ac4126a75e743bd7fd07c29e2bb93fd3a9d9960aab73d9d4cbebc314d6316d50aadd332f0a4e9fc2ce1e292ac381fcf21d81fcbc3917fa", 0x77, 0x3}, {&(0x7f0000004040)="de0e0afcd1bc576fb32d269ca2c1275e0266b0d3d0a3", 0x16, 0x8}], 0x2000004, &(0x7f0000004180)={[{@mode={'mode', 0x3d, 0x9508}}, {@huge_never}, {@huge_never}], [{@smackfsroot={'smackfsroot', 0x3d, ',:\xd7'}}, {@measure}]}) syz_mount_image$ext4(&(0x7f0000000340)='ext4\x00', &(0x7f0000000380)='./file0\x00', 0x8000000000000001, 0x6, &(0x7f0000000840)=[{&(0x7f0000000440)="ed7464d072999a3dd70cf4e8a6d59875dabaa4ec091ed86bda30657c74ec31b8828a08ada88ac0481ff9d44857f65b090476aa3f3a8b47d9657eb064680a546078c08b7abd70b49cde10364acf87b7600654e754d8649a7c52b7b4f2134638167e5c969abc2df9b04a5767d30e444d3b5449e93028551aa4c167ce2bd95b1de2ecbbddd00889ba254ad84e4489b4c3545d642b9ed2cb32304d2196906b7b115fa1bd6c23348917eb3b9c1fb2c4cc43a0dcd98a7401155fc97d4e801f8274fcefb8eb60e77c", 0xc5, 0x1}, {&(0x7f0000000540)="cbbc6db1", 0x4, 0x537}, {&(0x7f0000000580)="439fa90a2e6807d83675408cf4d719f9b180018e0b62201a77dbcbe8b0ace400cbd2229ffcd59a20d2b93dc393d716b0c9b7b0df5a486a2bc8677435251c16b27761b85c9d1d35d4e585fa5077d79af113913ae36329d91f12a6773d8a96090e5f13fa82b6e638e1e0d87f1d0e34b1d2efed5f2af204bdc64c32de9169967e2afe50070842cf4c7ee5b7057ec661b998c0", 0x91}, {&(0x7f0000000640)="8f6cdb5ae6de752dc814266f8f731bb916c87f3639c770a31ba3edec72896f828deb59c0d55639748589db44bd09b5f4449e1a02f947fb03bb3bb7852d14710067abf23373391b27e33d60559085b82996e8e94ddf40cd82df1e688f638dc3d34633bc99a780ff934899353f53470d88eddc4ae2610371c6eb6e83cc9fa8e5d6d62d9fe3bac965c28b43759b3dc71221fb81337bae8751", 0x97, 0xe4}, {&(0x7f0000000700)="1df8f819ffa3b47f6cbf3eb314a291239cfd19ea4b71a61de8f1ef95e86155caa41fd618d966eb8d52bad1b54b826b6720050c69cc2717fe02e7", 0x3a, 0x81}, {&(0x7f0000000740)="f1598a0cc8406b422df0e0792196becb79ce41a27213a4269f7d1d8af16beed5dee9a0911f1434be90f350d1734438f69ca206d749761f0b827893e9c5f85154c7109e45210884ae414cea4afbfc4b5b0d5cb46670be541192a5c45d9c481d02b47e4cffaff6cf81f09cac70079a23d9ece3bd9083faf181ae90e5cfa25abf3d04f1a0a89baeb97986725049a1a44fbd76bef2594ed8d14df893b0ab3827c0a87d13af24075757e9942c406652fa0ab7b6cef6668474500fb83c1aa19c95fc9692442cd5d174858c22", 0xc9, 0x3}], 0x890002, &(0x7f0000000900)={[{@nobh}, {@min_batch_time={'min_batch_time', 0x3d, 0x3}}, {@journal_ioprio}, {@debug_want_extra_isize={'debug_want_extra_isize', 0x3d, 0x1}}, {@user_xattr}, {@data_err_ignore}], [{@func={'func', 0x3d, 'POLICY_CHECK'}}, {@obj_role={'obj_role', 0x3d, 'trusted.overlay.upper\x00'}}, {@fsuuid={'fsuuid', 0x3d, {[0x34, 0x39, 0x31, 0x66, 0x30, 0x61, 0x61, 0x32], 0x2d, [0x66, 0x31, 0x38, 0x66], 0x2d, [0x31, 0x37, 0x0, 0x31], 0x2d, [0x65, 0x31, 0x65, 0x30], 0x2d, [0x35, 0x35, 0x34, 0x33, 0x38, 0x66, 0x66, 0x30]}}}, {@obj_type={'obj_type', 0x3d, ')'}}]}) setxattr$incfs_id(&(0x7f0000000140)='./file0\x00', &(0x7f00000002c0), &(0x7f0000000300)={'0000000000000000000000000000000', 0x30}, 0x20, 0x1) 00:06:18 executing program 5: r0 = socket$inet6(0xa, 0x805, 0x0) setsockopt$inet6_buf(r0, 0x29, 0x39, &(0x7f00000002c0)="ff02040000eeff0000000000000000000000000000020205", 0x18) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) (async) r2 = socket$inet6_sctp(0xa, 0x5, 0x84) (async) r3 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r3, 0x84, 0x14, &(0x7f0000000100)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r2, 0x84, 0x10, &(0x7f0000000280)={r4}, 0x8) (async) setsockopt$inet_sctp6_SCTP_ASSOCINFO(0xffffffffffffffff, 0x84, 0x1, &(0x7f0000000080)={r4, 0x7, 0x2ba, 0x8, 0x48, 0xfff00}, 0x14) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r1, 0x0) (async) bind$inet6(r1, &(0x7f0000000040)={0xa, 0x4e21, 0x8, @mcast2, 0x3}, 0x1c) setsockopt$IPT_SO_SET_REPLACE(r3, 0x0, 0x40, &(0x7f0000000300)=@raw={'raw\x00', 0x9, 0x3, 0x278, 0x0, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x1e0, 0xffffffff, 0xffffffff, 0x1e0, 0xffffffff, 0x3, &(0x7f00000000c0), {[{{@ip={@private=0xa010100, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff, 0xffffffff, 'vlan0\x00', 'ip_vti0\x00', {0xff}, {0xff}, 0x89, 0x1, 0xe}, 0x0, 0x98, 0xe0, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x1, 0x7, 0x7f, 0x9, '\x00', {0x2}}}}, {{@ip={@dev={0xac, 0x14, 0x14, 0xe}, @initdev={0xac, 0x1e, 0x1, 0x0}, 0xff000000, 0x0, 'wlan0\x00', 'nr0\x00', {}, {0xff}, 0x1d, 0x2, 0xc4}, 0x0, 0xc0, 0x100, 0x0, {}, [@inet=@rpfilter={{0x28}, {0x2}}, @common=@ttl={{0x28}, {0x1, 0x33}}]}, @common=@unspec=@RATEEST={0x40, 'RATEEST\x00', 0x0, {'syz1\x00', 0x8, 0xfb}}}], {{'\x00', 0x0, 0x70, 0x98}, {0x28}}}}, 0x2d8) sendto$inet6(r0, &(0x7f0000000140)="a8", 0x1, 0x4000804, &(0x7f0000000000)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0xa}, 0x1}, 0x1c) [ 378.127971][T20159] cgroup: Invalid name [ 378.202390][T20185] sctp: [Deprecated]: syz-executor.5 (pid 20185) Use of struct sctp_assoc_value in delayed_ack socket option. [ 378.202390][T20185] Use struct sctp_sack_info instead [ 378.267255][T20202] loop3: detected capacity change from 0 to 6160 [ 378.290043][T20202] Dev loop3: unable to read RDB block 8 [ 378.291582][T20202] loop3: unable to read partition table [ 378.303863][T20202] ntfs3: loop3: Different NTFS' sector size (2048) and media sector size (512) 00:06:18 executing program 0: socket$packet(0x11, 0x3, 0x300) r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000480)=0x1000, 0x4) openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000000), 0xa0000, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000140)={'team0\x00', 0x0}) sendto$packet(r0, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="aa71b28d436f"}, 0x14) [ 378.499290][T20220] loop4: detected capacity change from 0 to 264192 [ 378.510905][T20220] EXT4-fs (loop4): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! [ 378.513366][T20220] EXT4-fs (loop4): group descriptors corrupted! [ 378.629378][T20202] ntfs3: loop3: Mark volume as dirty due to NTFS errors 00:06:18 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000000)='proc\x00', 0x0, 0x0) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000740)={0x7f, 0x7, {}, {0xee00}, 0x0, 0xb39}) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0xee00) syz_mount_image$hfsplus(&(0x7f0000000080), &(0x7f00000000c0)='./file0/../file0/file0\x00', 0x2, 0x8, &(0x7f0000000680)=[{&(0x7f0000000140)="204b51c19595e2cf4ba53cf112a6afca2508c5fd36051ef6bd1005f7a0abeefe", 0x20, 0x1}, {&(0x7f0000000a80)="c3506aab68adc3a336317e8fcc9e1c197f3433a649decf3adc669ff6bb18e3e3a5d8644c6bd06bb537d61fed07cf519f5f3ae667ba22455290cc96344eaf5d5808ce9a93723807f64d302bb12d82ba191ba003ad0007c10e43066fff8d95439244702bdf7d3a61dfa0ed26e962964ac3dfc998f15f36ae414b5e11e87be0b1d28d89271a92beadbc61d759b7ae835b89df354836fa21e3bb3e447825de8f5a2bb3b32f819d96559e75aa2511781ff2b35478359a7ad4a5deb0fe05919095b07a019f9a9487da921cc7c77db4cd805aac662bacb0ef08bf12da4501109d6890129df54d3db5033b4a6cc409867161bce16ea3515f94f02d40f909afe0bcd9d73bc658411e451bc1154a4760085652b0ae4130f1a7516d966cc16b9d335a6476e6adcecce0f4521cb8c3f1c1c3c4ac2ff502a232a0e0ceaa64616762346c30c6b485ef26fb4ec8f5e6ac4bff3438f8ea60bcfc870cbb7c2f737147399b407ef40d0812f3e4b18a4e6087e353aaca9d12cc1983f7e55e37b602dddb5ee52647317dd45e65198fa80fc626d72a88ea224dc60a14e9f99aedf39314131bce477dc57ed1ce8180ff464ebabab22411286b6e245dcb6c5dc7194c500681e772eaa06cfd03403511ed69d919c771f69988d6c454d6f19aad0c5ada87301bdeba749bcc3799b6cd216bb191e42de3ed15a2d1c0ed8bf9a2e0551e035a7a8db801a7a578ff073600bd963eb356898b84d19cb12b80e444f23e76a0f33c37f6df5fa07c72cf279464f681c00f14fbf26a70075697fbec6828718e4b883dd80f4283595a8eff40a7de23b2867e758a692d606b714fbd7295f51e9cfab7f4af476b2bdf8430aeb027a8efba7f2066a5efd605395d9873413cb93cc381c52ac727da0ec3ad80b8a57ecf63b5caedeed9fdc865b578e791b8bac5203bd4fa9f92bd0b7938487a5695a4a75b32a1e441c43fc549500196e11ed47c8288c05591c12ab1b2a66bfdb29588aae99729f9ec3d2c6a4a0935634bc69c3195479caa2577d959717a39a951defd0b2c6bb9163c5e8ad28c3dcf24ac6ce2edc7424f6dcf28a509cba4fdfd74a1ba7b4076aabc79059f9f31219a59cd773dd07a913b1c63558f1d15674d2c2c1f7ed8791909bcbb03b4aaacdffa28d9fad34554ff40d3e95afc0207d8986834f039a5dd75ca96f501e196b4e5153bfda292077313e0c6787f394ae93943ac1515b4b43a395d0f023c0f50c17e8f3371dea2cff95c51ebe1d24223316ab04445410e1cad8fe039891c89eb9fbbf3a3835ad71eaf31602e4e563c3134967c2c6c80deb614e931bba6eb92f2447122a837521cb163d862155688fdda05c8440f9ff312b92e0cd620dd7514d57c4fb93817368d6d08214e2cd7c89b1191913ab237aa2cb6c13d5762d1fda2614393c800b366c7f7a51a5e4c2a507a581a09034ef67bee63ec0e900a27824db7313613215a3f0d174359c2fac2faec1189d18e985d0dad4ebee36b54e4d44b29a6eb2ba2021eb92be4d3f490edd6e16f1e48ac32c28fc8f5b105912400cd4712a4d89985f42e9319fafc78251083bae23e5a5d154334a3509db1c6375003030be69b64c3915a07f22bdb2d9947f81b6ef03df05f5a06439850ba6c66e7d33cb22b8802ac30ad6a80abf9171d11985f0d44fa4af2e42b39fad135b0d6b8b8839c9da5e5399f0275fc520fa0266aee56bed1c8a2d1595efa0b6be3f9c8ba455f03146260b851dbac4e7cafd101e8045023982ad071dd9505f023d20f3d05d49000c70978cc6bf2704cf29637f7f58f091b998c0d1f95580d232947ff9f106a15c3a81c9fe46dcbf770ebac6422cb5133005e9d34c6b6e3e9f6af6c53af37ee65361abe35d95ffa3f42965a8e91ccbd2dbda3df947d800029e6969eea30ef77a96dadee6d589fa47c90380073604da6d612b7a2d50d26aeaad390a4b8f22aaf22eb04d8b32a8d81041de2d9cd2a8ddf21187234c791e30f33810b3597e89cfca3c84eeb66ca592e4c9797908e55c0e3d6448bc3f0379c695348f5758f0d1ef22f13f25a3647957732ac0eb1fb2855f1036dd5e052fb4e53b7b036af1ea3627a3e183c61fc14affb2df468bdceda9bfd69906dc4a6a5fa5ff759dd5ce85a1d71eff0df8bcd53ccb4b4b42284015e934106c4964335e54d49a884352351dee288814d8cbc344572b10a71fc8b5c55280e441b8bed2c3ed87f84257dc1cd4198e027af5018d54bfc4451f218fe982a77d200f6c855716d848bb00080eebd608e6e1e71506ce048e348f8cf01f5ea158069cfc377b13d63d38d07699ec90b9ae29a5e0849cac3304c33c6ed2d539f7bed17c1abbc927110383bcfc3014d2db1ffd908c7039dd6c9af9d3b1855ffc685be7d6bc110fa1d285a2224fd9d28b48e2207f67b1d2448e46530834e446e9ba090d9d56d6e506f797c38c7d05ed4e94c2c58fde9083aa4e3565645e38b6448669b7ee82e562dc1561bf3947dafd423b6aed7af94187070d75364dfa253f57af9f37c7e34ea297db27e06af86e9d25ab91617dea3697c7dd4e8c346fa94d64abbcd394653162f8d8ea46dbd7654f554169b8711587eeba57d1985ce01d44fc3b545e904bfd92089b2e1013474c5273b9eff08d3c7ff4122dd5ff4d8a296b7e5b3ef9789b7fd5e8b75a0f16b22160095fb7f962d78df1796aa2ecafef21502ecd6ec169bbca57d917a13352a76598002d66a524ddc6af26cd00b777e661d90def96f2d96aca7981b56cad984d1b63f30b5fd67eb19af7d53bcccd7b25cfe10890135f91aad1df3316f930f0313f3fd60c550b2c4da46217bfdfa8156aaa92bff762b4d716f1dcfcc87f289d75118234ce5623e473719bcf71b85678a2c0e3d29e399841c3a5709a70d41a6acd517e20399ec2290718e20711329b1b3bd38e5faafab1985b384bc78cb289f737daab37aac360b5182b512433d89d161253323cfef1304177f1d25919fdd10dfab5ebcaae12635d9e44aa774566695b657f8c685cedf06cc690b35276f2608790ec6e796c83b70e5167432a3fe27ab6268ae7256bd0ac4b1b8650b556e2ab3f07bb4e34484b714c6ebd47ac98dbe64284374f2ab7aa86a491532dc5ff05bbb78fe54dbf06d688d9fe61987e0fe9ec2a985c7a155b11fcd2b62caede1274ad440502509ab6c9c93016478e1237da25afc306692784ddc115e816cb732b338ca4457f8d7ddfe4f3415750df3997c252da22c51dea90b62cd00583137e4513da9642755c2cb4ceb90ff395fa0ee0c3dc4f4f043b2829372c290fec1fe9aed4bf182119221312608a8038dee289fce226e82ffe1f319162a1e3aa7b076695e301e4f10f956d97dc7c39830f08dfce503bdb232a1d8b69d5ea569c30dc859f25c161c9f2953809ce6bda936e6880a0f336d030de510a3630181c4fb4502c0476be421b65d0289f1441c1c2fa40b896ff4f8b4c4ca78988a6ebcd39f0c5e2cab8ff3d9ed6ab090ab827c32495754b9bfe5345e0eb63a8edf04f1459c44a4fd81ef0ae5c0865d9dd4474c450b7961970ff248c7555311e09883374fa6e2095b37b3cdd156b16968e39f2aeec973d9873d2bb63161e8d7d14c2ce5e0bc0d284a6456a9ff586c8294a6734ee7b0d585f4b128ef056238dfc30145063d1c2c910f821c41d8e7eea378d246369cd6203cfb956ea19b2b3d91975d747918215dbab09258f9bf9b232ed87b5572565464a791efc5ba4a5d4d233a7301e3fef03a979b3d8bb092ca14a471a3c0ee16f8e47fdb82a40fd3548524022bb66b712df25e5432afa7eaadc15fbdd96f5304790e893f4a19cd0a54d92df29df55c9c3a5535aa6780d3a412817559bfbf47a01e4780b49341454ad2b3f07f6fb14fe53d7e7ec4e0c75e4225f64c02c950ea08b9cfe8a2242c51729333dc1aa799f905ab16cfcfc2c2e2c47c39989697ac49222421ab961a9cdb1045485de4114de94020a6d2c9e3f9a3b5863dd84439dacbccf943ed26e827ff2ec7fac133b3739eb1b29db6ac3e8668402b6ce34b6094476ab6fd500fb2dc19723e7a67f055e4a5b7098d53ef3460b2f993031b90e79189ee2515f736d5c0fa261179cc3a3b4955ca878b49f8ce982ae29f2019702503011d5d9028a4d90280a1d57d9737e36550edd7f67e6c277426216575b74b0bd4b9f96056922d76a132a6cca1da75e8f8a9fbb4ef78e7706869dd03abb2abb9608e8d8cc8511aae24330545eb3812b764290bade7a07311a95de57326348c652d5b85ccc6898df84ecb6c27369ab0044b15e64dbb90300e084e08cf96bccd5fc3b629a9b6a03fc3bb76a68ff4d12204547fe92f824e56260d75c87bf6d808668d803297756092ae1758b26bc0cbb8492b1f67119e406e16f30cbfb42497967a00b9a92b1335c69e864dbe943c4c7bce97e3ed4dbf5987c27fae7024a7e24a907fd26e2be215901bea9114e16bd568bccd7246fb4d5f5b8c7ec05392930d72ad8931069f0d80fb21bd9e8d1a7ee31ab52c401d49eea0abc01ada688f79f56a7e1a02270e14f213dbc80f525ef70d14bf84ecdb571b0625867060cdcafa7956ca5a4efd5f5c8167ad2bb3c72b27e526ac9d5f7ec723638ea65fb7fd1aea5ddbd3a67b21ef2dc22317207db16a98296042d19f89782b1abc3d9f39782e87f3741f574f8ef4d6fbda4adb12a2e2fc885ac3bc60f07edf6007bf975f8928044d91e14cf49d30af37e1976b57487c6b7548bab673beb1163a40590d5a7da9b8c395093333d937f941659b68659ff2913f3e2f740564c0fae3f789804bc9f72cd3e42718ba080ff85673239e90f3b8818cf4987ac0f315fdabf88abea01851baaf0e4287996c8ae97448828cad874d53c6c1e64c3be3a356b9be8189fecaf9feca44affc96f71b9afe5287da8d18e2f66a4b4f23d20bb5610426748ec1a3557988f4a6497312f04f51dbe5809672469634b59f2024d689a9544f00d70d53e745980a29aebabc0ff0c73c9027008d7bb2224141249453186e9ae9983e41e22722e33434fccaffdf0b58905d6f46051908fcdc6cc852047e6cbe6b43b3b9164e95a741bb5149ecb8cffa0f2bf39ca575601705f60b57a285d122488bf550cb6eb1f7da76153b40843aa3328f247a81b34368c7e01e198195c72a4f6ee9703435af5e9e02e59daf1a613aa7b30027dabdc94ed838a701e98b5d4f7c8199670be9918af28218ac5768758f5a10e2710bd91d72f83962efaa0aca588b3b8f4c61ace4e941c19ff666f7d91d5845cf489207467999db93eae3b67421c0d2354ab1c0c541fbca2292fdedcaf21f1105a3a30f2ae144c1188f6f6050aade5aa5d428065409e23fd026c4e309a4760d9f6428d2cb604e366acc04abaf9b88576a8f9006711da05b434ba2670b8175b2a790a0da3436a2b921d7221ae630de00be3c1000935ec736bbc6b260ffd46b96f77ae53e33bb54df1ad011101c5ea16ee3f1b790d23ceaab712d47cf47f53a6908a6bb6397113aac159fb46b9ff7e1d1c89da808a7b7871f30ad0d5891a2742b808c5331be09225b63d51b8f7b68fa3e13894fde0b5a30242d453199c33ee7e7d8e2e4775fd944a8f6d65d6da2b6e9686a5f1ac39cb27c2b6d3c27a44c30f3f3a12e3ef2eb2318b5c704b761dad1a6d9909840beda2aa1b1969bf9dc0de8455f632903324cbad9758a16a7fb99c37cddb11df45dbe3924cc5b841958d4992d6a072d217bcd15ef2e7ab4ca1b9dc826000c695e269c0f0f4bcd61e79ea9022362e483728771bc6cc42d4f01046b31f60474", 0x1000, 0x8}, {&(0x7f0000000840)="2c34c8716cc2155f973083a73548fee85a92505bb54fd543a44a612bd63ee40299d6df01d758efc86f706c69b2137e0e3fc445b569318d78abebcddd47cb463677157ebfc330545017ceb7b10583244f72342b7a16fce628e497dae8d900c574a44f8eea898b94eddbb9feb0f510513b7ccfca03bc0bc9dc38a450956f39505ae4365b9811d4450ee3ec135d2b64929b45eed1eecf9c9edd64d564ee518a26fe52761e189b8284a6006a56090db26348b27f26562c8a69dec66f1394bd3f3df121e27e1d8bf4d45e4ebdf611d0b77386bc058fe4b060d5bcb769d906650ed78f25e0aba338f50df5489e71", 0xeb, 0x1}, {&(0x7f0000000280)="185cbf6ad459ad954438c86c878e562b3dccf68a43fba7175a11fba7ebf57b9b94191c4b1cbb33bf37d8b01887ce0e1f755a002b5d74a7cc1c2c8b25744ecf9d828f9d60b05a58ff77dd86536fc25ae22c5037dfe435094bc50114e985680e993065f0a231128d28ce4b10cdbadf1624952b4f8293dda3c9d60da32edfdf44b660aa492afa77de9249d1ece0bcc268c39f12f8f675d283f308e8a6a9e666f999a1fa8ff3a60eac8cf5bb15b383c2485346", 0xb1, 0x7ab}, {&(0x7f0000000480)="74e589d36e059a8195c09730504962643ed7918de419e995147242c1abe6736e02e833c87f5021d3745d3fbe698093c34ce3e0c3e3aadc14a45376ebf55bc52a7ec49e93dc418674dfce9d8e895d4bcf40e7803e2f8e254405ca3783b0c890f2a1e112a4fd26d6907368f5199c75194a1f73467a94f468b249b624e9553b04eea0460182d93a1322262b69de06f3b93b9b7042b0b63c2c91c0c394ddcb86e89af2179c115be797822de45881ef65282bf1d5b19cd60b9d270501c84311cf04930eb5147166804a7a24c5372704f4ad4b873179b624b8370238f369e84bfbfbe46beefb87ae780943856f21bd50d14fb4ede05d7c7859652a", 0xf8, 0x25}, {&(0x7f0000000340)="03f5f773cd5c5f776cacb7449fe022bde88ad961598f2515839b502f013f73b579536057e7d5f55ff0aae6114055acbe5ccd6a241762f61983", 0x39, 0x2}, {&(0x7f0000000380)="e728cf95d17978b281b84c50e4ad4f507c1615b2f4dd08f985cf08e5936bfe33899a006586bab0ade490a7964485d02f9303f4231ab1ca64d1b7b210ae45d0bea6304c0978a4c988066d8dc25ba012c52f6be22d7c73", 0x56, 0x7fffffffffffffff}, {&(0x7f0000000580)="263ea6f4c812fc976619702a21034e5421816dc84e27dd22c5298b6fdb0061cf16e7504d30ef27e844c135877ae9801c1bdcc434e7c08076d8996d04443180d2c0d6001638b35598b3924c685f29814e532d49deb3ffafe928ba786c8252e5393955eef6acde49085bf6d0e6abae4ec8f819191a8c9f1ddff3540f768d52430f029c2d40390ba2ba1f8d612d9a00ee1f2f78e2160069e0cb6b31749eeffae7ff932556660c1ea7559d272fcd218cdb5f7b19307b15f862bd40d2eb705473dc2134da50851b4c7573c890b61f5247f7a9d5c4167e194f1ccf22f0a53b8d09b387b8635c824545ee2627a3902033a472", 0xef, 0x8000}], 0x1000, &(0x7f0000000780)={[{@part={'part', 0x3d, 0x7}}, {}, {@barrier}, {@force}, {@uid={'uid', 0x3d, r0}}], [{@uid_eq={'uid', 0x3d, r2}}, {@smackfshat={'smackfshat', 0x3d, 'gid'}}, {@smackfsroot={'smackfsroot', 0x3d, '*-u:]-|'}}]}) syz_mount_image$exfat(&(0x7f0000000400), &(0x7f0000000440)='./file0/../file0\x00', 0x0, 0x0, 0x0, 0x1008a0, &(0x7f0000000a40)={[{@gid}]}) 00:06:18 executing program 3: r0 = syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x16d, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002000000015f1c32890d2820000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b", 0x8c}, {0x0}, {&(0x7f0000010120)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000800000000000010000000000000001000000000000000110104", 0x193, 0x4000}, {0x0, 0x0, 0x41e0}, {&(0x7f00000102e0)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x43e0}, {0x0, 0x0, 0x45e0}, {&(0x7f0000010320)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff0100000000ffffffff00000000", 0x1c0, 0x47a0}, {0x0, 0x0, 0x4de0}, {&(0x7f0000010540)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302000000ffffffff00000000", 0x180, 0x4fe0}, {0x0}, {&(0x7f0000010700)='\x00'/16, 0x10, 0x55e0}, {&(0x7f0000010720)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018000000000018000000030000000000", 0x1fc, 0x57e0}, {0x0, 0x0, 0x5be0}, {0x0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c8010000000800000000000000000000040000000400000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c00", 0x1dc, 0x5fe0}, {&(0x7f0000010ba0)='\x00'/28, 0x1c, 0x63e0}, {&(0x7f0000010bc0), 0x0, 0x65e0}, {&(0x7f0000010be0)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000050001004000030008020000000800000000000000000000060000000500000003000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801fc42f8c1344fd801fc42f8c1344fd801801875c1344fd801262000100000000000000000000000003000000060000000000018000000010044000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000200000000000000400000000000000000180000000000002c100000000000002c10000000000000210387000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000200000010000000280000002800000001000000000000000000000018000000030000000000000000000000a0000000500000000104400000000500000000000000000001000000000000004800000000000000001000000000000000100000000000000010000000000000240049003300300021028a0000000000b0000000280000000004180000000400080000002000000024004900330030000100000000000300ffffffff000000000000000000", 0x22d, 0x67e0}, {&(0x7f0000010e20)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x6be0}, {&(0x7f0000010e40)='\x00'/20, 0x14, 0x6de0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c45300005000000000000000000060001004000010058010000000800000000000000000000030000000600000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000020050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e0000000000ffffffff00000000", 0x178, 0x6fe0}, {&(0x7f0000010fe0)='\x00'/12, 0xc, 0x71e0}, {&(0x7f0000011020)}, {&(0x7f0000011040)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000700010040000100c0010000000800000000000000000000040000000700000002000000000000000000000000000000100000004800000000001800000000003000000018000000", 0x78, 0x77e0}, {&(0x7f0000011240)='\x00'/12, 0xc, 0x7be0}, {&(0x7f0000011260)='\x00'/16, 0x10, 0x7de0}, {&(0x7f0000011280)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000080001004000010080010000000800000000000000000000040000000800000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000030052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff0300", 0x194, 0x7fe0}, {&(0x7f0000011420)='\x00'/22, 0x16, 0x81e0}, {&(0x7f0000011440)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x83e0}, {&(0x7f0000011460), 0x0, 0x85e0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000090001004000090008030000000800000000000000000000050000000900000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000200000000000000000000000000000000001010000000000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000000600002000000000070324005300650063007500720065008000000050000000010440000000020000000000000000008000000000000000480000000000000000080400000000007001040000000000700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002000000ffffffff00"/832, 0x340, 0x87e0}, {0x0}, {0x0, 0x0, 0x8de0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a00000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000030050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000020000000000000002000000000000000200000000002140100100000000800000004800000000051800000002002000000028000000240049006e0066006f0000000000000020000000000000000c691b6b777edcda00000000000000000000000000000000ffffffff00", 0x1bd, 0x8fe0}, {0x0}, {&(0x7f0000011ce0)='\x00'/14, 0xe, 0x9be0}, {&(0x7f0000011d00)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x9de0}, {&(0x7f0000011e80)='\x00'/10, 0xa, 0xa1e0}, {&(0x7f0000011ea0)}, {&(0x7f0000012040)}, {&(0x7f0000012060)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xabe0}, {0x0}, {&(0x7f0000012260)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000f0000004000010028010000000800000000000000000000030000000f00000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000500000", 0xab, 0xb7e0}, {0x0}, {&(0x7f0000012400), 0x0, 0xbde0}, {0x0}, {0x0, 0x0, 0xc7e0}, {&(0x7f0000012600)}, {&(0x7f0000012620), 0x0, 0xcbe0}, {&(0x7f0000012640)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xcde0}, {0x0}, {0x0, 0x0, 0xd1e0}, {0x0}, {0x0, 0x0, 0xd9e0}, {&(0x7f0000012860)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xdbe0}, {&(0x7f0000012880)='\x00'/28, 0x1c, 0xdde0}, {0x0, 0x0, 0xdfe0}, {0x0, 0x0, 0xe3e0}, {0x0}, {&(0x7f00000129c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000150000004000000090000000000800000000000000000000010000000000000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000ffffffff00"/191, 0xbf, 0xe7e0}, {0x0, 0x0, 0xede0}, {0x0}, {&(0x7f0000012bc0), 0x0, 0xf3e0}, {0x0, 0x0, 0xf7e0}, {&(0x7f0000012cc0), 0x0, 0xf9e0}, {0x0, 0x0, 0xfbe0}, {&(0x7f0000012d00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xfde0}, {&(0x7f0000012d20), 0x0, 0xffe0}, {&(0x7f0000012fc0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x103e0}, {0x0, 0x0, 0x105e0}, {&(0x7f0000013000)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000100010040000d0060010000000800000000000000000000030000001900000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80126000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001004e000000180001000b00000000000b00801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000002600002000000000060324004f0062006a0049006400000090000000500000000002180000000200300000002000000024004f00000000000000000013000000", 0x150, 0x107e0}, {0x0, 0x0, 0x10be0}, {&(0x7f00000131e0)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000100010040000d0088010000000800000000000000000000030000001a00000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801260000200000000000000000000000000000000001010000000000000000000000000000000000003000000070000000000018000000010052000000180001000b00000000000b00801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000026000020000000000803240052006500700061007200730065000000000000", 0x12f, 0x10fe0}, {0x0}, {0x0, 0x0, 0x115e0}, {&(0x7f0000013400)="000000000000000000000000000000000000000000000000000000000000030046494c452a000500000000000000000001000100380003009002000000080000000000000000000005006600000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120200010000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000000000000001004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100000000000000000000000000000000202000102d0000000500660069006c00650030000000000090000000100100000004180000000200f00000002000000024004900330030003000000001000000001000000200000010000000e0000000e0000000000000001c0000000000010060004c00000000001b00000000000100fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000001a04000000000000200000002d0000000500660069006c0065003000000000001d0000000000010060004c00000000001b00000000000100fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100000000000000000000000000000000000400002d0000000500660069006c00650031000000660000000000000000001000000002000000d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed41000000000000", 0x2a7, 0x117e0}, {&(0x7f00000136c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00f\x00', 0x20, 0x11be0}, {&(0x7f00000136e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00f', 0x1f, 0x11de0}, {&(0x7f0000013700)="000000000000000000000000000000000000000000000000000000000000660046494c452a00050000000000000000000100010038000100c801000000080000000000000000000005006500000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120000000000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000000000000001004c000000180001001b00000000000100fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000001a04000000000000200000002d0000000500660069006c0065003000000000008000000048000000010040000000020000000000000000000000000000000000400000000000000000080000000000001a040000000000001a040000000000002101020300000000d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800", 0x194, 0x11fe0}, {0x0}, {&(0x7f0000013960)}, {0x0}, {&(0x7f0000013c80), 0x0, 0x12de0}, {&(0x7f0000013ca0)="000000000000000000000000000000000000000000000000000000000000650046494c452a000500000000000000000001000100380001000002000000080000000000000000000005006500000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120000000000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000000000000001004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000000a0000000000000020000000590000000500660069006c0065003100000000008000000048000000010040000000020000000000000000000000000000000000400000000000000000080000000000000a000000000000000a000000000000002101030300000000d000000020000000000018000000030008000000180000005900000074000000e000000090000000000018000000040074000000180000001400000000060400244c585549", 0x1ad, 0x12fe0}, {&(0x7f0000013ec0)='\x00'/19, 0x13, 0x133e0}, {&(0x7f0000013ee0)='\x00'/20, 0x14, 0x135e0}, {&(0x7f0000013f00)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000650046494c452a000500000000000000000001000200380001003002000000080000000000000000000006006500000000000000000000000000100000006000000000000000000000004800000018000000fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80120000000000000000000000000000000000000000201000000000000000000000000000000000000300000006800000000001800000005004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c006500330000000000300000006800000000000000000001004c000000180001000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c00650032000000000080000000480000000100400000000200000000000000000004000000000000004000000000000000002800000000000028230000000000002823000000", 0x225, 0x13780}, {&(0x7f00000141c0), 0x0, 0x13be0}, {0x0}, {&(0x7f00000144a0)}, {&(0x7f00000144c0)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000650046494c452a0005000000000000000000000000003800000040000000000800000000", 0xa2, 0x14780}, {0x0, 0x0, 0x14de0}, {0x0, 0x0, 0x14fe0}, {0x0, 0x0, 0x151e0}, {&(0x7f0000014660)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0x153e0}, {&(0x7f0000014680)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x155e0}, {&(0x7f0000014700)='\x00'/14, 0xe, 0x159e0}, {0x0}, {&(0x7f00000147c0)='\x00'/28, 0x1c, 0x161e0}, {0x0, 0x0, 0x165e0}, {&(0x7f0000014820), 0x0, 0x167e0}, {0x0}, {&(0x7f00000148c0)}, {&(0x7f00000148e0)="0000000000000000000000000000000000000000000000000000000000000b0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000000c00000000000000000000000000ffffffff00000000", 0x60, 0x16fe0}, {&(0x7f0000014940), 0x0, 0x171e0}, {&(0x7f0000014960), 0x0, 0x173e0}, {0x0}, {0x0, 0x0, 0x181e0}, {0x0}, {&(0x7f0000014b20)='\x00'/12, 0xc, 0x187e0}, {&(0x7f0000014b80)="0000000000000000000000000000000000000000000000000000000000000f00", 0x20, 0x189e0}, {0x0}, {&(0x7f0000014be0)="0000000000000000000000000000000000000000000000000000000000000f0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000001000000000000000000000000000ffff", 0x5a, 0x18fe0}, {&(0x7f0000014c40)='\x00'/21, 0x15, 0x191e0}, {0x0}, {&(0x7f0000014ca0)="000000000000000000000000000000000000000000000000000000000000100046494c452a0005000000000000000000000000003800000040000000000800"/72, 0x48, 0x197e0}, {&(0x7f0000014d00)="0000000000000000000000000000000000000000000000000000000000001100", 0x20, 0x199e0}, {0x0}, {&(0x7f0000014dc0)='\x00'/27, 0x1b, 0x1a1e0}, {0x0}, {&(0x7f0000014e20)='\x00'/12, 0xc, 0x1a7e0}, {&(0x7f0000014e80), 0x0, 0x1a9e0}, {0x0, 0x0, 0x1ade0}, {0x0}, {&(0x7f0000014f40), 0x0, 0x1b1e0}, {0x0}, {0x0, 0x0, 0x1b7e0}, {&(0x7f0000015000)="0000000000000000000000000000000000000000000000000000000000001500", 0x20, 0x1b9e0}, {0x0, 0x0, 0x1bbe0}, {0x0, 0x0, 0x1bfe0}, {&(0x7f00000150c0)='\x00'/24, 0x18, 0x1c1e0}, {&(0x7f00000150e0)='\x00'/24, 0x18, 0x1c3e0}, {&(0x7f0000015100)='\x00'/24, 0x18, 0x1c5e0}, {0x0}, {&(0x7f00000151a0)='\x00'/20, 0x14, 0x1cbe0}, {&(0x7f00000151e0)}, {0x0, 0x0, 0x1d5e0}, {&(0x7f0000015300)}, {&(0x7f0000015320)='\x00'/12, 0xc, 0x1dbe0}, {&(0x7f0000015340)="0000000000000000000000000000000000000000000000000000000000001900", 0x20, 0x1dde0}, {&(0x7f00000153e0)}, {0x0, 0x0, 0x1e5e0}, {0x0}, {&(0x7f00000154c0)="0000000000000000000000000000000000000000000000000000000000001b", 0x1f, 0x1ede0}, {0x0}, {&(0x7f00000155a0)="0000000000000000000000000000000000000000000000000000000000001c0046494c452a0005000000000000000000000000003800000040000000", 0x3c, 0x1f7e0}, {&(0x7f0000015600)='\x00'/25, 0x19, 0x1f9e0}, {&(0x7f0000015620), 0x0, 0x1fbe0}, {&(0x7f0000015640)}, {&(0x7f0000015660)="0000000000000000000000000000000000000000000000000000000000001d0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000001e00000000000000000000000000ffff", 0x5a, 0x1ffe0}, {0x0}, {&(0x7f0000015720), 0x0, 0x207e0}, {&(0x7f0000015780)='\x00'/30, 0x1e, 0x209e0}, {&(0x7f00000157a0), 0x0, 0x20be0}, {&(0x7f00000157c0)='\x00'/20, 0x14, 0x20de0}, {0x0}, {0x0, 0x0, 0x213e0}, {0x0, 0x0, 0x217e0}, {&(0x7f0000015900)='\x00'/26, 0x1a, 0x219e0}, {&(0x7f0000015920), 0x0, 0x21be0}, {&(0x7f0000015940)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x21de0}, {&(0x7f0000015960), 0x0, 0x21fe0}, {&(0x7f00000159c0), 0x0, 0x221e0}, {0x0, 0x0, 0x227e0}, {&(0x7f0000015a80)='\x00\x00\x00\x00\x00\x00', 0x6, 0x229e0}, {&(0x7f0000015ac0)}, {0x0, 0x0, 0x233e0}, {&(0x7f0000015b80), 0x0, 0x235e0}, {&(0x7f0000015ba0)}, {0x0}, {&(0x7f0000015c40)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x23de0}, {&(0x7f0000015c60), 0x0, 0x23fe0}, {&(0x7f0000015cc0), 0x0, 0x241e0}, {&(0x7f0000015d20), 0x0, 0x247e0}, {&(0x7f0000015d80), 0x0, 0x249e0}, {&(0x7f0000015da0)='\x00'/11, 0xb, 0x24be0}, {&(0x7f0000015dc0), 0x0, 0x24de0}, {&(0x7f0000015de0), 0x0, 0x24fe0}, {0x0, 0x0, 0x251e0}, {0x0}, {&(0x7f0000015e80)='\x00'/12, 0xc, 0x255e0}, {&(0x7f0000015ea0), 0x0, 0x257e0}, {0x0}, {&(0x7f0000015f60)}, {0x0, 0x0, 0x261e0}, {&(0x7f0000015fe0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00*', 0x1f, 0x263e0}, {0x0}, {&(0x7f00000160a0)='\x00'/16, 0x10, 0x26be0}, {0x0, 0x0, 0x26de0}, {&(0x7f00000160e0)}, {&(0x7f0000016140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\x00', 0x20, 0x271e0}, {&(0x7f0000016180), 0x0, 0x275e0}, {&(0x7f0000016200)='\x00'/29, 0x1d, 0x279e0}, {0x0, 0x0, 0x27be0}, {&(0x7f0000016260)='\x00', 0x1}, {0x0, 0x0, 0x281e0}, {&(0x7f00000162e0)='\x00'/22, 0x16, 0x283e0}, {0x0, 0x0, 0x285e0}, {0x0, 0x0, 0x28be0}, {&(0x7f00000163c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00', 0x9, 0x28de0}, {0x0}, {0x0}, {&(0x7f0000016520), 0x0, 0x29be0}, {&(0x7f00000165c0), 0x0, 0x2a1e0}, {&(0x7f00000165e0)}, {&(0x7f0000016600)='\x00'/24, 0x18, 0x2a5e0}, {0x0}, {0x0, 0x0, 0x2abe0}, {&(0x7f00000166e0), 0x0, 0x2afe0}, {&(0x7f0000016780)}, {&(0x7f00000167a0)="000000000000000000000000000000000000000000000000000000000000340046494c452a000500000000000000000000000000380000004000000000080000000000000000000000003500000000000000000000000000ffffffff00000000", 0x60, 0x2b7e0}, {&(0x7f0000016820)='\x00'/23, 0x17, 0x2bbe0}, {&(0x7f0000016860)}, {0x0, 0x0, 0x2c1e0}, {0x0, 0x0, 0x2c3e0}, {0x0, 0x0, 0x2c7e0}, {&(0x7f0000016980)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x007', 0x1f, 0x2c9e0}, {0x0, 0x0, 0x2cbe0}, {0x0}, {&(0x7f0000016a40), 0x0, 0x2d1e0}, {&(0x7f0000016a60)='\x00'/28, 0x1c, 0x2d3e0}, {&(0x7f0000016a80)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008\x00', 0x20, 0x2d5e0}, {&(0x7f0000016aa0)="000000000000000000000000000000000000000000000000000000000000380046494c452a0005000000000000000000000000003800000040000000000800000000000000", 0x45, 0x2d7e0}, {&(0x7f0000016b00), 0x0, 0x2d9e0}, {&(0x7f0000016b20), 0x0, 0x2dbe0}, {&(0x7f0000016b40), 0x0, 0x2dde0}, {&(0x7f0000016be0)='\x00\x00\x00\x00\x00', 0x5, 0x2e3e0}, {&(0x7f0000016c00)='\x00'/28, 0x1c, 0x2e5e0}, {0x0, 0x0, 0x2e9e0}, {0x0}, {&(0x7f0000016d40), 0x0, 0x2f1e0}, {0x0}, {&(0x7f0000016e40)}, {0x0, 0x0, 0x301e0}, {&(0x7f0000016ee0)='\x00'/24, 0x18, 0x303e0}, {&(0x7f0000016f00)='\x00'/16, 0x10, 0x305e0}, {&(0x7f0000016f20)='\x00'/18, 0x12, 0x307e0}, {&(0x7f0000016f80)='\x00'/28, 0x1c, 0x309e0}, {&(0x7f0000016fa0), 0x0, 0x30be0}, {0x0}, {&(0x7f0000016fe0)="0000000000000000000000000000000000000000000000000000000000003f0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000004000000000000000000000000000ffffffff00000000", 0x60, 0x30fe0}, {0x0, 0x0, 0x313e0}, {0x0}, {0x0}, {0x0, 0x0, 0x31fe0}, {0x0}, {&(0x7f0000017220), 0x0, 0x327e0}, {&(0x7f0000017280)='\x00'/28, 0x1c, 0x329e0}, {&(0x7f00000172a0)='\x00'/30, 0x1e, 0x32be0}, {&(0x7f00000172c0)='\x00'/12, 0xc, 0x32de0}, {0x0}, {0x0, 0x0, 0x337e0}, {&(0x7f0000017420), 0x0, 0x33be0}, {&(0x7f0000017440)='\x00'/22, 0x16, 0x33de0}, {&(0x7f00000174c0)='\x00'/26, 0x1a, 0x341e0}, {0x0}, {&(0x7f0000017520)}, {&(0x7f00000175a0), 0x0, 0x34be0}, {&(0x7f00000175e0)='\x00', 0x1, 0x34fe0}, {&(0x7f0000017640)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x351e0}, {0x0, 0x0, 0x353e0}, {&(0x7f0000017680)}, {0x0, 0x0, 0x359e0}, {&(0x7f0000017720)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00I\x00', 0x20, 0x35be0}, {0x0, 0x0, 0x35de0}, {&(0x7f00000177c0)='\x00'/18, 0x12, 0x361e0}, {0x0}, {&(0x7f0000017820), 0x0, 0x367e0}, {&(0x7f0000017880)}, {&(0x7f00000178a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00K\x00', 0x20, 0x36be0}, {&(0x7f00000178c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00K', 0x1f, 0x36de0}, {0x0}, {&(0x7f0000017960)}, {&(0x7f0000017980), 0x0, 0x375e0}, {0x0, 0x0, 0x379e0}, {&(0x7f0000017a20), 0x0, 0x37be0}, {&(0x7f0000017a60)="0000000000000000000000000000000000000000000000000000000000004d0046494c452a000500000000000000000000000000380000004000000000080000000000000000000000004e000000", 0x4e, 0x37fe0}, {&(0x7f0000017b00)='\x00\x00\x00\x00', 0x4, 0x385e0}, {0x0, 0x0, 0x387e0}, {&(0x7f0000017b80), 0x0, 0x389e0}, {&(0x7f0000017bc0)='\x00'/15, 0xf, 0x38de0}, {&(0x7f0000017be0)="0000000000000000000000000000000000000000000000000000000000004f0046494c452a0005000000000000000000", 0x30, 0x38fe0}, {&(0x7f0000017c40), 0x0, 0x391e0}, {&(0x7f0000017c60)='\x00'/16, 0x10, 0x393e0}, {&(0x7f0000017c80)}, {0x0, 0x0, 0x39be0}, {0x0, 0x0, 0x39de0}, {&(0x7f0000017d60)}, {0x0, 0x0, 0x3a3e0}, {&(0x7f0000017e00)}, {&(0x7f0000017e20)='\x00'/30, 0x1e, 0x3a7e0}, {&(0x7f0000017e80)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00S\x00', 0x20, 0x3a9e0}, {&(0x7f0000017ec0)}, {0x0}, {&(0x7f0000017fa0)}, {&(0x7f0000018060)}, {&(0x7f00000180c0), 0x0, 0x3c1e0}, {&(0x7f00000180e0)}, {0x0, 0x0, 0x3c7e0}, {0x0, 0x0, 0x3cbe0}, {&(0x7f00000181c0), 0x0, 0x3cde0}, {&(0x7f00000181e0), 0x0, 0x3cfe0}, {0x0, 0x0, 0x3d3e0}, {0x0, 0x0, 0x3d7e0}, {&(0x7f0000018320)}, {&(0x7f0000018340), 0x0, 0x3dde0}, {&(0x7f0000018360)="000000000000000000000000000000000000000000000000000000000000590046494c452a000500000000000000000000000000380000004000000000080000000000000000000000005a000000000000000000", 0x54, 0x3dfe0}, {&(0x7f00000183c0)='\x00\x00\x00\x00\x00\x00\x00\x00', 0x8, 0x3e1e0}, {&(0x7f00000183e0)='\x00'/20, 0x14, 0x3e3e0}, {0x0, 0x0, 0x3e9e0}, {&(0x7f00000184a0), 0x0, 0x3ebe0}, {&(0x7f00000184e0)}, {0x0, 0x0, 0x3f1e0}, {0x0}, {&(0x7f0000018580)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\\\x00', 0x20, 0x3f5e0}, {&(0x7f00000185a0), 0x0, 0x3f7e0}, {0x0, 0x0, 0x3f9e0}, {&(0x7f0000018620)='\x00'/20, 0x14, 0x3fbe0}, {&(0x7f00000186c0)}, {&(0x7f0000018700), 0x0, 0x405e0}, {0x0, 0x0, 0x407e0}, {&(0x7f0000018780), 0x0, 0x409e0}, {0x0, 0x0, 0x40de0}, {&(0x7f00000187e0)='\x00'/18, 0x12, 0x40fe0}, {0x0, 0x0, 0x411e0}, {0x0, 0x0, 0x417e0}, {&(0x7f0000018900), 0x0, 0x419e0}, {0x0, 0x0, 0x41be0}, {&(0x7f0000018940)='\x00'/30, 0x1e, 0x41de0}, {&(0x7f0000018960), 0x0, 0x41fe0}, {&(0x7f00000189c0)='\x00'/24, 0x18, 0x421e0}, {&(0x7f00000189e0), 0x0, 0x423e0}, {&(0x7f0000018a00)='\x00'/16, 0x10, 0x425e0}, {&(0x7f0000018a20)="000000000000000000000000000000000000000000000000000000000000620046494c452a000500000000000000000000000000380000004000000000080000000000000000000000006300000000000000000000000000ffffffff000000", 0x5f, 0x427e0}, {0x0, 0x0, 0x429e0}, {&(0x7f0000018aa0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00c', 0x1f, 0x42be0}, {0x0}, {0x0}, {&(0x7f0000018b40)='\x00'/29, 0x1d, 0x431e0}, {0x0, 0x0, 0x44800}, {&(0x7f0000018ce0)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d8010000000000000000000000000000000000000000040000000000040068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a0000000000000600000000000000080324004100740074007200440065006600000000000100080000000000080068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300000000000700060000000000060060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c00000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b0060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344f0d00801875c1344fd8010000000000000000000000000000000006000010000000000703240045007800740065006e006400020000000000020068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a00000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d0046005400000000000000010000000000010068005200000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000002000000090000000000090060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a0060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000020000000d000000020000000000060000000000000007032400550070004300610073006500030000000000030060005000000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d006500050000000000050058004400000000000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100000000000000000000000000000000202000102d0000000500660069006c0065003000000000001e0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100080000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd801fc42f8c1344fd80100280000000000002823000000000000200000002d0000000500660069006c0065003300000000000000000000000000100000000200"/1760, 0x6e0, 0x45000}, {&(0x7f00000193c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00', 0x20, 0x457e0}, {&(0x7f00000193e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00', 0x20, 0x459e0}, {&(0x7f0000019400)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00', 0x20, 0x45be0}, {&(0x7f0000019420)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r', 0x1f, 0x45de0}, {&(0x7f0000019440)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x00$\x00S\x00T\x00A\x00N\x00D\x00A\x00R\x00D\x00_\x00I\x00N\x00F\x00O\x00', 0x3c, 0x45fe0}, {&(0x7f00000194a0)="100000000000000000000000400000003000000000000000480000000000000024004100540054005200490042005500540045005f004c004900530054000000", 0x40, 0x46080}, {&(0x7f0000019520)='0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00B\x00\x00', 0xf, 0x461c0}, {&(0x7f0000019560)="40000000000000000000000040000000000000000000000000010000000000002400530045004300550052004900540059005f00440045005300430052004900500054004f0052", 0x47, 0x46260}, {&(0x7f00000195c0)}, {0x0, 0x0, 0x46440}, {&(0x7f00000196a0)="800000000000000000000000000000000000000000000000ffffffffffff", 0x1e, 0x464e0}, {0x0}, {&(0x7f0000019840), 0x0, 0x468a0}, {&(0x7f00000198a0)}, {&(0x7f0000019940), 0x0, 0x47800}, {0x0}, {&(0x7f0000039c40), 0x0, 0xff800}, {&(0x7f0000039e00)}, {0x0}, {0x0, 0x0, 0x1003e0}, {0x0}, {0x0}, {&(0x7f000003a4a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20025, 0x1017e0}, {0x0, 0x0, 0x181000}], 0x0, &(0x7f000007aa80)) (async) read$FUSE(0xffffffffffffffff, &(0x7f0000003580)={0x2020}, 0x2020) (async) mount$cgroup(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080), 0xc, &(0x7f0000000140)={[{@name={'name', 0x3d, '{--(,*)$/,^'}}, {@none}, {}, {@subsystem='freezer'}], [{@euid_lt}]}) statx(r0, &(0x7f0000005980)='./file0\x00', 0x1000, 0x400, &(0x7f00000059c0)) (async) r1 = mmap$IORING_OFF_SQ_RING(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x10, 0xffffffffffffffff, 0x0) syz_io_uring_submit(r1, 0x0, 0x0, 0x0) (async) getsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x1e, &(0x7f00000056c0), &(0x7f0000005700)=0x4) (async) r2 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x5, 0x12, r2, 0x0) (async, rerun: 64) r3 = openat2(r0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000180)={0x0, 0x1, 0x6}, 0x18) (async, rerun: 64) ioctl$DRM_IOCTL_MODE_CREATE_LEASE(0xffffffffffffffff, 0xc01864c6, &(0x7f0000002640)={&(0x7f0000002600)=[0x0], 0x1, 0x0, 0x0, 0xffffffffffffffff}) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000026c0)={0x11, 0xf, &(0x7f0000002440)=@framed={{0x18, 0x0, 0x0, 0x0, 0xae3, 0x0, 0x0, 0x0, 0x7}, [@call={0x85, 0x0, 0x0, 0xa7}, @map_val={0x18, 0x0, 0x2, 0x0, r2, 0x0, 0x0, 0x0, 0x40}, @generic={0x3, 0x0, 0x5, 0x6, 0x4}, @generic={0x9, 0x2, 0xe, 0x9, 0x5}, @ldst={0x1, 0x0, 0x1, 0xb, 0xa, 0x2, 0x1}, @map_val={0x18, 0x3, 0x2, 0x0, r3, 0x0, 0x0, 0x0, 0x8}, @alu={0x7, 0x1, 0x6, 0x6053609a41657c21, 0x8, 0xffffffffffffffb4, 0x4}, @alu={0x4, 0x0, 0xb, 0x1, 0x1, 0xc, 0x1}, @call={0x85, 0x0, 0x0, 0xac}, @generic={0x9, 0xd, 0x1, 0x4, 0x1ff}]}, &(0x7f00000001c0)='syzkaller\x00', 0x1f, 0xa2, &(0x7f00000024c0)=""/162, 0x41100, 0x4, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000002580)={0x3, 0x5}, 0x8, 0x10, &(0x7f00000025c0)={0x2, 0x2, 0x7fff, 0x2}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000002680)=[r4, 0xffffffffffffffff, 0x1]}, 0x80) 00:06:18 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) r0 = socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={0x0, 0x14}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r3, @ANYBLOB="01010000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=ANY=[@ANYBLOB="7800000024000b0e2cbd79000000000000000000", @ANYRES32=r3, @ANYBLOB="00001f00ffffffff000000000d00010066715f636f64656c"], 0x78}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000800)=@newqdisc={0x3c, 0x24, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8, 0xf}, {0x10, 0x2, [@TCA_TBF_PRATE64={0xc}]}}]}, 0x3c}}, 0x0) r4 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002540), 0x0, &(0x7f0000002240)={{'fd', 0x3d, r4}, 0x2c, {'rootmode', 0x3d, 0x4000}}) removexattr(&(0x7f0000002040)='./file0\x00', &(0x7f00000020c0)=@random={'btrfs.', 'user_id'}) syz_fuse_handle_req(r4, &(0x7f0000004300)="554c9220ded44dc871e99bf93ba98edab14b65e6c40f3d7e63c5f0c7347398ac6e17a02e3a04251346947f4a6880f2b945ee61eb1c3e37d15fcc1a893cd80a31a1047003831638a9eb35eee32129765d0a6b4a2d3714da892ef150593cc708c1a37e839c22a3c311ac70bf116c4b5ecefe045509c79d3130b8cc663db8815042336bda88202f57e451c12349249987fea63a1b9f90bf8c073518c6dbf5b544516568f3c0cc9176338fa7220d49e1f09fd55f7b02bc3b0b234e4ab63454c6a1b6f76d1365a79c96f7b27f6ce62c4ac33d652c0b979202ef70ec4b00eca11a28fbd969f246b5589c7149f57607dc7230513e9a0f4f294161e9d8bb2ae1c6d3171d51f340a9aea4adab9f4fa2cb36a4d8493797a39538b35d628348eaf7cff790b864750eb0c0d92d06b7ffa9a349af6aaefdacee2226ed2c975e7f810aa388b1bc30ac2a4837668ce8d91d01f8e6be28aead6e029874c7aed2c7f8e9475667fd6d364b66f4b24b796ceffe8cc5a737cb389de6e8d0fc70fd0b9b9e77821d0940c2b9a7141f4ab8c0f7ae8a1e85946b3c2ea6ae584a3e677b9c3089775318f4121dd06bbbef8a4492b7b089dfee21ae92053da80fae983f152649acfc164b4838147244296050801773f0f7aa575caa4f113f76508a05ecdcc0a7f0ca656e85bb207283ea9a61272c99a4a7960cca8d88808f372547296dfb0ee5011f5c33a12d77fe032e12af8fa69915304d0866f10329925889a6a1ac215b6ef8bc05409ead00a3e3fa31cbb3de1217100d65249b00d4b7a7b6b6cc10d8553311abac7a5eb60ca1bfcdb1ca2347d8ca81fda24fedcb1213404d4b13d174cf18f67866b1d23e7efa408ee06dc18f1fbb62f124f1e541aeb89c322b04f0cadd31dfc6c13840e439503e1422d4218344a01ae9e0030fc286b11a93305d818920c3c8145a5d9e9dde3217b2db60761166d11e6c997d8f521d881a99f20364cdc1a801e21cb529703583c04431525c50c29708be6961aa173719c84df0fe81b0d040573562d9acec837d1afe70ba5cd12e81ca39eefef683625a8d237b5aed2f61b26b828bc10fdfede883f8f1d89fa08ab5070f683d234103d67906ea4dbbb2f4e3cb65a1ce08a8fb96a5bd314238a4d3dbdadfe85004dc132cae7a8d34ba24cb5e18fcae804c96d93eaaee6c0e6882214ba919871eaaaff4a6b00ef7f22c0d1f93f563c475660a1c0654eafcf0c07c141ebbc1ae0b8a1b75159ed5c694cb241368a55ac01c819ea624c74df20432f781dddb820f70a3eee1e53e603b0f00b9e2c321258d69b4ccf332db63ca96e96a633ec4c1fa19864d4b4c34b026a30e49d85eba66c3007afc8969ef0f4b3e7dd0bcc035c68a5381620e1c6b9141a24f68ec600f8adb73a16cd0df2de797a9be785e5a5edccace15db9331d5643cd835f902b8f91e52e3111353cd157cadbfeda4e0eb9159a33a54141d95f7319131eec6e937b21d5ab17638b34700da566b652ea3ec8d23c14c1e1ae771e730c31e1ff84bc4a5404e6e0c244e961749dcb46154c872f424c63b08cd261163f117d90a7667236a054d284c22aef8d4c3be8699c52250e0fec9b679909c748ffa8ca9111ceb0cdac1024db98abe5810cfa07a73de3b23750b7e5c1c56554ddb7d1903dc872a938887fd6e26af8fa0b3ef2b5e57d98464c0c3747a34c7df348027769c0bb88359b72b72cd5704488bdb151ee8322e053b4fdf57a84129b5269b1a133c085a029b86f6ffca37bbb24c318e66632693080649f08eea35281eeb725e441932df3c276fb93a686bf40daae3b1c5b3e99ccb2024929ce1352e9c6e660880118dae4de1cdad0fcdab8a97deda2984ee82b05ef1f51b7f04c8ad517b95f1d8d71b356efb22effc6e38a197017058ea1fef4e7916fd943e44f16e7edbba93a3c9e4c20634f480e6d51bf6b5a90a55cab77a942c6f32d343706a50f827ffbf1079398ea8eeb582ccd25e75274232c13dc44de5f8c5ecc3110629ccb76dd39d045b9f3f3d531f238bcbf3f694003c478c8285fed3d4ad10a6a81d1b5540afaae2576b766d79c78439db8551cd341f7c1737191fd73e1b6537fde8cc1ae660a2aae90c4596ab9510fcd946e84e7d738e1e46338a37dd1e9666a2b819a1f1ac6c9d661d09562a2cd65a43b6295afa4e3df42e83951e01e86ad2c1b5b641425b0a54d3fcc1fb8687e89216debe978c7db246fde2496e82a758019030b9a6026f1cccd3566e106d7cd18e2071988c7f622c9a97507a90cdd7ecbe124accd36d65ac302018f10672354f774f58453b94586752916ec4ae988d98ba3bea388bacdb9b86b87d64ccde8c8d84baa91d97f902552a75a8dd7b361177ceebec45e60e73f5df5dbc99a99d053a311d2a7763ceb6af5265af68b13178e65f94981907f8f2532196f8ed213edafa38f3cacc142a036d317b1c8ec74e78913bb36c22c65d2fab252954042cb2ff1db2f087a7252bb5011d1ec848680bb6136c182f9c3529fb8d91fbce5e1ebf651b048d5248b954e0d8cbf540a16e17eda1518e0a965ddb22c5d900e707efd52d5b372ac6fd411c5779f3870201fd4b66de90d44093e532a691ee4f57e5e5f578a722394ce305d891d57ff2675e755a5e0abbc4499084ffdda746cd778da2ff87115429065776b71e2a6019bde3122b05d131ad7ef5b4a19cd979df3fbca57c469c6566c5811766d65f8a0869db56c1f90b924c67fa992ceada2d46aa17d89d260ee6078c844756675d15ceab36b0a632447f238ba9531d615a793628b59ca5b15fbc7a8a4dc2114dbd0a9b2b245c54111e6ba343c3f413ea14e66a0ac57c7dd0446399289465f81e6c6f730e4cca19751023dcbc3e15f9c9ba5cbc5d059c882e42de5f0ec49d7171870f17faa132cbcf0cc422a9a78869ffc22f376cad1b359c277dd6e0d7ca7d5739fcf320be450a3b64581ff7e0e4a2be026300cc99ad925b62b8d7bc8e1158c0c5d721da8fc3038bdf49da52edd4b2452e3c9cfcbe89a131b84e72eda38ad33cd2d6ca62958e8b695ad20ae04799d1c273fe5ddbb869991397e80f6c15813154e2d65c29ae3e4dd4472d961f6c848682a233e0767949d292882c03e5f47afb5985717ec13ae4af89e42030d360f1ac03977e2dc0b2a9e6f6a994d769c73dac84b4ebe8fad74d293d6c9aa6b315fa9eadd47588fff802e9e196d814c0dbbcf66915898f4785fc8ef49f3050df0fa3d8eefdc92c0db7e9d053a72e4e53200dcca91b200b240e36146f8dd6777816bc8fc5921e08051cdf0dc608008eeebdd28cd6303e4cc533fb93c7d7dbe9f9a634f9287d6350f84d704427ed54e0c71c0c99a4db202b4835a463a6c77be774f2b80ce652c1a680f84f291f8f6d9b230c42b58a10237d3e6ad67742824758084b7eac9916d3bdd1526bbce6a08498082163f14bb5fa005fd804cf78a46c28a3514828c242322e410ea3b7f4f6807a792544155c02949a3febd4a8dd4e4c75946af457a39f52e80b643a6cc1de0d26884a170fd763b13b11d3ddaeb7275612cc1d69da85fe942ba49f5393c6a3d25f28ca7cd0fd37dddf6355b9fcf474e3400f5908a7d1975c34a61f22229cdba7bdd426650a3603cc7562bd5e1c15d2cbbaf7a73d6e26235249c1c0b4e8732b0860c43b280a4cd02e4a2d6170f12b31ac4351e2d1bca0bd9a481242b0ccd82b70037e5e9e536697f1719dc366e6554bca111fdc16d65400977d31e4bed3a585278aac11642993f56abb47b2c41f35e3b21643ab754178ba47902a599f729ebf592730d3c9d6e69509f37c165ca6203fc07b79ecc422f4aeb5c69a0c6b5f32307c28b7b4aa09ee9a640cbe05122f973ed1d3674dd78944999f9059c88d05602bc03a191f3e302a7969b57e9aefa3c694e9ee6d221cd982d5c18df47b6df146a037c3284d4fbdbc5c5abddae3ed27dbf439f2cbad51fe7331185458ad284c842177c8358a55612c43161d6f8bcfac07bc0c7a1dc5d269a2b4318d280ca354c5a9a934813453c223120b4c200feaf2550ed2bb76bfd9d6dfc2582d422f4a528703466c1f0ed93bd12a4ce2ce0fd0a56c087b501221368d5030c4fe288693ba8e84991d312ca8bff1740cbc8c68f92d617cfca0a068a029bcb2fd6fd827bf8a283672a0d416384b72b6070dc326ed674a79a952cd65ccf15449e60241ed5b849475208898868668fe14d9fefc3e701127ad18f01b6fc0905caf40e4040d2e31bf04daf4dfa902629a6816ddfb2f3fcf88a784c98698ccd746fd373a07e957d6444a2df20fd114678e7dd62066f84be596b2c9db14707612ffef8b9ccc7e9ae11e5c6eb31710c3ad0007cc58402d55069bd1970c3329e1f9017e2c2281a9f7908a15e394c534d5a9cd53f0436005ba5b7c1cbc7652ea0ed9c0b83db0ec73a2b196276dfa86f290d70ebca1bb83fc2c3fc66a4356c627b5aad22e5ff301f0326d8013c55076782b6c911da526bc87a2a88c593e90c56f9bcfe244bdcd7c41506d596adcc1dbc973edf9eafd2ad04818eabcd47ac483a6d3d8090dff194f73f3c592ba7d27b06cb8338946bb83c5a7d3b1d05e873f65ae5cdb6996920ae2ba1215964e37c4027f995485c66b8897c82d6415711a1ea055eb7a1de1f841379aa2de8fe1cfb49c4f6fb26d50f1b351648f771504c6a6dfd3f408154443702cd1587d1612db808fbe7a64ac63fb49a1dead3120ef2fd601ef9a07479f982521cd32b5315c0bb02b71590c726a33aabc704dbd24730351b7e10e587f8ee1e5becdf701fcb4dfe5c4a1a8cb361b751893d99a7ea5d01a39a8d7f003082610fa69ab49b0603e3378e01b89e1ede84bce7ed19c39298d8ee21548e1ce21c2aace325fdc6852368dc0c51832bfe1ee91dddd6733a57b2b265280b59f52af5117405a1b9b9fee024199d25ce1a50255efcd28201960cd0e0a9048e6f909634d44e40a58616135697cb96c0d6e4e4f75521e73dbe8749192efd82da3a85507833543af5653559a8712ef34d9a05d3124eebc682402ec5838339c196941c4fc535232a0ade824ed368d5e2d653cf21cef4240af9ce27f2a2e03f6ef504ed614ed480057cf106d35fae40f7f045234705d7d9355619dba5db6269249f7489f09aaa53a941347920851661322cb499cd556ae47dd09b38db4c58ff4563ab4a7bac1b742962dbbb8da1483324a6b85f10bd47f5127beb1e582f84a66a1c2148a5f190acd787561274e0d225417ebf2ae2211050ad4edbb58850eace0aad4f2f2771f9e7d517f18cacde926ac44108dad0e510d9a3d865b6209315907c18706b4d36148f1be5a8d9973935e810874538b260974006bad01eebb74fa412807dd51920d43cf60c34841de6e53cba1a090a14004ad068cc7410f2a144b969507b1aa6a313e3e2f5cea95a6d55fe409d19cca0ab7d718da745eb9827476f20d8940a588affa25fac2b279ce62f3057589a5d49c8075dfc8843325df501985646b7f6f15699fb42ef73f2c9c2c6bc3e2b8aab5f0fa5df79e248b5c96cef845e717d35fe119c7db193687c9a08f451fb3d09f600bb60a5920445fdba80aea8521e473cc90a4faa01e5a74e3418ea876d7face87f592c3c73ec633859b525ed9362543723c03f7c4d8cbeeb70d65f4718252a0280eed383257ebfebd9ae823cf84351495d41f4b76468637bca03ca939234b68f39d1e30c6c25a94b727027574c9ea42744dd1d7a660471653244834bf5a5ac6bf3f23eb20369369c46d04c0d48040f240f35745082228662f116bad1ef276adb4ff5aff675e48bcb8a3b166a8cb03dbff184e9ce2713cd69422fe2ee2007bd8901bdace6d00e237440bbe3a20a81edead57d2c325361cdaceadf13f4d5e05c8b093042507d931e39864d0c9842c237ca709432cfea487487893242d25aa2309f04e23597677fbb6b2f7a386357002a7b34e53b6612831b195d68d1a6a897318e32a0d374f01bb15d1996720f26e209ad7329bcd58db85583bd7016581a47fc218c8eb4bd5ce8b59a37c9d594aab36fa5be9c52fce6013a4d9d21e1a6d3a0a261f6a53707334f76bbab4eba24bfc38d6c80da8eca93c2381e3c449568d5fbc98648653dcab941ba09b62d129df944c4d3ddfdea13ca04e5e37ad94b105e50eee019100f2828f7d8a70606b736fa5f92b8016484bbdc2ebe2304b02336e1c1e8e01098c4f078f722a91081c3f56eaddcd6a9e5eaa2e31492415b25f89dbc038c01eb205d850ec772b04e2f987d55510af33e2d2435463c3c68a6ec4b5d356c9ed875fe15b07720340caed09163bafebc8919f484854392a758514eaa9fcbe16d64333c4337fe65c5690e5ef127ed508e32e4cc9c2664641e7b2fe042a02aa19d68ad28f926c7c67e2ef0ad0464c9878dea3328fc6640b5554fa33c2bc0c1a4b970611f41e5012bfee4ce3bca33b51add7b6c364f38fcea8daad485d627a45cabfcc5bd1702a6f6fa91c3522228cb2a32ed5687d18b47783d3ad015643ab3235755c2b1711f9289f0cf81fd063353af9a3c221dd773909c7392aac0aa496ba0eedc89f460f0e1856a20a32c176fc585f93dcd2e033af4ea6c64fda3cdc9ab1b19d0d8e897fe0c29a0d911a73330a1cb379b376f70efb7852a73d7090177a4c03c4af8de139a19d207b693cd46c80d631c905d6fbc3cc43499763c91bec16b6887ce36c6eb54937706f81434e0b511a9dc32e16f7e9699bc02a0482253d71849db9773371d19b9829da4c82c889572527c0e0ceff8e37f4c4e0751337f6f16fa1682cc78c063e60c1084c9eb9f72c0ec1fee55ac8554781c454c5d9fd262daf6a9101c4fbb3f54ae37a7415694fd09be0a2f26728294bafc7aa811e9ba3c70c74bbf7c1b352e63fd026504a5aa0efe22c905f225ae5710ccc78de17393d9d4060180d159150ab307481ed164f55a1ce91d7fa718bef4b329a396753894ed6b9f1c4192fae8bc7cbef412821031b71e6ffef7ceb30c6202f20d2bb26cb7819180ab50ab469799d7802c208a8e300bd737783daf7d99ffb8d8050c76b6f42899f6433d2912502533f6edaa0800872d6f484f31a42169ce6935c8621e0cc2acb8adbbc7534ef47d5e1c6c50dfd0afa938233d19c4976c6345f5eb34810379be02013af20c12906013a358ecd7f2972a6dd383308750fe04069d5461c3747b6b643e50532a98d473ca4d8553ab4ec7cfc359298decb8762f937329579793f6bf9ea716b7581fa95a5b392b7b55164e73b3feb17ee8788185d3c94cb59130767bb3a7933a25341aaf830fb185b9bbb758f4b1717dc7209201e540b22ca4a78c99b6b8e5d32cbe1b65fbbdcb66f8975160179e8c72c964763034a9f9c437f64af4ea65c5b1a94fc29eebf3b19f18b8901b212bbcdd6e82ba28265b12d6f124d79bacc6040222107e7b751308b8388e26b9be8334006b2c4d551f905bdb4dd5da32487919181a4c2f75e81a1eda09514d6467f038e326c42eac0288803359d1585469646e35e7d82176454dac8ef1c7cb87111ea18851b85f54a4ad29857e96b40292e591c9f762b5918b1d8568a6b4299d15306131c2a93f7e2fccfdcd760f15e009aef0acb4f9c22fa22117f184102979121ab5139741032896a9307caec475557dda818de7a8ec6781f44e169130a34767c395f8d6aa9882cbc85c0f259c2e825f9dc19dbd825fe6b02cf8037339949657c0e80c45bf52d6527665dd40a2d3d237535e088e0e82ea3d470f0e79d2053917a37bb7e747a6e36ba371a302bc92641132bc9e26838d7d3f7e79f44be68ee484ba35bb1ae11531a518b97de0dd7b8258dac4c70b53e8ca1403b2edeb8f8ce8924770d7cb26ae3267e535c136b0d2eee51350e439ce6e062c3eb90ac199dd2f8be1921db381c7ea4e5a5a2345e5f0658d645bcaaab1ed835b8257219605c4134ad21735fb51312ec7437f93756950e23ac0f7b480b7268d8a9c2dcd9e25a84e0346b8b534116d18158d6598f4fdde2b8a4d0cb13627b116cbef96186f45fee329010b18dee5bce2f4d666018b0c9c1775b826b091bb1e52d0411c074dfd5be1eb892bae5623a1f369d9848f9779e9333d6e78402bff09be0f8de1baf39f1697c0e8d236710f8466a379fca03ef05db8e0baed90ebf1f729f32d393b6eba15972592a083bec88572bdf1ab1e9bc88045ad6a9d6279264700ef608fa205423d8310d54d9e3b71841d741dd7ead43674775e68091a179dc58a2629745e89d6dc040aa1e0bf66e3f694614f05ba3f993589f59fe3c43e220d4d0d470282a16cafbee8b164b6f6f8070d23a75da4f760380c9c53fa31822ac71938d62d78f4c2ddc8e273a42e88af5329160adf77aef67a11b2717c909d6597b255c21c5760c084ff4a2bd56e79958c55c3f57514af234891c8cacaf28b948737f07a4f0cb5b499a147d6f9e959c1294e1fce0e920663ed6590dc25d0a81853441471cb08afc0e30b5de2820f812f17a0573ffa908f78e494624266c9df6d77065ae1908dd0e237c58c76a3b43b7484b2f24f2c6ec79d4c6524e7306e061ebf45afa5f51e48306ed8068566d311cbfca977453dd044e91474e67eeddbacbe5bb154831c51cce97f9c1aca1fe061be71212da7dc871b1c4afd46c7401732f4513602db334190ce7dba442b5b0ea54353a255b6c4f3502cff0889bd78700aefb22b00e68549248458da540d2bb558205d3f0e7ea76439d7a1b2ec3367ddece6b58f57df1591117c160603448f3022655fe61cafe5524d5126025395f670105728d7d81b270b1a63368373d000c653bcb34e7b601dc46616a6d4724f9b7aa0805ea3da3d8bacc7beb1f0bc499169f2153078d18a0ac0067dfc7d486aa3c8373245e38fed4869d67e5c1d957d5b45af8c407becb0f31b8a7cf9bd7db337356f59c754f41e567a5c238f27fe40958681a802192f24259c983173ac467ec592d22b7a0c276900316f6b70d55db8a55eeb2124ff3b51234b421a925047085afbd258e8645e66d33b4120a3608fe74afedfc8771f27ade9df1a21041b14d19dc424fc444302e568ca359db00fedd75ba3e19f0d2638e8c1698fa8fba7325d1743531daa735872cd213b15ebbc64dcf2dec1e37b16de5d89552a47061ba5f718bd522fa25d2d2f3296beed101eb3c85ced6827644c8f25b01e6b527fd2d76e0182e12ac5fc2498e9028733ef8958166e142a03a964aea9b52a9341d0646228ea2edf89d7864aedd17b908b6d36991dc91d5dc39809d8f4f1f78d2f1014e8607fd6da36c440f63bbdb8d0141e3194779c91069897e712f2b06cde4999100424213daee4fc268afa3cd55d8b3cc19ed88e56c1e9cbc13c21f98faa53ffe327b47284bc52377fe0dbdef42d89d02ec6fabc9670571beab37ac5aac88d95d857b045411d8f1e16b51ccc320f89090aa08bb4bf802195cb9840b5bdb35a02967ecbb2f8624d5061a9453a9e42ff451671423d8901d44ed82b2509e84d76032273a4e435d323198de201af1a13a7f15a36f0f5ce00b5c20813e21282c3adf599cc3c3857cd2a426533147ee4a2c43cc3d0032359a33e59d46acbfd22ea38f6cbbccff45b0adf82f143c43ac6a6b947d3b8f1690c842f6fe43630402eccb69dc0dc8f9de97476ab6024f0001c6ac3b283f4e926c3938d753fb103f023cf76f880812ff24d11553c72249eaf781b903a4559958e1352df5ddda095ba334359f8853c32a0b59907dd5bbe849bd00e06719550830a22110cde2430d3e7596117475dd1fe202be037ac0ff919f521de47b59428ed36d6f91f983d4aeab9546383254f89761e96db0a3dcd3498721519243f504f241a9e29974c8bb2dc908cb8e54f8c1ecc4e1fd1fa489d3f0e604b08f0e68309cea3c3fe4a32313bdbe0b94b17b3063bd4b52aba5508c4ed7cbc581073bdd37117e029e6ca508b5df47dfe9dae6b7f20f75686775db1b24737ed3838c5e55b98af9ec63e85f6515ecd19650dbcc4edcac1bebb2c367c9d0378c6ff1becc55189297cf600d8c32a95e51e6b7eda9689f1f66c07fe6979a9d8aa167767aef050a6ef442c40bac9eb1be9c932b9fbf49c7e33c45dad2a6598cb82014aceb0908192f54ffe892111b640a07c290f1e1b59f5c069d458d55dc45ffe8cc77d8f58dbd57e8f26b4882ebf02b976c36b6767c9b85a2ae5bbf536232787b016dfa044b42807dcd080a6db79ef3e182c7919176714b1b8d6f061072d5781c0be1699141686db62be66fdd4fc17f4a928d8aec93e435f0fb1530c60f75df81df04244226391e084455c50209105a32a6fb2230a3c9f24105267373bf9c09892c0edd2c4dcc16e70585ac625ecd751103aae3be858f08cd561e94813e8630de72d0d0f070beec08fbf70ee3e808f25fb9aad0186919dc1814a20534df63f04d9c13fabae769d15501f46483de475d5ccf0a05e7abd10ab3a5f0bc3bc0daf56b06fec01dfad9dd730588d0d0eabc90ba0de016c716d1120eec475248146a650cce6ecb1a210331c93fd61ce150ec840125c3e761fd9fbd7bb908bf0fa535da2219263a5acb16f366d7db519c2e6b8e1bb0360c82570f6c8cd65e85e0289fe8b0e1622eaae67ea1ed3c9e3ce8548014edb31d55df6e614a70752f612fdde060d2687708e32f21b8a2608c0fb49bbe2075c81736793abd9b0776f4f8a2d552987b84393e1734960a9b239e9b3c2eec661154bb63d6ee3a90f7e5242935364eb379c292b84cee2279440d3bc1b894fb443c72244c00532d093eb4a0479b32c0d4b8e1c0e5ad4f7b97deb781470de9bfabd03677f9b2adf7de39bd76d07fa852c630df5c695aa136caf6178d4f2251acac8cbce1ca0ffaa7f4c826c8ef9aa1214900abcbad6be0a968e26ef9d384f272bc4cc3bb1834b9406af248256db77eda8eec77a0b3ec6c6c94ff3fc5b45dc163d16e4eb8e58421ae523940aa81ab28e68ba2c89b3f159c87646c74696fa04532a7aa41d344e34943843f32caf3182d5369e1658c13e29dc6493ddcbdb24d200878cd091eed857fb4c466fe1fe071e6133922e3c21b82bbbb3b68108161af41c8341a4315cab48980b1980b29af0e12a60972f2be4ca43e5bf0bcde540279f7b69946074d7e4c302412745a3e01d12e747c23409766723a72354d937aa251ac8cf37ab303f0897642bc9d052bf406aaf248d8de14a3477ec3dfe4bf69d82e4d1d64c9dbc31aefeaa9042115ac0f8da8818a1f5c8cd23bcde6aff0c035acd8a2948102aa7ce31684bcc27c84742db3e8e2bf595fbe76009d8b966be7ada94cfedc375ef77d875ebd762039effc007538b7cfd86d0fd5e05dfe2257c1117b6b68b9a09883de6256e7ae9550b3c6b2830baa3f75180ced65e77b0dc4154fab4405b2558ea44ced11825a4203469bcd5782fb2b91f34379b99b731b9c4250bb0edc742fea58ef447391274711c79561894e2979167c71c0b1332b6ded364711048e2794bd8f489dbb0589cc65ec4084df5a578801be0f31ae6ee9c7730169f29c8f4fe9453a7610a130d57aac428b1c78a4440877b4f21b251f81dedf3ba16822f310049d9342eb91810fbbc509", 0x2000, &(0x7f0000002b40)={&(0x7f0000002100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r5 = socket$nl_route(0x10, 0x3, 0x0) r6 = socket$netlink(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r6, 0x8933, &(0x7f0000000180)={'vcan0\x00', 0x0}) sendmsg$nl_route(r5, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r7}, [@IFLA_IFALIAS={0x14, 0x4, 'wg1\x00'}]}, 0x34}}, 0x0) sendmsg$nl_route(r5, &(0x7f0000000240)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)=@ipv6_getanyicast={0x14, 0x3e, 0x2, 0x70bd2b, 0x25dfdbff, {}, [""]}, 0x14}, 0x1, 0x0, 0x0, 0xc0}, 0x0) syz_fuse_handle_req(r4, &(0x7f0000008a80)="3a2956771f5af6a59f431f6012b2bfbe8a1a57883e685d9d6ac37a6582f7627997a74e8ada02c7bcdf16a27ad55064141ff6063f254f6a81143ce5cfed7c14e57db057774426562b0ee70399a434ccc567e924f0bbe5a048e679c1382d5e04a1022229f48c146e279016f24b7f8f6cbbd60386d42b80ac2131c7db0a6750ddb3ac8e3f1d29f62d6e7c517501eadc172ce63eca9ca1f1e582d1745fbe7b073b1d74e83c74b860c514adb20326fc947fe263e86c61a67109d22f11831a0c8d9e2f4dac71a52417e020a6bb082ab4c6bef0428083e4fade4fab679ea5db2674557f4200e16718cc838d64067df8e6c61881bc9875cce90b6f362bedb3cd76c739e010885a2912d84c06b01e5b9adf03f7690039e2422c5d6e590ab45b66e42ca8a45e836c6d6fe2d6542bd638c669308967777253b420491eee4fbdf681584b3d50011983582f4fc3fb009fc4337e42b3378dca7f268fab71c69c8e16fd78b89971cdfbb1c85d703cf61e97e97937d6dec1a045f8392389a4c4924e6c60224d6a55218ea299134ceec06d34c5fcaeb352e2bbb8ad3ac143ef51e907db89b3a06d417f4e029158ee674d115ee5014edd96fc5d69800be66a132a917c91c108a3a03bdcbf6eeb6e5e3d04b20c6687d919a54a3f50f719a96e95cac6fb365dc39fed426e83d62310237a008c6bdc78d2ede2dd2d6a1b434912b0be9f7497d88bddda3f2a90447e984a94e282c45b54cb8c772bc5a7782b76ddbd0af7d0df7fd3b455d8c4889d73d6790673f6963ac96e7be68a489cd06dedc03bb756b5b8aab25b040e9e6df6c35faed980f923f45103a4cd3701a0e77a7a0316cea6d7290b694e23ed60e4429f8085511009bbef29b03876238c2483f031ba0ea7ba98fd6b70994f7668eed0d33beb4584db34c942b086628a4b27cdc8e87dcd02fc5304b279c399d093122ff260176ffd38eca07fbd8065d52aa33ebe77f8364ec7d297125f527f981e865d0c1f5491a44184c71150755f763e6293996b1a7f6fcb8d16cdd7b7cc51d97e6d2010d7dd111b3bfd2039daccd480391f7714f5a54b74ec2958800e0b57c56aded3a30e275d71a39b936c0bbf3d2797f2eaefa21cc4f306df67e169bcc4d7364c9c4256fe64c500fa944591a59758476d975125256d129b71603ec4fa288a2a03e839704e9fbed3ad9e70cbddc1a71339e0cecfe5056dadf16b193d84ddbf5ccaf952c70ac7ec0171090f60b8242743276efcefde5cc56522d35558dcd5a6f992f2d2070f3a7df35f669cfa01c7e8bca3f01c5ad99441d1b6218deed663a3cf80fd18ac78cea1c08783f52cfb279b1338bf9ed2de0b8c4ee9193856f232d0dc6c9b2fb4ef55e6b14ccee83e131fde17c08196c41924f2aee4e95fbbca8104e1fca6e559dbeda4918ac5812a99870987b92e64ff28c618f7c5b1c1a71b4b2283ca78657c43b7aa5aee7835160a68c14675c53eb639b9da0264a3370d469cfc958260492da6ced05a8db88086b4fc14cf50f60bd721c460fc5dbe3333d4141b2f6b7ebacb26b1d9ee14434e21a12893a66d4dfaea2eed1455ac397c4a0a0751eb92d22a63b168cac901bdf890684a85378740d710d10298cb8045bd64397dadc4b6fee80262d5f2ff2f914f3ce3247176667fb30dbf65ef359d12c2a1099f34df80029ff6dbd2b83523bac55b25d8038b49fa012f7a1fa5caccf0d2181a5c0bddb2b944efe3e8c77b789951ae7a7e5653cc9e563d5baaeee31dbd6838b57c0eaeebfc6cdb48f458bbf09570c14516a8d2a9e424b35cd840a94404881bfb2d9a39791a46d3fc61b2b9768231267c46ef614242719cca0b8a426c4ecab4af29ef1f529519d05b7a3da113b518978385ff902fee7bc89c715ce727656f4dd78d7b81f060cde8e93c005e1d9799ff08554d3ba6807360179b9e0246945159786792727a115b22489f91afe818443c88329e43d681744727a56ea930e227b4544081d2d4ca97d67497029260c6d763fc92c51a5b08230d70747063606e5549646e4f745fa0f001ad7d399dd40ddda062b0b36ebf4fd285fc497faaa13cf74a39e535cd859bc20bf6672017d3db518a3d419f334cafa8234ba84de94fcdf22e832177e9469ea66678d89d4e4ab9b769ff9d38b29f0856466f8ac60fdd7e834724e9e528d0c1919d81fd99c72c393083429640d2f817ec24de88b09cd3aed923594c225bfd71f661f1b0bcd611558dded48d40afa0e95932f44d28228b7270e2188866fb37154856b54103e7aca99009d4e11534b0545ff6ae0233c50fde3eb44a2ad918b30cfcb717c1f58c7b7caa5cc13aad0837b8c894db22a2f55320258bd985c821a320ae1a15f8fffc61b169dbb1690fd1c8dfa2b89ad5935f5193f9ab7717c1319916d44abf496384a7ae8ff772f814bdc2598b1feec2d2e5d65158e8a7b39c4640eab283edc612806799cc5f94be1cbc0e5cab930e8e33a15d913f8b08ea06563135b20bf83da87d7a9e09d652f498de68f9ac65cc670e3a600c5ac109337db9b43fff311828c0e9c9a3d9a92028742e23d1f00bbc27c865b8fe514be04e74f38c3d07cf0ca5042836245d53a2afa0effa54af510bdf93da93798d425ae33c2cab0dc4a1274d0919b7fb34b6f8c05b0fe05cc8a42ff6ea47eb35c48c366e1a8e4ef6275c5761bbaa484104bafb398b1b5a25a8c6c2a20461db45315985b159009d5189230f19c4b6ab6bb7a910d815f70f1fe84b8c72df2662d1fe41692ceaff3296c88bf49b33b0f6ea920100c45268b10d76ebe55d4caa19f907085e046a8ecf1d7cd3bf8071bbfe1b8ee11a46f673c7b431da285c7043638e4e219f1590f186a533202b1021936734f43c1dce05625f5542238068a108ebcfe86e44a269f77e58fa59e30505e2483dacbd71bda13c0886c4fb7a98d26125c0ed128e55f5f9c9e5dde773dd3e9b4009898f8c7f81c1a2356052785a8f53f62952e1751a99e68da0ba272aa82ede934be28ce09395dc340153342bed5ce7973b43589fdde92bd171f94aa1c8bd16801bb90622774113a63a1a06e508fe8e5921645d071e95898d51869a777f7815b7682306e7c660fae9f6847d71383b4f291c4ecf3276d34d0d57769e8c8f598ccff2dad3227e609a53928d778d2861438e359fdd2cd9dd0674adc48eaddaeac727c455c9420c0ca24797b257f66175c5db24a66766e3679a9376ce47d22759d1f5cc69ff8aaee759d0285ecef6bf70722661df6b53dfff9e78339f016ce4ed49b67ac75a67595f2b510977e91bb6eadc34a02654700e03e126bb0ab2c28c1939faf21f81d1ab1204567579eb75a67e9c2d8095917993d6b2f65540589021d709f100ffa5d50df801df3906868f38e38eeaee0cebc05d4c4a1b33336c5cebd6268a70e46380130c0dfcc27db6716a2d7514d2679954976ace50ad0a27abe93034b3b675070da70d8fdd3ca3917a0a590c8e44aa7dea24f20c08ae98abcb7b52f34b5dd247908e86b4a9d5fba59476d744c1937f11423d0dae907aeee5d849d2a98493ef9a16b8f5372b1d738730b13cc60d581eda7a9c0ca9f3d0bbc271ba18213093cdb7407cdb76ba7cc15bb9b24ebba3f40ed32b75ad19f099b453692970675db963e030a547b0abee1e845fb98e0742be83255ed1e82e49cddd36698d72e9f7c282419b6781ca965796320f32d07cc84813bf96619c99aa8996a5fb9739e6d021bcb3607ef535073878c1c13129c2d9d96e44483f057759da93e98c941b2bcc97ab7ea8619955d1e02fad042f4dfbe6778373b9760cd6f3d9a9f093b0066e7f9e61f319d5580d03b00083823b3c265d0697ea21a68e9a2f9764cd3aa8e8ed5771d18b118000260d5be2c4982862e92e8eb671257ab95726a2209d6e528c58607b9aa1888450b3e9ab81d4edd6d82ccae8f1f7b8ac418288b1b7ea06a8c6f32e305f05a1db97f6a0774e2dfbad09413d7f63002d14c9e8ce301a4deb123e1eae7ec731518b0f01ab7d10427bca6cff9cfc9690b90dacbc5d707ccb5e4a80b6cb9888c6316b742fc6fb25d498df524e0d9e2ae82402021541649f685a6804c54932479d6d7dbb6dc108578d646c0a6047b08d10925f1c6d68a63ae5a5af7ae03da034d59da76b5681d1c3afa0777050ccf2ec1c8cac43c010db93f13a1d6947ed06f8541fcb7a624c6dc51f96124c33ef152fda87ef884e62430990a45a442e265dac6df81aa76dd4351ef3061d36d3db645c92e85dca1c5a41c73fb06f4eec5a13f236853187b619a35891079bc8a12ac714ee39f352a061f3d32dbd1d0b8be240f0fe9ec53b1fbf2c4331f55fb55538d9ae492a93e79fa4382319a84da0549f0fc6f38eb3c872bec9d6afc4c25700b22d8f0a6e5e3aa07c9a62e88b4e74f0928c96ad48af45d7d9d1f7ac7d9a108e0fe97303623e15670081be978eb10083e1da556a64ff79bc9102c0581ba924a7b9580573131b97ab06765bc0b6d4d36719ab90beb6da10c85c872b9a9e34b6bd9fc1c693a785d6b5245f082c3c126068134e3487840e76d918a60ea3240a9a319001c58fb6bc6424ebe212c1b6d0f81d55acc890597c259087db04cac2cd1d1e0895a1f4adfd910147681faa872248026b87e205f382b29cfd89efcc6efd6b3464dd87acac91077b90c394ec420d0a473f8cbb2ec49100555161765668fa4468927a2b11a52c606bb723f97dd9de4c0cc60a64bfc92abaf5fa87fcbb410a36cfe35581eb6d480bee15de674402511ab77b4ccf188fbf12234cfd6e50bf637a3fd983834e598a31ce8891bcfe55448e3fbe6eef14defa34b6df4fafb94498f33d0244db837e2de847edac50ab6b5ac7d325818956ff231d422916b8d78b23d37063af3b4acb62966e38d95389e51fea82562787f7ff1cb59cb14933a10b8f606d063d36588a8724b83eb70f690b28cfe463d89f330d7129262d436f772dc13040cde2bc5aef76ea8d37c2c0a97a3cae5abf3c6b3f9b195413d30b17c022f87215f557a46fb13642c378917b29ead844583b5d31a67727f454e855e22afe8e41fa5d6f67421d4de063995af21ab0ad286bc63ee8232b4d9a34a1d516009b10b22870239c4c1d94471436c2c6ac2b90f790e2d58c061df5ff25926d706ee0caf2457f903b080be1607417202a2c6dcaef5d7fc982221495a9f1faccc3b25d0b99c6186db819a7c699d9ee02695707e5ed924cc938693647a0a611c45c156ec35a7900b58bf7b539c499dd8bff4326001466fdf95d84f9113970403085d024f5adf96bc92bea361483b61e6fe0c1520b1242485ca89b580443b6bbfe0f2a1230d0893c694bb24fa41d309d8903264c01284aeb5da07334ff3e4615625d5ede30fa4e1c85d013c471ce7872db3754d28260856329df287e28105a6986349f34850ad55a01ece762dc4ce036fa1699fbf6ac96a625ffc0bf43dd683e9e25b4e8cecb310067329521bd4ee29dc0809e22e4131eb053288fced030459d258f35aa96c45b6e6981399725708fe8265ab27cea1232d13abeff9a0c37b1d68d779226b23381d7aadb274f74006014f44a9c91aa1760d17c2d824461bb9460ebbeab623db4d0e8cdb5a5b24236b58478085e66887ad5c5d0cd1bb7c85d10974cdbbea7a03feeea8048b70f2bdfc202fc2edb15b2356c685bdd09e46bcb6305cd29255a4548148723df27c9404c31620baa7b85d903f60ac5bf4bd56ce7464755608f4a20728cf926a76cd5cb6d771f68eb427dc8b35075a37dcf2f790e7fc1a57d42e333ef67c39a8269afa2e04e1179f040c804696dadf934f9598c037923a672445a2b367978637fef36a9d1142bff489ff097298b6e6ca7ceaf75d022edb480a29795f9087554c2dac61193a9d6194f790eefef00b89f10f9608c7958e5ca515841bde56fa2387ddc4c7b6fd10cc8a828404f1df9bfc0ce0674e9a9a1362bf4e5ad44d388836dc94a178c76f2562798e93b5ace97a674d3d29bb167c823f4e7e82859cefa6600d9d9fc173c7431c178498996febfb86ca25d4cb81cda8ec5af8ce6ae794dd9207485cf7d44ba666e25300a47d895ddbf8d166e69e75df5bf21183edf5304ac96bd75849905c4d1469986905f866f8557aba17e0f3cada7a53810382bc11f19a18db3e3b32f2ceea267cf4df57637c36c35da6df3589b4c21a40270988da6d6f9ab839e76bda10227cdbe45837521d619d7b4ef75efe676885d26d0ebe545103e7f6b407ded42fe24085325f71b5d32557d4002d66bfc300bb883fe18c44901a58772d6ac6cb053fc644c4eed538c94a1f93c1f2ae3ae6f317c91f60b801e61f256efc3c3cc4662b7ca17c9c06283dbabfd981a47d11417e65c427f00b63d0128ad6bf80b414fee7da663d33b8b9f34240073e534c91202a9549ffcbc18d56a9394f2d14d1931ced8624137fe0e4aca06a3b8e78b11a4a52419886ebe18c06392653f58a41e6bd6fe1e87a1b9b519d479b1743de2aa9c10ad054127cf4d70efce0ebacc5ed13eaad6814dc36d972a7af7aa721eae1635fa18c7c115960afd5ba393ff1bba25bba7f79c29dc748f976b964481f085bc04f763b718deb70f6f487e86ac805dec0f4e62cadbee833b5be88d0daee54efcafe77b67eb87145fdff7b4be2de2e3247d75204b808768857242369fe1ffda259057c541be788566ccef149030e5f03e0fadb8d16d281f96ee8a08c1056494e6bafae35961acc3c9d8d89e86c4a9aef1a82d675f6a316f006fdd11220df77164271a3fd5e821b9aa2dd8b2004def5506d5dbabd194ee19b5d896389a08dc7bef505dc3be0f860a8791b79351ba445d7d68cb3e0e54e23d55bf35376500f1c06d4260bee647e06fb31b19ad53ae8b7a56db5e89f68fd7258f05dd922b5b73e9385f045a6267fc3cba704aee7d7af063687ca31f48d209ed2ce8bce8b9026802181b7ac80fda0830783b2e290cc91af64a8e4b90e94777642695c7f31f04bbbd0b94b487730306b0a255fc7641f162157aeb524e4bb5e1fd4c234b2d8f2c213b7f719e1a23bc19150e5c6beeba3d57bc7b28b725838642eea73ce6c6c980a5d5d6b5970bdea2580e64a72d0974018252d6e4df03377e59c820fb2d56df899a14aa21b3e6ea5e82f6b802146484f9ba6422b7247e8c24d575453ecfd2ee2077d3047507573cc7a06f3816caec285ecca8c1510727da88d0e88e633db52b6c021672954e28818e54987a57e7e2a35d0c320f5cc00721ba826c0fe83f1a2138e3558d5984b328f24bf0fbf9987184fda88c1b0638669c99660b868577eea7640601070ea1bda7b69021ae8f7b212812a7876eee199950b194bd494db5e09d4aacc4925b3b51d11117c4d51664d5adec628dfbb66a35d536709dda1d4da7e960a0784b75041a10604cecfaa7c6df2cabe647f627683a430031a9ad7af3b06faac214c1728b6e3d613e515defbb6d7349dd91e4241862e7cd2594694c353ab85a4f7f02bd6046efbe93b9a718b0ec84c16cbf912041fe6672c70868fb38b34683d4e0f47a7d653d04aa3b4135536002d310b6e2b22ed9c465e6375ec21f8bf18df2b263bc356189874b99c16701c479d51af3be9ffcae93b2fd550757680af09bcf7059299b96ef43732c9ae79a4067108ee92b68045647170c01c89132327a617897dc78caf67622a4ed9d3e18c9a8ecc2836ad34db0118af3e6e0e3c7e12219d314c9ceac00e0312047d962fb088e29c402a0f1e432e0a936a6cab3a98f3120d69bed0010cc9dd1722b0e250bca21d9c309f5ee944cec194e78d5b69080e195aefe6271f078154b30a9e4dba4007a89a00ca20c0375b6b4c665e725e3da722f06e82598ac8b65ee7ec8ea65c3762b1a6fca6b540cabfcd1bbe0dcf3464019a6fdec31303b64bb8087d665d3e9f2f19e405008ac9f00eb7ff2517828fb1ce0a7a9e76c79bd0d7b1d734adf8bcc938c73e0c89742bf6ce0e34f6c95efbee04d14e9c5147185e70d16a9b6571cbcec03aafff2287da728bac5b8b96b69b98860dfe4935f33bf411de8864418927d5b9046093ae9e4a0a47e460b3350dbf34436aa023419b8fcce3f66226d3dc8c66a3f2e4be2708ad5ceba629d2f2f197d1d41717f515c25a40d252b9931a063242e8dd9adf1a22567ac6603ddf9b18613b32e28dacb1797ac3c037c3bfd0850d8b893881c1ced7b0a4029aa0979f79abb414a264e3367de5dd586cd799c7c4bfb91c7d5bc029e8fce81c1d68b59e5370cacd6cc93ba3f6f6e1d0b48bdb588a2d273eb00edf4139a6a7e64ec2a34515984599db4b201c3941bdc622ad1504034956f66bd398d0c84dca5daa1b2dd9714c585eddcf3e286f789af2a739cf78445db43a2bad37be65570ec5ad41f11b18fd00270d78bf46ca5e3e42c6401faeebecabb5c7196c6458d0c84a7031fe407371e6ee983f96cf61f452a2bcae0cc9a529f6d19519dc0d4166790813cbb2ac4a6d2b6050e9fa50c0c20c5112e8f3817ca59e52ed05baaba617bec24322c61c3d2969f8f05718a6a6c1cddcf0af17a38c94fbc9ff1ab449e6548bec6f7631ce0cf31fbd1669de6eb9a7bea724af1e3dcf3a34a6b0e29ee244c113d7fbc73435026db2cb29d70a903af5c6b5234029a7ff1012e859ad589a9d4bc5a375ac0926c1823b3089afe5065041380c995960f10f559fee23ec1550ec609d1912990b875240f079e6ca65f25b8104293596a9c435b8bf1a05da75e3693a28580e65478eacb86f5e99fa605ab21ba2c6de1aa85e59a82c1a0b12793a00ba5ce641eb67922eadbaa630559033f039a88a11a4eff70d3cbabe2c94b90afb68b250d7b3675bb5933ec810317b2325afd74a62af212478092d6610500c723b434da8acae7faa2d152bac51263badd79a298d4ab7744f4402e27e5993f5b6e0a109b24da3d41552c0e8566a126c5fd9b338724e964a0e4a63970291d480e70c168364d0f7921fc5910e4bcea608514c959366918ee13a674546806608f12cf6a5cc26f2f2db32093a430576065ed215510bfd77257c8e345d1b63c25b6eccb70443c2ad30e8ea9cb37a325317128346b9c8f9e0bc50c0470b5d6dc5b6f44eff439d1191fb24fd3500762bd3418e6cea4b0aecd3d9bdc1bbc3e72f5d793baa016a01f189716fcdf69f31f7553b2ea27bbe808f9356ff6aeb75941689c9265871ca8752953f8e6133559b888d5abd1873865b699aa73bbbb979cd5a7557ffe07a2465849c63ba3a2188303adecf96d6d0699613f8bc4d6b96c8caf2c5bd8a848eafe499cf48f7e7c13af17aadf06367ab4343c6504a6d894f49928d70462fadb642bb5c4e0142947b75d3f7fc9c3551a90867a65dc4890ec563e3eb517951be68fb57e69967ab1e63c14e46e77eaf97feb482bcd60aa657d6f4f432103a503526914d7b63a8e38981540a31cd90ca186475bb6861cb6ea814c16a3b24e20967545a91b4c114e1532df9d67744d0472f34b5f8c061bb93241d47e8dfc92bdc1bb8affe7088dd008f43e70470cf428f9beb3976ab4afa626f13868d65d36a9c0b1318d793189eee41abdbff8ae0efcb81d985e3bcf93f03b419e27f9162f34e26429bde69ced235d86418d86754e5a2b20c2ceb43af44b213e24d924b4d5809a7813d5fd80f505e6c09517f0b5855e18ace372a064ebf3005247bf91e0f56fb5ed05d942b89c7a6231c7e11a2ceeb69454d9d9d1dfb6f35baad98dbe448091e7094f6b11444dd7ea613f11045018d2739589288929e0da6ff21463fa7eaed2590390866d050aa2ff918cf5b6e547c8a39f85f039c01bdb73dfd1866ac165e87d62ef7ea8c6003eb3439131d28d13d4345fcf7c13343a25f58a8748a3c7035fd3dd4f0ecebc33cfd9c5e504d6ee6180de17cb49d6596056b34dc5f4ac6cc2e0f36a03f0c23dc23d50f228dc8e07cf5fdd2c4dc02b85f795f255d0939c531e53ebad5769775a82e3c38b4901e52d2e16028715d88a2338c93e1ac5b3825e0908fb42c0e2e74c50f02a8a32444f7867c0a756601bcf33efecb39e19d6808d48ebe63454599cf45cd20635abff47678cc7f6ee52bc72ed2b5735face9d896fabecbe369b3122981b5a95732edd3bab3eedfeeea2b0ab9c08239057eeee3d5f29c11a5e93d3c57db95f5683a12c0dd984e54c0d38ccec71ace236f42bb4ccbb4742a407ca3bb419d445222b3c11063384bb020de96ae3850f912a0982d0e6ea232fbbc4144ee5a9afec0c329e6bb61ab2fcdebf257adb2e66994d48152926d99365d2482ca2ff11e898eec98d6911867864663bc5ba77dff4adbf9c09cb8fdc2765d523d5690d3dd40dc8d1f23808e9589046370ce46f9313b424980ad7fd78ebf0d18c86fce118f441be7d8b0cbf768603c7aed92a9696f277e163f308a286212871d8e4da4d5821d407705e12858e8900087e92902830e49814a55da415769b6e2b20ab3959601089de76875413d7cad60c8104506c16e33c99ba4d5292112bd96612c39f30a1a2efe3256edfa3c3be416dfdd13337b170b9b19e42330c03483ad252e67a8588eb0f14fed645e0ba71db977de19c1a6b0d30effcb8fb5686c56cc45279faae305cf9f3691a8621ffbc96c444ec9e77c5831ede209698e965ed0b006e469280e6d1662bd93ecb0e6ea13604583865631bec5c77c04ff72a776ef6c756b96e81771ea7f151cedb59a3b15cc5a59fe99d4763c9984f1995ff0b492c6d9645dba0a362ed790a9ce0c55ff8ca079dd55c56416ea88e8472377981577a6dcb9e9c6859d4426a0a40811071e6ff54bf990f5f44ee1329d704fa66a3e274ad60e809ebaa13a7235da642d2448d9ef541f9365c92294fa3a4290ab31de0c519cd63ec9cbd060ec7cbff9dcafad1d330c72d93d31f8d558dfdfcee6cebaea575c2566d28948377ef5d9d8a9a98ca3f28250e5967b0e0200ae29b5fb58ca7301133af033436c6a3a41ddaf4a79574c45a66022597b754ed50e25858e64ac0d6f45718b21b3124daa17f4da4726e4a3a19383b32042dc9075b568e0a8656b0453ecf93ed7e37600f87b4d1552bae327104b1c09cf3900948b17321b5c67dd26c20d9f385924c346ffc37bbd0b0b20828ec9311210a073db0368e34c3b958c4ca123340d56d3fda5c711ced84bef2e6bdb53385157c5c0693df74d5cf5e38d7bc232a28a64d3351b6e51c0f0de4bf3428acba44589dff5e383f2d35a4babd345e2a7b3eda4e51d3e7cc2fb0e8813921a774f2f7f9828f34e871bbd4a124ec2242ab14a17aebf4f495c6ec10817df6ecb72308527e9d0c2c971d4d02b3013607f660d45e68b9783abf979237af367f63b4b116831b1a18735f5df2706c05d26edad61e0633c639a73812bfc1fb1ba58b2ed4c58b50638cebd678e4b259a7baa81c8c00b3c1bbef3cdd05319b6fc5f83147c31f6bae588c68500b40af27dcf01bf6c37dab6fcd508afcb2cbfa42b4821396b10d786a4b156b129093d0a4359dbe099732259207db6d688a745a42315b8fc9234a99a3f15a9b511cc01417fb2de8ad146ea1078d9a04f7e4ae4f2f730f949c61c213c5eeb0fde906ffb10f182eeca1bf", 0x2000, &(0x7f00000008c0)={&(0x7f0000000000)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) [ 379.008856][T20229] __nla_validate_parse: 43 callbacks suppressed [ 379.008866][T20229] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.2'. [ 379.014889][T16640] I/O error, dev loop3, sector 6016 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 00:06:19 executing program 0: socket$packet(0x11, 0x3, 0x300) r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000480)=0x1000, 0x4) openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000000), 0xa0000, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000140)={'team0\x00', 0x0}) sendto$packet(r0, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="aa71b28d436f"}, 0x14) socket$packet(0x11, 0x3, 0x300) (async) socket$packet(0x11, 0x2, 0x300) (async) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000480)=0x1000, 0x4) (async) openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000000), 0xa0000, 0x0) (async) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000140)) (async) sendto$packet(r0, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="aa71b28d436f"}, 0x14) (async) [ 379.058555][T20229] netlink: 68 bytes leftover after parsing attributes in process `syz-executor.2'. [ 379.079479][T20229] netlink: 'syz-executor.2': attribute type 5 has an invalid length. [ 379.136710][T20242] netlink: 'syz-executor.2': attribute type 4 has an invalid length. 00:06:19 executing program 3: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) r1 = socket$inet6_udp(0xa, 0x2, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) io_setup(0x81, &(0x7f0000000740)=0x0) io_submit(r3, 0x1, &(0x7f0000000900)=[&(0x7f0000000000)={0x0, 0x0, 0x0, 0x7, 0x685f, r2, 0x0, 0x0, 0x0, 0x0, 0x2}]) setsockopt$RDS_GET_MR_FOR_DEST(0xffffffffffffffff, 0x114, 0x7, &(0x7f0000000840)={@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e20, @local}, 0x0, 0x2, 0x3, 0x1}}, {&(0x7f0000000300)=""/84, 0x54}, &(0x7f00000001c0), 0x4}, 0xa0) getpeername$packet(0xffffffffffffffff, &(0x7f0000000040)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000080)=0x14) sendmsg$nl_xfrm(r0, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f00000000c0)={&(0x7f00000005c0)=@newpolicy={0x260, 0x13, 0x400, 0x70bd28, 0x25dfdbfc, {{@in6=@private0={0xfc, 0x0, '\x00', 0x1}, @in=@dev={0xac, 0x14, 0x14, 0x31}, 0x4e21, 0x0, 0x4e20, 0x3, 0x2, 0xa0, 0xa0, 0x2f}, {0x2, 0x1, 0x16d, 0xf8f5, 0x4, 0x4, 0x9238, 0xfffffffffffffff8}, {0xffffffffffffffff, 0x8, 0x10001, 0x9}, 0x8, 0x6e6bb9, 0x1, 0x0, 0x1, 0x2}, [@lastused={0xc, 0xf, 0x7}, @lastused={0xc, 0xf, 0x9}, @XFRMA_IF_ID={0x8, 0x1f, r4}, @tmpl={0x84, 0x5, [{{@in6=@private0, 0x4d5, 0x32}, 0x2, @in6=@private0, 0x3501, 0x1, 0x3, 0xe4, 0xff, 0x4, 0x8000}, {{@in=@empty, 0x4d5, 0x33}, 0xa, @in=@multicast2, 0x3506, 0x2, 0x1, 0x4e, 0x8e47, 0x698b, 0x101}]}, @migrate={0xe8, 0x11, [{@in6=@initdev={0xfe, 0x88, '\x00', 0x1, 0x0}, @in=@private=0xa010102, @in6=@mcast1, @in6=@private1, 0xff, 0x0, 0x0, 0x3502, 0xa, 0xa}, {@in=@rand_addr=0x64010102, @in=@remote, @in=@remote, @in6=@private2={0xfc, 0x2, '\x00', 0x1}, 0x2b, 0x3, 0x0, 0x0, 0x2, 0xa}, {@in6=@private0, @in6=@rand_addr=' \x01\x00', @in6=@local, @in=@multicast2, 0xff, 0x3, 0x0, 0x3501, 0xa, 0xa}]}, @extra_flags={0x8}, @coaddr={0x14, 0xe, @in6=@ipv4={'\x00', '\xff\xff', @empty}}]}, 0x260}, 0x1, 0x0, 0x0, 0x4000}, 0x4) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000280)={'sit0\x00', 0x0}) r6 = socket$nl_route(0x10, 0x3, 0x0) r7 = socket$netlink(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r7, 0x8933, &(0x7f0000000180)={'vcan0\x00', 0x0}) sendmsg$nl_route(r6, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r8}, [@IFLA_IFALIAS={0x14, 0x4, 'wg1\x00'}]}, 0x34}}, 0x0) sendto$packet(r1, &(0x7f0000000140)="f603365a21ac04c2c57ccd321089b4d3d82a519e738b756406e21bf1a3814658365db383936eebf5f46949d306824ed0", 0x30, 0x40001, &(0x7f0000000180)={0x11, 0x11, r8, 0x1, 0x5, 0x6, @link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0x1}}, 0x14) sendmsg$nl_xfrm(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000004c0)=@updpolicy={0xcc, 0x19, 0x1, 0x0, 0x0, {{@in6=@empty, @in=@private, 0x0, 0x0, 0x0, 0x0, 0xa}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, [@mark={0xc, 0x15, {0x0, 0x3}}, @XFRMA_IF_ID={0x8, 0x1f, r5}]}, 0xcc}}, 0x0) 00:06:19 executing program 0: socket$packet(0x11, 0x3, 0x300) (async) r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_int(r0, 0x107, 0x14, &(0x7f0000000480)=0x1000, 0x4) (async) openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000000), 0xa0000, 0x0) (async) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000140)={'team0\x00', 0x0}) sendto$packet(r0, 0x0, 0x0, 0x0, &(0x7f0000000180)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @random="aa71b28d436f"}, 0x14) 00:06:19 executing program 4: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000000)=@newsa={0x154, 0x10, 0x633, 0x0, 0x0, {{@in=@multicast2, @in=@local}, {@in6=@loopback, 0x0, 0x32}, @in=@local, {}, {}, {}, 0x0, 0x0, 0xa, 0x4}, [@algo_crypt={0x48, 0x2, {{'ecb(cipher_null)\x00'}}}, @encap={0x1c, 0x4, {0x1, 0x0, 0x0, @in=@initdev={0xac, 0x1e, 0x0, 0x0}}}]}, 0x154}}, 0x0) sendmsg$IEEE802154_LLSEC_SETPARAMS(0xffffffffffffffff, &(0x7f00000002c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000280)={&(0x7f0000000200)={0x54, 0x0, 0x100, 0x70bd2d, 0x25dfdbfe, {}, [@IEEE802154_ATTR_SHORT_ADDR={0x6, 0x4, 0xaaa3}, @IEEE802154_ATTR_LLSEC_SECLEVEL={0x5, 0x2a, 0x3}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED={0xc}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED={0xc, 0x2d, {0xaaaaaaaaaaaa0202}}, @IEEE802154_ATTR_LLSEC_ENABLED={0x5, 0x29, 0x1}, @IEEE802154_ATTR_PAN_ID={0x6, 0x6, 0x3}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT={0x8, 0x2c, 0x2}]}, 0x54}, 0x1, 0x0, 0x0, 0x10}, 0x8881) 00:06:19 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000000)='proc\x00', 0x0, 0x0) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000740)={0x7f, 0x7, {}, {0xee00}, 0x0, 0xb39}) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0xee00) syz_mount_image$hfsplus(&(0x7f0000000080), &(0x7f00000000c0)='./file0/../file0/file0\x00', 0x2, 0x8, &(0x7f0000000680)=[{&(0x7f0000000140)="204b51c19595e2cf4ba53cf112a6afca2508c5fd36051ef6bd1005f7a0abeefe", 0x20, 0x1}, {&(0x7f0000000a80)="c3506aab68adc3a336317e8fcc9e1c197f3433a649decf3adc669ff6bb18e3e3a5d8644c6bd06bb537d61fed07cf519f5f3ae667ba22455290cc96344eaf5d5808ce9a93723807f64d302bb12d82ba191ba003ad0007c10e43066fff8d95439244702bdf7d3a61dfa0ed26e962964ac3dfc998f15f36ae414b5e11e87be0b1d28d89271a92beadbc61d759b7ae835b89df354836fa21e3bb3e447825de8f5a2bb3b32f819d96559e75aa2511781ff2b35478359a7ad4a5deb0fe05919095b07a019f9a9487da921cc7c77db4cd805aac662bacb0ef08bf12da4501109d6890129df54d3db5033b4a6cc409867161bce16ea3515f94f02d40f909afe0bcd9d73bc658411e451bc1154a4760085652b0ae4130f1a7516d966cc16b9d335a6476e6adcecce0f4521cb8c3f1c1c3c4ac2ff502a232a0e0ceaa64616762346c30c6b485ef26fb4ec8f5e6ac4bff3438f8ea60bcfc870cbb7c2f737147399b407ef40d0812f3e4b18a4e6087e353aaca9d12cc1983f7e55e37b602dddb5ee52647317dd45e65198fa80fc626d72a88ea224dc60a14e9f99aedf39314131bce477dc57ed1ce8180ff464ebabab22411286b6e245dcb6c5dc7194c500681e772eaa06cfd03403511ed69d919c771f69988d6c454d6f19aad0c5ada87301bdeba749bcc3799b6cd216bb191e42de3ed15a2d1c0ed8bf9a2e0551e035a7a8db801a7a578ff073600bd963eb356898b84d19cb12b80e444f23e76a0f33c37f6df5fa07c72cf279464f681c00f14fbf26a70075697fbec6828718e4b883dd80f4283595a8eff40a7de23b2867e758a692d606b714fbd7295f51e9cfab7f4af476b2bdf8430aeb027a8efba7f2066a5efd605395d9873413cb93cc381c52ac727da0ec3ad80b8a57ecf63b5caedeed9fdc865b578e791b8bac5203bd4fa9f92bd0b7938487a5695a4a75b32a1e441c43fc549500196e11ed47c8288c05591c12ab1b2a66bfdb29588aae99729f9ec3d2c6a4a0935634bc69c3195479caa2577d959717a39a951defd0b2c6bb9163c5e8ad28c3dcf24ac6ce2edc7424f6dcf28a509cba4fdfd74a1ba7b4076aabc79059f9f31219a59cd773dd07a913b1c63558f1d15674d2c2c1f7ed8791909bcbb03b4aaacdffa28d9fad34554ff40d3e95afc0207d8986834f039a5dd75ca96f501e196b4e5153bfda292077313e0c6787f394ae93943ac1515b4b43a395d0f023c0f50c17e8f3371dea2cff95c51ebe1d24223316ab04445410e1cad8fe039891c89eb9fbbf3a3835ad71eaf31602e4e563c3134967c2c6c80deb614e931bba6eb92f2447122a837521cb163d862155688fdda05c8440f9ff312b92e0cd620dd7514d57c4fb93817368d6d08214e2cd7c89b1191913ab237aa2cb6c13d5762d1fda2614393c800b366c7f7a51a5e4c2a507a581a09034ef67bee63ec0e900a27824db7313613215a3f0d174359c2fac2faec1189d18e985d0dad4ebee36b54e4d44b29a6eb2ba2021eb92be4d3f490edd6e16f1e48ac32c28fc8f5b105912400cd4712a4d89985f42e9319fafc78251083bae23e5a5d154334a3509db1c6375003030be69b64c3915a07f22bdb2d9947f81b6ef03df05f5a06439850ba6c66e7d33cb22b8802ac30ad6a80abf9171d11985f0d44fa4af2e42b39fad135b0d6b8b8839c9da5e5399f0275fc520fa0266aee56bed1c8a2d1595efa0b6be3f9c8ba455f03146260b851dbac4e7cafd101e8045023982ad071dd9505f023d20f3d05d49000c70978cc6bf2704cf29637f7f58f091b998c0d1f95580d232947ff9f106a15c3a81c9fe46dcbf770ebac6422cb5133005e9d34c6b6e3e9f6af6c53af37ee65361abe35d95ffa3f42965a8e91ccbd2dbda3df947d800029e6969eea30ef77a96dadee6d589fa47c90380073604da6d612b7a2d50d26aeaad390a4b8f22aaf22eb04d8b32a8d81041de2d9cd2a8ddf21187234c791e30f33810b3597e89cfca3c84eeb66ca592e4c9797908e55c0e3d6448bc3f0379c695348f5758f0d1ef22f13f25a3647957732ac0eb1fb2855f1036dd5e052fb4e53b7b036af1ea3627a3e183c61fc14affb2df468bdceda9bfd69906dc4a6a5fa5ff759dd5ce85a1d71eff0df8bcd53ccb4b4b42284015e934106c4964335e54d49a884352351dee288814d8cbc344572b10a71fc8b5c55280e441b8bed2c3ed87f84257dc1cd4198e027af5018d54bfc4451f218fe982a77d200f6c855716d848bb00080eebd608e6e1e71506ce048e348f8cf01f5ea158069cfc377b13d63d38d07699ec90b9ae29a5e0849cac3304c33c6ed2d539f7bed17c1abbc927110383bcfc3014d2db1ffd908c7039dd6c9af9d3b1855ffc685be7d6bc110fa1d285a2224fd9d28b48e2207f67b1d2448e46530834e446e9ba090d9d56d6e506f797c38c7d05ed4e94c2c58fde9083aa4e3565645e38b6448669b7ee82e562dc1561bf3947dafd423b6aed7af94187070d75364dfa253f57af9f37c7e34ea297db27e06af86e9d25ab91617dea3697c7dd4e8c346fa94d64abbcd394653162f8d8ea46dbd7654f554169b8711587eeba57d1985ce01d44fc3b545e904bfd92089b2e1013474c5273b9eff08d3c7ff4122dd5ff4d8a296b7e5b3ef9789b7fd5e8b75a0f16b22160095fb7f962d78df1796aa2ecafef21502ecd6ec169bbca57d917a13352a76598002d66a524ddc6af26cd00b777e661d90def96f2d96aca7981b56cad984d1b63f30b5fd67eb19af7d53bcccd7b25cfe10890135f91aad1df3316f930f0313f3fd60c550b2c4da46217bfdfa8156aaa92bff762b4d716f1dcfcc87f289d75118234ce5623e473719bcf71b85678a2c0e3d29e399841c3a5709a70d41a6acd517e20399ec2290718e20711329b1b3bd38e5faafab1985b384bc78cb289f737daab37aac360b5182b512433d89d161253323cfef1304177f1d25919fdd10dfab5ebcaae12635d9e44aa774566695b657f8c685cedf06cc690b35276f2608790ec6e796c83b70e5167432a3fe27ab6268ae7256bd0ac4b1b8650b556e2ab3f07bb4e34484b714c6ebd47ac98dbe64284374f2ab7aa86a491532dc5ff05bbb78fe54dbf06d688d9fe61987e0fe9ec2a985c7a155b11fcd2b62caede1274ad440502509ab6c9c93016478e1237da25afc306692784ddc115e816cb732b338ca4457f8d7ddfe4f3415750df3997c252da22c51dea90b62cd00583137e4513da9642755c2cb4ceb90ff395fa0ee0c3dc4f4f043b2829372c290fec1fe9aed4bf182119221312608a8038dee289fce226e82ffe1f319162a1e3aa7b076695e301e4f10f956d97dc7c39830f08dfce503bdb232a1d8b69d5ea569c30dc859f25c161c9f2953809ce6bda936e6880a0f336d030de510a3630181c4fb4502c0476be421b65d0289f1441c1c2fa40b896ff4f8b4c4ca78988a6ebcd39f0c5e2cab8ff3d9ed6ab090ab827c32495754b9bfe5345e0eb63a8edf04f1459c44a4fd81ef0ae5c0865d9dd4474c450b7961970ff248c7555311e09883374fa6e2095b37b3cdd156b16968e39f2aeec973d9873d2bb63161e8d7d14c2ce5e0bc0d284a6456a9ff586c8294a6734ee7b0d585f4b128ef056238dfc30145063d1c2c910f821c41d8e7eea378d246369cd6203cfb956ea19b2b3d91975d747918215dbab09258f9bf9b232ed87b5572565464a791efc5ba4a5d4d233a7301e3fef03a979b3d8bb092ca14a471a3c0ee16f8e47fdb82a40fd3548524022bb66b712df25e5432afa7eaadc15fbdd96f5304790e893f4a19cd0a54d92df29df55c9c3a5535aa6780d3a412817559bfbf47a01e4780b49341454ad2b3f07f6fb14fe53d7e7ec4e0c75e4225f64c02c950ea08b9cfe8a2242c51729333dc1aa799f905ab16cfcfc2c2e2c47c39989697ac49222421ab961a9cdb1045485de4114de94020a6d2c9e3f9a3b5863dd84439dacbccf943ed26e827ff2ec7fac133b3739eb1b29db6ac3e8668402b6ce34b6094476ab6fd500fb2dc19723e7a67f055e4a5b7098d53ef3460b2f993031b90e79189ee2515f736d5c0fa261179cc3a3b4955ca878b49f8ce982ae29f2019702503011d5d9028a4d90280a1d57d9737e36550edd7f67e6c277426216575b74b0bd4b9f96056922d76a132a6cca1da75e8f8a9fbb4ef78e7706869dd03abb2abb9608e8d8cc8511aae24330545eb3812b764290bade7a07311a95de57326348c652d5b85ccc6898df84ecb6c27369ab0044b15e64dbb90300e084e08cf96bccd5fc3b629a9b6a03fc3bb76a68ff4d12204547fe92f824e56260d75c87bf6d808668d803297756092ae1758b26bc0cbb8492b1f67119e406e16f30cbfb42497967a00b9a92b1335c69e864dbe943c4c7bce97e3ed4dbf5987c27fae7024a7e24a907fd26e2be215901bea9114e16bd568bccd7246fb4d5f5b8c7ec05392930d72ad8931069f0d80fb21bd9e8d1a7ee31ab52c401d49eea0abc01ada688f79f56a7e1a02270e14f213dbc80f525ef70d14bf84ecdb571b0625867060cdcafa7956ca5a4efd5f5c8167ad2bb3c72b27e526ac9d5f7ec723638ea65fb7fd1aea5ddbd3a67b21ef2dc22317207db16a98296042d19f89782b1abc3d9f39782e87f3741f574f8ef4d6fbda4adb12a2e2fc885ac3bc60f07edf6007bf975f8928044d91e14cf49d30af37e1976b57487c6b7548bab673beb1163a40590d5a7da9b8c395093333d937f941659b68659ff2913f3e2f740564c0fae3f789804bc9f72cd3e42718ba080ff85673239e90f3b8818cf4987ac0f315fdabf88abea01851baaf0e4287996c8ae97448828cad874d53c6c1e64c3be3a356b9be8189fecaf9feca44affc96f71b9afe5287da8d18e2f66a4b4f23d20bb5610426748ec1a3557988f4a6497312f04f51dbe5809672469634b59f2024d689a9544f00d70d53e745980a29aebabc0ff0c73c9027008d7bb2224141249453186e9ae9983e41e22722e33434fccaffdf0b58905d6f46051908fcdc6cc852047e6cbe6b43b3b9164e95a741bb5149ecb8cffa0f2bf39ca575601705f60b57a285d122488bf550cb6eb1f7da76153b40843aa3328f247a81b34368c7e01e198195c72a4f6ee9703435af5e9e02e59daf1a613aa7b30027dabdc94ed838a701e98b5d4f7c8199670be9918af28218ac5768758f5a10e2710bd91d72f83962efaa0aca588b3b8f4c61ace4e941c19ff666f7d91d5845cf489207467999db93eae3b67421c0d2354ab1c0c541fbca2292fdedcaf21f1105a3a30f2ae144c1188f6f6050aade5aa5d428065409e23fd026c4e309a4760d9f6428d2cb604e366acc04abaf9b88576a8f9006711da05b434ba2670b8175b2a790a0da3436a2b921d7221ae630de00be3c1000935ec736bbc6b260ffd46b96f77ae53e33bb54df1ad011101c5ea16ee3f1b790d23ceaab712d47cf47f53a6908a6bb6397113aac159fb46b9ff7e1d1c89da808a7b7871f30ad0d5891a2742b808c5331be09225b63d51b8f7b68fa3e13894fde0b5a30242d453199c33ee7e7d8e2e4775fd944a8f6d65d6da2b6e9686a5f1ac39cb27c2b6d3c27a44c30f3f3a12e3ef2eb2318b5c704b761dad1a6d9909840beda2aa1b1969bf9dc0de8455f632903324cbad9758a16a7fb99c37cddb11df45dbe3924cc5b841958d4992d6a072d217bcd15ef2e7ab4ca1b9dc826000c695e269c0f0f4bcd61e79ea9022362e483728771bc6cc42d4f01046b31f60474", 0x1000, 0x8}, {&(0x7f0000000840)="2c34c8716cc2155f973083a73548fee85a92505bb54fd543a44a612bd63ee40299d6df01d758efc86f706c69b2137e0e3fc445b569318d78abebcddd47cb463677157ebfc330545017ceb7b10583244f72342b7a16fce628e497dae8d900c574a44f8eea898b94eddbb9feb0f510513b7ccfca03bc0bc9dc38a450956f39505ae4365b9811d4450ee3ec135d2b64929b45eed1eecf9c9edd64d564ee518a26fe52761e189b8284a6006a56090db26348b27f26562c8a69dec66f1394bd3f3df121e27e1d8bf4d45e4ebdf611d0b77386bc058fe4b060d5bcb769d906650ed78f25e0aba338f50df5489e71", 0xeb, 0x1}, {&(0x7f0000000280)="185cbf6ad459ad954438c86c878e562b3dccf68a43fba7175a11fba7ebf57b9b94191c4b1cbb33bf37d8b01887ce0e1f755a002b5d74a7cc1c2c8b25744ecf9d828f9d60b05a58ff77dd86536fc25ae22c5037dfe435094bc50114e985680e993065f0a231128d28ce4b10cdbadf1624952b4f8293dda3c9d60da32edfdf44b660aa492afa77de9249d1ece0bcc268c39f12f8f675d283f308e8a6a9e666f999a1fa8ff3a60eac8cf5bb15b383c2485346", 0xb1, 0x7ab}, {&(0x7f0000000480)="74e589d36e059a8195c09730504962643ed7918de419e995147242c1abe6736e02e833c87f5021d3745d3fbe698093c34ce3e0c3e3aadc14a45376ebf55bc52a7ec49e93dc418674dfce9d8e895d4bcf40e7803e2f8e254405ca3783b0c890f2a1e112a4fd26d6907368f5199c75194a1f73467a94f468b249b624e9553b04eea0460182d93a1322262b69de06f3b93b9b7042b0b63c2c91c0c394ddcb86e89af2179c115be797822de45881ef65282bf1d5b19cd60b9d270501c84311cf04930eb5147166804a7a24c5372704f4ad4b873179b624b8370238f369e84bfbfbe46beefb87ae780943856f21bd50d14fb4ede05d7c7859652a", 0xf8, 0x25}, {&(0x7f0000000340)="03f5f773cd5c5f776cacb7449fe022bde88ad961598f2515839b502f013f73b579536057e7d5f55ff0aae6114055acbe5ccd6a241762f61983", 0x39, 0x2}, {&(0x7f0000000380)="e728cf95d17978b281b84c50e4ad4f507c1615b2f4dd08f985cf08e5936bfe33899a006586bab0ade490a7964485d02f9303f4231ab1ca64d1b7b210ae45d0bea6304c0978a4c988066d8dc25ba012c52f6be22d7c73", 0x56, 0x7fffffffffffffff}, {&(0x7f0000000580)="263ea6f4c812fc976619702a21034e5421816dc84e27dd22c5298b6fdb0061cf16e7504d30ef27e844c135877ae9801c1bdcc434e7c08076d8996d04443180d2c0d6001638b35598b3924c685f29814e532d49deb3ffafe928ba786c8252e5393955eef6acde49085bf6d0e6abae4ec8f819191a8c9f1ddff3540f768d52430f029c2d40390ba2ba1f8d612d9a00ee1f2f78e2160069e0cb6b31749eeffae7ff932556660c1ea7559d272fcd218cdb5f7b19307b15f862bd40d2eb705473dc2134da50851b4c7573c890b61f5247f7a9d5c4167e194f1ccf22f0a53b8d09b387b8635c824545ee2627a3902033a472", 0xef, 0x8000}], 0x1000, &(0x7f0000000780)={[{@part={'part', 0x3d, 0x7}}, {}, {@barrier}, {@force}, {@uid={'uid', 0x3d, r0}}], [{@uid_eq={'uid', 0x3d, r2}}, {@smackfshat={'smackfshat', 0x3d, 'gid'}}, {@smackfsroot={'smackfsroot', 0x3d, '*-u:]-|'}}]}) syz_mount_image$exfat(&(0x7f0000000400), &(0x7f0000000440)='./file0/../file0\x00', 0x0, 0x0, 0x0, 0x1008a0, &(0x7f0000000a40)={[{@gid}]}) mkdirat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000000)='proc\x00', 0x0, 0x0) (async) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000740)={0x7f, 0x7, {}, {0xee00}, 0x0, 0xb39}) (async) socket$inet_udplite(0x2, 0x2, 0x88) (async) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) (async) setresuid(0x0, r2, 0xee00) (async) syz_mount_image$hfsplus(&(0x7f0000000080), &(0x7f00000000c0)='./file0/../file0/file0\x00', 0x2, 0x8, &(0x7f0000000680)=[{&(0x7f0000000140)="204b51c19595e2cf4ba53cf112a6afca2508c5fd36051ef6bd1005f7a0abeefe", 0x20, 0x1}, {&(0x7f0000000a80)="c3506aab68adc3a336317e8fcc9e1c197f3433a649decf3adc669ff6bb18e3e3a5d8644c6bd06bb537d61fed07cf519f5f3ae667ba22455290cc96344eaf5d5808ce9a93723807f64d302bb12d82ba191ba003ad0007c10e43066fff8d95439244702bdf7d3a61dfa0ed26e962964ac3dfc998f15f36ae414b5e11e87be0b1d28d89271a92beadbc61d759b7ae835b89df354836fa21e3bb3e447825de8f5a2bb3b32f819d96559e75aa2511781ff2b35478359a7ad4a5deb0fe05919095b07a019f9a9487da921cc7c77db4cd805aac662bacb0ef08bf12da4501109d6890129df54d3db5033b4a6cc409867161bce16ea3515f94f02d40f909afe0bcd9d73bc658411e451bc1154a4760085652b0ae4130f1a7516d966cc16b9d335a6476e6adcecce0f4521cb8c3f1c1c3c4ac2ff502a232a0e0ceaa64616762346c30c6b485ef26fb4ec8f5e6ac4bff3438f8ea60bcfc870cbb7c2f737147399b407ef40d0812f3e4b18a4e6087e353aaca9d12cc1983f7e55e37b602dddb5ee52647317dd45e65198fa80fc626d72a88ea224dc60a14e9f99aedf39314131bce477dc57ed1ce8180ff464ebabab22411286b6e245dcb6c5dc7194c500681e772eaa06cfd03403511ed69d919c771f69988d6c454d6f19aad0c5ada87301bdeba749bcc3799b6cd216bb191e42de3ed15a2d1c0ed8bf9a2e0551e035a7a8db801a7a578ff073600bd963eb356898b84d19cb12b80e444f23e76a0f33c37f6df5fa07c72cf279464f681c00f14fbf26a70075697fbec6828718e4b883dd80f4283595a8eff40a7de23b2867e758a692d606b714fbd7295f51e9cfab7f4af476b2bdf8430aeb027a8efba7f2066a5efd605395d9873413cb93cc381c52ac727da0ec3ad80b8a57ecf63b5caedeed9fdc865b578e791b8bac5203bd4fa9f92bd0b7938487a5695a4a75b32a1e441c43fc549500196e11ed47c8288c05591c12ab1b2a66bfdb29588aae99729f9ec3d2c6a4a0935634bc69c3195479caa2577d959717a39a951defd0b2c6bb9163c5e8ad28c3dcf24ac6ce2edc7424f6dcf28a509cba4fdfd74a1ba7b4076aabc79059f9f31219a59cd773dd07a913b1c63558f1d15674d2c2c1f7ed8791909bcbb03b4aaacdffa28d9fad34554ff40d3e95afc0207d8986834f039a5dd75ca96f501e196b4e5153bfda292077313e0c6787f394ae93943ac1515b4b43a395d0f023c0f50c17e8f3371dea2cff95c51ebe1d24223316ab04445410e1cad8fe039891c89eb9fbbf3a3835ad71eaf31602e4e563c3134967c2c6c80deb614e931bba6eb92f2447122a837521cb163d862155688fdda05c8440f9ff312b92e0cd620dd7514d57c4fb93817368d6d08214e2cd7c89b1191913ab237aa2cb6c13d5762d1fda2614393c800b366c7f7a51a5e4c2a507a581a09034ef67bee63ec0e900a27824db7313613215a3f0d174359c2fac2faec1189d18e985d0dad4ebee36b54e4d44b29a6eb2ba2021eb92be4d3f490edd6e16f1e48ac32c28fc8f5b105912400cd4712a4d89985f42e9319fafc78251083bae23e5a5d154334a3509db1c6375003030be69b64c3915a07f22bdb2d9947f81b6ef03df05f5a06439850ba6c66e7d33cb22b8802ac30ad6a80abf9171d11985f0d44fa4af2e42b39fad135b0d6b8b8839c9da5e5399f0275fc520fa0266aee56bed1c8a2d1595efa0b6be3f9c8ba455f03146260b851dbac4e7cafd101e8045023982ad071dd9505f023d20f3d05d49000c70978cc6bf2704cf29637f7f58f091b998c0d1f95580d232947ff9f106a15c3a81c9fe46dcbf770ebac6422cb5133005e9d34c6b6e3e9f6af6c53af37ee65361abe35d95ffa3f42965a8e91ccbd2dbda3df947d800029e6969eea30ef77a96dadee6d589fa47c90380073604da6d612b7a2d50d26aeaad390a4b8f22aaf22eb04d8b32a8d81041de2d9cd2a8ddf21187234c791e30f33810b3597e89cfca3c84eeb66ca592e4c9797908e55c0e3d6448bc3f0379c695348f5758f0d1ef22f13f25a3647957732ac0eb1fb2855f1036dd5e052fb4e53b7b036af1ea3627a3e183c61fc14affb2df468bdceda9bfd69906dc4a6a5fa5ff759dd5ce85a1d71eff0df8bcd53ccb4b4b42284015e934106c4964335e54d49a884352351dee288814d8cbc344572b10a71fc8b5c55280e441b8bed2c3ed87f84257dc1cd4198e027af5018d54bfc4451f218fe982a77d200f6c855716d848bb00080eebd608e6e1e71506ce048e348f8cf01f5ea158069cfc377b13d63d38d07699ec90b9ae29a5e0849cac3304c33c6ed2d539f7bed17c1abbc927110383bcfc3014d2db1ffd908c7039dd6c9af9d3b1855ffc685be7d6bc110fa1d285a2224fd9d28b48e2207f67b1d2448e46530834e446e9ba090d9d56d6e506f797c38c7d05ed4e94c2c58fde9083aa4e3565645e38b6448669b7ee82e562dc1561bf3947dafd423b6aed7af94187070d75364dfa253f57af9f37c7e34ea297db27e06af86e9d25ab91617dea3697c7dd4e8c346fa94d64abbcd394653162f8d8ea46dbd7654f554169b8711587eeba57d1985ce01d44fc3b545e904bfd92089b2e1013474c5273b9eff08d3c7ff4122dd5ff4d8a296b7e5b3ef9789b7fd5e8b75a0f16b22160095fb7f962d78df1796aa2ecafef21502ecd6ec169bbca57d917a13352a76598002d66a524ddc6af26cd00b777e661d90def96f2d96aca7981b56cad984d1b63f30b5fd67eb19af7d53bcccd7b25cfe10890135f91aad1df3316f930f0313f3fd60c550b2c4da46217bfdfa8156aaa92bff762b4d716f1dcfcc87f289d75118234ce5623e473719bcf71b85678a2c0e3d29e399841c3a5709a70d41a6acd517e20399ec2290718e20711329b1b3bd38e5faafab1985b384bc78cb289f737daab37aac360b5182b512433d89d161253323cfef1304177f1d25919fdd10dfab5ebcaae12635d9e44aa774566695b657f8c685cedf06cc690b35276f2608790ec6e796c83b70e5167432a3fe27ab6268ae7256bd0ac4b1b8650b556e2ab3f07bb4e34484b714c6ebd47ac98dbe64284374f2ab7aa86a491532dc5ff05bbb78fe54dbf06d688d9fe61987e0fe9ec2a985c7a155b11fcd2b62caede1274ad440502509ab6c9c93016478e1237da25afc306692784ddc115e816cb732b338ca4457f8d7ddfe4f3415750df3997c252da22c51dea90b62cd00583137e4513da9642755c2cb4ceb90ff395fa0ee0c3dc4f4f043b2829372c290fec1fe9aed4bf182119221312608a8038dee289fce226e82ffe1f319162a1e3aa7b076695e301e4f10f956d97dc7c39830f08dfce503bdb232a1d8b69d5ea569c30dc859f25c161c9f2953809ce6bda936e6880a0f336d030de510a3630181c4fb4502c0476be421b65d0289f1441c1c2fa40b896ff4f8b4c4ca78988a6ebcd39f0c5e2cab8ff3d9ed6ab090ab827c32495754b9bfe5345e0eb63a8edf04f1459c44a4fd81ef0ae5c0865d9dd4474c450b7961970ff248c7555311e09883374fa6e2095b37b3cdd156b16968e39f2aeec973d9873d2bb63161e8d7d14c2ce5e0bc0d284a6456a9ff586c8294a6734ee7b0d585f4b128ef056238dfc30145063d1c2c910f821c41d8e7eea378d246369cd6203cfb956ea19b2b3d91975d747918215dbab09258f9bf9b232ed87b5572565464a791efc5ba4a5d4d233a7301e3fef03a979b3d8bb092ca14a471a3c0ee16f8e47fdb82a40fd3548524022bb66b712df25e5432afa7eaadc15fbdd96f5304790e893f4a19cd0a54d92df29df55c9c3a5535aa6780d3a412817559bfbf47a01e4780b49341454ad2b3f07f6fb14fe53d7e7ec4e0c75e4225f64c02c950ea08b9cfe8a2242c51729333dc1aa799f905ab16cfcfc2c2e2c47c39989697ac49222421ab961a9cdb1045485de4114de94020a6d2c9e3f9a3b5863dd84439dacbccf943ed26e827ff2ec7fac133b3739eb1b29db6ac3e8668402b6ce34b6094476ab6fd500fb2dc19723e7a67f055e4a5b7098d53ef3460b2f993031b90e79189ee2515f736d5c0fa261179cc3a3b4955ca878b49f8ce982ae29f2019702503011d5d9028a4d90280a1d57d9737e36550edd7f67e6c277426216575b74b0bd4b9f96056922d76a132a6cca1da75e8f8a9fbb4ef78e7706869dd03abb2abb9608e8d8cc8511aae24330545eb3812b764290bade7a07311a95de57326348c652d5b85ccc6898df84ecb6c27369ab0044b15e64dbb90300e084e08cf96bccd5fc3b629a9b6a03fc3bb76a68ff4d12204547fe92f824e56260d75c87bf6d808668d803297756092ae1758b26bc0cbb8492b1f67119e406e16f30cbfb42497967a00b9a92b1335c69e864dbe943c4c7bce97e3ed4dbf5987c27fae7024a7e24a907fd26e2be215901bea9114e16bd568bccd7246fb4d5f5b8c7ec05392930d72ad8931069f0d80fb21bd9e8d1a7ee31ab52c401d49eea0abc01ada688f79f56a7e1a02270e14f213dbc80f525ef70d14bf84ecdb571b0625867060cdcafa7956ca5a4efd5f5c8167ad2bb3c72b27e526ac9d5f7ec723638ea65fb7fd1aea5ddbd3a67b21ef2dc22317207db16a98296042d19f89782b1abc3d9f39782e87f3741f574f8ef4d6fbda4adb12a2e2fc885ac3bc60f07edf6007bf975f8928044d91e14cf49d30af37e1976b57487c6b7548bab673beb1163a40590d5a7da9b8c395093333d937f941659b68659ff2913f3e2f740564c0fae3f789804bc9f72cd3e42718ba080ff85673239e90f3b8818cf4987ac0f315fdabf88abea01851baaf0e4287996c8ae97448828cad874d53c6c1e64c3be3a356b9be8189fecaf9feca44affc96f71b9afe5287da8d18e2f66a4b4f23d20bb5610426748ec1a3557988f4a6497312f04f51dbe5809672469634b59f2024d689a9544f00d70d53e745980a29aebabc0ff0c73c9027008d7bb2224141249453186e9ae9983e41e22722e33434fccaffdf0b58905d6f46051908fcdc6cc852047e6cbe6b43b3b9164e95a741bb5149ecb8cffa0f2bf39ca575601705f60b57a285d122488bf550cb6eb1f7da76153b40843aa3328f247a81b34368c7e01e198195c72a4f6ee9703435af5e9e02e59daf1a613aa7b30027dabdc94ed838a701e98b5d4f7c8199670be9918af28218ac5768758f5a10e2710bd91d72f83962efaa0aca588b3b8f4c61ace4e941c19ff666f7d91d5845cf489207467999db93eae3b67421c0d2354ab1c0c541fbca2292fdedcaf21f1105a3a30f2ae144c1188f6f6050aade5aa5d428065409e23fd026c4e309a4760d9f6428d2cb604e366acc04abaf9b88576a8f9006711da05b434ba2670b8175b2a790a0da3436a2b921d7221ae630de00be3c1000935ec736bbc6b260ffd46b96f77ae53e33bb54df1ad011101c5ea16ee3f1b790d23ceaab712d47cf47f53a6908a6bb6397113aac159fb46b9ff7e1d1c89da808a7b7871f30ad0d5891a2742b808c5331be09225b63d51b8f7b68fa3e13894fde0b5a30242d453199c33ee7e7d8e2e4775fd944a8f6d65d6da2b6e9686a5f1ac39cb27c2b6d3c27a44c30f3f3a12e3ef2eb2318b5c704b761dad1a6d9909840beda2aa1b1969bf9dc0de8455f632903324cbad9758a16a7fb99c37cddb11df45dbe3924cc5b841958d4992d6a072d217bcd15ef2e7ab4ca1b9dc826000c695e269c0f0f4bcd61e79ea9022362e483728771bc6cc42d4f01046b31f60474", 0x1000, 0x8}, {&(0x7f0000000840)="2c34c8716cc2155f973083a73548fee85a92505bb54fd543a44a612bd63ee40299d6df01d758efc86f706c69b2137e0e3fc445b569318d78abebcddd47cb463677157ebfc330545017ceb7b10583244f72342b7a16fce628e497dae8d900c574a44f8eea898b94eddbb9feb0f510513b7ccfca03bc0bc9dc38a450956f39505ae4365b9811d4450ee3ec135d2b64929b45eed1eecf9c9edd64d564ee518a26fe52761e189b8284a6006a56090db26348b27f26562c8a69dec66f1394bd3f3df121e27e1d8bf4d45e4ebdf611d0b77386bc058fe4b060d5bcb769d906650ed78f25e0aba338f50df5489e71", 0xeb, 0x1}, {&(0x7f0000000280)="185cbf6ad459ad954438c86c878e562b3dccf68a43fba7175a11fba7ebf57b9b94191c4b1cbb33bf37d8b01887ce0e1f755a002b5d74a7cc1c2c8b25744ecf9d828f9d60b05a58ff77dd86536fc25ae22c5037dfe435094bc50114e985680e993065f0a231128d28ce4b10cdbadf1624952b4f8293dda3c9d60da32edfdf44b660aa492afa77de9249d1ece0bcc268c39f12f8f675d283f308e8a6a9e666f999a1fa8ff3a60eac8cf5bb15b383c2485346", 0xb1, 0x7ab}, {&(0x7f0000000480)="74e589d36e059a8195c09730504962643ed7918de419e995147242c1abe6736e02e833c87f5021d3745d3fbe698093c34ce3e0c3e3aadc14a45376ebf55bc52a7ec49e93dc418674dfce9d8e895d4bcf40e7803e2f8e254405ca3783b0c890f2a1e112a4fd26d6907368f5199c75194a1f73467a94f468b249b624e9553b04eea0460182d93a1322262b69de06f3b93b9b7042b0b63c2c91c0c394ddcb86e89af2179c115be797822de45881ef65282bf1d5b19cd60b9d270501c84311cf04930eb5147166804a7a24c5372704f4ad4b873179b624b8370238f369e84bfbfbe46beefb87ae780943856f21bd50d14fb4ede05d7c7859652a", 0xf8, 0x25}, {&(0x7f0000000340)="03f5f773cd5c5f776cacb7449fe022bde88ad961598f2515839b502f013f73b579536057e7d5f55ff0aae6114055acbe5ccd6a241762f61983", 0x39, 0x2}, {&(0x7f0000000380)="e728cf95d17978b281b84c50e4ad4f507c1615b2f4dd08f985cf08e5936bfe33899a006586bab0ade490a7964485d02f9303f4231ab1ca64d1b7b210ae45d0bea6304c0978a4c988066d8dc25ba012c52f6be22d7c73", 0x56, 0x7fffffffffffffff}, {&(0x7f0000000580)="263ea6f4c812fc976619702a21034e5421816dc84e27dd22c5298b6fdb0061cf16e7504d30ef27e844c135877ae9801c1bdcc434e7c08076d8996d04443180d2c0d6001638b35598b3924c685f29814e532d49deb3ffafe928ba786c8252e5393955eef6acde49085bf6d0e6abae4ec8f819191a8c9f1ddff3540f768d52430f029c2d40390ba2ba1f8d612d9a00ee1f2f78e2160069e0cb6b31749eeffae7ff932556660c1ea7559d272fcd218cdb5f7b19307b15f862bd40d2eb705473dc2134da50851b4c7573c890b61f5247f7a9d5c4167e194f1ccf22f0a53b8d09b387b8635c824545ee2627a3902033a472", 0xef, 0x8000}], 0x1000, &(0x7f0000000780)={[{@part={'part', 0x3d, 0x7}}, {}, {@barrier}, {@force}, {@uid={'uid', 0x3d, r0}}], [{@uid_eq={'uid', 0x3d, r2}}, {@smackfshat={'smackfshat', 0x3d, 'gid'}}, {@smackfsroot={'smackfsroot', 0x3d, '*-u:]-|'}}]}) (async) syz_mount_image$exfat(&(0x7f0000000400), &(0x7f0000000440)='./file0/../file0\x00', 0x0, 0x0, 0x0, 0x1008a0, &(0x7f0000000a40)={[{@gid}]}) (async) 00:06:19 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) (async) r0 = socket(0x10, 0x3, 0x0) (async) r1 = socket$nl_route(0x10, 0x3, 0x0) (async) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={0x0, 0x14}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r3, @ANYBLOB="01010000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) (async) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=ANY=[@ANYBLOB="7800000024000b0e2cbd79000000000000000000", @ANYRES32=r3, @ANYBLOB="00001f00ffffffff000000000d00010066715f636f64656c"], 0x78}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000800)=@newqdisc={0x3c, 0x24, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8, 0xf}, {0x10, 0x2, [@TCA_TBF_PRATE64={0xc}]}}]}, 0x3c}}, 0x0) (async) r4 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002540), 0x0, &(0x7f0000002240)={{'fd', 0x3d, r4}, 0x2c, {'rootmode', 0x3d, 0x4000}}) (async) removexattr(&(0x7f0000002040)='./file0\x00', &(0x7f00000020c0)=@random={'btrfs.', 'user_id'}) (async) syz_fuse_handle_req(r4, &(0x7f0000004300)="554c9220ded44dc871e99bf93ba98edab14b65e6c40f3d7e63c5f0c7347398ac6e17a02e3a04251346947f4a6880f2b945ee61eb1c3e37d15fcc1a893cd80a31a1047003831638a9eb35eee32129765d0a6b4a2d3714da892ef150593cc708c1a37e839c22a3c311ac70bf116c4b5ecefe045509c79d3130b8cc663db8815042336bda88202f57e451c12349249987fea63a1b9f90bf8c073518c6dbf5b544516568f3c0cc9176338fa7220d49e1f09fd55f7b02bc3b0b234e4ab63454c6a1b6f76d1365a79c96f7b27f6ce62c4ac33d652c0b979202ef70ec4b00eca11a28fbd969f246b5589c7149f57607dc7230513e9a0f4f294161e9d8bb2ae1c6d3171d51f340a9aea4adab9f4fa2cb36a4d8493797a39538b35d628348eaf7cff790b864750eb0c0d92d06b7ffa9a349af6aaefdacee2226ed2c975e7f810aa388b1bc30ac2a4837668ce8d91d01f8e6be28aead6e029874c7aed2c7f8e9475667fd6d364b66f4b24b796ceffe8cc5a737cb389de6e8d0fc70fd0b9b9e77821d0940c2b9a7141f4ab8c0f7ae8a1e85946b3c2ea6ae584a3e677b9c3089775318f4121dd06bbbef8a4492b7b089dfee21ae92053da80fae983f152649acfc164b4838147244296050801773f0f7aa575caa4f113f76508a05ecdcc0a7f0ca656e85bb207283ea9a61272c99a4a7960cca8d88808f372547296dfb0ee5011f5c33a12d77fe032e12af8fa69915304d0866f10329925889a6a1ac215b6ef8bc05409ead00a3e3fa31cbb3de1217100d65249b00d4b7a7b6b6cc10d8553311abac7a5eb60ca1bfcdb1ca2347d8ca81fda24fedcb1213404d4b13d174cf18f67866b1d23e7efa408ee06dc18f1fbb62f124f1e541aeb89c322b04f0cadd31dfc6c13840e439503e1422d4218344a01ae9e0030fc286b11a93305d818920c3c8145a5d9e9dde3217b2db60761166d11e6c997d8f521d881a99f20364cdc1a801e21cb529703583c04431525c50c29708be6961aa173719c84df0fe81b0d040573562d9acec837d1afe70ba5cd12e81ca39eefef683625a8d237b5aed2f61b26b828bc10fdfede883f8f1d89fa08ab5070f683d234103d67906ea4dbbb2f4e3cb65a1ce08a8fb96a5bd314238a4d3dbdadfe85004dc132cae7a8d34ba24cb5e18fcae804c96d93eaaee6c0e6882214ba919871eaaaff4a6b00ef7f22c0d1f93f563c475660a1c0654eafcf0c07c141ebbc1ae0b8a1b75159ed5c694cb241368a55ac01c819ea624c74df20432f781dddb820f70a3eee1e53e603b0f00b9e2c321258d69b4ccf332db63ca96e96a633ec4c1fa19864d4b4c34b026a30e49d85eba66c3007afc8969ef0f4b3e7dd0bcc035c68a5381620e1c6b9141a24f68ec600f8adb73a16cd0df2de797a9be785e5a5edccace15db9331d5643cd835f902b8f91e52e3111353cd157cadbfeda4e0eb9159a33a54141d95f7319131eec6e937b21d5ab17638b34700da566b652ea3ec8d23c14c1e1ae771e730c31e1ff84bc4a5404e6e0c244e961749dcb46154c872f424c63b08cd261163f117d90a7667236a054d284c22aef8d4c3be8699c52250e0fec9b679909c748ffa8ca9111ceb0cdac1024db98abe5810cfa07a73de3b23750b7e5c1c56554ddb7d1903dc872a938887fd6e26af8fa0b3ef2b5e57d98464c0c3747a34c7df348027769c0bb88359b72b72cd5704488bdb151ee8322e053b4fdf57a84129b5269b1a133c085a029b86f6ffca37bbb24c318e66632693080649f08eea35281eeb725e441932df3c276fb93a686bf40daae3b1c5b3e99ccb2024929ce1352e9c6e660880118dae4de1cdad0fcdab8a97deda2984ee82b05ef1f51b7f04c8ad517b95f1d8d71b356efb22effc6e38a197017058ea1fef4e7916fd943e44f16e7edbba93a3c9e4c20634f480e6d51bf6b5a90a55cab77a942c6f32d343706a50f827ffbf1079398ea8eeb582ccd25e75274232c13dc44de5f8c5ecc3110629ccb76dd39d045b9f3f3d531f238bcbf3f694003c478c8285fed3d4ad10a6a81d1b5540afaae2576b766d79c78439db8551cd341f7c1737191fd73e1b6537fde8cc1ae660a2aae90c4596ab9510fcd946e84e7d738e1e46338a37dd1e9666a2b819a1f1ac6c9d661d09562a2cd65a43b6295afa4e3df42e83951e01e86ad2c1b5b641425b0a54d3fcc1fb8687e89216debe978c7db246fde2496e82a758019030b9a6026f1cccd3566e106d7cd18e2071988c7f622c9a97507a90cdd7ecbe124accd36d65ac302018f10672354f774f58453b94586752916ec4ae988d98ba3bea388bacdb9b86b87d64ccde8c8d84baa91d97f902552a75a8dd7b361177ceebec45e60e73f5df5dbc99a99d053a311d2a7763ceb6af5265af68b13178e65f94981907f8f2532196f8ed213edafa38f3cacc142a036d317b1c8ec74e78913bb36c22c65d2fab252954042cb2ff1db2f087a7252bb5011d1ec848680bb6136c182f9c3529fb8d91fbce5e1ebf651b048d5248b954e0d8cbf540a16e17eda1518e0a965ddb22c5d900e707efd52d5b372ac6fd411c5779f3870201fd4b66de90d44093e532a691ee4f57e5e5f578a722394ce305d891d57ff2675e755a5e0abbc4499084ffdda746cd778da2ff87115429065776b71e2a6019bde3122b05d131ad7ef5b4a19cd979df3fbca57c469c6566c5811766d65f8a0869db56c1f90b924c67fa992ceada2d46aa17d89d260ee6078c844756675d15ceab36b0a632447f238ba9531d615a793628b59ca5b15fbc7a8a4dc2114dbd0a9b2b245c54111e6ba343c3f413ea14e66a0ac57c7dd0446399289465f81e6c6f730e4cca19751023dcbc3e15f9c9ba5cbc5d059c882e42de5f0ec49d7171870f17faa132cbcf0cc422a9a78869ffc22f376cad1b359c277dd6e0d7ca7d5739fcf320be450a3b64581ff7e0e4a2be026300cc99ad925b62b8d7bc8e1158c0c5d721da8fc3038bdf49da52edd4b2452e3c9cfcbe89a131b84e72eda38ad33cd2d6ca62958e8b695ad20ae04799d1c273fe5ddbb869991397e80f6c15813154e2d65c29ae3e4dd4472d961f6c848682a233e0767949d292882c03e5f47afb5985717ec13ae4af89e42030d360f1ac03977e2dc0b2a9e6f6a994d769c73dac84b4ebe8fad74d293d6c9aa6b315fa9eadd47588fff802e9e196d814c0dbbcf66915898f4785fc8ef49f3050df0fa3d8eefdc92c0db7e9d053a72e4e53200dcca91b200b240e36146f8dd6777816bc8fc5921e08051cdf0dc608008eeebdd28cd6303e4cc533fb93c7d7dbe9f9a634f9287d6350f84d704427ed54e0c71c0c99a4db202b4835a463a6c77be774f2b80ce652c1a680f84f291f8f6d9b230c42b58a10237d3e6ad67742824758084b7eac9916d3bdd1526bbce6a08498082163f14bb5fa005fd804cf78a46c28a3514828c242322e410ea3b7f4f6807a792544155c02949a3febd4a8dd4e4c75946af457a39f52e80b643a6cc1de0d26884a170fd763b13b11d3ddaeb7275612cc1d69da85fe942ba49f5393c6a3d25f28ca7cd0fd37dddf6355b9fcf474e3400f5908a7d1975c34a61f22229cdba7bdd426650a3603cc7562bd5e1c15d2cbbaf7a73d6e26235249c1c0b4e8732b0860c43b280a4cd02e4a2d6170f12b31ac4351e2d1bca0bd9a481242b0ccd82b70037e5e9e536697f1719dc366e6554bca111fdc16d65400977d31e4bed3a585278aac11642993f56abb47b2c41f35e3b21643ab754178ba47902a599f729ebf592730d3c9d6e69509f37c165ca6203fc07b79ecc422f4aeb5c69a0c6b5f32307c28b7b4aa09ee9a640cbe05122f973ed1d3674dd78944999f9059c88d05602bc03a191f3e302a7969b57e9aefa3c694e9ee6d221cd982d5c18df47b6df146a037c3284d4fbdbc5c5abddae3ed27dbf439f2cbad51fe7331185458ad284c842177c8358a55612c43161d6f8bcfac07bc0c7a1dc5d269a2b4318d280ca354c5a9a934813453c223120b4c200feaf2550ed2bb76bfd9d6dfc2582d422f4a528703466c1f0ed93bd12a4ce2ce0fd0a56c087b501221368d5030c4fe288693ba8e84991d312ca8bff1740cbc8c68f92d617cfca0a068a029bcb2fd6fd827bf8a283672a0d416384b72b6070dc326ed674a79a952cd65ccf15449e60241ed5b849475208898868668fe14d9fefc3e701127ad18f01b6fc0905caf40e4040d2e31bf04daf4dfa902629a6816ddfb2f3fcf88a784c98698ccd746fd373a07e957d6444a2df20fd114678e7dd62066f84be596b2c9db14707612ffef8b9ccc7e9ae11e5c6eb31710c3ad0007cc58402d55069bd1970c3329e1f9017e2c2281a9f7908a15e394c534d5a9cd53f0436005ba5b7c1cbc7652ea0ed9c0b83db0ec73a2b196276dfa86f290d70ebca1bb83fc2c3fc66a4356c627b5aad22e5ff301f0326d8013c55076782b6c911da526bc87a2a88c593e90c56f9bcfe244bdcd7c41506d596adcc1dbc973edf9eafd2ad04818eabcd47ac483a6d3d8090dff194f73f3c592ba7d27b06cb8338946bb83c5a7d3b1d05e873f65ae5cdb6996920ae2ba1215964e37c4027f995485c66b8897c82d6415711a1ea055eb7a1de1f841379aa2de8fe1cfb49c4f6fb26d50f1b351648f771504c6a6dfd3f408154443702cd1587d1612db808fbe7a64ac63fb49a1dead3120ef2fd601ef9a07479f982521cd32b5315c0bb02b71590c726a33aabc704dbd24730351b7e10e587f8ee1e5becdf701fcb4dfe5c4a1a8cb361b751893d99a7ea5d01a39a8d7f003082610fa69ab49b0603e3378e01b89e1ede84bce7ed19c39298d8ee21548e1ce21c2aace325fdc6852368dc0c51832bfe1ee91dddd6733a57b2b265280b59f52af5117405a1b9b9fee024199d25ce1a50255efcd28201960cd0e0a9048e6f909634d44e40a58616135697cb96c0d6e4e4f75521e73dbe8749192efd82da3a85507833543af5653559a8712ef34d9a05d3124eebc682402ec5838339c196941c4fc535232a0ade824ed368d5e2d653cf21cef4240af9ce27f2a2e03f6ef504ed614ed480057cf106d35fae40f7f045234705d7d9355619dba5db6269249f7489f09aaa53a941347920851661322cb499cd556ae47dd09b38db4c58ff4563ab4a7bac1b742962dbbb8da1483324a6b85f10bd47f5127beb1e582f84a66a1c2148a5f190acd787561274e0d225417ebf2ae2211050ad4edbb58850eace0aad4f2f2771f9e7d517f18cacde926ac44108dad0e510d9a3d865b6209315907c18706b4d36148f1be5a8d9973935e810874538b260974006bad01eebb74fa412807dd51920d43cf60c34841de6e53cba1a090a14004ad068cc7410f2a144b969507b1aa6a313e3e2f5cea95a6d55fe409d19cca0ab7d718da745eb9827476f20d8940a588affa25fac2b279ce62f3057589a5d49c8075dfc8843325df501985646b7f6f15699fb42ef73f2c9c2c6bc3e2b8aab5f0fa5df79e248b5c96cef845e717d35fe119c7db193687c9a08f451fb3d09f600bb60a5920445fdba80aea8521e473cc90a4faa01e5a74e3418ea876d7face87f592c3c73ec633859b525ed9362543723c03f7c4d8cbeeb70d65f4718252a0280eed383257ebfebd9ae823cf84351495d41f4b76468637bca03ca939234b68f39d1e30c6c25a94b727027574c9ea42744dd1d7a660471653244834bf5a5ac6bf3f23eb20369369c46d04c0d48040f240f35745082228662f116bad1ef276adb4ff5aff675e48bcb8a3b166a8cb03dbff184e9ce2713cd69422fe2ee2007bd8901bdace6d00e237440bbe3a20a81edead57d2c325361cdaceadf13f4d5e05c8b093042507d931e39864d0c9842c237ca709432cfea487487893242d25aa2309f04e23597677fbb6b2f7a386357002a7b34e53b6612831b195d68d1a6a897318e32a0d374f01bb15d1996720f26e209ad7329bcd58db85583bd7016581a47fc218c8eb4bd5ce8b59a37c9d594aab36fa5be9c52fce6013a4d9d21e1a6d3a0a261f6a53707334f76bbab4eba24bfc38d6c80da8eca93c2381e3c449568d5fbc98648653dcab941ba09b62d129df944c4d3ddfdea13ca04e5e37ad94b105e50eee019100f2828f7d8a70606b736fa5f92b8016484bbdc2ebe2304b02336e1c1e8e01098c4f078f722a91081c3f56eaddcd6a9e5eaa2e31492415b25f89dbc038c01eb205d850ec772b04e2f987d55510af33e2d2435463c3c68a6ec4b5d356c9ed875fe15b07720340caed09163bafebc8919f484854392a758514eaa9fcbe16d64333c4337fe65c5690e5ef127ed508e32e4cc9c2664641e7b2fe042a02aa19d68ad28f926c7c67e2ef0ad0464c9878dea3328fc6640b5554fa33c2bc0c1a4b970611f41e5012bfee4ce3bca33b51add7b6c364f38fcea8daad485d627a45cabfcc5bd1702a6f6fa91c3522228cb2a32ed5687d18b47783d3ad015643ab3235755c2b1711f9289f0cf81fd063353af9a3c221dd773909c7392aac0aa496ba0eedc89f460f0e1856a20a32c176fc585f93dcd2e033af4ea6c64fda3cdc9ab1b19d0d8e897fe0c29a0d911a73330a1cb379b376f70efb7852a73d7090177a4c03c4af8de139a19d207b693cd46c80d631c905d6fbc3cc43499763c91bec16b6887ce36c6eb54937706f81434e0b511a9dc32e16f7e9699bc02a0482253d71849db9773371d19b9829da4c82c889572527c0e0ceff8e37f4c4e0751337f6f16fa1682cc78c063e60c1084c9eb9f72c0ec1fee55ac8554781c454c5d9fd262daf6a9101c4fbb3f54ae37a7415694fd09be0a2f26728294bafc7aa811e9ba3c70c74bbf7c1b352e63fd026504a5aa0efe22c905f225ae5710ccc78de17393d9d4060180d159150ab307481ed164f55a1ce91d7fa718bef4b329a396753894ed6b9f1c4192fae8bc7cbef412821031b71e6ffef7ceb30c6202f20d2bb26cb7819180ab50ab469799d7802c208a8e300bd737783daf7d99ffb8d8050c76b6f42899f6433d2912502533f6edaa0800872d6f484f31a42169ce6935c8621e0cc2acb8adbbc7534ef47d5e1c6c50dfd0afa938233d19c4976c6345f5eb34810379be02013af20c12906013a358ecd7f2972a6dd383308750fe04069d5461c3747b6b643e50532a98d473ca4d8553ab4ec7cfc359298decb8762f937329579793f6bf9ea716b7581fa95a5b392b7b55164e73b3feb17ee8788185d3c94cb59130767bb3a7933a25341aaf830fb185b9bbb758f4b1717dc7209201e540b22ca4a78c99b6b8e5d32cbe1b65fbbdcb66f8975160179e8c72c964763034a9f9c437f64af4ea65c5b1a94fc29eebf3b19f18b8901b212bbcdd6e82ba28265b12d6f124d79bacc6040222107e7b751308b8388e26b9be8334006b2c4d551f905bdb4dd5da32487919181a4c2f75e81a1eda09514d6467f038e326c42eac0288803359d1585469646e35e7d82176454dac8ef1c7cb87111ea18851b85f54a4ad29857e96b40292e591c9f762b5918b1d8568a6b4299d15306131c2a93f7e2fccfdcd760f15e009aef0acb4f9c22fa22117f184102979121ab5139741032896a9307caec475557dda818de7a8ec6781f44e169130a34767c395f8d6aa9882cbc85c0f259c2e825f9dc19dbd825fe6b02cf8037339949657c0e80c45bf52d6527665dd40a2d3d237535e088e0e82ea3d470f0e79d2053917a37bb7e747a6e36ba371a302bc92641132bc9e26838d7d3f7e79f44be68ee484ba35bb1ae11531a518b97de0dd7b8258dac4c70b53e8ca1403b2edeb8f8ce8924770d7cb26ae3267e535c136b0d2eee51350e439ce6e062c3eb90ac199dd2f8be1921db381c7ea4e5a5a2345e5f0658d645bcaaab1ed835b8257219605c4134ad21735fb51312ec7437f93756950e23ac0f7b480b7268d8a9c2dcd9e25a84e0346b8b534116d18158d6598f4fdde2b8a4d0cb13627b116cbef96186f45fee329010b18dee5bce2f4d666018b0c9c1775b826b091bb1e52d0411c074dfd5be1eb892bae5623a1f369d9848f9779e9333d6e78402bff09be0f8de1baf39f1697c0e8d236710f8466a379fca03ef05db8e0baed90ebf1f729f32d393b6eba15972592a083bec88572bdf1ab1e9bc88045ad6a9d6279264700ef608fa205423d8310d54d9e3b71841d741dd7ead43674775e68091a179dc58a2629745e89d6dc040aa1e0bf66e3f694614f05ba3f993589f59fe3c43e220d4d0d470282a16cafbee8b164b6f6f8070d23a75da4f760380c9c53fa31822ac71938d62d78f4c2ddc8e273a42e88af5329160adf77aef67a11b2717c909d6597b255c21c5760c084ff4a2bd56e79958c55c3f57514af234891c8cacaf28b948737f07a4f0cb5b499a147d6f9e959c1294e1fce0e920663ed6590dc25d0a81853441471cb08afc0e30b5de2820f812f17a0573ffa908f78e494624266c9df6d77065ae1908dd0e237c58c76a3b43b7484b2f24f2c6ec79d4c6524e7306e061ebf45afa5f51e48306ed8068566d311cbfca977453dd044e91474e67eeddbacbe5bb154831c51cce97f9c1aca1fe061be71212da7dc871b1c4afd46c7401732f4513602db334190ce7dba442b5b0ea54353a255b6c4f3502cff0889bd78700aefb22b00e68549248458da540d2bb558205d3f0e7ea76439d7a1b2ec3367ddece6b58f57df1591117c160603448f3022655fe61cafe5524d5126025395f670105728d7d81b270b1a63368373d000c653bcb34e7b601dc46616a6d4724f9b7aa0805ea3da3d8bacc7beb1f0bc499169f2153078d18a0ac0067dfc7d486aa3c8373245e38fed4869d67e5c1d957d5b45af8c407becb0f31b8a7cf9bd7db337356f59c754f41e567a5c238f27fe40958681a802192f24259c983173ac467ec592d22b7a0c276900316f6b70d55db8a55eeb2124ff3b51234b421a925047085afbd258e8645e66d33b4120a3608fe74afedfc8771f27ade9df1a21041b14d19dc424fc444302e568ca359db00fedd75ba3e19f0d2638e8c1698fa8fba7325d1743531daa735872cd213b15ebbc64dcf2dec1e37b16de5d89552a47061ba5f718bd522fa25d2d2f3296beed101eb3c85ced6827644c8f25b01e6b527fd2d76e0182e12ac5fc2498e9028733ef8958166e142a03a964aea9b52a9341d0646228ea2edf89d7864aedd17b908b6d36991dc91d5dc39809d8f4f1f78d2f1014e8607fd6da36c440f63bbdb8d0141e3194779c91069897e712f2b06cde4999100424213daee4fc268afa3cd55d8b3cc19ed88e56c1e9cbc13c21f98faa53ffe327b47284bc52377fe0dbdef42d89d02ec6fabc9670571beab37ac5aac88d95d857b045411d8f1e16b51ccc320f89090aa08bb4bf802195cb9840b5bdb35a02967ecbb2f8624d5061a9453a9e42ff451671423d8901d44ed82b2509e84d76032273a4e435d323198de201af1a13a7f15a36f0f5ce00b5c20813e21282c3adf599cc3c3857cd2a426533147ee4a2c43cc3d0032359a33e59d46acbfd22ea38f6cbbccff45b0adf82f143c43ac6a6b947d3b8f1690c842f6fe43630402eccb69dc0dc8f9de97476ab6024f0001c6ac3b283f4e926c3938d753fb103f023cf76f880812ff24d11553c72249eaf781b903a4559958e1352df5ddda095ba334359f8853c32a0b59907dd5bbe849bd00e06719550830a22110cde2430d3e7596117475dd1fe202be037ac0ff919f521de47b59428ed36d6f91f983d4aeab9546383254f89761e96db0a3dcd3498721519243f504f241a9e29974c8bb2dc908cb8e54f8c1ecc4e1fd1fa489d3f0e604b08f0e68309cea3c3fe4a32313bdbe0b94b17b3063bd4b52aba5508c4ed7cbc581073bdd37117e029e6ca508b5df47dfe9dae6b7f20f75686775db1b24737ed3838c5e55b98af9ec63e85f6515ecd19650dbcc4edcac1bebb2c367c9d0378c6ff1becc55189297cf600d8c32a95e51e6b7eda9689f1f66c07fe6979a9d8aa167767aef050a6ef442c40bac9eb1be9c932b9fbf49c7e33c45dad2a6598cb82014aceb0908192f54ffe892111b640a07c290f1e1b59f5c069d458d55dc45ffe8cc77d8f58dbd57e8f26b4882ebf02b976c36b6767c9b85a2ae5bbf536232787b016dfa044b42807dcd080a6db79ef3e182c7919176714b1b8d6f061072d5781c0be1699141686db62be66fdd4fc17f4a928d8aec93e435f0fb1530c60f75df81df04244226391e084455c50209105a32a6fb2230a3c9f24105267373bf9c09892c0edd2c4dcc16e70585ac625ecd751103aae3be858f08cd561e94813e8630de72d0d0f070beec08fbf70ee3e808f25fb9aad0186919dc1814a20534df63f04d9c13fabae769d15501f46483de475d5ccf0a05e7abd10ab3a5f0bc3bc0daf56b06fec01dfad9dd730588d0d0eabc90ba0de016c716d1120eec475248146a650cce6ecb1a210331c93fd61ce150ec840125c3e761fd9fbd7bb908bf0fa535da2219263a5acb16f366d7db519c2e6b8e1bb0360c82570f6c8cd65e85e0289fe8b0e1622eaae67ea1ed3c9e3ce8548014edb31d55df6e614a70752f612fdde060d2687708e32f21b8a2608c0fb49bbe2075c81736793abd9b0776f4f8a2d552987b84393e1734960a9b239e9b3c2eec661154bb63d6ee3a90f7e5242935364eb379c292b84cee2279440d3bc1b894fb443c72244c00532d093eb4a0479b32c0d4b8e1c0e5ad4f7b97deb781470de9bfabd03677f9b2adf7de39bd76d07fa852c630df5c695aa136caf6178d4f2251acac8cbce1ca0ffaa7f4c826c8ef9aa1214900abcbad6be0a968e26ef9d384f272bc4cc3bb1834b9406af248256db77eda8eec77a0b3ec6c6c94ff3fc5b45dc163d16e4eb8e58421ae523940aa81ab28e68ba2c89b3f159c87646c74696fa04532a7aa41d344e34943843f32caf3182d5369e1658c13e29dc6493ddcbdb24d200878cd091eed857fb4c466fe1fe071e6133922e3c21b82bbbb3b68108161af41c8341a4315cab48980b1980b29af0e12a60972f2be4ca43e5bf0bcde540279f7b69946074d7e4c302412745a3e01d12e747c23409766723a72354d937aa251ac8cf37ab303f0897642bc9d052bf406aaf248d8de14a3477ec3dfe4bf69d82e4d1d64c9dbc31aefeaa9042115ac0f8da8818a1f5c8cd23bcde6aff0c035acd8a2948102aa7ce31684bcc27c84742db3e8e2bf595fbe76009d8b966be7ada94cfedc375ef77d875ebd762039effc007538b7cfd86d0fd5e05dfe2257c1117b6b68b9a09883de6256e7ae9550b3c6b2830baa3f75180ced65e77b0dc4154fab4405b2558ea44ced11825a4203469bcd5782fb2b91f34379b99b731b9c4250bb0edc742fea58ef447391274711c79561894e2979167c71c0b1332b6ded364711048e2794bd8f489dbb0589cc65ec4084df5a578801be0f31ae6ee9c7730169f29c8f4fe9453a7610a130d57aac428b1c78a4440877b4f21b251f81dedf3ba16822f310049d9342eb91810fbbc509", 0x2000, &(0x7f0000002b40)={&(0x7f0000002100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) r5 = socket$nl_route(0x10, 0x3, 0x0) (async) r6 = socket$netlink(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r6, 0x8933, &(0x7f0000000180)={'vcan0\x00', 0x0}) sendmsg$nl_route(r5, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r7}, [@IFLA_IFALIAS={0x14, 0x4, 'wg1\x00'}]}, 0x34}}, 0x0) sendmsg$nl_route(r5, &(0x7f0000000240)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)=@ipv6_getanyicast={0x14, 0x3e, 0x2, 0x70bd2b, 0x25dfdbff, {}, [""]}, 0x14}, 0x1, 0x0, 0x0, 0xc0}, 0x0) (async) syz_fuse_handle_req(r4, &(0x7f0000008a80)="3a2956771f5af6a59f431f6012b2bfbe8a1a57883e685d9d6ac37a6582f7627997a74e8ada02c7bcdf16a27ad55064141ff6063f254f6a81143ce5cfed7c14e57db057774426562b0ee70399a434ccc567e924f0bbe5a048e679c1382d5e04a1022229f48c146e279016f24b7f8f6cbbd60386d42b80ac2131c7db0a6750ddb3ac8e3f1d29f62d6e7c517501eadc172ce63eca9ca1f1e582d1745fbe7b073b1d74e83c74b860c514adb20326fc947fe263e86c61a67109d22f11831a0c8d9e2f4dac71a52417e020a6bb082ab4c6bef0428083e4fade4fab679ea5db2674557f4200e16718cc838d64067df8e6c61881bc9875cce90b6f362bedb3cd76c739e010885a2912d84c06b01e5b9adf03f7690039e2422c5d6e590ab45b66e42ca8a45e836c6d6fe2d6542bd638c669308967777253b420491eee4fbdf681584b3d50011983582f4fc3fb009fc4337e42b3378dca7f268fab71c69c8e16fd78b89971cdfbb1c85d703cf61e97e97937d6dec1a045f8392389a4c4924e6c60224d6a55218ea299134ceec06d34c5fcaeb352e2bbb8ad3ac143ef51e907db89b3a06d417f4e029158ee674d115ee5014edd96fc5d69800be66a132a917c91c108a3a03bdcbf6eeb6e5e3d04b20c6687d919a54a3f50f719a96e95cac6fb365dc39fed426e83d62310237a008c6bdc78d2ede2dd2d6a1b434912b0be9f7497d88bddda3f2a90447e984a94e282c45b54cb8c772bc5a7782b76ddbd0af7d0df7fd3b455d8c4889d73d6790673f6963ac96e7be68a489cd06dedc03bb756b5b8aab25b040e9e6df6c35faed980f923f45103a4cd3701a0e77a7a0316cea6d7290b694e23ed60e4429f8085511009bbef29b03876238c2483f031ba0ea7ba98fd6b70994f7668eed0d33beb4584db34c942b086628a4b27cdc8e87dcd02fc5304b279c399d093122ff260176ffd38eca07fbd8065d52aa33ebe77f8364ec7d297125f527f981e865d0c1f5491a44184c71150755f763e6293996b1a7f6fcb8d16cdd7b7cc51d97e6d2010d7dd111b3bfd2039daccd480391f7714f5a54b74ec2958800e0b57c56aded3a30e275d71a39b936c0bbf3d2797f2eaefa21cc4f306df67e169bcc4d7364c9c4256fe64c500fa944591a59758476d975125256d129b71603ec4fa288a2a03e839704e9fbed3ad9e70cbddc1a71339e0cecfe5056dadf16b193d84ddbf5ccaf952c70ac7ec0171090f60b8242743276efcefde5cc56522d35558dcd5a6f992f2d2070f3a7df35f669cfa01c7e8bca3f01c5ad99441d1b6218deed663a3cf80fd18ac78cea1c08783f52cfb279b1338bf9ed2de0b8c4ee9193856f232d0dc6c9b2fb4ef55e6b14ccee83e131fde17c08196c41924f2aee4e95fbbca8104e1fca6e559dbeda4918ac5812a99870987b92e64ff28c618f7c5b1c1a71b4b2283ca78657c43b7aa5aee7835160a68c14675c53eb639b9da0264a3370d469cfc958260492da6ced05a8db88086b4fc14cf50f60bd721c460fc5dbe3333d4141b2f6b7ebacb26b1d9ee14434e21a12893a66d4dfaea2eed1455ac397c4a0a0751eb92d22a63b168cac901bdf890684a85378740d710d10298cb8045bd64397dadc4b6fee80262d5f2ff2f914f3ce3247176667fb30dbf65ef359d12c2a1099f34df80029ff6dbd2b83523bac55b25d8038b49fa012f7a1fa5caccf0d2181a5c0bddb2b944efe3e8c77b789951ae7a7e5653cc9e563d5baaeee31dbd6838b57c0eaeebfc6cdb48f458bbf09570c14516a8d2a9e424b35cd840a94404881bfb2d9a39791a46d3fc61b2b9768231267c46ef614242719cca0b8a426c4ecab4af29ef1f529519d05b7a3da113b518978385ff902fee7bc89c715ce727656f4dd78d7b81f060cde8e93c005e1d9799ff08554d3ba6807360179b9e0246945159786792727a115b22489f91afe818443c88329e43d681744727a56ea930e227b4544081d2d4ca97d67497029260c6d763fc92c51a5b08230d70747063606e5549646e4f745fa0f001ad7d399dd40ddda062b0b36ebf4fd285fc497faaa13cf74a39e535cd859bc20bf6672017d3db518a3d419f334cafa8234ba84de94fcdf22e832177e9469ea66678d89d4e4ab9b769ff9d38b29f0856466f8ac60fdd7e834724e9e528d0c1919d81fd99c72c393083429640d2f817ec24de88b09cd3aed923594c225bfd71f661f1b0bcd611558dded48d40afa0e95932f44d28228b7270e2188866fb37154856b54103e7aca99009d4e11534b0545ff6ae0233c50fde3eb44a2ad918b30cfcb717c1f58c7b7caa5cc13aad0837b8c894db22a2f55320258bd985c821a320ae1a15f8fffc61b169dbb1690fd1c8dfa2b89ad5935f5193f9ab7717c1319916d44abf496384a7ae8ff772f814bdc2598b1feec2d2e5d65158e8a7b39c4640eab283edc612806799cc5f94be1cbc0e5cab930e8e33a15d913f8b08ea06563135b20bf83da87d7a9e09d652f498de68f9ac65cc670e3a600c5ac109337db9b43fff311828c0e9c9a3d9a92028742e23d1f00bbc27c865b8fe514be04e74f38c3d07cf0ca5042836245d53a2afa0effa54af510bdf93da93798d425ae33c2cab0dc4a1274d0919b7fb34b6f8c05b0fe05cc8a42ff6ea47eb35c48c366e1a8e4ef6275c5761bbaa484104bafb398b1b5a25a8c6c2a20461db45315985b159009d5189230f19c4b6ab6bb7a910d815f70f1fe84b8c72df2662d1fe41692ceaff3296c88bf49b33b0f6ea920100c45268b10d76ebe55d4caa19f907085e046a8ecf1d7cd3bf8071bbfe1b8ee11a46f673c7b431da285c7043638e4e219f1590f186a533202b1021936734f43c1dce05625f5542238068a108ebcfe86e44a269f77e58fa59e30505e2483dacbd71bda13c0886c4fb7a98d26125c0ed128e55f5f9c9e5dde773dd3e9b4009898f8c7f81c1a2356052785a8f53f62952e1751a99e68da0ba272aa82ede934be28ce09395dc340153342bed5ce7973b43589fdde92bd171f94aa1c8bd16801bb90622774113a63a1a06e508fe8e5921645d071e95898d51869a777f7815b7682306e7c660fae9f6847d71383b4f291c4ecf3276d34d0d57769e8c8f598ccff2dad3227e609a53928d778d2861438e359fdd2cd9dd0674adc48eaddaeac727c455c9420c0ca24797b257f66175c5db24a66766e3679a9376ce47d22759d1f5cc69ff8aaee759d0285ecef6bf70722661df6b53dfff9e78339f016ce4ed49b67ac75a67595f2b510977e91bb6eadc34a02654700e03e126bb0ab2c28c1939faf21f81d1ab1204567579eb75a67e9c2d8095917993d6b2f65540589021d709f100ffa5d50df801df3906868f38e38eeaee0cebc05d4c4a1b33336c5cebd6268a70e46380130c0dfcc27db6716a2d7514d2679954976ace50ad0a27abe93034b3b675070da70d8fdd3ca3917a0a590c8e44aa7dea24f20c08ae98abcb7b52f34b5dd247908e86b4a9d5fba59476d744c1937f11423d0dae907aeee5d849d2a98493ef9a16b8f5372b1d738730b13cc60d581eda7a9c0ca9f3d0bbc271ba18213093cdb7407cdb76ba7cc15bb9b24ebba3f40ed32b75ad19f099b453692970675db963e030a547b0abee1e845fb98e0742be83255ed1e82e49cddd36698d72e9f7c282419b6781ca965796320f32d07cc84813bf96619c99aa8996a5fb9739e6d021bcb3607ef535073878c1c13129c2d9d96e44483f057759da93e98c941b2bcc97ab7ea8619955d1e02fad042f4dfbe6778373b9760cd6f3d9a9f093b0066e7f9e61f319d5580d03b00083823b3c265d0697ea21a68e9a2f9764cd3aa8e8ed5771d18b118000260d5be2c4982862e92e8eb671257ab95726a2209d6e528c58607b9aa1888450b3e9ab81d4edd6d82ccae8f1f7b8ac418288b1b7ea06a8c6f32e305f05a1db97f6a0774e2dfbad09413d7f63002d14c9e8ce301a4deb123e1eae7ec731518b0f01ab7d10427bca6cff9cfc9690b90dacbc5d707ccb5e4a80b6cb9888c6316b742fc6fb25d498df524e0d9e2ae82402021541649f685a6804c54932479d6d7dbb6dc108578d646c0a6047b08d10925f1c6d68a63ae5a5af7ae03da034d59da76b5681d1c3afa0777050ccf2ec1c8cac43c010db93f13a1d6947ed06f8541fcb7a624c6dc51f96124c33ef152fda87ef884e62430990a45a442e265dac6df81aa76dd4351ef3061d36d3db645c92e85dca1c5a41c73fb06f4eec5a13f236853187b619a35891079bc8a12ac714ee39f352a061f3d32dbd1d0b8be240f0fe9ec53b1fbf2c4331f55fb55538d9ae492a93e79fa4382319a84da0549f0fc6f38eb3c872bec9d6afc4c25700b22d8f0a6e5e3aa07c9a62e88b4e74f0928c96ad48af45d7d9d1f7ac7d9a108e0fe97303623e15670081be978eb10083e1da556a64ff79bc9102c0581ba924a7b9580573131b97ab06765bc0b6d4d36719ab90beb6da10c85c872b9a9e34b6bd9fc1c693a785d6b5245f082c3c126068134e3487840e76d918a60ea3240a9a319001c58fb6bc6424ebe212c1b6d0f81d55acc890597c259087db04cac2cd1d1e0895a1f4adfd910147681faa872248026b87e205f382b29cfd89efcc6efd6b3464dd87acac91077b90c394ec420d0a473f8cbb2ec49100555161765668fa4468927a2b11a52c606bb723f97dd9de4c0cc60a64bfc92abaf5fa87fcbb410a36cfe35581eb6d480bee15de674402511ab77b4ccf188fbf12234cfd6e50bf637a3fd983834e598a31ce8891bcfe55448e3fbe6eef14defa34b6df4fafb94498f33d0244db837e2de847edac50ab6b5ac7d325818956ff231d422916b8d78b23d37063af3b4acb62966e38d95389e51fea82562787f7ff1cb59cb14933a10b8f606d063d36588a8724b83eb70f690b28cfe463d89f330d7129262d436f772dc13040cde2bc5aef76ea8d37c2c0a97a3cae5abf3c6b3f9b195413d30b17c022f87215f557a46fb13642c378917b29ead844583b5d31a67727f454e855e22afe8e41fa5d6f67421d4de063995af21ab0ad286bc63ee8232b4d9a34a1d516009b10b22870239c4c1d94471436c2c6ac2b90f790e2d58c061df5ff25926d706ee0caf2457f903b080be1607417202a2c6dcaef5d7fc982221495a9f1faccc3b25d0b99c6186db819a7c699d9ee02695707e5ed924cc938693647a0a611c45c156ec35a7900b58bf7b539c499dd8bff4326001466fdf95d84f9113970403085d024f5adf96bc92bea361483b61e6fe0c1520b1242485ca89b580443b6bbfe0f2a1230d0893c694bb24fa41d309d8903264c01284aeb5da07334ff3e4615625d5ede30fa4e1c85d013c471ce7872db3754d28260856329df287e28105a6986349f34850ad55a01ece762dc4ce036fa1699fbf6ac96a625ffc0bf43dd683e9e25b4e8cecb310067329521bd4ee29dc0809e22e4131eb053288fced030459d258f35aa96c45b6e6981399725708fe8265ab27cea1232d13abeff9a0c37b1d68d779226b23381d7aadb274f74006014f44a9c91aa1760d17c2d824461bb9460ebbeab623db4d0e8cdb5a5b24236b58478085e66887ad5c5d0cd1bb7c85d10974cdbbea7a03feeea8048b70f2bdfc202fc2edb15b2356c685bdd09e46bcb6305cd29255a4548148723df27c9404c31620baa7b85d903f60ac5bf4bd56ce7464755608f4a20728cf926a76cd5cb6d771f68eb427dc8b35075a37dcf2f790e7fc1a57d42e333ef67c39a8269afa2e04e1179f040c804696dadf934f9598c037923a672445a2b367978637fef36a9d1142bff489ff097298b6e6ca7ceaf75d022edb480a29795f9087554c2dac61193a9d6194f790eefef00b89f10f9608c7958e5ca515841bde56fa2387ddc4c7b6fd10cc8a828404f1df9bfc0ce0674e9a9a1362bf4e5ad44d388836dc94a178c76f2562798e93b5ace97a674d3d29bb167c823f4e7e82859cefa6600d9d9fc173c7431c178498996febfb86ca25d4cb81cda8ec5af8ce6ae794dd9207485cf7d44ba666e25300a47d895ddbf8d166e69e75df5bf21183edf5304ac96bd75849905c4d1469986905f866f8557aba17e0f3cada7a53810382bc11f19a18db3e3b32f2ceea267cf4df57637c36c35da6df3589b4c21a40270988da6d6f9ab839e76bda10227cdbe45837521d619d7b4ef75efe676885d26d0ebe545103e7f6b407ded42fe24085325f71b5d32557d4002d66bfc300bb883fe18c44901a58772d6ac6cb053fc644c4eed538c94a1f93c1f2ae3ae6f317c91f60b801e61f256efc3c3cc4662b7ca17c9c06283dbabfd981a47d11417e65c427f00b63d0128ad6bf80b414fee7da663d33b8b9f34240073e534c91202a9549ffcbc18d56a9394f2d14d1931ced8624137fe0e4aca06a3b8e78b11a4a52419886ebe18c06392653f58a41e6bd6fe1e87a1b9b519d479b1743de2aa9c10ad054127cf4d70efce0ebacc5ed13eaad6814dc36d972a7af7aa721eae1635fa18c7c115960afd5ba393ff1bba25bba7f79c29dc748f976b964481f085bc04f763b718deb70f6f487e86ac805dec0f4e62cadbee833b5be88d0daee54efcafe77b67eb87145fdff7b4be2de2e3247d75204b808768857242369fe1ffda259057c541be788566ccef149030e5f03e0fadb8d16d281f96ee8a08c1056494e6bafae35961acc3c9d8d89e86c4a9aef1a82d675f6a316f006fdd11220df77164271a3fd5e821b9aa2dd8b2004def5506d5dbabd194ee19b5d896389a08dc7bef505dc3be0f860a8791b79351ba445d7d68cb3e0e54e23d55bf35376500f1c06d4260bee647e06fb31b19ad53ae8b7a56db5e89f68fd7258f05dd922b5b73e9385f045a6267fc3cba704aee7d7af063687ca31f48d209ed2ce8bce8b9026802181b7ac80fda0830783b2e290cc91af64a8e4b90e94777642695c7f31f04bbbd0b94b487730306b0a255fc7641f162157aeb524e4bb5e1fd4c234b2d8f2c213b7f719e1a23bc19150e5c6beeba3d57bc7b28b725838642eea73ce6c6c980a5d5d6b5970bdea2580e64a72d0974018252d6e4df03377e59c820fb2d56df899a14aa21b3e6ea5e82f6b802146484f9ba6422b7247e8c24d575453ecfd2ee2077d3047507573cc7a06f3816caec285ecca8c1510727da88d0e88e633db52b6c021672954e28818e54987a57e7e2a35d0c320f5cc00721ba826c0fe83f1a2138e3558d5984b328f24bf0fbf9987184fda88c1b0638669c99660b868577eea7640601070ea1bda7b69021ae8f7b212812a7876eee199950b194bd494db5e09d4aacc4925b3b51d11117c4d51664d5adec628dfbb66a35d536709dda1d4da7e960a0784b75041a10604cecfaa7c6df2cabe647f627683a430031a9ad7af3b06faac214c1728b6e3d613e515defbb6d7349dd91e4241862e7cd2594694c353ab85a4f7f02bd6046efbe93b9a718b0ec84c16cbf912041fe6672c70868fb38b34683d4e0f47a7d653d04aa3b4135536002d310b6e2b22ed9c465e6375ec21f8bf18df2b263bc356189874b99c16701c479d51af3be9ffcae93b2fd550757680af09bcf7059299b96ef43732c9ae79a4067108ee92b68045647170c01c89132327a617897dc78caf67622a4ed9d3e18c9a8ecc2836ad34db0118af3e6e0e3c7e12219d314c9ceac00e0312047d962fb088e29c402a0f1e432e0a936a6cab3a98f3120d69bed0010cc9dd1722b0e250bca21d9c309f5ee944cec194e78d5b69080e195aefe6271f078154b30a9e4dba4007a89a00ca20c0375b6b4c665e725e3da722f06e82598ac8b65ee7ec8ea65c3762b1a6fca6b540cabfcd1bbe0dcf3464019a6fdec31303b64bb8087d665d3e9f2f19e405008ac9f00eb7ff2517828fb1ce0a7a9e76c79bd0d7b1d734adf8bcc938c73e0c89742bf6ce0e34f6c95efbee04d14e9c5147185e70d16a9b6571cbcec03aafff2287da728bac5b8b96b69b98860dfe4935f33bf411de8864418927d5b9046093ae9e4a0a47e460b3350dbf34436aa023419b8fcce3f66226d3dc8c66a3f2e4be2708ad5ceba629d2f2f197d1d41717f515c25a40d252b9931a063242e8dd9adf1a22567ac6603ddf9b18613b32e28dacb1797ac3c037c3bfd0850d8b893881c1ced7b0a4029aa0979f79abb414a264e3367de5dd586cd799c7c4bfb91c7d5bc029e8fce81c1d68b59e5370cacd6cc93ba3f6f6e1d0b48bdb588a2d273eb00edf4139a6a7e64ec2a34515984599db4b201c3941bdc622ad1504034956f66bd398d0c84dca5daa1b2dd9714c585eddcf3e286f789af2a739cf78445db43a2bad37be65570ec5ad41f11b18fd00270d78bf46ca5e3e42c6401faeebecabb5c7196c6458d0c84a7031fe407371e6ee983f96cf61f452a2bcae0cc9a529f6d19519dc0d4166790813cbb2ac4a6d2b6050e9fa50c0c20c5112e8f3817ca59e52ed05baaba617bec24322c61c3d2969f8f05718a6a6c1cddcf0af17a38c94fbc9ff1ab449e6548bec6f7631ce0cf31fbd1669de6eb9a7bea724af1e3dcf3a34a6b0e29ee244c113d7fbc73435026db2cb29d70a903af5c6b5234029a7ff1012e859ad589a9d4bc5a375ac0926c1823b3089afe5065041380c995960f10f559fee23ec1550ec609d1912990b875240f079e6ca65f25b8104293596a9c435b8bf1a05da75e3693a28580e65478eacb86f5e99fa605ab21ba2c6de1aa85e59a82c1a0b12793a00ba5ce641eb67922eadbaa630559033f039a88a11a4eff70d3cbabe2c94b90afb68b250d7b3675bb5933ec810317b2325afd74a62af212478092d6610500c723b434da8acae7faa2d152bac51263badd79a298d4ab7744f4402e27e5993f5b6e0a109b24da3d41552c0e8566a126c5fd9b338724e964a0e4a63970291d480e70c168364d0f7921fc5910e4bcea608514c959366918ee13a674546806608f12cf6a5cc26f2f2db32093a430576065ed215510bfd77257c8e345d1b63c25b6eccb70443c2ad30e8ea9cb37a325317128346b9c8f9e0bc50c0470b5d6dc5b6f44eff439d1191fb24fd3500762bd3418e6cea4b0aecd3d9bdc1bbc3e72f5d793baa016a01f189716fcdf69f31f7553b2ea27bbe808f9356ff6aeb75941689c9265871ca8752953f8e6133559b888d5abd1873865b699aa73bbbb979cd5a7557ffe07a2465849c63ba3a2188303adecf96d6d0699613f8bc4d6b96c8caf2c5bd8a848eafe499cf48f7e7c13af17aadf06367ab4343c6504a6d894f49928d70462fadb642bb5c4e0142947b75d3f7fc9c3551a90867a65dc4890ec563e3eb517951be68fb57e69967ab1e63c14e46e77eaf97feb482bcd60aa657d6f4f432103a503526914d7b63a8e38981540a31cd90ca186475bb6861cb6ea814c16a3b24e20967545a91b4c114e1532df9d67744d0472f34b5f8c061bb93241d47e8dfc92bdc1bb8affe7088dd008f43e70470cf428f9beb3976ab4afa626f13868d65d36a9c0b1318d793189eee41abdbff8ae0efcb81d985e3bcf93f03b419e27f9162f34e26429bde69ced235d86418d86754e5a2b20c2ceb43af44b213e24d924b4d5809a7813d5fd80f505e6c09517f0b5855e18ace372a064ebf3005247bf91e0f56fb5ed05d942b89c7a6231c7e11a2ceeb69454d9d9d1dfb6f35baad98dbe448091e7094f6b11444dd7ea613f11045018d2739589288929e0da6ff21463fa7eaed2590390866d050aa2ff918cf5b6e547c8a39f85f039c01bdb73dfd1866ac165e87d62ef7ea8c6003eb3439131d28d13d4345fcf7c13343a25f58a8748a3c7035fd3dd4f0ecebc33cfd9c5e504d6ee6180de17cb49d6596056b34dc5f4ac6cc2e0f36a03f0c23dc23d50f228dc8e07cf5fdd2c4dc02b85f795f255d0939c531e53ebad5769775a82e3c38b4901e52d2e16028715d88a2338c93e1ac5b3825e0908fb42c0e2e74c50f02a8a32444f7867c0a756601bcf33efecb39e19d6808d48ebe63454599cf45cd20635abff47678cc7f6ee52bc72ed2b5735face9d896fabecbe369b3122981b5a95732edd3bab3eedfeeea2b0ab9c08239057eeee3d5f29c11a5e93d3c57db95f5683a12c0dd984e54c0d38ccec71ace236f42bb4ccbb4742a407ca3bb419d445222b3c11063384bb020de96ae3850f912a0982d0e6ea232fbbc4144ee5a9afec0c329e6bb61ab2fcdebf257adb2e66994d48152926d99365d2482ca2ff11e898eec98d6911867864663bc5ba77dff4adbf9c09cb8fdc2765d523d5690d3dd40dc8d1f23808e9589046370ce46f9313b424980ad7fd78ebf0d18c86fce118f441be7d8b0cbf768603c7aed92a9696f277e163f308a286212871d8e4da4d5821d407705e12858e8900087e92902830e49814a55da415769b6e2b20ab3959601089de76875413d7cad60c8104506c16e33c99ba4d5292112bd96612c39f30a1a2efe3256edfa3c3be416dfdd13337b170b9b19e42330c03483ad252e67a8588eb0f14fed645e0ba71db977de19c1a6b0d30effcb8fb5686c56cc45279faae305cf9f3691a8621ffbc96c444ec9e77c5831ede209698e965ed0b006e469280e6d1662bd93ecb0e6ea13604583865631bec5c77c04ff72a776ef6c756b96e81771ea7f151cedb59a3b15cc5a59fe99d4763c9984f1995ff0b492c6d9645dba0a362ed790a9ce0c55ff8ca079dd55c56416ea88e8472377981577a6dcb9e9c6859d4426a0a40811071e6ff54bf990f5f44ee1329d704fa66a3e274ad60e809ebaa13a7235da642d2448d9ef541f9365c92294fa3a4290ab31de0c519cd63ec9cbd060ec7cbff9dcafad1d330c72d93d31f8d558dfdfcee6cebaea575c2566d28948377ef5d9d8a9a98ca3f28250e5967b0e0200ae29b5fb58ca7301133af033436c6a3a41ddaf4a79574c45a66022597b754ed50e25858e64ac0d6f45718b21b3124daa17f4da4726e4a3a19383b32042dc9075b568e0a8656b0453ecf93ed7e37600f87b4d1552bae327104b1c09cf3900948b17321b5c67dd26c20d9f385924c346ffc37bbd0b0b20828ec9311210a073db0368e34c3b958c4ca123340d56d3fda5c711ced84bef2e6bdb53385157c5c0693df74d5cf5e38d7bc232a28a64d3351b6e51c0f0de4bf3428acba44589dff5e383f2d35a4babd345e2a7b3eda4e51d3e7cc2fb0e8813921a774f2f7f9828f34e871bbd4a124ec2242ab14a17aebf4f495c6ec10817df6ecb72308527e9d0c2c971d4d02b3013607f660d45e68b9783abf979237af367f63b4b116831b1a18735f5df2706c05d26edad61e0633c639a73812bfc1fb1ba58b2ed4c58b50638cebd678e4b259a7baa81c8c00b3c1bbef3cdd05319b6fc5f83147c31f6bae588c68500b40af27dcf01bf6c37dab6fcd508afcb2cbfa42b4821396b10d786a4b156b129093d0a4359dbe099732259207db6d688a745a42315b8fc9234a99a3f15a9b511cc01417fb2de8ad146ea1078d9a04f7e4ae4f2f730f949c61c213c5eeb0fde906ffb10f182eeca1bf", 0x2000, &(0x7f00000008c0)={&(0x7f0000000000)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 00:06:19 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000400)=@abs={0x0, 0x0, 0x4e21}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setaffinity(r0, 0x8, &(0x7f0000000180)=0x80000ae) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000300)) r3 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(0xffffffffffffffff, &(0x7f00000000c0)={0x2, 0x4e20, @private=0xa010100}, 0x10) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000340)='./file1\x00', 0x40000, 0x6, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000001f40)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000840)=ANY=[@ANYBLOB="00da9bccad002100000400001f2b6fe2f96a3f6d2f93ca9700b41d3200000000e61dc18e8c44810000e4259e66932f75a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcffff1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1947ae4d82b1aa0b548e7393f3e00bc4cc5b3e3c8bf5321d391264cefcf9faad2b4077e1ebdb10df5353093c588708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000009e9084343c6ed98d00f15eaf0131f5b4136929ed31bdecd21d59ccdb410dd93aa5079d6be21e9b112ef80bdd651f649886634749b8801cfb90e1aed6002a74c5081cb3cd8433e4f5c57aa4e64917abef7028d07ed6039c9f08efd7d996a5be6c9a33c6cbcdce39c469faf34d80b5e3633c078ce7d7522ffdaadd9d817ab33fce554e2150459954ac9bfcbe5d28ec65524a218b229a40d3b719cbf13220914dd4cfcd808e1ac9949a617dbe4913dd2e1c383e83fd2ed7b3266a7fef1e0c9fb0f4870bcfc981618782a42ade56271308ce57542589154cffb13c304348445f40a1595bc156a087e038bb447c623d3f0500cbacf9af1c93d1be01bc0b90d0a13edf05702e43ce8268af172e049a5a9a6ca77b0dd3cf48f73f27079a8743644e426be045aa4428c13ebec99f3cc5a269b4d50c077a68af9e8cd7d3ebd646719323fd11e3ac29c159ddd9162a8ffb0f66c0c888296644dfda99ea960ebf781a6c6f84de13c4568023f79708e7cc3e5c7a25b1f13ac3ca08bf39810d14b3a7bf2e40c94e8586dbae0e6f5e5379700eeabe00c600"/642, @ANYBLOB="21080000007d201e0a8bff3abf40e33fce6bd51e1788c18ba76b876ff56546dfd72d85f54bc9c004a58a5cae8013b3fce1b42ba08d7de49f945fd8ad595a4d6044e488a32bf951794940d3cda05b246c528cc39c5c10cdbfb0445b6c9c9201004a777f12b31a94d4adb60d8e5f553867c10101000059220e980438ff0421c86a91348d4603d2b5ad506829"]) sched_setattr(0x0, 0x0, 0x0) ioctl$sock_FIOGETOWN(r2, 0x8903, &(0x7f0000000040)=0x0) ptrace$cont(0x20, r4, 0x2593, 0x4) bind$unix(r1, &(0x7f0000000280)=@file={0x1, './file1\x00'}, 0x6e) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) (async) getpid() (async) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)) (async) connect$unix(r1, &(0x7f0000000400)=@abs={0x0, 0x0, 0x4e21}, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) sched_setaffinity(r0, 0x8, &(0x7f0000000180)=0x80000ae) (async) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000300)) (async) socket$inet_tcp(0x2, 0x1, 0x0) (async) bind$inet(0xffffffffffffffff, &(0x7f00000000c0)={0x2, 0x4e20, @private=0xa010100}, 0x10) (async) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) (async) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) (async) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000340)='./file1\x00', 0x40000, 0x6, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000001f40)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000840)=ANY=[@ANYBLOB="00da9bccad002100000400001f2b6fe2f96a3f6d2f93ca9700b41d3200000000e61dc18e8c44810000e4259e66932f75a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcffff1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1947ae4d82b1aa0b548e7393f3e00bc4cc5b3e3c8bf5321d391264cefcf9faad2b4077e1ebdb10df5353093c588708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000009e9084343c6ed98d00f15eaf0131f5b4136929ed31bdecd21d59ccdb410dd93aa5079d6be21e9b112ef80bdd651f649886634749b8801cfb90e1aed6002a74c5081cb3cd8433e4f5c57aa4e64917abef7028d07ed6039c9f08efd7d996a5be6c9a33c6cbcdce39c469faf34d80b5e3633c078ce7d7522ffdaadd9d817ab33fce554e2150459954ac9bfcbe5d28ec65524a218b229a40d3b719cbf13220914dd4cfcd808e1ac9949a617dbe4913dd2e1c383e83fd2ed7b3266a7fef1e0c9fb0f4870bcfc981618782a42ade56271308ce57542589154cffb13c304348445f40a1595bc156a087e038bb447c623d3f0500cbacf9af1c93d1be01bc0b90d0a13edf05702e43ce8268af172e049a5a9a6ca77b0dd3cf48f73f27079a8743644e426be045aa4428c13ebec99f3cc5a269b4d50c077a68af9e8cd7d3ebd646719323fd11e3ac29c159ddd9162a8ffb0f66c0c888296644dfda99ea960ebf781a6c6f84de13c4568023f79708e7cc3e5c7a25b1f13ac3ca08bf39810d14b3a7bf2e40c94e8586dbae0e6f5e5379700eeabe00c600"/642, @ANYBLOB="21080000007d201e0a8bff3abf40e33fce6bd51e1788c18ba76b876ff56546dfd72d85f54bc9c004a58a5cae8013b3fce1b42ba08d7de49f945fd8ad595a4d6044e488a32bf951794940d3cda05b246c528cc39c5c10cdbfb0445b6c9c9201004a777f12b31a94d4adb60d8e5f553867c10101000059220e980438ff0421c86a91348d4603d2b5ad506829"]) (async) sched_setattr(0x0, 0x0, 0x0) (async) ioctl$sock_FIOGETOWN(r2, 0x8903, &(0x7f0000000040)) (async) ptrace$cont(0x20, r4, 0x2593, 0x4) (async) bind$unix(r1, &(0x7f0000000280)=@file={0x1, './file1\x00'}, 0x6e) (async) [ 379.418497][T20256] netlink: 'syz-executor.3': attribute type 4 has an invalid length. 00:06:19 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) r0 = socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={0x0, 0x14}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r3, @ANYBLOB="01010000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=ANY=[@ANYBLOB="7800000024000b0e2cbd79000000000000000000", @ANYRES32=r3, @ANYBLOB="00001f00ffffffff000000000d00010066715f636f64656c"], 0x78}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000800)=@newqdisc={0x3c, 0x24, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8, 0xf}, {0x10, 0x2, [@TCA_TBF_PRATE64={0xc}]}}]}, 0x3c}}, 0x0) r4 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002540), 0x0, &(0x7f0000002240)={{'fd', 0x3d, r4}, 0x2c, {'rootmode', 0x3d, 0x4000}}) removexattr(&(0x7f0000002040)='./file0\x00', &(0x7f00000020c0)=@random={'btrfs.', 'user_id'}) syz_fuse_handle_req(r4, &(0x7f0000004300)="554c9220ded44dc871e99bf93ba98edab14b65e6c40f3d7e63c5f0c7347398ac6e17a02e3a04251346947f4a6880f2b945ee61eb1c3e37d15fcc1a893cd80a31a1047003831638a9eb35eee32129765d0a6b4a2d3714da892ef150593cc708c1a37e839c22a3c311ac70bf116c4b5ecefe045509c79d3130b8cc663db8815042336bda88202f57e451c12349249987fea63a1b9f90bf8c073518c6dbf5b544516568f3c0cc9176338fa7220d49e1f09fd55f7b02bc3b0b234e4ab63454c6a1b6f76d1365a79c96f7b27f6ce62c4ac33d652c0b979202ef70ec4b00eca11a28fbd969f246b5589c7149f57607dc7230513e9a0f4f294161e9d8bb2ae1c6d3171d51f340a9aea4adab9f4fa2cb36a4d8493797a39538b35d628348eaf7cff790b864750eb0c0d92d06b7ffa9a349af6aaefdacee2226ed2c975e7f810aa388b1bc30ac2a4837668ce8d91d01f8e6be28aead6e029874c7aed2c7f8e9475667fd6d364b66f4b24b796ceffe8cc5a737cb389de6e8d0fc70fd0b9b9e77821d0940c2b9a7141f4ab8c0f7ae8a1e85946b3c2ea6ae584a3e677b9c3089775318f4121dd06bbbef8a4492b7b089dfee21ae92053da80fae983f152649acfc164b4838147244296050801773f0f7aa575caa4f113f76508a05ecdcc0a7f0ca656e85bb207283ea9a61272c99a4a7960cca8d88808f372547296dfb0ee5011f5c33a12d77fe032e12af8fa69915304d0866f10329925889a6a1ac215b6ef8bc05409ead00a3e3fa31cbb3de1217100d65249b00d4b7a7b6b6cc10d8553311abac7a5eb60ca1bfcdb1ca2347d8ca81fda24fedcb1213404d4b13d174cf18f67866b1d23e7efa408ee06dc18f1fbb62f124f1e541aeb89c322b04f0cadd31dfc6c13840e439503e1422d4218344a01ae9e0030fc286b11a93305d818920c3c8145a5d9e9dde3217b2db60761166d11e6c997d8f521d881a99f20364cdc1a801e21cb529703583c04431525c50c29708be6961aa173719c84df0fe81b0d040573562d9acec837d1afe70ba5cd12e81ca39eefef683625a8d237b5aed2f61b26b828bc10fdfede883f8f1d89fa08ab5070f683d234103d67906ea4dbbb2f4e3cb65a1ce08a8fb96a5bd314238a4d3dbdadfe85004dc132cae7a8d34ba24cb5e18fcae804c96d93eaaee6c0e6882214ba919871eaaaff4a6b00ef7f22c0d1f93f563c475660a1c0654eafcf0c07c141ebbc1ae0b8a1b75159ed5c694cb241368a55ac01c819ea624c74df20432f781dddb820f70a3eee1e53e603b0f00b9e2c321258d69b4ccf332db63ca96e96a633ec4c1fa19864d4b4c34b026a30e49d85eba66c3007afc8969ef0f4b3e7dd0bcc035c68a5381620e1c6b9141a24f68ec600f8adb73a16cd0df2de797a9be785e5a5edccace15db9331d5643cd835f902b8f91e52e3111353cd157cadbfeda4e0eb9159a33a54141d95f7319131eec6e937b21d5ab17638b34700da566b652ea3ec8d23c14c1e1ae771e730c31e1ff84bc4a5404e6e0c244e961749dcb46154c872f424c63b08cd261163f117d90a7667236a054d284c22aef8d4c3be8699c52250e0fec9b679909c748ffa8ca9111ceb0cdac1024db98abe5810cfa07a73de3b23750b7e5c1c56554ddb7d1903dc872a938887fd6e26af8fa0b3ef2b5e57d98464c0c3747a34c7df348027769c0bb88359b72b72cd5704488bdb151ee8322e053b4fdf57a84129b5269b1a133c085a029b86f6ffca37bbb24c318e66632693080649f08eea35281eeb725e441932df3c276fb93a686bf40daae3b1c5b3e99ccb2024929ce1352e9c6e660880118dae4de1cdad0fcdab8a97deda2984ee82b05ef1f51b7f04c8ad517b95f1d8d71b356efb22effc6e38a197017058ea1fef4e7916fd943e44f16e7edbba93a3c9e4c20634f480e6d51bf6b5a90a55cab77a942c6f32d343706a50f827ffbf1079398ea8eeb582ccd25e75274232c13dc44de5f8c5ecc3110629ccb76dd39d045b9f3f3d531f238bcbf3f694003c478c8285fed3d4ad10a6a81d1b5540afaae2576b766d79c78439db8551cd341f7c1737191fd73e1b6537fde8cc1ae660a2aae90c4596ab9510fcd946e84e7d738e1e46338a37dd1e9666a2b819a1f1ac6c9d661d09562a2cd65a43b6295afa4e3df42e83951e01e86ad2c1b5b641425b0a54d3fcc1fb8687e89216debe978c7db246fde2496e82a758019030b9a6026f1cccd3566e106d7cd18e2071988c7f622c9a97507a90cdd7ecbe124accd36d65ac302018f10672354f774f58453b94586752916ec4ae988d98ba3bea388bacdb9b86b87d64ccde8c8d84baa91d97f902552a75a8dd7b361177ceebec45e60e73f5df5dbc99a99d053a311d2a7763ceb6af5265af68b13178e65f94981907f8f2532196f8ed213edafa38f3cacc142a036d317b1c8ec74e78913bb36c22c65d2fab252954042cb2ff1db2f087a7252bb5011d1ec848680bb6136c182f9c3529fb8d91fbce5e1ebf651b048d5248b954e0d8cbf540a16e17eda1518e0a965ddb22c5d900e707efd52d5b372ac6fd411c5779f3870201fd4b66de90d44093e532a691ee4f57e5e5f578a722394ce305d891d57ff2675e755a5e0abbc4499084ffdda746cd778da2ff87115429065776b71e2a6019bde3122b05d131ad7ef5b4a19cd979df3fbca57c469c6566c5811766d65f8a0869db56c1f90b924c67fa992ceada2d46aa17d89d260ee6078c844756675d15ceab36b0a632447f238ba9531d615a793628b59ca5b15fbc7a8a4dc2114dbd0a9b2b245c54111e6ba343c3f413ea14e66a0ac57c7dd0446399289465f81e6c6f730e4cca19751023dcbc3e15f9c9ba5cbc5d059c882e42de5f0ec49d7171870f17faa132cbcf0cc422a9a78869ffc22f376cad1b359c277dd6e0d7ca7d5739fcf320be450a3b64581ff7e0e4a2be026300cc99ad925b62b8d7bc8e1158c0c5d721da8fc3038bdf49da52edd4b2452e3c9cfcbe89a131b84e72eda38ad33cd2d6ca62958e8b695ad20ae04799d1c273fe5ddbb869991397e80f6c15813154e2d65c29ae3e4dd4472d961f6c848682a233e0767949d292882c03e5f47afb5985717ec13ae4af89e42030d360f1ac03977e2dc0b2a9e6f6a994d769c73dac84b4ebe8fad74d293d6c9aa6b315fa9eadd47588fff802e9e196d814c0dbbcf66915898f4785fc8ef49f3050df0fa3d8eefdc92c0db7e9d053a72e4e53200dcca91b200b240e36146f8dd6777816bc8fc5921e08051cdf0dc608008eeebdd28cd6303e4cc533fb93c7d7dbe9f9a634f9287d6350f84d704427ed54e0c71c0c99a4db202b4835a463a6c77be774f2b80ce652c1a680f84f291f8f6d9b230c42b58a10237d3e6ad67742824758084b7eac9916d3bdd1526bbce6a08498082163f14bb5fa005fd804cf78a46c28a3514828c242322e410ea3b7f4f6807a792544155c02949a3febd4a8dd4e4c75946af457a39f52e80b643a6cc1de0d26884a170fd763b13b11d3ddaeb7275612cc1d69da85fe942ba49f5393c6a3d25f28ca7cd0fd37dddf6355b9fcf474e3400f5908a7d1975c34a61f22229cdba7bdd426650a3603cc7562bd5e1c15d2cbbaf7a73d6e26235249c1c0b4e8732b0860c43b280a4cd02e4a2d6170f12b31ac4351e2d1bca0bd9a481242b0ccd82b70037e5e9e536697f1719dc366e6554bca111fdc16d65400977d31e4bed3a585278aac11642993f56abb47b2c41f35e3b21643ab754178ba47902a599f729ebf592730d3c9d6e69509f37c165ca6203fc07b79ecc422f4aeb5c69a0c6b5f32307c28b7b4aa09ee9a640cbe05122f973ed1d3674dd78944999f9059c88d05602bc03a191f3e302a7969b57e9aefa3c694e9ee6d221cd982d5c18df47b6df146a037c3284d4fbdbc5c5abddae3ed27dbf439f2cbad51fe7331185458ad284c842177c8358a55612c43161d6f8bcfac07bc0c7a1dc5d269a2b4318d280ca354c5a9a934813453c223120b4c200feaf2550ed2bb76bfd9d6dfc2582d422f4a528703466c1f0ed93bd12a4ce2ce0fd0a56c087b501221368d5030c4fe288693ba8e84991d312ca8bff1740cbc8c68f92d617cfca0a068a029bcb2fd6fd827bf8a283672a0d416384b72b6070dc326ed674a79a952cd65ccf15449e60241ed5b849475208898868668fe14d9fefc3e701127ad18f01b6fc0905caf40e4040d2e31bf04daf4dfa902629a6816ddfb2f3fcf88a784c98698ccd746fd373a07e957d6444a2df20fd114678e7dd62066f84be596b2c9db14707612ffef8b9ccc7e9ae11e5c6eb31710c3ad0007cc58402d55069bd1970c3329e1f9017e2c2281a9f7908a15e394c534d5a9cd53f0436005ba5b7c1cbc7652ea0ed9c0b83db0ec73a2b196276dfa86f290d70ebca1bb83fc2c3fc66a4356c627b5aad22e5ff301f0326d8013c55076782b6c911da526bc87a2a88c593e90c56f9bcfe244bdcd7c41506d596adcc1dbc973edf9eafd2ad04818eabcd47ac483a6d3d8090dff194f73f3c592ba7d27b06cb8338946bb83c5a7d3b1d05e873f65ae5cdb6996920ae2ba1215964e37c4027f995485c66b8897c82d6415711a1ea055eb7a1de1f841379aa2de8fe1cfb49c4f6fb26d50f1b351648f771504c6a6dfd3f408154443702cd1587d1612db808fbe7a64ac63fb49a1dead3120ef2fd601ef9a07479f982521cd32b5315c0bb02b71590c726a33aabc704dbd24730351b7e10e587f8ee1e5becdf701fcb4dfe5c4a1a8cb361b751893d99a7ea5d01a39a8d7f003082610fa69ab49b0603e3378e01b89e1ede84bce7ed19c39298d8ee21548e1ce21c2aace325fdc6852368dc0c51832bfe1ee91dddd6733a57b2b265280b59f52af5117405a1b9b9fee024199d25ce1a50255efcd28201960cd0e0a9048e6f909634d44e40a58616135697cb96c0d6e4e4f75521e73dbe8749192efd82da3a85507833543af5653559a8712ef34d9a05d3124eebc682402ec5838339c196941c4fc535232a0ade824ed368d5e2d653cf21cef4240af9ce27f2a2e03f6ef504ed614ed480057cf106d35fae40f7f045234705d7d9355619dba5db6269249f7489f09aaa53a941347920851661322cb499cd556ae47dd09b38db4c58ff4563ab4a7bac1b742962dbbb8da1483324a6b85f10bd47f5127beb1e582f84a66a1c2148a5f190acd787561274e0d225417ebf2ae2211050ad4edbb58850eace0aad4f2f2771f9e7d517f18cacde926ac44108dad0e510d9a3d865b6209315907c18706b4d36148f1be5a8d9973935e810874538b260974006bad01eebb74fa412807dd51920d43cf60c34841de6e53cba1a090a14004ad068cc7410f2a144b969507b1aa6a313e3e2f5cea95a6d55fe409d19cca0ab7d718da745eb9827476f20d8940a588affa25fac2b279ce62f3057589a5d49c8075dfc8843325df501985646b7f6f15699fb42ef73f2c9c2c6bc3e2b8aab5f0fa5df79e248b5c96cef845e717d35fe119c7db193687c9a08f451fb3d09f600bb60a5920445fdba80aea8521e473cc90a4faa01e5a74e3418ea876d7face87f592c3c73ec633859b525ed9362543723c03f7c4d8cbeeb70d65f4718252a0280eed383257ebfebd9ae823cf84351495d41f4b76468637bca03ca939234b68f39d1e30c6c25a94b727027574c9ea42744dd1d7a660471653244834bf5a5ac6bf3f23eb20369369c46d04c0d48040f240f35745082228662f116bad1ef276adb4ff5aff675e48bcb8a3b166a8cb03dbff184e9ce2713cd69422fe2ee2007bd8901bdace6d00e237440bbe3a20a81edead57d2c325361cdaceadf13f4d5e05c8b093042507d931e39864d0c9842c237ca709432cfea487487893242d25aa2309f04e23597677fbb6b2f7a386357002a7b34e53b6612831b195d68d1a6a897318e32a0d374f01bb15d1996720f26e209ad7329bcd58db85583bd7016581a47fc218c8eb4bd5ce8b59a37c9d594aab36fa5be9c52fce6013a4d9d21e1a6d3a0a261f6a53707334f76bbab4eba24bfc38d6c80da8eca93c2381e3c449568d5fbc98648653dcab941ba09b62d129df944c4d3ddfdea13ca04e5e37ad94b105e50eee019100f2828f7d8a70606b736fa5f92b8016484bbdc2ebe2304b02336e1c1e8e01098c4f078f722a91081c3f56eaddcd6a9e5eaa2e31492415b25f89dbc038c01eb205d850ec772b04e2f987d55510af33e2d2435463c3c68a6ec4b5d356c9ed875fe15b07720340caed09163bafebc8919f484854392a758514eaa9fcbe16d64333c4337fe65c5690e5ef127ed508e32e4cc9c2664641e7b2fe042a02aa19d68ad28f926c7c67e2ef0ad0464c9878dea3328fc6640b5554fa33c2bc0c1a4b970611f41e5012bfee4ce3bca33b51add7b6c364f38fcea8daad485d627a45cabfcc5bd1702a6f6fa91c3522228cb2a32ed5687d18b47783d3ad015643ab3235755c2b1711f9289f0cf81fd063353af9a3c221dd773909c7392aac0aa496ba0eedc89f460f0e1856a20a32c176fc585f93dcd2e033af4ea6c64fda3cdc9ab1b19d0d8e897fe0c29a0d911a73330a1cb379b376f70efb7852a73d7090177a4c03c4af8de139a19d207b693cd46c80d631c905d6fbc3cc43499763c91bec16b6887ce36c6eb54937706f81434e0b511a9dc32e16f7e9699bc02a0482253d71849db9773371d19b9829da4c82c889572527c0e0ceff8e37f4c4e0751337f6f16fa1682cc78c063e60c1084c9eb9f72c0ec1fee55ac8554781c454c5d9fd262daf6a9101c4fbb3f54ae37a7415694fd09be0a2f26728294bafc7aa811e9ba3c70c74bbf7c1b352e63fd026504a5aa0efe22c905f225ae5710ccc78de17393d9d4060180d159150ab307481ed164f55a1ce91d7fa718bef4b329a396753894ed6b9f1c4192fae8bc7cbef412821031b71e6ffef7ceb30c6202f20d2bb26cb7819180ab50ab469799d7802c208a8e300bd737783daf7d99ffb8d8050c76b6f42899f6433d2912502533f6edaa0800872d6f484f31a42169ce6935c8621e0cc2acb8adbbc7534ef47d5e1c6c50dfd0afa938233d19c4976c6345f5eb34810379be02013af20c12906013a358ecd7f2972a6dd383308750fe04069d5461c3747b6b643e50532a98d473ca4d8553ab4ec7cfc359298decb8762f937329579793f6bf9ea716b7581fa95a5b392b7b55164e73b3feb17ee8788185d3c94cb59130767bb3a7933a25341aaf830fb185b9bbb758f4b1717dc7209201e540b22ca4a78c99b6b8e5d32cbe1b65fbbdcb66f8975160179e8c72c964763034a9f9c437f64af4ea65c5b1a94fc29eebf3b19f18b8901b212bbcdd6e82ba28265b12d6f124d79bacc6040222107e7b751308b8388e26b9be8334006b2c4d551f905bdb4dd5da32487919181a4c2f75e81a1eda09514d6467f038e326c42eac0288803359d1585469646e35e7d82176454dac8ef1c7cb87111ea18851b85f54a4ad29857e96b40292e591c9f762b5918b1d8568a6b4299d15306131c2a93f7e2fccfdcd760f15e009aef0acb4f9c22fa22117f184102979121ab5139741032896a9307caec475557dda818de7a8ec6781f44e169130a34767c395f8d6aa9882cbc85c0f259c2e825f9dc19dbd825fe6b02cf8037339949657c0e80c45bf52d6527665dd40a2d3d237535e088e0e82ea3d470f0e79d2053917a37bb7e747a6e36ba371a302bc92641132bc9e26838d7d3f7e79f44be68ee484ba35bb1ae11531a518b97de0dd7b8258dac4c70b53e8ca1403b2edeb8f8ce8924770d7cb26ae3267e535c136b0d2eee51350e439ce6e062c3eb90ac199dd2f8be1921db381c7ea4e5a5a2345e5f0658d645bcaaab1ed835b8257219605c4134ad21735fb51312ec7437f93756950e23ac0f7b480b7268d8a9c2dcd9e25a84e0346b8b534116d18158d6598f4fdde2b8a4d0cb13627b116cbef96186f45fee329010b18dee5bce2f4d666018b0c9c1775b826b091bb1e52d0411c074dfd5be1eb892bae5623a1f369d9848f9779e9333d6e78402bff09be0f8de1baf39f1697c0e8d236710f8466a379fca03ef05db8e0baed90ebf1f729f32d393b6eba15972592a083bec88572bdf1ab1e9bc88045ad6a9d6279264700ef608fa205423d8310d54d9e3b71841d741dd7ead43674775e68091a179dc58a2629745e89d6dc040aa1e0bf66e3f694614f05ba3f993589f59fe3c43e220d4d0d470282a16cafbee8b164b6f6f8070d23a75da4f760380c9c53fa31822ac71938d62d78f4c2ddc8e273a42e88af5329160adf77aef67a11b2717c909d6597b255c21c5760c084ff4a2bd56e79958c55c3f57514af234891c8cacaf28b948737f07a4f0cb5b499a147d6f9e959c1294e1fce0e920663ed6590dc25d0a81853441471cb08afc0e30b5de2820f812f17a0573ffa908f78e494624266c9df6d77065ae1908dd0e237c58c76a3b43b7484b2f24f2c6ec79d4c6524e7306e061ebf45afa5f51e48306ed8068566d311cbfca977453dd044e91474e67eeddbacbe5bb154831c51cce97f9c1aca1fe061be71212da7dc871b1c4afd46c7401732f4513602db334190ce7dba442b5b0ea54353a255b6c4f3502cff0889bd78700aefb22b00e68549248458da540d2bb558205d3f0e7ea76439d7a1b2ec3367ddece6b58f57df1591117c160603448f3022655fe61cafe5524d5126025395f670105728d7d81b270b1a63368373d000c653bcb34e7b601dc46616a6d4724f9b7aa0805ea3da3d8bacc7beb1f0bc499169f2153078d18a0ac0067dfc7d486aa3c8373245e38fed4869d67e5c1d957d5b45af8c407becb0f31b8a7cf9bd7db337356f59c754f41e567a5c238f27fe40958681a802192f24259c983173ac467ec592d22b7a0c276900316f6b70d55db8a55eeb2124ff3b51234b421a925047085afbd258e8645e66d33b4120a3608fe74afedfc8771f27ade9df1a21041b14d19dc424fc444302e568ca359db00fedd75ba3e19f0d2638e8c1698fa8fba7325d1743531daa735872cd213b15ebbc64dcf2dec1e37b16de5d89552a47061ba5f718bd522fa25d2d2f3296beed101eb3c85ced6827644c8f25b01e6b527fd2d76e0182e12ac5fc2498e9028733ef8958166e142a03a964aea9b52a9341d0646228ea2edf89d7864aedd17b908b6d36991dc91d5dc39809d8f4f1f78d2f1014e8607fd6da36c440f63bbdb8d0141e3194779c91069897e712f2b06cde4999100424213daee4fc268afa3cd55d8b3cc19ed88e56c1e9cbc13c21f98faa53ffe327b47284bc52377fe0dbdef42d89d02ec6fabc9670571beab37ac5aac88d95d857b045411d8f1e16b51ccc320f89090aa08bb4bf802195cb9840b5bdb35a02967ecbb2f8624d5061a9453a9e42ff451671423d8901d44ed82b2509e84d76032273a4e435d323198de201af1a13a7f15a36f0f5ce00b5c20813e21282c3adf599cc3c3857cd2a426533147ee4a2c43cc3d0032359a33e59d46acbfd22ea38f6cbbccff45b0adf82f143c43ac6a6b947d3b8f1690c842f6fe43630402eccb69dc0dc8f9de97476ab6024f0001c6ac3b283f4e926c3938d753fb103f023cf76f880812ff24d11553c72249eaf781b903a4559958e1352df5ddda095ba334359f8853c32a0b59907dd5bbe849bd00e06719550830a22110cde2430d3e7596117475dd1fe202be037ac0ff919f521de47b59428ed36d6f91f983d4aeab9546383254f89761e96db0a3dcd3498721519243f504f241a9e29974c8bb2dc908cb8e54f8c1ecc4e1fd1fa489d3f0e604b08f0e68309cea3c3fe4a32313bdbe0b94b17b3063bd4b52aba5508c4ed7cbc581073bdd37117e029e6ca508b5df47dfe9dae6b7f20f75686775db1b24737ed3838c5e55b98af9ec63e85f6515ecd19650dbcc4edcac1bebb2c367c9d0378c6ff1becc55189297cf600d8c32a95e51e6b7eda9689f1f66c07fe6979a9d8aa167767aef050a6ef442c40bac9eb1be9c932b9fbf49c7e33c45dad2a6598cb82014aceb0908192f54ffe892111b640a07c290f1e1b59f5c069d458d55dc45ffe8cc77d8f58dbd57e8f26b4882ebf02b976c36b6767c9b85a2ae5bbf536232787b016dfa044b42807dcd080a6db79ef3e182c7919176714b1b8d6f061072d5781c0be1699141686db62be66fdd4fc17f4a928d8aec93e435f0fb1530c60f75df81df04244226391e084455c50209105a32a6fb2230a3c9f24105267373bf9c09892c0edd2c4dcc16e70585ac625ecd751103aae3be858f08cd561e94813e8630de72d0d0f070beec08fbf70ee3e808f25fb9aad0186919dc1814a20534df63f04d9c13fabae769d15501f46483de475d5ccf0a05e7abd10ab3a5f0bc3bc0daf56b06fec01dfad9dd730588d0d0eabc90ba0de016c716d1120eec475248146a650cce6ecb1a210331c93fd61ce150ec840125c3e761fd9fbd7bb908bf0fa535da2219263a5acb16f366d7db519c2e6b8e1bb0360c82570f6c8cd65e85e0289fe8b0e1622eaae67ea1ed3c9e3ce8548014edb31d55df6e614a70752f612fdde060d2687708e32f21b8a2608c0fb49bbe2075c81736793abd9b0776f4f8a2d552987b84393e1734960a9b239e9b3c2eec661154bb63d6ee3a90f7e5242935364eb379c292b84cee2279440d3bc1b894fb443c72244c00532d093eb4a0479b32c0d4b8e1c0e5ad4f7b97deb781470de9bfabd03677f9b2adf7de39bd76d07fa852c630df5c695aa136caf6178d4f2251acac8cbce1ca0ffaa7f4c826c8ef9aa1214900abcbad6be0a968e26ef9d384f272bc4cc3bb1834b9406af248256db77eda8eec77a0b3ec6c6c94ff3fc5b45dc163d16e4eb8e58421ae523940aa81ab28e68ba2c89b3f159c87646c74696fa04532a7aa41d344e34943843f32caf3182d5369e1658c13e29dc6493ddcbdb24d200878cd091eed857fb4c466fe1fe071e6133922e3c21b82bbbb3b68108161af41c8341a4315cab48980b1980b29af0e12a60972f2be4ca43e5bf0bcde540279f7b69946074d7e4c302412745a3e01d12e747c23409766723a72354d937aa251ac8cf37ab303f0897642bc9d052bf406aaf248d8de14a3477ec3dfe4bf69d82e4d1d64c9dbc31aefeaa9042115ac0f8da8818a1f5c8cd23bcde6aff0c035acd8a2948102aa7ce31684bcc27c84742db3e8e2bf595fbe76009d8b966be7ada94cfedc375ef77d875ebd762039effc007538b7cfd86d0fd5e05dfe2257c1117b6b68b9a09883de6256e7ae9550b3c6b2830baa3f75180ced65e77b0dc4154fab4405b2558ea44ced11825a4203469bcd5782fb2b91f34379b99b731b9c4250bb0edc742fea58ef447391274711c79561894e2979167c71c0b1332b6ded364711048e2794bd8f489dbb0589cc65ec4084df5a578801be0f31ae6ee9c7730169f29c8f4fe9453a7610a130d57aac428b1c78a4440877b4f21b251f81dedf3ba16822f310049d9342eb91810fbbc509", 0x2000, &(0x7f0000002b40)={&(0x7f0000002100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r5 = socket$nl_route(0x10, 0x3, 0x0) r6 = socket$netlink(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r6, 0x8933, &(0x7f0000000180)={'vcan0\x00', 0x0}) sendmsg$nl_route(r5, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r7}, [@IFLA_IFALIAS={0x14, 0x4, 'wg1\x00'}]}, 0x34}}, 0x0) sendmsg$nl_route(r5, &(0x7f0000000240)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)=@ipv6_getanyicast={0x14, 0x3e, 0x2, 0x70bd2b, 0x25dfdbff, {}, [""]}, 0x14}, 0x1, 0x0, 0x0, 0xc0}, 0x0) syz_fuse_handle_req(r4, &(0x7f0000008a80)="3a2956771f5af6a59f431f6012b2bfbe8a1a57883e685d9d6ac37a6582f7627997a74e8ada02c7bcdf16a27ad55064141ff6063f254f6a81143ce5cfed7c14e57db057774426562b0ee70399a434ccc567e924f0bbe5a048e679c1382d5e04a1022229f48c146e279016f24b7f8f6cbbd60386d42b80ac2131c7db0a6750ddb3ac8e3f1d29f62d6e7c517501eadc172ce63eca9ca1f1e582d1745fbe7b073b1d74e83c74b860c514adb20326fc947fe263e86c61a67109d22f11831a0c8d9e2f4dac71a52417e020a6bb082ab4c6bef0428083e4fade4fab679ea5db2674557f4200e16718cc838d64067df8e6c61881bc9875cce90b6f362bedb3cd76c739e010885a2912d84c06b01e5b9adf03f7690039e2422c5d6e590ab45b66e42ca8a45e836c6d6fe2d6542bd638c669308967777253b420491eee4fbdf681584b3d50011983582f4fc3fb009fc4337e42b3378dca7f268fab71c69c8e16fd78b89971cdfbb1c85d703cf61e97e97937d6dec1a045f8392389a4c4924e6c60224d6a55218ea299134ceec06d34c5fcaeb352e2bbb8ad3ac143ef51e907db89b3a06d417f4e029158ee674d115ee5014edd96fc5d69800be66a132a917c91c108a3a03bdcbf6eeb6e5e3d04b20c6687d919a54a3f50f719a96e95cac6fb365dc39fed426e83d62310237a008c6bdc78d2ede2dd2d6a1b434912b0be9f7497d88bddda3f2a90447e984a94e282c45b54cb8c772bc5a7782b76ddbd0af7d0df7fd3b455d8c4889d73d6790673f6963ac96e7be68a489cd06dedc03bb756b5b8aab25b040e9e6df6c35faed980f923f45103a4cd3701a0e77a7a0316cea6d7290b694e23ed60e4429f8085511009bbef29b03876238c2483f031ba0ea7ba98fd6b70994f7668eed0d33beb4584db34c942b086628a4b27cdc8e87dcd02fc5304b279c399d093122ff260176ffd38eca07fbd8065d52aa33ebe77f8364ec7d297125f527f981e865d0c1f5491a44184c71150755f763e6293996b1a7f6fcb8d16cdd7b7cc51d97e6d2010d7dd111b3bfd2039daccd480391f7714f5a54b74ec2958800e0b57c56aded3a30e275d71a39b936c0bbf3d2797f2eaefa21cc4f306df67e169bcc4d7364c9c4256fe64c500fa944591a59758476d975125256d129b71603ec4fa288a2a03e839704e9fbed3ad9e70cbddc1a71339e0cecfe5056dadf16b193d84ddbf5ccaf952c70ac7ec0171090f60b8242743276efcefde5cc56522d35558dcd5a6f992f2d2070f3a7df35f669cfa01c7e8bca3f01c5ad99441d1b6218deed663a3cf80fd18ac78cea1c08783f52cfb279b1338bf9ed2de0b8c4ee9193856f232d0dc6c9b2fb4ef55e6b14ccee83e131fde17c08196c41924f2aee4e95fbbca8104e1fca6e559dbeda4918ac5812a99870987b92e64ff28c618f7c5b1c1a71b4b2283ca78657c43b7aa5aee7835160a68c14675c53eb639b9da0264a3370d469cfc958260492da6ced05a8db88086b4fc14cf50f60bd721c460fc5dbe3333d4141b2f6b7ebacb26b1d9ee14434e21a12893a66d4dfaea2eed1455ac397c4a0a0751eb92d22a63b168cac901bdf890684a85378740d710d10298cb8045bd64397dadc4b6fee80262d5f2ff2f914f3ce3247176667fb30dbf65ef359d12c2a1099f34df80029ff6dbd2b83523bac55b25d8038b49fa012f7a1fa5caccf0d2181a5c0bddb2b944efe3e8c77b789951ae7a7e5653cc9e563d5baaeee31dbd6838b57c0eaeebfc6cdb48f458bbf09570c14516a8d2a9e424b35cd840a94404881bfb2d9a39791a46d3fc61b2b9768231267c46ef614242719cca0b8a426c4ecab4af29ef1f529519d05b7a3da113b518978385ff902fee7bc89c715ce727656f4dd78d7b81f060cde8e93c005e1d9799ff08554d3ba6807360179b9e0246945159786792727a115b22489f91afe818443c88329e43d681744727a56ea930e227b4544081d2d4ca97d67497029260c6d763fc92c51a5b08230d70747063606e5549646e4f745fa0f001ad7d399dd40ddda062b0b36ebf4fd285fc497faaa13cf74a39e535cd859bc20bf6672017d3db518a3d419f334cafa8234ba84de94fcdf22e832177e9469ea66678d89d4e4ab9b769ff9d38b29f0856466f8ac60fdd7e834724e9e528d0c1919d81fd99c72c393083429640d2f817ec24de88b09cd3aed923594c225bfd71f661f1b0bcd611558dded48d40afa0e95932f44d28228b7270e2188866fb37154856b54103e7aca99009d4e11534b0545ff6ae0233c50fde3eb44a2ad918b30cfcb717c1f58c7b7caa5cc13aad0837b8c894db22a2f55320258bd985c821a320ae1a15f8fffc61b169dbb1690fd1c8dfa2b89ad5935f5193f9ab7717c1319916d44abf496384a7ae8ff772f814bdc2598b1feec2d2e5d65158e8a7b39c4640eab283edc612806799cc5f94be1cbc0e5cab930e8e33a15d913f8b08ea06563135b20bf83da87d7a9e09d652f498de68f9ac65cc670e3a600c5ac109337db9b43fff311828c0e9c9a3d9a92028742e23d1f00bbc27c865b8fe514be04e74f38c3d07cf0ca5042836245d53a2afa0effa54af510bdf93da93798d425ae33c2cab0dc4a1274d0919b7fb34b6f8c05b0fe05cc8a42ff6ea47eb35c48c366e1a8e4ef6275c5761bbaa484104bafb398b1b5a25a8c6c2a20461db45315985b159009d5189230f19c4b6ab6bb7a910d815f70f1fe84b8c72df2662d1fe41692ceaff3296c88bf49b33b0f6ea920100c45268b10d76ebe55d4caa19f907085e046a8ecf1d7cd3bf8071bbfe1b8ee11a46f673c7b431da285c7043638e4e219f1590f186a533202b1021936734f43c1dce05625f5542238068a108ebcfe86e44a269f77e58fa59e30505e2483dacbd71bda13c0886c4fb7a98d26125c0ed128e55f5f9c9e5dde773dd3e9b4009898f8c7f81c1a2356052785a8f53f62952e1751a99e68da0ba272aa82ede934be28ce09395dc340153342bed5ce7973b43589fdde92bd171f94aa1c8bd16801bb90622774113a63a1a06e508fe8e5921645d071e95898d51869a777f7815b7682306e7c660fae9f6847d71383b4f291c4ecf3276d34d0d57769e8c8f598ccff2dad3227e609a53928d778d2861438e359fdd2cd9dd0674adc48eaddaeac727c455c9420c0ca24797b257f66175c5db24a66766e3679a9376ce47d22759d1f5cc69ff8aaee759d0285ecef6bf70722661df6b53dfff9e78339f016ce4ed49b67ac75a67595f2b510977e91bb6eadc34a02654700e03e126bb0ab2c28c1939faf21f81d1ab1204567579eb75a67e9c2d8095917993d6b2f65540589021d709f100ffa5d50df801df3906868f38e38eeaee0cebc05d4c4a1b33336c5cebd6268a70e46380130c0dfcc27db6716a2d7514d2679954976ace50ad0a27abe93034b3b675070da70d8fdd3ca3917a0a590c8e44aa7dea24f20c08ae98abcb7b52f34b5dd247908e86b4a9d5fba59476d744c1937f11423d0dae907aeee5d849d2a98493ef9a16b8f5372b1d738730b13cc60d581eda7a9c0ca9f3d0bbc271ba18213093cdb7407cdb76ba7cc15bb9b24ebba3f40ed32b75ad19f099b453692970675db963e030a547b0abee1e845fb98e0742be83255ed1e82e49cddd36698d72e9f7c282419b6781ca965796320f32d07cc84813bf96619c99aa8996a5fb9739e6d021bcb3607ef535073878c1c13129c2d9d96e44483f057759da93e98c941b2bcc97ab7ea8619955d1e02fad042f4dfbe6778373b9760cd6f3d9a9f093b0066e7f9e61f319d5580d03b00083823b3c265d0697ea21a68e9a2f9764cd3aa8e8ed5771d18b118000260d5be2c4982862e92e8eb671257ab95726a2209d6e528c58607b9aa1888450b3e9ab81d4edd6d82ccae8f1f7b8ac418288b1b7ea06a8c6f32e305f05a1db97f6a0774e2dfbad09413d7f63002d14c9e8ce301a4deb123e1eae7ec731518b0f01ab7d10427bca6cff9cfc9690b90dacbc5d707ccb5e4a80b6cb9888c6316b742fc6fb25d498df524e0d9e2ae82402021541649f685a6804c54932479d6d7dbb6dc108578d646c0a6047b08d10925f1c6d68a63ae5a5af7ae03da034d59da76b5681d1c3afa0777050ccf2ec1c8cac43c010db93f13a1d6947ed06f8541fcb7a624c6dc51f96124c33ef152fda87ef884e62430990a45a442e265dac6df81aa76dd4351ef3061d36d3db645c92e85dca1c5a41c73fb06f4eec5a13f236853187b619a35891079bc8a12ac714ee39f352a061f3d32dbd1d0b8be240f0fe9ec53b1fbf2c4331f55fb55538d9ae492a93e79fa4382319a84da0549f0fc6f38eb3c872bec9d6afc4c25700b22d8f0a6e5e3aa07c9a62e88b4e74f0928c96ad48af45d7d9d1f7ac7d9a108e0fe97303623e15670081be978eb10083e1da556a64ff79bc9102c0581ba924a7b9580573131b97ab06765bc0b6d4d36719ab90beb6da10c85c872b9a9e34b6bd9fc1c693a785d6b5245f082c3c126068134e3487840e76d918a60ea3240a9a319001c58fb6bc6424ebe212c1b6d0f81d55acc890597c259087db04cac2cd1d1e0895a1f4adfd910147681faa872248026b87e205f382b29cfd89efcc6efd6b3464dd87acac91077b90c394ec420d0a473f8cbb2ec49100555161765668fa4468927a2b11a52c606bb723f97dd9de4c0cc60a64bfc92abaf5fa87fcbb410a36cfe35581eb6d480bee15de674402511ab77b4ccf188fbf12234cfd6e50bf637a3fd983834e598a31ce8891bcfe55448e3fbe6eef14defa34b6df4fafb94498f33d0244db837e2de847edac50ab6b5ac7d325818956ff231d422916b8d78b23d37063af3b4acb62966e38d95389e51fea82562787f7ff1cb59cb14933a10b8f606d063d36588a8724b83eb70f690b28cfe463d89f330d7129262d436f772dc13040cde2bc5aef76ea8d37c2c0a97a3cae5abf3c6b3f9b195413d30b17c022f87215f557a46fb13642c378917b29ead844583b5d31a67727f454e855e22afe8e41fa5d6f67421d4de063995af21ab0ad286bc63ee8232b4d9a34a1d516009b10b22870239c4c1d94471436c2c6ac2b90f790e2d58c061df5ff25926d706ee0caf2457f903b080be1607417202a2c6dcaef5d7fc982221495a9f1faccc3b25d0b99c6186db819a7c699d9ee02695707e5ed924cc938693647a0a611c45c156ec35a7900b58bf7b539c499dd8bff4326001466fdf95d84f9113970403085d024f5adf96bc92bea361483b61e6fe0c1520b1242485ca89b580443b6bbfe0f2a1230d0893c694bb24fa41d309d8903264c01284aeb5da07334ff3e4615625d5ede30fa4e1c85d013c471ce7872db3754d28260856329df287e28105a6986349f34850ad55a01ece762dc4ce036fa1699fbf6ac96a625ffc0bf43dd683e9e25b4e8cecb310067329521bd4ee29dc0809e22e4131eb053288fced030459d258f35aa96c45b6e6981399725708fe8265ab27cea1232d13abeff9a0c37b1d68d779226b23381d7aadb274f74006014f44a9c91aa1760d17c2d824461bb9460ebbeab623db4d0e8cdb5a5b24236b58478085e66887ad5c5d0cd1bb7c85d10974cdbbea7a03feeea8048b70f2bdfc202fc2edb15b2356c685bdd09e46bcb6305cd29255a4548148723df27c9404c31620baa7b85d903f60ac5bf4bd56ce7464755608f4a20728cf926a76cd5cb6d771f68eb427dc8b35075a37dcf2f790e7fc1a57d42e333ef67c39a8269afa2e04e1179f040c804696dadf934f9598c037923a672445a2b367978637fef36a9d1142bff489ff097298b6e6ca7ceaf75d022edb480a29795f9087554c2dac61193a9d6194f790eefef00b89f10f9608c7958e5ca515841bde56fa2387ddc4c7b6fd10cc8a828404f1df9bfc0ce0674e9a9a1362bf4e5ad44d388836dc94a178c76f2562798e93b5ace97a674d3d29bb167c823f4e7e82859cefa6600d9d9fc173c7431c178498996febfb86ca25d4cb81cda8ec5af8ce6ae794dd9207485cf7d44ba666e25300a47d895ddbf8d166e69e75df5bf21183edf5304ac96bd75849905c4d1469986905f866f8557aba17e0f3cada7a53810382bc11f19a18db3e3b32f2ceea267cf4df57637c36c35da6df3589b4c21a40270988da6d6f9ab839e76bda10227cdbe45837521d619d7b4ef75efe676885d26d0ebe545103e7f6b407ded42fe24085325f71b5d32557d4002d66bfc300bb883fe18c44901a58772d6ac6cb053fc644c4eed538c94a1f93c1f2ae3ae6f317c91f60b801e61f256efc3c3cc4662b7ca17c9c06283dbabfd981a47d11417e65c427f00b63d0128ad6bf80b414fee7da663d33b8b9f34240073e534c91202a9549ffcbc18d56a9394f2d14d1931ced8624137fe0e4aca06a3b8e78b11a4a52419886ebe18c06392653f58a41e6bd6fe1e87a1b9b519d479b1743de2aa9c10ad054127cf4d70efce0ebacc5ed13eaad6814dc36d972a7af7aa721eae1635fa18c7c115960afd5ba393ff1bba25bba7f79c29dc748f976b964481f085bc04f763b718deb70f6f487e86ac805dec0f4e62cadbee833b5be88d0daee54efcafe77b67eb87145fdff7b4be2de2e3247d75204b808768857242369fe1ffda259057c541be788566ccef149030e5f03e0fadb8d16d281f96ee8a08c1056494e6bafae35961acc3c9d8d89e86c4a9aef1a82d675f6a316f006fdd11220df77164271a3fd5e821b9aa2dd8b2004def5506d5dbabd194ee19b5d896389a08dc7bef505dc3be0f860a8791b79351ba445d7d68cb3e0e54e23d55bf35376500f1c06d4260bee647e06fb31b19ad53ae8b7a56db5e89f68fd7258f05dd922b5b73e9385f045a6267fc3cba704aee7d7af063687ca31f48d209ed2ce8bce8b9026802181b7ac80fda0830783b2e290cc91af64a8e4b90e94777642695c7f31f04bbbd0b94b487730306b0a255fc7641f162157aeb524e4bb5e1fd4c234b2d8f2c213b7f719e1a23bc19150e5c6beeba3d57bc7b28b725838642eea73ce6c6c980a5d5d6b5970bdea2580e64a72d0974018252d6e4df03377e59c820fb2d56df899a14aa21b3e6ea5e82f6b802146484f9ba6422b7247e8c24d575453ecfd2ee2077d3047507573cc7a06f3816caec285ecca8c1510727da88d0e88e633db52b6c021672954e28818e54987a57e7e2a35d0c320f5cc00721ba826c0fe83f1a2138e3558d5984b328f24bf0fbf9987184fda88c1b0638669c99660b868577eea7640601070ea1bda7b69021ae8f7b212812a7876eee199950b194bd494db5e09d4aacc4925b3b51d11117c4d51664d5adec628dfbb66a35d536709dda1d4da7e960a0784b75041a10604cecfaa7c6df2cabe647f627683a430031a9ad7af3b06faac214c1728b6e3d613e515defbb6d7349dd91e4241862e7cd2594694c353ab85a4f7f02bd6046efbe93b9a718b0ec84c16cbf912041fe6672c70868fb38b34683d4e0f47a7d653d04aa3b4135536002d310b6e2b22ed9c465e6375ec21f8bf18df2b263bc356189874b99c16701c479d51af3be9ffcae93b2fd550757680af09bcf7059299b96ef43732c9ae79a4067108ee92b68045647170c01c89132327a617897dc78caf67622a4ed9d3e18c9a8ecc2836ad34db0118af3e6e0e3c7e12219d314c9ceac00e0312047d962fb088e29c402a0f1e432e0a936a6cab3a98f3120d69bed0010cc9dd1722b0e250bca21d9c309f5ee944cec194e78d5b69080e195aefe6271f078154b30a9e4dba4007a89a00ca20c0375b6b4c665e725e3da722f06e82598ac8b65ee7ec8ea65c3762b1a6fca6b540cabfcd1bbe0dcf3464019a6fdec31303b64bb8087d665d3e9f2f19e405008ac9f00eb7ff2517828fb1ce0a7a9e76c79bd0d7b1d734adf8bcc938c73e0c89742bf6ce0e34f6c95efbee04d14e9c5147185e70d16a9b6571cbcec03aafff2287da728bac5b8b96b69b98860dfe4935f33bf411de8864418927d5b9046093ae9e4a0a47e460b3350dbf34436aa023419b8fcce3f66226d3dc8c66a3f2e4be2708ad5ceba629d2f2f197d1d41717f515c25a40d252b9931a063242e8dd9adf1a22567ac6603ddf9b18613b32e28dacb1797ac3c037c3bfd0850d8b893881c1ced7b0a4029aa0979f79abb414a264e3367de5dd586cd799c7c4bfb91c7d5bc029e8fce81c1d68b59e5370cacd6cc93ba3f6f6e1d0b48bdb588a2d273eb00edf4139a6a7e64ec2a34515984599db4b201c3941bdc622ad1504034956f66bd398d0c84dca5daa1b2dd9714c585eddcf3e286f789af2a739cf78445db43a2bad37be65570ec5ad41f11b18fd00270d78bf46ca5e3e42c6401faeebecabb5c7196c6458d0c84a7031fe407371e6ee983f96cf61f452a2bcae0cc9a529f6d19519dc0d4166790813cbb2ac4a6d2b6050e9fa50c0c20c5112e8f3817ca59e52ed05baaba617bec24322c61c3d2969f8f05718a6a6c1cddcf0af17a38c94fbc9ff1ab449e6548bec6f7631ce0cf31fbd1669de6eb9a7bea724af1e3dcf3a34a6b0e29ee244c113d7fbc73435026db2cb29d70a903af5c6b5234029a7ff1012e859ad589a9d4bc5a375ac0926c1823b3089afe5065041380c995960f10f559fee23ec1550ec609d1912990b875240f079e6ca65f25b8104293596a9c435b8bf1a05da75e3693a28580e65478eacb86f5e99fa605ab21ba2c6de1aa85e59a82c1a0b12793a00ba5ce641eb67922eadbaa630559033f039a88a11a4eff70d3cbabe2c94b90afb68b250d7b3675bb5933ec810317b2325afd74a62af212478092d6610500c723b434da8acae7faa2d152bac51263badd79a298d4ab7744f4402e27e5993f5b6e0a109b24da3d41552c0e8566a126c5fd9b338724e964a0e4a63970291d480e70c168364d0f7921fc5910e4bcea608514c959366918ee13a674546806608f12cf6a5cc26f2f2db32093a430576065ed215510bfd77257c8e345d1b63c25b6eccb70443c2ad30e8ea9cb37a325317128346b9c8f9e0bc50c0470b5d6dc5b6f44eff439d1191fb24fd3500762bd3418e6cea4b0aecd3d9bdc1bbc3e72f5d793baa016a01f189716fcdf69f31f7553b2ea27bbe808f9356ff6aeb75941689c9265871ca8752953f8e6133559b888d5abd1873865b699aa73bbbb979cd5a7557ffe07a2465849c63ba3a2188303adecf96d6d0699613f8bc4d6b96c8caf2c5bd8a848eafe499cf48f7e7c13af17aadf06367ab4343c6504a6d894f49928d70462fadb642bb5c4e0142947b75d3f7fc9c3551a90867a65dc4890ec563e3eb517951be68fb57e69967ab1e63c14e46e77eaf97feb482bcd60aa657d6f4f432103a503526914d7b63a8e38981540a31cd90ca186475bb6861cb6ea814c16a3b24e20967545a91b4c114e1532df9d67744d0472f34b5f8c061bb93241d47e8dfc92bdc1bb8affe7088dd008f43e70470cf428f9beb3976ab4afa626f13868d65d36a9c0b1318d793189eee41abdbff8ae0efcb81d985e3bcf93f03b419e27f9162f34e26429bde69ced235d86418d86754e5a2b20c2ceb43af44b213e24d924b4d5809a7813d5fd80f505e6c09517f0b5855e18ace372a064ebf3005247bf91e0f56fb5ed05d942b89c7a6231c7e11a2ceeb69454d9d9d1dfb6f35baad98dbe448091e7094f6b11444dd7ea613f11045018d2739589288929e0da6ff21463fa7eaed2590390866d050aa2ff918cf5b6e547c8a39f85f039c01bdb73dfd1866ac165e87d62ef7ea8c6003eb3439131d28d13d4345fcf7c13343a25f58a8748a3c7035fd3dd4f0ecebc33cfd9c5e504d6ee6180de17cb49d6596056b34dc5f4ac6cc2e0f36a03f0c23dc23d50f228dc8e07cf5fdd2c4dc02b85f795f255d0939c531e53ebad5769775a82e3c38b4901e52d2e16028715d88a2338c93e1ac5b3825e0908fb42c0e2e74c50f02a8a32444f7867c0a756601bcf33efecb39e19d6808d48ebe63454599cf45cd20635abff47678cc7f6ee52bc72ed2b5735face9d896fabecbe369b3122981b5a95732edd3bab3eedfeeea2b0ab9c08239057eeee3d5f29c11a5e93d3c57db95f5683a12c0dd984e54c0d38ccec71ace236f42bb4ccbb4742a407ca3bb419d445222b3c11063384bb020de96ae3850f912a0982d0e6ea232fbbc4144ee5a9afec0c329e6bb61ab2fcdebf257adb2e66994d48152926d99365d2482ca2ff11e898eec98d6911867864663bc5ba77dff4adbf9c09cb8fdc2765d523d5690d3dd40dc8d1f23808e9589046370ce46f9313b424980ad7fd78ebf0d18c86fce118f441be7d8b0cbf768603c7aed92a9696f277e163f308a286212871d8e4da4d5821d407705e12858e8900087e92902830e49814a55da415769b6e2b20ab3959601089de76875413d7cad60c8104506c16e33c99ba4d5292112bd96612c39f30a1a2efe3256edfa3c3be416dfdd13337b170b9b19e42330c03483ad252e67a8588eb0f14fed645e0ba71db977de19c1a6b0d30effcb8fb5686c56cc45279faae305cf9f3691a8621ffbc96c444ec9e77c5831ede209698e965ed0b006e469280e6d1662bd93ecb0e6ea13604583865631bec5c77c04ff72a776ef6c756b96e81771ea7f151cedb59a3b15cc5a59fe99d4763c9984f1995ff0b492c6d9645dba0a362ed790a9ce0c55ff8ca079dd55c56416ea88e8472377981577a6dcb9e9c6859d4426a0a40811071e6ff54bf990f5f44ee1329d704fa66a3e274ad60e809ebaa13a7235da642d2448d9ef541f9365c92294fa3a4290ab31de0c519cd63ec9cbd060ec7cbff9dcafad1d330c72d93d31f8d558dfdfcee6cebaea575c2566d28948377ef5d9d8a9a98ca3f28250e5967b0e0200ae29b5fb58ca7301133af033436c6a3a41ddaf4a79574c45a66022597b754ed50e25858e64ac0d6f45718b21b3124daa17f4da4726e4a3a19383b32042dc9075b568e0a8656b0453ecf93ed7e37600f87b4d1552bae327104b1c09cf3900948b17321b5c67dd26c20d9f385924c346ffc37bbd0b0b20828ec9311210a073db0368e34c3b958c4ca123340d56d3fda5c711ced84bef2e6bdb53385157c5c0693df74d5cf5e38d7bc232a28a64d3351b6e51c0f0de4bf3428acba44589dff5e383f2d35a4babd345e2a7b3eda4e51d3e7cc2fb0e8813921a774f2f7f9828f34e871bbd4a124ec2242ab14a17aebf4f495c6ec10817df6ecb72308527e9d0c2c971d4d02b3013607f660d45e68b9783abf979237af367f63b4b116831b1a18735f5df2706c05d26edad61e0633c639a73812bfc1fb1ba58b2ed4c58b50638cebd678e4b259a7baa81c8c00b3c1bbef3cdd05319b6fc5f83147c31f6bae588c68500b40af27dcf01bf6c37dab6fcd508afcb2cbfa42b4821396b10d786a4b156b129093d0a4359dbe099732259207db6d688a745a42315b8fc9234a99a3f15a9b511cc01417fb2de8ad146ea1078d9a04f7e4ae4f2f730f949c61c213c5eeb0fde906ffb10f182eeca1bf", 0x2000, &(0x7f00000008c0)={&(0x7f0000000000)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) (async) socket(0x10, 0x3, 0x0) (async) socket$nl_route(0x10, 0x3, 0x0) (async) socket(0x10, 0x803, 0x0) (async) sendmsg$nl_route_sched(r2, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={0x0, 0x14}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) (async) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r3, @ANYBLOB="01010000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) (async) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000003c0)=ANY=[@ANYBLOB="7800000024000b0e2cbd79000000000000000000", @ANYRES32=r3, @ANYBLOB="00001f00ffffffff000000000d00010066715f636f64656c"], 0x78}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000800)=@newqdisc={0x3c, 0x24, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_tbf={{0x8, 0xf}, {0x10, 0x2, [@TCA_TBF_PRATE64={0xc}]}}]}, 0x3c}}, 0x0) (async) openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) (async) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002540), 0x0, &(0x7f0000002240)={{'fd', 0x3d, r4}, 0x2c, {'rootmode', 0x3d, 0x4000}}) (async) removexattr(&(0x7f0000002040)='./file0\x00', &(0x7f00000020c0)=@random={'btrfs.', 'user_id'}) (async) syz_fuse_handle_req(r4, &(0x7f0000004300)="554c9220ded44dc871e99bf93ba98edab14b65e6c40f3d7e63c5f0c7347398ac6e17a02e3a04251346947f4a6880f2b945ee61eb1c3e37d15fcc1a893cd80a31a1047003831638a9eb35eee32129765d0a6b4a2d3714da892ef150593cc708c1a37e839c22a3c311ac70bf116c4b5ecefe045509c79d3130b8cc663db8815042336bda88202f57e451c12349249987fea63a1b9f90bf8c073518c6dbf5b544516568f3c0cc9176338fa7220d49e1f09fd55f7b02bc3b0b234e4ab63454c6a1b6f76d1365a79c96f7b27f6ce62c4ac33d652c0b979202ef70ec4b00eca11a28fbd969f246b5589c7149f57607dc7230513e9a0f4f294161e9d8bb2ae1c6d3171d51f340a9aea4adab9f4fa2cb36a4d8493797a39538b35d628348eaf7cff790b864750eb0c0d92d06b7ffa9a349af6aaefdacee2226ed2c975e7f810aa388b1bc30ac2a4837668ce8d91d01f8e6be28aead6e029874c7aed2c7f8e9475667fd6d364b66f4b24b796ceffe8cc5a737cb389de6e8d0fc70fd0b9b9e77821d0940c2b9a7141f4ab8c0f7ae8a1e85946b3c2ea6ae584a3e677b9c3089775318f4121dd06bbbef8a4492b7b089dfee21ae92053da80fae983f152649acfc164b4838147244296050801773f0f7aa575caa4f113f76508a05ecdcc0a7f0ca656e85bb207283ea9a61272c99a4a7960cca8d88808f372547296dfb0ee5011f5c33a12d77fe032e12af8fa69915304d0866f10329925889a6a1ac215b6ef8bc05409ead00a3e3fa31cbb3de1217100d65249b00d4b7a7b6b6cc10d8553311abac7a5eb60ca1bfcdb1ca2347d8ca81fda24fedcb1213404d4b13d174cf18f67866b1d23e7efa408ee06dc18f1fbb62f124f1e541aeb89c322b04f0cadd31dfc6c13840e439503e1422d4218344a01ae9e0030fc286b11a93305d818920c3c8145a5d9e9dde3217b2db60761166d11e6c997d8f521d881a99f20364cdc1a801e21cb529703583c04431525c50c29708be6961aa173719c84df0fe81b0d040573562d9acec837d1afe70ba5cd12e81ca39eefef683625a8d237b5aed2f61b26b828bc10fdfede883f8f1d89fa08ab5070f683d234103d67906ea4dbbb2f4e3cb65a1ce08a8fb96a5bd314238a4d3dbdadfe85004dc132cae7a8d34ba24cb5e18fcae804c96d93eaaee6c0e6882214ba919871eaaaff4a6b00ef7f22c0d1f93f563c475660a1c0654eafcf0c07c141ebbc1ae0b8a1b75159ed5c694cb241368a55ac01c819ea624c74df20432f781dddb820f70a3eee1e53e603b0f00b9e2c321258d69b4ccf332db63ca96e96a633ec4c1fa19864d4b4c34b026a30e49d85eba66c3007afc8969ef0f4b3e7dd0bcc035c68a5381620e1c6b9141a24f68ec600f8adb73a16cd0df2de797a9be785e5a5edccace15db9331d5643cd835f902b8f91e52e3111353cd157cadbfeda4e0eb9159a33a54141d95f7319131eec6e937b21d5ab17638b34700da566b652ea3ec8d23c14c1e1ae771e730c31e1ff84bc4a5404e6e0c244e961749dcb46154c872f424c63b08cd261163f117d90a7667236a054d284c22aef8d4c3be8699c52250e0fec9b679909c748ffa8ca9111ceb0cdac1024db98abe5810cfa07a73de3b23750b7e5c1c56554ddb7d1903dc872a938887fd6e26af8fa0b3ef2b5e57d98464c0c3747a34c7df348027769c0bb88359b72b72cd5704488bdb151ee8322e053b4fdf57a84129b5269b1a133c085a029b86f6ffca37bbb24c318e66632693080649f08eea35281eeb725e441932df3c276fb93a686bf40daae3b1c5b3e99ccb2024929ce1352e9c6e660880118dae4de1cdad0fcdab8a97deda2984ee82b05ef1f51b7f04c8ad517b95f1d8d71b356efb22effc6e38a197017058ea1fef4e7916fd943e44f16e7edbba93a3c9e4c20634f480e6d51bf6b5a90a55cab77a942c6f32d343706a50f827ffbf1079398ea8eeb582ccd25e75274232c13dc44de5f8c5ecc3110629ccb76dd39d045b9f3f3d531f238bcbf3f694003c478c8285fed3d4ad10a6a81d1b5540afaae2576b766d79c78439db8551cd341f7c1737191fd73e1b6537fde8cc1ae660a2aae90c4596ab9510fcd946e84e7d738e1e46338a37dd1e9666a2b819a1f1ac6c9d661d09562a2cd65a43b6295afa4e3df42e83951e01e86ad2c1b5b641425b0a54d3fcc1fb8687e89216debe978c7db246fde2496e82a758019030b9a6026f1cccd3566e106d7cd18e2071988c7f622c9a97507a90cdd7ecbe124accd36d65ac302018f10672354f774f58453b94586752916ec4ae988d98ba3bea388bacdb9b86b87d64ccde8c8d84baa91d97f902552a75a8dd7b361177ceebec45e60e73f5df5dbc99a99d053a311d2a7763ceb6af5265af68b13178e65f94981907f8f2532196f8ed213edafa38f3cacc142a036d317b1c8ec74e78913bb36c22c65d2fab252954042cb2ff1db2f087a7252bb5011d1ec848680bb6136c182f9c3529fb8d91fbce5e1ebf651b048d5248b954e0d8cbf540a16e17eda1518e0a965ddb22c5d900e707efd52d5b372ac6fd411c5779f3870201fd4b66de90d44093e532a691ee4f57e5e5f578a722394ce305d891d57ff2675e755a5e0abbc4499084ffdda746cd778da2ff87115429065776b71e2a6019bde3122b05d131ad7ef5b4a19cd979df3fbca57c469c6566c5811766d65f8a0869db56c1f90b924c67fa992ceada2d46aa17d89d260ee6078c844756675d15ceab36b0a632447f238ba9531d615a793628b59ca5b15fbc7a8a4dc2114dbd0a9b2b245c54111e6ba343c3f413ea14e66a0ac57c7dd0446399289465f81e6c6f730e4cca19751023dcbc3e15f9c9ba5cbc5d059c882e42de5f0ec49d7171870f17faa132cbcf0cc422a9a78869ffc22f376cad1b359c277dd6e0d7ca7d5739fcf320be450a3b64581ff7e0e4a2be026300cc99ad925b62b8d7bc8e1158c0c5d721da8fc3038bdf49da52edd4b2452e3c9cfcbe89a131b84e72eda38ad33cd2d6ca62958e8b695ad20ae04799d1c273fe5ddbb869991397e80f6c15813154e2d65c29ae3e4dd4472d961f6c848682a233e0767949d292882c03e5f47afb5985717ec13ae4af89e42030d360f1ac03977e2dc0b2a9e6f6a994d769c73dac84b4ebe8fad74d293d6c9aa6b315fa9eadd47588fff802e9e196d814c0dbbcf66915898f4785fc8ef49f3050df0fa3d8eefdc92c0db7e9d053a72e4e53200dcca91b200b240e36146f8dd6777816bc8fc5921e08051cdf0dc608008eeebdd28cd6303e4cc533fb93c7d7dbe9f9a634f9287d6350f84d704427ed54e0c71c0c99a4db202b4835a463a6c77be774f2b80ce652c1a680f84f291f8f6d9b230c42b58a10237d3e6ad67742824758084b7eac9916d3bdd1526bbce6a08498082163f14bb5fa005fd804cf78a46c28a3514828c242322e410ea3b7f4f6807a792544155c02949a3febd4a8dd4e4c75946af457a39f52e80b643a6cc1de0d26884a170fd763b13b11d3ddaeb7275612cc1d69da85fe942ba49f5393c6a3d25f28ca7cd0fd37dddf6355b9fcf474e3400f5908a7d1975c34a61f22229cdba7bdd426650a3603cc7562bd5e1c15d2cbbaf7a73d6e26235249c1c0b4e8732b0860c43b280a4cd02e4a2d6170f12b31ac4351e2d1bca0bd9a481242b0ccd82b70037e5e9e536697f1719dc366e6554bca111fdc16d65400977d31e4bed3a585278aac11642993f56abb47b2c41f35e3b21643ab754178ba47902a599f729ebf592730d3c9d6e69509f37c165ca6203fc07b79ecc422f4aeb5c69a0c6b5f32307c28b7b4aa09ee9a640cbe05122f973ed1d3674dd78944999f9059c88d05602bc03a191f3e302a7969b57e9aefa3c694e9ee6d221cd982d5c18df47b6df146a037c3284d4fbdbc5c5abddae3ed27dbf439f2cbad51fe7331185458ad284c842177c8358a55612c43161d6f8bcfac07bc0c7a1dc5d269a2b4318d280ca354c5a9a934813453c223120b4c200feaf2550ed2bb76bfd9d6dfc2582d422f4a528703466c1f0ed93bd12a4ce2ce0fd0a56c087b501221368d5030c4fe288693ba8e84991d312ca8bff1740cbc8c68f92d617cfca0a068a029bcb2fd6fd827bf8a283672a0d416384b72b6070dc326ed674a79a952cd65ccf15449e60241ed5b849475208898868668fe14d9fefc3e701127ad18f01b6fc0905caf40e4040d2e31bf04daf4dfa902629a6816ddfb2f3fcf88a784c98698ccd746fd373a07e957d6444a2df20fd114678e7dd62066f84be596b2c9db14707612ffef8b9ccc7e9ae11e5c6eb31710c3ad0007cc58402d55069bd1970c3329e1f9017e2c2281a9f7908a15e394c534d5a9cd53f0436005ba5b7c1cbc7652ea0ed9c0b83db0ec73a2b196276dfa86f290d70ebca1bb83fc2c3fc66a4356c627b5aad22e5ff301f0326d8013c55076782b6c911da526bc87a2a88c593e90c56f9bcfe244bdcd7c41506d596adcc1dbc973edf9eafd2ad04818eabcd47ac483a6d3d8090dff194f73f3c592ba7d27b06cb8338946bb83c5a7d3b1d05e873f65ae5cdb6996920ae2ba1215964e37c4027f995485c66b8897c82d6415711a1ea055eb7a1de1f841379aa2de8fe1cfb49c4f6fb26d50f1b351648f771504c6a6dfd3f408154443702cd1587d1612db808fbe7a64ac63fb49a1dead3120ef2fd601ef9a07479f982521cd32b5315c0bb02b71590c726a33aabc704dbd24730351b7e10e587f8ee1e5becdf701fcb4dfe5c4a1a8cb361b751893d99a7ea5d01a39a8d7f003082610fa69ab49b0603e3378e01b89e1ede84bce7ed19c39298d8ee21548e1ce21c2aace325fdc6852368dc0c51832bfe1ee91dddd6733a57b2b265280b59f52af5117405a1b9b9fee024199d25ce1a50255efcd28201960cd0e0a9048e6f909634d44e40a58616135697cb96c0d6e4e4f75521e73dbe8749192efd82da3a85507833543af5653559a8712ef34d9a05d3124eebc682402ec5838339c196941c4fc535232a0ade824ed368d5e2d653cf21cef4240af9ce27f2a2e03f6ef504ed614ed480057cf106d35fae40f7f045234705d7d9355619dba5db6269249f7489f09aaa53a941347920851661322cb499cd556ae47dd09b38db4c58ff4563ab4a7bac1b742962dbbb8da1483324a6b85f10bd47f5127beb1e582f84a66a1c2148a5f190acd787561274e0d225417ebf2ae2211050ad4edbb58850eace0aad4f2f2771f9e7d517f18cacde926ac44108dad0e510d9a3d865b6209315907c18706b4d36148f1be5a8d9973935e810874538b260974006bad01eebb74fa412807dd51920d43cf60c34841de6e53cba1a090a14004ad068cc7410f2a144b969507b1aa6a313e3e2f5cea95a6d55fe409d19cca0ab7d718da745eb9827476f20d8940a588affa25fac2b279ce62f3057589a5d49c8075dfc8843325df501985646b7f6f15699fb42ef73f2c9c2c6bc3e2b8aab5f0fa5df79e248b5c96cef845e717d35fe119c7db193687c9a08f451fb3d09f600bb60a5920445fdba80aea8521e473cc90a4faa01e5a74e3418ea876d7face87f592c3c73ec633859b525ed9362543723c03f7c4d8cbeeb70d65f4718252a0280eed383257ebfebd9ae823cf84351495d41f4b76468637bca03ca939234b68f39d1e30c6c25a94b727027574c9ea42744dd1d7a660471653244834bf5a5ac6bf3f23eb20369369c46d04c0d48040f240f35745082228662f116bad1ef276adb4ff5aff675e48bcb8a3b166a8cb03dbff184e9ce2713cd69422fe2ee2007bd8901bdace6d00e237440bbe3a20a81edead57d2c325361cdaceadf13f4d5e05c8b093042507d931e39864d0c9842c237ca709432cfea487487893242d25aa2309f04e23597677fbb6b2f7a386357002a7b34e53b6612831b195d68d1a6a897318e32a0d374f01bb15d1996720f26e209ad7329bcd58db85583bd7016581a47fc218c8eb4bd5ce8b59a37c9d594aab36fa5be9c52fce6013a4d9d21e1a6d3a0a261f6a53707334f76bbab4eba24bfc38d6c80da8eca93c2381e3c449568d5fbc98648653dcab941ba09b62d129df944c4d3ddfdea13ca04e5e37ad94b105e50eee019100f2828f7d8a70606b736fa5f92b8016484bbdc2ebe2304b02336e1c1e8e01098c4f078f722a91081c3f56eaddcd6a9e5eaa2e31492415b25f89dbc038c01eb205d850ec772b04e2f987d55510af33e2d2435463c3c68a6ec4b5d356c9ed875fe15b07720340caed09163bafebc8919f484854392a758514eaa9fcbe16d64333c4337fe65c5690e5ef127ed508e32e4cc9c2664641e7b2fe042a02aa19d68ad28f926c7c67e2ef0ad0464c9878dea3328fc6640b5554fa33c2bc0c1a4b970611f41e5012bfee4ce3bca33b51add7b6c364f38fcea8daad485d627a45cabfcc5bd1702a6f6fa91c3522228cb2a32ed5687d18b47783d3ad015643ab3235755c2b1711f9289f0cf81fd063353af9a3c221dd773909c7392aac0aa496ba0eedc89f460f0e1856a20a32c176fc585f93dcd2e033af4ea6c64fda3cdc9ab1b19d0d8e897fe0c29a0d911a73330a1cb379b376f70efb7852a73d7090177a4c03c4af8de139a19d207b693cd46c80d631c905d6fbc3cc43499763c91bec16b6887ce36c6eb54937706f81434e0b511a9dc32e16f7e9699bc02a0482253d71849db9773371d19b9829da4c82c889572527c0e0ceff8e37f4c4e0751337f6f16fa1682cc78c063e60c1084c9eb9f72c0ec1fee55ac8554781c454c5d9fd262daf6a9101c4fbb3f54ae37a7415694fd09be0a2f26728294bafc7aa811e9ba3c70c74bbf7c1b352e63fd026504a5aa0efe22c905f225ae5710ccc78de17393d9d4060180d159150ab307481ed164f55a1ce91d7fa718bef4b329a396753894ed6b9f1c4192fae8bc7cbef412821031b71e6ffef7ceb30c6202f20d2bb26cb7819180ab50ab469799d7802c208a8e300bd737783daf7d99ffb8d8050c76b6f42899f6433d2912502533f6edaa0800872d6f484f31a42169ce6935c8621e0cc2acb8adbbc7534ef47d5e1c6c50dfd0afa938233d19c4976c6345f5eb34810379be02013af20c12906013a358ecd7f2972a6dd383308750fe04069d5461c3747b6b643e50532a98d473ca4d8553ab4ec7cfc359298decb8762f937329579793f6bf9ea716b7581fa95a5b392b7b55164e73b3feb17ee8788185d3c94cb59130767bb3a7933a25341aaf830fb185b9bbb758f4b1717dc7209201e540b22ca4a78c99b6b8e5d32cbe1b65fbbdcb66f8975160179e8c72c964763034a9f9c437f64af4ea65c5b1a94fc29eebf3b19f18b8901b212bbcdd6e82ba28265b12d6f124d79bacc6040222107e7b751308b8388e26b9be8334006b2c4d551f905bdb4dd5da32487919181a4c2f75e81a1eda09514d6467f038e326c42eac0288803359d1585469646e35e7d82176454dac8ef1c7cb87111ea18851b85f54a4ad29857e96b40292e591c9f762b5918b1d8568a6b4299d15306131c2a93f7e2fccfdcd760f15e009aef0acb4f9c22fa22117f184102979121ab5139741032896a9307caec475557dda818de7a8ec6781f44e169130a34767c395f8d6aa9882cbc85c0f259c2e825f9dc19dbd825fe6b02cf8037339949657c0e80c45bf52d6527665dd40a2d3d237535e088e0e82ea3d470f0e79d2053917a37bb7e747a6e36ba371a302bc92641132bc9e26838d7d3f7e79f44be68ee484ba35bb1ae11531a518b97de0dd7b8258dac4c70b53e8ca1403b2edeb8f8ce8924770d7cb26ae3267e535c136b0d2eee51350e439ce6e062c3eb90ac199dd2f8be1921db381c7ea4e5a5a2345e5f0658d645bcaaab1ed835b8257219605c4134ad21735fb51312ec7437f93756950e23ac0f7b480b7268d8a9c2dcd9e25a84e0346b8b534116d18158d6598f4fdde2b8a4d0cb13627b116cbef96186f45fee329010b18dee5bce2f4d666018b0c9c1775b826b091bb1e52d0411c074dfd5be1eb892bae5623a1f369d9848f9779e9333d6e78402bff09be0f8de1baf39f1697c0e8d236710f8466a379fca03ef05db8e0baed90ebf1f729f32d393b6eba15972592a083bec88572bdf1ab1e9bc88045ad6a9d6279264700ef608fa205423d8310d54d9e3b71841d741dd7ead43674775e68091a179dc58a2629745e89d6dc040aa1e0bf66e3f694614f05ba3f993589f59fe3c43e220d4d0d470282a16cafbee8b164b6f6f8070d23a75da4f760380c9c53fa31822ac71938d62d78f4c2ddc8e273a42e88af5329160adf77aef67a11b2717c909d6597b255c21c5760c084ff4a2bd56e79958c55c3f57514af234891c8cacaf28b948737f07a4f0cb5b499a147d6f9e959c1294e1fce0e920663ed6590dc25d0a81853441471cb08afc0e30b5de2820f812f17a0573ffa908f78e494624266c9df6d77065ae1908dd0e237c58c76a3b43b7484b2f24f2c6ec79d4c6524e7306e061ebf45afa5f51e48306ed8068566d311cbfca977453dd044e91474e67eeddbacbe5bb154831c51cce97f9c1aca1fe061be71212da7dc871b1c4afd46c7401732f4513602db334190ce7dba442b5b0ea54353a255b6c4f3502cff0889bd78700aefb22b00e68549248458da540d2bb558205d3f0e7ea76439d7a1b2ec3367ddece6b58f57df1591117c160603448f3022655fe61cafe5524d5126025395f670105728d7d81b270b1a63368373d000c653bcb34e7b601dc46616a6d4724f9b7aa0805ea3da3d8bacc7beb1f0bc499169f2153078d18a0ac0067dfc7d486aa3c8373245e38fed4869d67e5c1d957d5b45af8c407becb0f31b8a7cf9bd7db337356f59c754f41e567a5c238f27fe40958681a802192f24259c983173ac467ec592d22b7a0c276900316f6b70d55db8a55eeb2124ff3b51234b421a925047085afbd258e8645e66d33b4120a3608fe74afedfc8771f27ade9df1a21041b14d19dc424fc444302e568ca359db00fedd75ba3e19f0d2638e8c1698fa8fba7325d1743531daa735872cd213b15ebbc64dcf2dec1e37b16de5d89552a47061ba5f718bd522fa25d2d2f3296beed101eb3c85ced6827644c8f25b01e6b527fd2d76e0182e12ac5fc2498e9028733ef8958166e142a03a964aea9b52a9341d0646228ea2edf89d7864aedd17b908b6d36991dc91d5dc39809d8f4f1f78d2f1014e8607fd6da36c440f63bbdb8d0141e3194779c91069897e712f2b06cde4999100424213daee4fc268afa3cd55d8b3cc19ed88e56c1e9cbc13c21f98faa53ffe327b47284bc52377fe0dbdef42d89d02ec6fabc9670571beab37ac5aac88d95d857b045411d8f1e16b51ccc320f89090aa08bb4bf802195cb9840b5bdb35a02967ecbb2f8624d5061a9453a9e42ff451671423d8901d44ed82b2509e84d76032273a4e435d323198de201af1a13a7f15a36f0f5ce00b5c20813e21282c3adf599cc3c3857cd2a426533147ee4a2c43cc3d0032359a33e59d46acbfd22ea38f6cbbccff45b0adf82f143c43ac6a6b947d3b8f1690c842f6fe43630402eccb69dc0dc8f9de97476ab6024f0001c6ac3b283f4e926c3938d753fb103f023cf76f880812ff24d11553c72249eaf781b903a4559958e1352df5ddda095ba334359f8853c32a0b59907dd5bbe849bd00e06719550830a22110cde2430d3e7596117475dd1fe202be037ac0ff919f521de47b59428ed36d6f91f983d4aeab9546383254f89761e96db0a3dcd3498721519243f504f241a9e29974c8bb2dc908cb8e54f8c1ecc4e1fd1fa489d3f0e604b08f0e68309cea3c3fe4a32313bdbe0b94b17b3063bd4b52aba5508c4ed7cbc581073bdd37117e029e6ca508b5df47dfe9dae6b7f20f75686775db1b24737ed3838c5e55b98af9ec63e85f6515ecd19650dbcc4edcac1bebb2c367c9d0378c6ff1becc55189297cf600d8c32a95e51e6b7eda9689f1f66c07fe6979a9d8aa167767aef050a6ef442c40bac9eb1be9c932b9fbf49c7e33c45dad2a6598cb82014aceb0908192f54ffe892111b640a07c290f1e1b59f5c069d458d55dc45ffe8cc77d8f58dbd57e8f26b4882ebf02b976c36b6767c9b85a2ae5bbf536232787b016dfa044b42807dcd080a6db79ef3e182c7919176714b1b8d6f061072d5781c0be1699141686db62be66fdd4fc17f4a928d8aec93e435f0fb1530c60f75df81df04244226391e084455c50209105a32a6fb2230a3c9f24105267373bf9c09892c0edd2c4dcc16e70585ac625ecd751103aae3be858f08cd561e94813e8630de72d0d0f070beec08fbf70ee3e808f25fb9aad0186919dc1814a20534df63f04d9c13fabae769d15501f46483de475d5ccf0a05e7abd10ab3a5f0bc3bc0daf56b06fec01dfad9dd730588d0d0eabc90ba0de016c716d1120eec475248146a650cce6ecb1a210331c93fd61ce150ec840125c3e761fd9fbd7bb908bf0fa535da2219263a5acb16f366d7db519c2e6b8e1bb0360c82570f6c8cd65e85e0289fe8b0e1622eaae67ea1ed3c9e3ce8548014edb31d55df6e614a70752f612fdde060d2687708e32f21b8a2608c0fb49bbe2075c81736793abd9b0776f4f8a2d552987b84393e1734960a9b239e9b3c2eec661154bb63d6ee3a90f7e5242935364eb379c292b84cee2279440d3bc1b894fb443c72244c00532d093eb4a0479b32c0d4b8e1c0e5ad4f7b97deb781470de9bfabd03677f9b2adf7de39bd76d07fa852c630df5c695aa136caf6178d4f2251acac8cbce1ca0ffaa7f4c826c8ef9aa1214900abcbad6be0a968e26ef9d384f272bc4cc3bb1834b9406af248256db77eda8eec77a0b3ec6c6c94ff3fc5b45dc163d16e4eb8e58421ae523940aa81ab28e68ba2c89b3f159c87646c74696fa04532a7aa41d344e34943843f32caf3182d5369e1658c13e29dc6493ddcbdb24d200878cd091eed857fb4c466fe1fe071e6133922e3c21b82bbbb3b68108161af41c8341a4315cab48980b1980b29af0e12a60972f2be4ca43e5bf0bcde540279f7b69946074d7e4c302412745a3e01d12e747c23409766723a72354d937aa251ac8cf37ab303f0897642bc9d052bf406aaf248d8de14a3477ec3dfe4bf69d82e4d1d64c9dbc31aefeaa9042115ac0f8da8818a1f5c8cd23bcde6aff0c035acd8a2948102aa7ce31684bcc27c84742db3e8e2bf595fbe76009d8b966be7ada94cfedc375ef77d875ebd762039effc007538b7cfd86d0fd5e05dfe2257c1117b6b68b9a09883de6256e7ae9550b3c6b2830baa3f75180ced65e77b0dc4154fab4405b2558ea44ced11825a4203469bcd5782fb2b91f34379b99b731b9c4250bb0edc742fea58ef447391274711c79561894e2979167c71c0b1332b6ded364711048e2794bd8f489dbb0589cc65ec4084df5a578801be0f31ae6ee9c7730169f29c8f4fe9453a7610a130d57aac428b1c78a4440877b4f21b251f81dedf3ba16822f310049d9342eb91810fbbc509", 0x2000, &(0x7f0000002b40)={&(0x7f0000002100)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) socket$nl_route(0x10, 0x3, 0x0) (async) socket$netlink(0x10, 0x3, 0x0) (async) ioctl$ifreq_SIOCGIFINDEX_vcan(r6, 0x8933, &(0x7f0000000180)={'vcan0\x00'}) (async) sendmsg$nl_route(r5, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r7}, [@IFLA_IFALIAS={0x14, 0x4, 'wg1\x00'}]}, 0x34}}, 0x0) (async) sendmsg$nl_route(r5, &(0x7f0000000240)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)=@ipv6_getanyicast={0x14, 0x3e, 0x2, 0x70bd2b, 0x25dfdbff, {}, [""]}, 0x14}, 0x1, 0x0, 0x0, 0xc0}, 0x0) (async) syz_fuse_handle_req(r4, &(0x7f0000008a80)="3a2956771f5af6a59f431f6012b2bfbe8a1a57883e685d9d6ac37a6582f7627997a74e8ada02c7bcdf16a27ad55064141ff6063f254f6a81143ce5cfed7c14e57db057774426562b0ee70399a434ccc567e924f0bbe5a048e679c1382d5e04a1022229f48c146e279016f24b7f8f6cbbd60386d42b80ac2131c7db0a6750ddb3ac8e3f1d29f62d6e7c517501eadc172ce63eca9ca1f1e582d1745fbe7b073b1d74e83c74b860c514adb20326fc947fe263e86c61a67109d22f11831a0c8d9e2f4dac71a52417e020a6bb082ab4c6bef0428083e4fade4fab679ea5db2674557f4200e16718cc838d64067df8e6c61881bc9875cce90b6f362bedb3cd76c739e010885a2912d84c06b01e5b9adf03f7690039e2422c5d6e590ab45b66e42ca8a45e836c6d6fe2d6542bd638c669308967777253b420491eee4fbdf681584b3d50011983582f4fc3fb009fc4337e42b3378dca7f268fab71c69c8e16fd78b89971cdfbb1c85d703cf61e97e97937d6dec1a045f8392389a4c4924e6c60224d6a55218ea299134ceec06d34c5fcaeb352e2bbb8ad3ac143ef51e907db89b3a06d417f4e029158ee674d115ee5014edd96fc5d69800be66a132a917c91c108a3a03bdcbf6eeb6e5e3d04b20c6687d919a54a3f50f719a96e95cac6fb365dc39fed426e83d62310237a008c6bdc78d2ede2dd2d6a1b434912b0be9f7497d88bddda3f2a90447e984a94e282c45b54cb8c772bc5a7782b76ddbd0af7d0df7fd3b455d8c4889d73d6790673f6963ac96e7be68a489cd06dedc03bb756b5b8aab25b040e9e6df6c35faed980f923f45103a4cd3701a0e77a7a0316cea6d7290b694e23ed60e4429f8085511009bbef29b03876238c2483f031ba0ea7ba98fd6b70994f7668eed0d33beb4584db34c942b086628a4b27cdc8e87dcd02fc5304b279c399d093122ff260176ffd38eca07fbd8065d52aa33ebe77f8364ec7d297125f527f981e865d0c1f5491a44184c71150755f763e6293996b1a7f6fcb8d16cdd7b7cc51d97e6d2010d7dd111b3bfd2039daccd480391f7714f5a54b74ec2958800e0b57c56aded3a30e275d71a39b936c0bbf3d2797f2eaefa21cc4f306df67e169bcc4d7364c9c4256fe64c500fa944591a59758476d975125256d129b71603ec4fa288a2a03e839704e9fbed3ad9e70cbddc1a71339e0cecfe5056dadf16b193d84ddbf5ccaf952c70ac7ec0171090f60b8242743276efcefde5cc56522d35558dcd5a6f992f2d2070f3a7df35f669cfa01c7e8bca3f01c5ad99441d1b6218deed663a3cf80fd18ac78cea1c08783f52cfb279b1338bf9ed2de0b8c4ee9193856f232d0dc6c9b2fb4ef55e6b14ccee83e131fde17c08196c41924f2aee4e95fbbca8104e1fca6e559dbeda4918ac5812a99870987b92e64ff28c618f7c5b1c1a71b4b2283ca78657c43b7aa5aee7835160a68c14675c53eb639b9da0264a3370d469cfc958260492da6ced05a8db88086b4fc14cf50f60bd721c460fc5dbe3333d4141b2f6b7ebacb26b1d9ee14434e21a12893a66d4dfaea2eed1455ac397c4a0a0751eb92d22a63b168cac901bdf890684a85378740d710d10298cb8045bd64397dadc4b6fee80262d5f2ff2f914f3ce3247176667fb30dbf65ef359d12c2a1099f34df80029ff6dbd2b83523bac55b25d8038b49fa012f7a1fa5caccf0d2181a5c0bddb2b944efe3e8c77b789951ae7a7e5653cc9e563d5baaeee31dbd6838b57c0eaeebfc6cdb48f458bbf09570c14516a8d2a9e424b35cd840a94404881bfb2d9a39791a46d3fc61b2b9768231267c46ef614242719cca0b8a426c4ecab4af29ef1f529519d05b7a3da113b518978385ff902fee7bc89c715ce727656f4dd78d7b81f060cde8e93c005e1d9799ff08554d3ba6807360179b9e0246945159786792727a115b22489f91afe818443c88329e43d681744727a56ea930e227b4544081d2d4ca97d67497029260c6d763fc92c51a5b08230d70747063606e5549646e4f745fa0f001ad7d399dd40ddda062b0b36ebf4fd285fc497faaa13cf74a39e535cd859bc20bf6672017d3db518a3d419f334cafa8234ba84de94fcdf22e832177e9469ea66678d89d4e4ab9b769ff9d38b29f0856466f8ac60fdd7e834724e9e528d0c1919d81fd99c72c393083429640d2f817ec24de88b09cd3aed923594c225bfd71f661f1b0bcd611558dded48d40afa0e95932f44d28228b7270e2188866fb37154856b54103e7aca99009d4e11534b0545ff6ae0233c50fde3eb44a2ad918b30cfcb717c1f58c7b7caa5cc13aad0837b8c894db22a2f55320258bd985c821a320ae1a15f8fffc61b169dbb1690fd1c8dfa2b89ad5935f5193f9ab7717c1319916d44abf496384a7ae8ff772f814bdc2598b1feec2d2e5d65158e8a7b39c4640eab283edc612806799cc5f94be1cbc0e5cab930e8e33a15d913f8b08ea06563135b20bf83da87d7a9e09d652f498de68f9ac65cc670e3a600c5ac109337db9b43fff311828c0e9c9a3d9a92028742e23d1f00bbc27c865b8fe514be04e74f38c3d07cf0ca5042836245d53a2afa0effa54af510bdf93da93798d425ae33c2cab0dc4a1274d0919b7fb34b6f8c05b0fe05cc8a42ff6ea47eb35c48c366e1a8e4ef6275c5761bbaa484104bafb398b1b5a25a8c6c2a20461db45315985b159009d5189230f19c4b6ab6bb7a910d815f70f1fe84b8c72df2662d1fe41692ceaff3296c88bf49b33b0f6ea920100c45268b10d76ebe55d4caa19f907085e046a8ecf1d7cd3bf8071bbfe1b8ee11a46f673c7b431da285c7043638e4e219f1590f186a533202b1021936734f43c1dce05625f5542238068a108ebcfe86e44a269f77e58fa59e30505e2483dacbd71bda13c0886c4fb7a98d26125c0ed128e55f5f9c9e5dde773dd3e9b4009898f8c7f81c1a2356052785a8f53f62952e1751a99e68da0ba272aa82ede934be28ce09395dc340153342bed5ce7973b43589fdde92bd171f94aa1c8bd16801bb90622774113a63a1a06e508fe8e5921645d071e95898d51869a777f7815b7682306e7c660fae9f6847d71383b4f291c4ecf3276d34d0d57769e8c8f598ccff2dad3227e609a53928d778d2861438e359fdd2cd9dd0674adc48eaddaeac727c455c9420c0ca24797b257f66175c5db24a66766e3679a9376ce47d22759d1f5cc69ff8aaee759d0285ecef6bf70722661df6b53dfff9e78339f016ce4ed49b67ac75a67595f2b510977e91bb6eadc34a02654700e03e126bb0ab2c28c1939faf21f81d1ab1204567579eb75a67e9c2d8095917993d6b2f65540589021d709f100ffa5d50df801df3906868f38e38eeaee0cebc05d4c4a1b33336c5cebd6268a70e46380130c0dfcc27db6716a2d7514d2679954976ace50ad0a27abe93034b3b675070da70d8fdd3ca3917a0a590c8e44aa7dea24f20c08ae98abcb7b52f34b5dd247908e86b4a9d5fba59476d744c1937f11423d0dae907aeee5d849d2a98493ef9a16b8f5372b1d738730b13cc60d581eda7a9c0ca9f3d0bbc271ba18213093cdb7407cdb76ba7cc15bb9b24ebba3f40ed32b75ad19f099b453692970675db963e030a547b0abee1e845fb98e0742be83255ed1e82e49cddd36698d72e9f7c282419b6781ca965796320f32d07cc84813bf96619c99aa8996a5fb9739e6d021bcb3607ef535073878c1c13129c2d9d96e44483f057759da93e98c941b2bcc97ab7ea8619955d1e02fad042f4dfbe6778373b9760cd6f3d9a9f093b0066e7f9e61f319d5580d03b00083823b3c265d0697ea21a68e9a2f9764cd3aa8e8ed5771d18b118000260d5be2c4982862e92e8eb671257ab95726a2209d6e528c58607b9aa1888450b3e9ab81d4edd6d82ccae8f1f7b8ac418288b1b7ea06a8c6f32e305f05a1db97f6a0774e2dfbad09413d7f63002d14c9e8ce301a4deb123e1eae7ec731518b0f01ab7d10427bca6cff9cfc9690b90dacbc5d707ccb5e4a80b6cb9888c6316b742fc6fb25d498df524e0d9e2ae82402021541649f685a6804c54932479d6d7dbb6dc108578d646c0a6047b08d10925f1c6d68a63ae5a5af7ae03da034d59da76b5681d1c3afa0777050ccf2ec1c8cac43c010db93f13a1d6947ed06f8541fcb7a624c6dc51f96124c33ef152fda87ef884e62430990a45a442e265dac6df81aa76dd4351ef3061d36d3db645c92e85dca1c5a41c73fb06f4eec5a13f236853187b619a35891079bc8a12ac714ee39f352a061f3d32dbd1d0b8be240f0fe9ec53b1fbf2c4331f55fb55538d9ae492a93e79fa4382319a84da0549f0fc6f38eb3c872bec9d6afc4c25700b22d8f0a6e5e3aa07c9a62e88b4e74f0928c96ad48af45d7d9d1f7ac7d9a108e0fe97303623e15670081be978eb10083e1da556a64ff79bc9102c0581ba924a7b9580573131b97ab06765bc0b6d4d36719ab90beb6da10c85c872b9a9e34b6bd9fc1c693a785d6b5245f082c3c126068134e3487840e76d918a60ea3240a9a319001c58fb6bc6424ebe212c1b6d0f81d55acc890597c259087db04cac2cd1d1e0895a1f4adfd910147681faa872248026b87e205f382b29cfd89efcc6efd6b3464dd87acac91077b90c394ec420d0a473f8cbb2ec49100555161765668fa4468927a2b11a52c606bb723f97dd9de4c0cc60a64bfc92abaf5fa87fcbb410a36cfe35581eb6d480bee15de674402511ab77b4ccf188fbf12234cfd6e50bf637a3fd983834e598a31ce8891bcfe55448e3fbe6eef14defa34b6df4fafb94498f33d0244db837e2de847edac50ab6b5ac7d325818956ff231d422916b8d78b23d37063af3b4acb62966e38d95389e51fea82562787f7ff1cb59cb14933a10b8f606d063d36588a8724b83eb70f690b28cfe463d89f330d7129262d436f772dc13040cde2bc5aef76ea8d37c2c0a97a3cae5abf3c6b3f9b195413d30b17c022f87215f557a46fb13642c378917b29ead844583b5d31a67727f454e855e22afe8e41fa5d6f67421d4de063995af21ab0ad286bc63ee8232b4d9a34a1d516009b10b22870239c4c1d94471436c2c6ac2b90f790e2d58c061df5ff25926d706ee0caf2457f903b080be1607417202a2c6dcaef5d7fc982221495a9f1faccc3b25d0b99c6186db819a7c699d9ee02695707e5ed924cc938693647a0a611c45c156ec35a7900b58bf7b539c499dd8bff4326001466fdf95d84f9113970403085d024f5adf96bc92bea361483b61e6fe0c1520b1242485ca89b580443b6bbfe0f2a1230d0893c694bb24fa41d309d8903264c01284aeb5da07334ff3e4615625d5ede30fa4e1c85d013c471ce7872db3754d28260856329df287e28105a6986349f34850ad55a01ece762dc4ce036fa1699fbf6ac96a625ffc0bf43dd683e9e25b4e8cecb310067329521bd4ee29dc0809e22e4131eb053288fced030459d258f35aa96c45b6e6981399725708fe8265ab27cea1232d13abeff9a0c37b1d68d779226b23381d7aadb274f74006014f44a9c91aa1760d17c2d824461bb9460ebbeab623db4d0e8cdb5a5b24236b58478085e66887ad5c5d0cd1bb7c85d10974cdbbea7a03feeea8048b70f2bdfc202fc2edb15b2356c685bdd09e46bcb6305cd29255a4548148723df27c9404c31620baa7b85d903f60ac5bf4bd56ce7464755608f4a20728cf926a76cd5cb6d771f68eb427dc8b35075a37dcf2f790e7fc1a57d42e333ef67c39a8269afa2e04e1179f040c804696dadf934f9598c037923a672445a2b367978637fef36a9d1142bff489ff097298b6e6ca7ceaf75d022edb480a29795f9087554c2dac61193a9d6194f790eefef00b89f10f9608c7958e5ca515841bde56fa2387ddc4c7b6fd10cc8a828404f1df9bfc0ce0674e9a9a1362bf4e5ad44d388836dc94a178c76f2562798e93b5ace97a674d3d29bb167c823f4e7e82859cefa6600d9d9fc173c7431c178498996febfb86ca25d4cb81cda8ec5af8ce6ae794dd9207485cf7d44ba666e25300a47d895ddbf8d166e69e75df5bf21183edf5304ac96bd75849905c4d1469986905f866f8557aba17e0f3cada7a53810382bc11f19a18db3e3b32f2ceea267cf4df57637c36c35da6df3589b4c21a40270988da6d6f9ab839e76bda10227cdbe45837521d619d7b4ef75efe676885d26d0ebe545103e7f6b407ded42fe24085325f71b5d32557d4002d66bfc300bb883fe18c44901a58772d6ac6cb053fc644c4eed538c94a1f93c1f2ae3ae6f317c91f60b801e61f256efc3c3cc4662b7ca17c9c06283dbabfd981a47d11417e65c427f00b63d0128ad6bf80b414fee7da663d33b8b9f34240073e534c91202a9549ffcbc18d56a9394f2d14d1931ced8624137fe0e4aca06a3b8e78b11a4a52419886ebe18c06392653f58a41e6bd6fe1e87a1b9b519d479b1743de2aa9c10ad054127cf4d70efce0ebacc5ed13eaad6814dc36d972a7af7aa721eae1635fa18c7c115960afd5ba393ff1bba25bba7f79c29dc748f976b964481f085bc04f763b718deb70f6f487e86ac805dec0f4e62cadbee833b5be88d0daee54efcafe77b67eb87145fdff7b4be2de2e3247d75204b808768857242369fe1ffda259057c541be788566ccef149030e5f03e0fadb8d16d281f96ee8a08c1056494e6bafae35961acc3c9d8d89e86c4a9aef1a82d675f6a316f006fdd11220df77164271a3fd5e821b9aa2dd8b2004def5506d5dbabd194ee19b5d896389a08dc7bef505dc3be0f860a8791b79351ba445d7d68cb3e0e54e23d55bf35376500f1c06d4260bee647e06fb31b19ad53ae8b7a56db5e89f68fd7258f05dd922b5b73e9385f045a6267fc3cba704aee7d7af063687ca31f48d209ed2ce8bce8b9026802181b7ac80fda0830783b2e290cc91af64a8e4b90e94777642695c7f31f04bbbd0b94b487730306b0a255fc7641f162157aeb524e4bb5e1fd4c234b2d8f2c213b7f719e1a23bc19150e5c6beeba3d57bc7b28b725838642eea73ce6c6c980a5d5d6b5970bdea2580e64a72d0974018252d6e4df03377e59c820fb2d56df899a14aa21b3e6ea5e82f6b802146484f9ba6422b7247e8c24d575453ecfd2ee2077d3047507573cc7a06f3816caec285ecca8c1510727da88d0e88e633db52b6c021672954e28818e54987a57e7e2a35d0c320f5cc00721ba826c0fe83f1a2138e3558d5984b328f24bf0fbf9987184fda88c1b0638669c99660b868577eea7640601070ea1bda7b69021ae8f7b212812a7876eee199950b194bd494db5e09d4aacc4925b3b51d11117c4d51664d5adec628dfbb66a35d536709dda1d4da7e960a0784b75041a10604cecfaa7c6df2cabe647f627683a430031a9ad7af3b06faac214c1728b6e3d613e515defbb6d7349dd91e4241862e7cd2594694c353ab85a4f7f02bd6046efbe93b9a718b0ec84c16cbf912041fe6672c70868fb38b34683d4e0f47a7d653d04aa3b4135536002d310b6e2b22ed9c465e6375ec21f8bf18df2b263bc356189874b99c16701c479d51af3be9ffcae93b2fd550757680af09bcf7059299b96ef43732c9ae79a4067108ee92b68045647170c01c89132327a617897dc78caf67622a4ed9d3e18c9a8ecc2836ad34db0118af3e6e0e3c7e12219d314c9ceac00e0312047d962fb088e29c402a0f1e432e0a936a6cab3a98f3120d69bed0010cc9dd1722b0e250bca21d9c309f5ee944cec194e78d5b69080e195aefe6271f078154b30a9e4dba4007a89a00ca20c0375b6b4c665e725e3da722f06e82598ac8b65ee7ec8ea65c3762b1a6fca6b540cabfcd1bbe0dcf3464019a6fdec31303b64bb8087d665d3e9f2f19e405008ac9f00eb7ff2517828fb1ce0a7a9e76c79bd0d7b1d734adf8bcc938c73e0c89742bf6ce0e34f6c95efbee04d14e9c5147185e70d16a9b6571cbcec03aafff2287da728bac5b8b96b69b98860dfe4935f33bf411de8864418927d5b9046093ae9e4a0a47e460b3350dbf34436aa023419b8fcce3f66226d3dc8c66a3f2e4be2708ad5ceba629d2f2f197d1d41717f515c25a40d252b9931a063242e8dd9adf1a22567ac6603ddf9b18613b32e28dacb1797ac3c037c3bfd0850d8b893881c1ced7b0a4029aa0979f79abb414a264e3367de5dd586cd799c7c4bfb91c7d5bc029e8fce81c1d68b59e5370cacd6cc93ba3f6f6e1d0b48bdb588a2d273eb00edf4139a6a7e64ec2a34515984599db4b201c3941bdc622ad1504034956f66bd398d0c84dca5daa1b2dd9714c585eddcf3e286f789af2a739cf78445db43a2bad37be65570ec5ad41f11b18fd00270d78bf46ca5e3e42c6401faeebecabb5c7196c6458d0c84a7031fe407371e6ee983f96cf61f452a2bcae0cc9a529f6d19519dc0d4166790813cbb2ac4a6d2b6050e9fa50c0c20c5112e8f3817ca59e52ed05baaba617bec24322c61c3d2969f8f05718a6a6c1cddcf0af17a38c94fbc9ff1ab449e6548bec6f7631ce0cf31fbd1669de6eb9a7bea724af1e3dcf3a34a6b0e29ee244c113d7fbc73435026db2cb29d70a903af5c6b5234029a7ff1012e859ad589a9d4bc5a375ac0926c1823b3089afe5065041380c995960f10f559fee23ec1550ec609d1912990b875240f079e6ca65f25b8104293596a9c435b8bf1a05da75e3693a28580e65478eacb86f5e99fa605ab21ba2c6de1aa85e59a82c1a0b12793a00ba5ce641eb67922eadbaa630559033f039a88a11a4eff70d3cbabe2c94b90afb68b250d7b3675bb5933ec810317b2325afd74a62af212478092d6610500c723b434da8acae7faa2d152bac51263badd79a298d4ab7744f4402e27e5993f5b6e0a109b24da3d41552c0e8566a126c5fd9b338724e964a0e4a63970291d480e70c168364d0f7921fc5910e4bcea608514c959366918ee13a674546806608f12cf6a5cc26f2f2db32093a430576065ed215510bfd77257c8e345d1b63c25b6eccb70443c2ad30e8ea9cb37a325317128346b9c8f9e0bc50c0470b5d6dc5b6f44eff439d1191fb24fd3500762bd3418e6cea4b0aecd3d9bdc1bbc3e72f5d793baa016a01f189716fcdf69f31f7553b2ea27bbe808f9356ff6aeb75941689c9265871ca8752953f8e6133559b888d5abd1873865b699aa73bbbb979cd5a7557ffe07a2465849c63ba3a2188303adecf96d6d0699613f8bc4d6b96c8caf2c5bd8a848eafe499cf48f7e7c13af17aadf06367ab4343c6504a6d894f49928d70462fadb642bb5c4e0142947b75d3f7fc9c3551a90867a65dc4890ec563e3eb517951be68fb57e69967ab1e63c14e46e77eaf97feb482bcd60aa657d6f4f432103a503526914d7b63a8e38981540a31cd90ca186475bb6861cb6ea814c16a3b24e20967545a91b4c114e1532df9d67744d0472f34b5f8c061bb93241d47e8dfc92bdc1bb8affe7088dd008f43e70470cf428f9beb3976ab4afa626f13868d65d36a9c0b1318d793189eee41abdbff8ae0efcb81d985e3bcf93f03b419e27f9162f34e26429bde69ced235d86418d86754e5a2b20c2ceb43af44b213e24d924b4d5809a7813d5fd80f505e6c09517f0b5855e18ace372a064ebf3005247bf91e0f56fb5ed05d942b89c7a6231c7e11a2ceeb69454d9d9d1dfb6f35baad98dbe448091e7094f6b11444dd7ea613f11045018d2739589288929e0da6ff21463fa7eaed2590390866d050aa2ff918cf5b6e547c8a39f85f039c01bdb73dfd1866ac165e87d62ef7ea8c6003eb3439131d28d13d4345fcf7c13343a25f58a8748a3c7035fd3dd4f0ecebc33cfd9c5e504d6ee6180de17cb49d6596056b34dc5f4ac6cc2e0f36a03f0c23dc23d50f228dc8e07cf5fdd2c4dc02b85f795f255d0939c531e53ebad5769775a82e3c38b4901e52d2e16028715d88a2338c93e1ac5b3825e0908fb42c0e2e74c50f02a8a32444f7867c0a756601bcf33efecb39e19d6808d48ebe63454599cf45cd20635abff47678cc7f6ee52bc72ed2b5735face9d896fabecbe369b3122981b5a95732edd3bab3eedfeeea2b0ab9c08239057eeee3d5f29c11a5e93d3c57db95f5683a12c0dd984e54c0d38ccec71ace236f42bb4ccbb4742a407ca3bb419d445222b3c11063384bb020de96ae3850f912a0982d0e6ea232fbbc4144ee5a9afec0c329e6bb61ab2fcdebf257adb2e66994d48152926d99365d2482ca2ff11e898eec98d6911867864663bc5ba77dff4adbf9c09cb8fdc2765d523d5690d3dd40dc8d1f23808e9589046370ce46f9313b424980ad7fd78ebf0d18c86fce118f441be7d8b0cbf768603c7aed92a9696f277e163f308a286212871d8e4da4d5821d407705e12858e8900087e92902830e49814a55da415769b6e2b20ab3959601089de76875413d7cad60c8104506c16e33c99ba4d5292112bd96612c39f30a1a2efe3256edfa3c3be416dfdd13337b170b9b19e42330c03483ad252e67a8588eb0f14fed645e0ba71db977de19c1a6b0d30effcb8fb5686c56cc45279faae305cf9f3691a8621ffbc96c444ec9e77c5831ede209698e965ed0b006e469280e6d1662bd93ecb0e6ea13604583865631bec5c77c04ff72a776ef6c756b96e81771ea7f151cedb59a3b15cc5a59fe99d4763c9984f1995ff0b492c6d9645dba0a362ed790a9ce0c55ff8ca079dd55c56416ea88e8472377981577a6dcb9e9c6859d4426a0a40811071e6ff54bf990f5f44ee1329d704fa66a3e274ad60e809ebaa13a7235da642d2448d9ef541f9365c92294fa3a4290ab31de0c519cd63ec9cbd060ec7cbff9dcafad1d330c72d93d31f8d558dfdfcee6cebaea575c2566d28948377ef5d9d8a9a98ca3f28250e5967b0e0200ae29b5fb58ca7301133af033436c6a3a41ddaf4a79574c45a66022597b754ed50e25858e64ac0d6f45718b21b3124daa17f4da4726e4a3a19383b32042dc9075b568e0a8656b0453ecf93ed7e37600f87b4d1552bae327104b1c09cf3900948b17321b5c67dd26c20d9f385924c346ffc37bbd0b0b20828ec9311210a073db0368e34c3b958c4ca123340d56d3fda5c711ced84bef2e6bdb53385157c5c0693df74d5cf5e38d7bc232a28a64d3351b6e51c0f0de4bf3428acba44589dff5e383f2d35a4babd345e2a7b3eda4e51d3e7cc2fb0e8813921a774f2f7f9828f34e871bbd4a124ec2242ab14a17aebf4f495c6ec10817df6ecb72308527e9d0c2c971d4d02b3013607f660d45e68b9783abf979237af367f63b4b116831b1a18735f5df2706c05d26edad61e0633c639a73812bfc1fb1ba58b2ed4c58b50638cebd678e4b259a7baa81c8c00b3c1bbef3cdd05319b6fc5f83147c31f6bae588c68500b40af27dcf01bf6c37dab6fcd508afcb2cbfa42b4821396b10d786a4b156b129093d0a4359dbe099732259207db6d688a745a42315b8fc9234a99a3f15a9b511cc01417fb2de8ad146ea1078d9a04f7e4ae4f2f730f949c61c213c5eeb0fde906ffb10f182eeca1bf", 0x2000, &(0x7f00000008c0)={&(0x7f0000000000)={0x50}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) 00:06:19 executing program 4: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000000)=@newsa={0x154, 0x10, 0x633, 0x0, 0x0, {{@in=@multicast2, @in=@local}, {@in6=@loopback, 0x0, 0x32}, @in=@local, {}, {}, {}, 0x0, 0x0, 0xa, 0x4}, [@algo_crypt={0x48, 0x2, {{'ecb(cipher_null)\x00'}}}, @encap={0x1c, 0x4, {0x1, 0x0, 0x0, @in=@initdev={0xac, 0x1e, 0x0, 0x0}}}]}, 0x154}}, 0x0) sendmsg$IEEE802154_LLSEC_SETPARAMS(0xffffffffffffffff, &(0x7f00000002c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000280)={&(0x7f0000000200)={0x54, 0x0, 0x100, 0x70bd2d, 0x25dfdbfe, {}, [@IEEE802154_ATTR_SHORT_ADDR={0x6, 0x4, 0xaaa3}, @IEEE802154_ATTR_LLSEC_SECLEVEL={0x5, 0x2a, 0x3}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED={0xc}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED={0xc, 0x2d, {0xaaaaaaaaaaaa0202}}, @IEEE802154_ATTR_LLSEC_ENABLED={0x5, 0x29, 0x1}, @IEEE802154_ATTR_PAN_ID={0x6, 0x6, 0x3}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT={0x8, 0x2c, 0x2}]}, 0x54}, 0x1, 0x0, 0x0, 0x10}, 0x8881) 00:06:19 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000000)='proc\x00', 0x0, 0x0) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000740)={0x7f, 0x7, {}, {0xee00}, 0x0, 0xb39}) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0xee00) syz_mount_image$hfsplus(&(0x7f0000000080), &(0x7f00000000c0)='./file0/../file0/file0\x00', 0x2, 0x8, &(0x7f0000000680)=[{&(0x7f0000000140)="204b51c19595e2cf4ba53cf112a6afca2508c5fd36051ef6bd1005f7a0abeefe", 0x20, 0x1}, {&(0x7f0000000a80)="c3506aab68adc3a336317e8fcc9e1c197f3433a649decf3adc669ff6bb18e3e3a5d8644c6bd06bb537d61fed07cf519f5f3ae667ba22455290cc96344eaf5d5808ce9a93723807f64d302bb12d82ba191ba003ad0007c10e43066fff8d95439244702bdf7d3a61dfa0ed26e962964ac3dfc998f15f36ae414b5e11e87be0b1d28d89271a92beadbc61d759b7ae835b89df354836fa21e3bb3e447825de8f5a2bb3b32f819d96559e75aa2511781ff2b35478359a7ad4a5deb0fe05919095b07a019f9a9487da921cc7c77db4cd805aac662bacb0ef08bf12da4501109d6890129df54d3db5033b4a6cc409867161bce16ea3515f94f02d40f909afe0bcd9d73bc658411e451bc1154a4760085652b0ae4130f1a7516d966cc16b9d335a6476e6adcecce0f4521cb8c3f1c1c3c4ac2ff502a232a0e0ceaa64616762346c30c6b485ef26fb4ec8f5e6ac4bff3438f8ea60bcfc870cbb7c2f737147399b407ef40d0812f3e4b18a4e6087e353aaca9d12cc1983f7e55e37b602dddb5ee52647317dd45e65198fa80fc626d72a88ea224dc60a14e9f99aedf39314131bce477dc57ed1ce8180ff464ebabab22411286b6e245dcb6c5dc7194c500681e772eaa06cfd03403511ed69d919c771f69988d6c454d6f19aad0c5ada87301bdeba749bcc3799b6cd216bb191e42de3ed15a2d1c0ed8bf9a2e0551e035a7a8db801a7a578ff073600bd963eb356898b84d19cb12b80e444f23e76a0f33c37f6df5fa07c72cf279464f681c00f14fbf26a70075697fbec6828718e4b883dd80f4283595a8eff40a7de23b2867e758a692d606b714fbd7295f51e9cfab7f4af476b2bdf8430aeb027a8efba7f2066a5efd605395d9873413cb93cc381c52ac727da0ec3ad80b8a57ecf63b5caedeed9fdc865b578e791b8bac5203bd4fa9f92bd0b7938487a5695a4a75b32a1e441c43fc549500196e11ed47c8288c05591c12ab1b2a66bfdb29588aae99729f9ec3d2c6a4a0935634bc69c3195479caa2577d959717a39a951defd0b2c6bb9163c5e8ad28c3dcf24ac6ce2edc7424f6dcf28a509cba4fdfd74a1ba7b4076aabc79059f9f31219a59cd773dd07a913b1c63558f1d15674d2c2c1f7ed8791909bcbb03b4aaacdffa28d9fad34554ff40d3e95afc0207d8986834f039a5dd75ca96f501e196b4e5153bfda292077313e0c6787f394ae93943ac1515b4b43a395d0f023c0f50c17e8f3371dea2cff95c51ebe1d24223316ab04445410e1cad8fe039891c89eb9fbbf3a3835ad71eaf31602e4e563c3134967c2c6c80deb614e931bba6eb92f2447122a837521cb163d862155688fdda05c8440f9ff312b92e0cd620dd7514d57c4fb93817368d6d08214e2cd7c89b1191913ab237aa2cb6c13d5762d1fda2614393c800b366c7f7a51a5e4c2a507a581a09034ef67bee63ec0e900a27824db7313613215a3f0d174359c2fac2faec1189d18e985d0dad4ebee36b54e4d44b29a6eb2ba2021eb92be4d3f490edd6e16f1e48ac32c28fc8f5b105912400cd4712a4d89985f42e9319fafc78251083bae23e5a5d154334a3509db1c6375003030be69b64c3915a07f22bdb2d9947f81b6ef03df05f5a06439850ba6c66e7d33cb22b8802ac30ad6a80abf9171d11985f0d44fa4af2e42b39fad135b0d6b8b8839c9da5e5399f0275fc520fa0266aee56bed1c8a2d1595efa0b6be3f9c8ba455f03146260b851dbac4e7cafd101e8045023982ad071dd9505f023d20f3d05d49000c70978cc6bf2704cf29637f7f58f091b998c0d1f95580d232947ff9f106a15c3a81c9fe46dcbf770ebac6422cb5133005e9d34c6b6e3e9f6af6c53af37ee65361abe35d95ffa3f42965a8e91ccbd2dbda3df947d800029e6969eea30ef77a96dadee6d589fa47c90380073604da6d612b7a2d50d26aeaad390a4b8f22aaf22eb04d8b32a8d81041de2d9cd2a8ddf21187234c791e30f33810b3597e89cfca3c84eeb66ca592e4c9797908e55c0e3d6448bc3f0379c695348f5758f0d1ef22f13f25a3647957732ac0eb1fb2855f1036dd5e052fb4e53b7b036af1ea3627a3e183c61fc14affb2df468bdceda9bfd69906dc4a6a5fa5ff759dd5ce85a1d71eff0df8bcd53ccb4b4b42284015e934106c4964335e54d49a884352351dee288814d8cbc344572b10a71fc8b5c55280e441b8bed2c3ed87f84257dc1cd4198e027af5018d54bfc4451f218fe982a77d200f6c855716d848bb00080eebd608e6e1e71506ce048e348f8cf01f5ea158069cfc377b13d63d38d07699ec90b9ae29a5e0849cac3304c33c6ed2d539f7bed17c1abbc927110383bcfc3014d2db1ffd908c7039dd6c9af9d3b1855ffc685be7d6bc110fa1d285a2224fd9d28b48e2207f67b1d2448e46530834e446e9ba090d9d56d6e506f797c38c7d05ed4e94c2c58fde9083aa4e3565645e38b6448669b7ee82e562dc1561bf3947dafd423b6aed7af94187070d75364dfa253f57af9f37c7e34ea297db27e06af86e9d25ab91617dea3697c7dd4e8c346fa94d64abbcd394653162f8d8ea46dbd7654f554169b8711587eeba57d1985ce01d44fc3b545e904bfd92089b2e1013474c5273b9eff08d3c7ff4122dd5ff4d8a296b7e5b3ef9789b7fd5e8b75a0f16b22160095fb7f962d78df1796aa2ecafef21502ecd6ec169bbca57d917a13352a76598002d66a524ddc6af26cd00b777e661d90def96f2d96aca7981b56cad984d1b63f30b5fd67eb19af7d53bcccd7b25cfe10890135f91aad1df3316f930f0313f3fd60c550b2c4da46217bfdfa8156aaa92bff762b4d716f1dcfcc87f289d75118234ce5623e473719bcf71b85678a2c0e3d29e399841c3a5709a70d41a6acd517e20399ec2290718e20711329b1b3bd38e5faafab1985b384bc78cb289f737daab37aac360b5182b512433d89d161253323cfef1304177f1d25919fdd10dfab5ebcaae12635d9e44aa774566695b657f8c685cedf06cc690b35276f2608790ec6e796c83b70e5167432a3fe27ab6268ae7256bd0ac4b1b8650b556e2ab3f07bb4e34484b714c6ebd47ac98dbe64284374f2ab7aa86a491532dc5ff05bbb78fe54dbf06d688d9fe61987e0fe9ec2a985c7a155b11fcd2b62caede1274ad440502509ab6c9c93016478e1237da25afc306692784ddc115e816cb732b338ca4457f8d7ddfe4f3415750df3997c252da22c51dea90b62cd00583137e4513da9642755c2cb4ceb90ff395fa0ee0c3dc4f4f043b2829372c290fec1fe9aed4bf182119221312608a8038dee289fce226e82ffe1f319162a1e3aa7b076695e301e4f10f956d97dc7c39830f08dfce503bdb232a1d8b69d5ea569c30dc859f25c161c9f2953809ce6bda936e6880a0f336d030de510a3630181c4fb4502c0476be421b65d0289f1441c1c2fa40b896ff4f8b4c4ca78988a6ebcd39f0c5e2cab8ff3d9ed6ab090ab827c32495754b9bfe5345e0eb63a8edf04f1459c44a4fd81ef0ae5c0865d9dd4474c450b7961970ff248c7555311e09883374fa6e2095b37b3cdd156b16968e39f2aeec973d9873d2bb63161e8d7d14c2ce5e0bc0d284a6456a9ff586c8294a6734ee7b0d585f4b128ef056238dfc30145063d1c2c910f821c41d8e7eea378d246369cd6203cfb956ea19b2b3d91975d747918215dbab09258f9bf9b232ed87b5572565464a791efc5ba4a5d4d233a7301e3fef03a979b3d8bb092ca14a471a3c0ee16f8e47fdb82a40fd3548524022bb66b712df25e5432afa7eaadc15fbdd96f5304790e893f4a19cd0a54d92df29df55c9c3a5535aa6780d3a412817559bfbf47a01e4780b49341454ad2b3f07f6fb14fe53d7e7ec4e0c75e4225f64c02c950ea08b9cfe8a2242c51729333dc1aa799f905ab16cfcfc2c2e2c47c39989697ac49222421ab961a9cdb1045485de4114de94020a6d2c9e3f9a3b5863dd84439dacbccf943ed26e827ff2ec7fac133b3739eb1b29db6ac3e8668402b6ce34b6094476ab6fd500fb2dc19723e7a67f055e4a5b7098d53ef3460b2f993031b90e79189ee2515f736d5c0fa261179cc3a3b4955ca878b49f8ce982ae29f2019702503011d5d9028a4d90280a1d57d9737e36550edd7f67e6c277426216575b74b0bd4b9f96056922d76a132a6cca1da75e8f8a9fbb4ef78e7706869dd03abb2abb9608e8d8cc8511aae24330545eb3812b764290bade7a07311a95de57326348c652d5b85ccc6898df84ecb6c27369ab0044b15e64dbb90300e084e08cf96bccd5fc3b629a9b6a03fc3bb76a68ff4d12204547fe92f824e56260d75c87bf6d808668d803297756092ae1758b26bc0cbb8492b1f67119e406e16f30cbfb42497967a00b9a92b1335c69e864dbe943c4c7bce97e3ed4dbf5987c27fae7024a7e24a907fd26e2be215901bea9114e16bd568bccd7246fb4d5f5b8c7ec05392930d72ad8931069f0d80fb21bd9e8d1a7ee31ab52c401d49eea0abc01ada688f79f56a7e1a02270e14f213dbc80f525ef70d14bf84ecdb571b0625867060cdcafa7956ca5a4efd5f5c8167ad2bb3c72b27e526ac9d5f7ec723638ea65fb7fd1aea5ddbd3a67b21ef2dc22317207db16a98296042d19f89782b1abc3d9f39782e87f3741f574f8ef4d6fbda4adb12a2e2fc885ac3bc60f07edf6007bf975f8928044d91e14cf49d30af37e1976b57487c6b7548bab673beb1163a40590d5a7da9b8c395093333d937f941659b68659ff2913f3e2f740564c0fae3f789804bc9f72cd3e42718ba080ff85673239e90f3b8818cf4987ac0f315fdabf88abea01851baaf0e4287996c8ae97448828cad874d53c6c1e64c3be3a356b9be8189fecaf9feca44affc96f71b9afe5287da8d18e2f66a4b4f23d20bb5610426748ec1a3557988f4a6497312f04f51dbe5809672469634b59f2024d689a9544f00d70d53e745980a29aebabc0ff0c73c9027008d7bb2224141249453186e9ae9983e41e22722e33434fccaffdf0b58905d6f46051908fcdc6cc852047e6cbe6b43b3b9164e95a741bb5149ecb8cffa0f2bf39ca575601705f60b57a285d122488bf550cb6eb1f7da76153b40843aa3328f247a81b34368c7e01e198195c72a4f6ee9703435af5e9e02e59daf1a613aa7b30027dabdc94ed838a701e98b5d4f7c8199670be9918af28218ac5768758f5a10e2710bd91d72f83962efaa0aca588b3b8f4c61ace4e941c19ff666f7d91d5845cf489207467999db93eae3b67421c0d2354ab1c0c541fbca2292fdedcaf21f1105a3a30f2ae144c1188f6f6050aade5aa5d428065409e23fd026c4e309a4760d9f6428d2cb604e366acc04abaf9b88576a8f9006711da05b434ba2670b8175b2a790a0da3436a2b921d7221ae630de00be3c1000935ec736bbc6b260ffd46b96f77ae53e33bb54df1ad011101c5ea16ee3f1b790d23ceaab712d47cf47f53a6908a6bb6397113aac159fb46b9ff7e1d1c89da808a7b7871f30ad0d5891a2742b808c5331be09225b63d51b8f7b68fa3e13894fde0b5a30242d453199c33ee7e7d8e2e4775fd944a8f6d65d6da2b6e9686a5f1ac39cb27c2b6d3c27a44c30f3f3a12e3ef2eb2318b5c704b761dad1a6d9909840beda2aa1b1969bf9dc0de8455f632903324cbad9758a16a7fb99c37cddb11df45dbe3924cc5b841958d4992d6a072d217bcd15ef2e7ab4ca1b9dc826000c695e269c0f0f4bcd61e79ea9022362e483728771bc6cc42d4f01046b31f60474", 0x1000, 0x8}, {&(0x7f0000000840)="2c34c8716cc2155f973083a73548fee85a92505bb54fd543a44a612bd63ee40299d6df01d758efc86f706c69b2137e0e3fc445b569318d78abebcddd47cb463677157ebfc330545017ceb7b10583244f72342b7a16fce628e497dae8d900c574a44f8eea898b94eddbb9feb0f510513b7ccfca03bc0bc9dc38a450956f39505ae4365b9811d4450ee3ec135d2b64929b45eed1eecf9c9edd64d564ee518a26fe52761e189b8284a6006a56090db26348b27f26562c8a69dec66f1394bd3f3df121e27e1d8bf4d45e4ebdf611d0b77386bc058fe4b060d5bcb769d906650ed78f25e0aba338f50df5489e71", 0xeb, 0x1}, {&(0x7f0000000280)="185cbf6ad459ad954438c86c878e562b3dccf68a43fba7175a11fba7ebf57b9b94191c4b1cbb33bf37d8b01887ce0e1f755a002b5d74a7cc1c2c8b25744ecf9d828f9d60b05a58ff77dd86536fc25ae22c5037dfe435094bc50114e985680e993065f0a231128d28ce4b10cdbadf1624952b4f8293dda3c9d60da32edfdf44b660aa492afa77de9249d1ece0bcc268c39f12f8f675d283f308e8a6a9e666f999a1fa8ff3a60eac8cf5bb15b383c2485346", 0xb1, 0x7ab}, {&(0x7f0000000480)="74e589d36e059a8195c09730504962643ed7918de419e995147242c1abe6736e02e833c87f5021d3745d3fbe698093c34ce3e0c3e3aadc14a45376ebf55bc52a7ec49e93dc418674dfce9d8e895d4bcf40e7803e2f8e254405ca3783b0c890f2a1e112a4fd26d6907368f5199c75194a1f73467a94f468b249b624e9553b04eea0460182d93a1322262b69de06f3b93b9b7042b0b63c2c91c0c394ddcb86e89af2179c115be797822de45881ef65282bf1d5b19cd60b9d270501c84311cf04930eb5147166804a7a24c5372704f4ad4b873179b624b8370238f369e84bfbfbe46beefb87ae780943856f21bd50d14fb4ede05d7c7859652a", 0xf8, 0x25}, {&(0x7f0000000340)="03f5f773cd5c5f776cacb7449fe022bde88ad961598f2515839b502f013f73b579536057e7d5f55ff0aae6114055acbe5ccd6a241762f61983", 0x39, 0x2}, {&(0x7f0000000380)="e728cf95d17978b281b84c50e4ad4f507c1615b2f4dd08f985cf08e5936bfe33899a006586bab0ade490a7964485d02f9303f4231ab1ca64d1b7b210ae45d0bea6304c0978a4c988066d8dc25ba012c52f6be22d7c73", 0x56, 0x7fffffffffffffff}, {&(0x7f0000000580)="263ea6f4c812fc976619702a21034e5421816dc84e27dd22c5298b6fdb0061cf16e7504d30ef27e844c135877ae9801c1bdcc434e7c08076d8996d04443180d2c0d6001638b35598b3924c685f29814e532d49deb3ffafe928ba786c8252e5393955eef6acde49085bf6d0e6abae4ec8f819191a8c9f1ddff3540f768d52430f029c2d40390ba2ba1f8d612d9a00ee1f2f78e2160069e0cb6b31749eeffae7ff932556660c1ea7559d272fcd218cdb5f7b19307b15f862bd40d2eb705473dc2134da50851b4c7573c890b61f5247f7a9d5c4167e194f1ccf22f0a53b8d09b387b8635c824545ee2627a3902033a472", 0xef, 0x8000}], 0x1000, &(0x7f0000000780)={[{@part={'part', 0x3d, 0x7}}, {}, {@barrier}, {@force}, {@uid={'uid', 0x3d, r0}}], [{@uid_eq={'uid', 0x3d, r2}}, {@smackfshat={'smackfshat', 0x3d, 'gid'}}, {@smackfsroot={'smackfsroot', 0x3d, '*-u:]-|'}}]}) syz_mount_image$exfat(&(0x7f0000000400), &(0x7f0000000440)='./file0/../file0\x00', 0x0, 0x0, 0x0, 0x1008a0, &(0x7f0000000a40)={[{@gid}]}) mkdirat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000000)='proc\x00', 0x0, 0x0) (async) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000740)={0x7f, 0x7, {}, {0xee00}, 0x0, 0xb39}) (async) socket$inet_udplite(0x2, 0x2, 0x88) (async) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) (async) setresuid(0x0, r2, 0xee00) (async) syz_mount_image$hfsplus(&(0x7f0000000080), &(0x7f00000000c0)='./file0/../file0/file0\x00', 0x2, 0x8, &(0x7f0000000680)=[{&(0x7f0000000140)="204b51c19595e2cf4ba53cf112a6afca2508c5fd36051ef6bd1005f7a0abeefe", 0x20, 0x1}, {&(0x7f0000000a80)="c3506aab68adc3a336317e8fcc9e1c197f3433a649decf3adc669ff6bb18e3e3a5d8644c6bd06bb537d61fed07cf519f5f3ae667ba22455290cc96344eaf5d5808ce9a93723807f64d302bb12d82ba191ba003ad0007c10e43066fff8d95439244702bdf7d3a61dfa0ed26e962964ac3dfc998f15f36ae414b5e11e87be0b1d28d89271a92beadbc61d759b7ae835b89df354836fa21e3bb3e447825de8f5a2bb3b32f819d96559e75aa2511781ff2b35478359a7ad4a5deb0fe05919095b07a019f9a9487da921cc7c77db4cd805aac662bacb0ef08bf12da4501109d6890129df54d3db5033b4a6cc409867161bce16ea3515f94f02d40f909afe0bcd9d73bc658411e451bc1154a4760085652b0ae4130f1a7516d966cc16b9d335a6476e6adcecce0f4521cb8c3f1c1c3c4ac2ff502a232a0e0ceaa64616762346c30c6b485ef26fb4ec8f5e6ac4bff3438f8ea60bcfc870cbb7c2f737147399b407ef40d0812f3e4b18a4e6087e353aaca9d12cc1983f7e55e37b602dddb5ee52647317dd45e65198fa80fc626d72a88ea224dc60a14e9f99aedf39314131bce477dc57ed1ce8180ff464ebabab22411286b6e245dcb6c5dc7194c500681e772eaa06cfd03403511ed69d919c771f69988d6c454d6f19aad0c5ada87301bdeba749bcc3799b6cd216bb191e42de3ed15a2d1c0ed8bf9a2e0551e035a7a8db801a7a578ff073600bd963eb356898b84d19cb12b80e444f23e76a0f33c37f6df5fa07c72cf279464f681c00f14fbf26a70075697fbec6828718e4b883dd80f4283595a8eff40a7de23b2867e758a692d606b714fbd7295f51e9cfab7f4af476b2bdf8430aeb027a8efba7f2066a5efd605395d9873413cb93cc381c52ac727da0ec3ad80b8a57ecf63b5caedeed9fdc865b578e791b8bac5203bd4fa9f92bd0b7938487a5695a4a75b32a1e441c43fc549500196e11ed47c8288c05591c12ab1b2a66bfdb29588aae99729f9ec3d2c6a4a0935634bc69c3195479caa2577d959717a39a951defd0b2c6bb9163c5e8ad28c3dcf24ac6ce2edc7424f6dcf28a509cba4fdfd74a1ba7b4076aabc79059f9f31219a59cd773dd07a913b1c63558f1d15674d2c2c1f7ed8791909bcbb03b4aaacdffa28d9fad34554ff40d3e95afc0207d8986834f039a5dd75ca96f501e196b4e5153bfda292077313e0c6787f394ae93943ac1515b4b43a395d0f023c0f50c17e8f3371dea2cff95c51ebe1d24223316ab04445410e1cad8fe039891c89eb9fbbf3a3835ad71eaf31602e4e563c3134967c2c6c80deb614e931bba6eb92f2447122a837521cb163d862155688fdda05c8440f9ff312b92e0cd620dd7514d57c4fb93817368d6d08214e2cd7c89b1191913ab237aa2cb6c13d5762d1fda2614393c800b366c7f7a51a5e4c2a507a581a09034ef67bee63ec0e900a27824db7313613215a3f0d174359c2fac2faec1189d18e985d0dad4ebee36b54e4d44b29a6eb2ba2021eb92be4d3f490edd6e16f1e48ac32c28fc8f5b105912400cd4712a4d89985f42e9319fafc78251083bae23e5a5d154334a3509db1c6375003030be69b64c3915a07f22bdb2d9947f81b6ef03df05f5a06439850ba6c66e7d33cb22b8802ac30ad6a80abf9171d11985f0d44fa4af2e42b39fad135b0d6b8b8839c9da5e5399f0275fc520fa0266aee56bed1c8a2d1595efa0b6be3f9c8ba455f03146260b851dbac4e7cafd101e8045023982ad071dd9505f023d20f3d05d49000c70978cc6bf2704cf29637f7f58f091b998c0d1f95580d232947ff9f106a15c3a81c9fe46dcbf770ebac6422cb5133005e9d34c6b6e3e9f6af6c53af37ee65361abe35d95ffa3f42965a8e91ccbd2dbda3df947d800029e6969eea30ef77a96dadee6d589fa47c90380073604da6d612b7a2d50d26aeaad390a4b8f22aaf22eb04d8b32a8d81041de2d9cd2a8ddf21187234c791e30f33810b3597e89cfca3c84eeb66ca592e4c9797908e55c0e3d6448bc3f0379c695348f5758f0d1ef22f13f25a3647957732ac0eb1fb2855f1036dd5e052fb4e53b7b036af1ea3627a3e183c61fc14affb2df468bdceda9bfd69906dc4a6a5fa5ff759dd5ce85a1d71eff0df8bcd53ccb4b4b42284015e934106c4964335e54d49a884352351dee288814d8cbc344572b10a71fc8b5c55280e441b8bed2c3ed87f84257dc1cd4198e027af5018d54bfc4451f218fe982a77d200f6c855716d848bb00080eebd608e6e1e71506ce048e348f8cf01f5ea158069cfc377b13d63d38d07699ec90b9ae29a5e0849cac3304c33c6ed2d539f7bed17c1abbc927110383bcfc3014d2db1ffd908c7039dd6c9af9d3b1855ffc685be7d6bc110fa1d285a2224fd9d28b48e2207f67b1d2448e46530834e446e9ba090d9d56d6e506f797c38c7d05ed4e94c2c58fde9083aa4e3565645e38b6448669b7ee82e562dc1561bf3947dafd423b6aed7af94187070d75364dfa253f57af9f37c7e34ea297db27e06af86e9d25ab91617dea3697c7dd4e8c346fa94d64abbcd394653162f8d8ea46dbd7654f554169b8711587eeba57d1985ce01d44fc3b545e904bfd92089b2e1013474c5273b9eff08d3c7ff4122dd5ff4d8a296b7e5b3ef9789b7fd5e8b75a0f16b22160095fb7f962d78df1796aa2ecafef21502ecd6ec169bbca57d917a13352a76598002d66a524ddc6af26cd00b777e661d90def96f2d96aca7981b56cad984d1b63f30b5fd67eb19af7d53bcccd7b25cfe10890135f91aad1df3316f930f0313f3fd60c550b2c4da46217bfdfa8156aaa92bff762b4d716f1dcfcc87f289d75118234ce5623e473719bcf71b85678a2c0e3d29e399841c3a5709a70d41a6acd517e20399ec2290718e20711329b1b3bd38e5faafab1985b384bc78cb289f737daab37aac360b5182b512433d89d161253323cfef1304177f1d25919fdd10dfab5ebcaae12635d9e44aa774566695b657f8c685cedf06cc690b35276f2608790ec6e796c83b70e5167432a3fe27ab6268ae7256bd0ac4b1b8650b556e2ab3f07bb4e34484b714c6ebd47ac98dbe64284374f2ab7aa86a491532dc5ff05bbb78fe54dbf06d688d9fe61987e0fe9ec2a985c7a155b11fcd2b62caede1274ad440502509ab6c9c93016478e1237da25afc306692784ddc115e816cb732b338ca4457f8d7ddfe4f3415750df3997c252da22c51dea90b62cd00583137e4513da9642755c2cb4ceb90ff395fa0ee0c3dc4f4f043b2829372c290fec1fe9aed4bf182119221312608a8038dee289fce226e82ffe1f319162a1e3aa7b076695e301e4f10f956d97dc7c39830f08dfce503bdb232a1d8b69d5ea569c30dc859f25c161c9f2953809ce6bda936e6880a0f336d030de510a3630181c4fb4502c0476be421b65d0289f1441c1c2fa40b896ff4f8b4c4ca78988a6ebcd39f0c5e2cab8ff3d9ed6ab090ab827c32495754b9bfe5345e0eb63a8edf04f1459c44a4fd81ef0ae5c0865d9dd4474c450b7961970ff248c7555311e09883374fa6e2095b37b3cdd156b16968e39f2aeec973d9873d2bb63161e8d7d14c2ce5e0bc0d284a6456a9ff586c8294a6734ee7b0d585f4b128ef056238dfc30145063d1c2c910f821c41d8e7eea378d246369cd6203cfb956ea19b2b3d91975d747918215dbab09258f9bf9b232ed87b5572565464a791efc5ba4a5d4d233a7301e3fef03a979b3d8bb092ca14a471a3c0ee16f8e47fdb82a40fd3548524022bb66b712df25e5432afa7eaadc15fbdd96f5304790e893f4a19cd0a54d92df29df55c9c3a5535aa6780d3a412817559bfbf47a01e4780b49341454ad2b3f07f6fb14fe53d7e7ec4e0c75e4225f64c02c950ea08b9cfe8a2242c51729333dc1aa799f905ab16cfcfc2c2e2c47c39989697ac49222421ab961a9cdb1045485de4114de94020a6d2c9e3f9a3b5863dd84439dacbccf943ed26e827ff2ec7fac133b3739eb1b29db6ac3e8668402b6ce34b6094476ab6fd500fb2dc19723e7a67f055e4a5b7098d53ef3460b2f993031b90e79189ee2515f736d5c0fa261179cc3a3b4955ca878b49f8ce982ae29f2019702503011d5d9028a4d90280a1d57d9737e36550edd7f67e6c277426216575b74b0bd4b9f96056922d76a132a6cca1da75e8f8a9fbb4ef78e7706869dd03abb2abb9608e8d8cc8511aae24330545eb3812b764290bade7a07311a95de57326348c652d5b85ccc6898df84ecb6c27369ab0044b15e64dbb90300e084e08cf96bccd5fc3b629a9b6a03fc3bb76a68ff4d12204547fe92f824e56260d75c87bf6d808668d803297756092ae1758b26bc0cbb8492b1f67119e406e16f30cbfb42497967a00b9a92b1335c69e864dbe943c4c7bce97e3ed4dbf5987c27fae7024a7e24a907fd26e2be215901bea9114e16bd568bccd7246fb4d5f5b8c7ec05392930d72ad8931069f0d80fb21bd9e8d1a7ee31ab52c401d49eea0abc01ada688f79f56a7e1a02270e14f213dbc80f525ef70d14bf84ecdb571b0625867060cdcafa7956ca5a4efd5f5c8167ad2bb3c72b27e526ac9d5f7ec723638ea65fb7fd1aea5ddbd3a67b21ef2dc22317207db16a98296042d19f89782b1abc3d9f39782e87f3741f574f8ef4d6fbda4adb12a2e2fc885ac3bc60f07edf6007bf975f8928044d91e14cf49d30af37e1976b57487c6b7548bab673beb1163a40590d5a7da9b8c395093333d937f941659b68659ff2913f3e2f740564c0fae3f789804bc9f72cd3e42718ba080ff85673239e90f3b8818cf4987ac0f315fdabf88abea01851baaf0e4287996c8ae97448828cad874d53c6c1e64c3be3a356b9be8189fecaf9feca44affc96f71b9afe5287da8d18e2f66a4b4f23d20bb5610426748ec1a3557988f4a6497312f04f51dbe5809672469634b59f2024d689a9544f00d70d53e745980a29aebabc0ff0c73c9027008d7bb2224141249453186e9ae9983e41e22722e33434fccaffdf0b58905d6f46051908fcdc6cc852047e6cbe6b43b3b9164e95a741bb5149ecb8cffa0f2bf39ca575601705f60b57a285d122488bf550cb6eb1f7da76153b40843aa3328f247a81b34368c7e01e198195c72a4f6ee9703435af5e9e02e59daf1a613aa7b30027dabdc94ed838a701e98b5d4f7c8199670be9918af28218ac5768758f5a10e2710bd91d72f83962efaa0aca588b3b8f4c61ace4e941c19ff666f7d91d5845cf489207467999db93eae3b67421c0d2354ab1c0c541fbca2292fdedcaf21f1105a3a30f2ae144c1188f6f6050aade5aa5d428065409e23fd026c4e309a4760d9f6428d2cb604e366acc04abaf9b88576a8f9006711da05b434ba2670b8175b2a790a0da3436a2b921d7221ae630de00be3c1000935ec736bbc6b260ffd46b96f77ae53e33bb54df1ad011101c5ea16ee3f1b790d23ceaab712d47cf47f53a6908a6bb6397113aac159fb46b9ff7e1d1c89da808a7b7871f30ad0d5891a2742b808c5331be09225b63d51b8f7b68fa3e13894fde0b5a30242d453199c33ee7e7d8e2e4775fd944a8f6d65d6da2b6e9686a5f1ac39cb27c2b6d3c27a44c30f3f3a12e3ef2eb2318b5c704b761dad1a6d9909840beda2aa1b1969bf9dc0de8455f632903324cbad9758a16a7fb99c37cddb11df45dbe3924cc5b841958d4992d6a072d217bcd15ef2e7ab4ca1b9dc826000c695e269c0f0f4bcd61e79ea9022362e483728771bc6cc42d4f01046b31f60474", 0x1000, 0x8}, {&(0x7f0000000840)="2c34c8716cc2155f973083a73548fee85a92505bb54fd543a44a612bd63ee40299d6df01d758efc86f706c69b2137e0e3fc445b569318d78abebcddd47cb463677157ebfc330545017ceb7b10583244f72342b7a16fce628e497dae8d900c574a44f8eea898b94eddbb9feb0f510513b7ccfca03bc0bc9dc38a450956f39505ae4365b9811d4450ee3ec135d2b64929b45eed1eecf9c9edd64d564ee518a26fe52761e189b8284a6006a56090db26348b27f26562c8a69dec66f1394bd3f3df121e27e1d8bf4d45e4ebdf611d0b77386bc058fe4b060d5bcb769d906650ed78f25e0aba338f50df5489e71", 0xeb, 0x1}, {&(0x7f0000000280)="185cbf6ad459ad954438c86c878e562b3dccf68a43fba7175a11fba7ebf57b9b94191c4b1cbb33bf37d8b01887ce0e1f755a002b5d74a7cc1c2c8b25744ecf9d828f9d60b05a58ff77dd86536fc25ae22c5037dfe435094bc50114e985680e993065f0a231128d28ce4b10cdbadf1624952b4f8293dda3c9d60da32edfdf44b660aa492afa77de9249d1ece0bcc268c39f12f8f675d283f308e8a6a9e666f999a1fa8ff3a60eac8cf5bb15b383c2485346", 0xb1, 0x7ab}, {&(0x7f0000000480)="74e589d36e059a8195c09730504962643ed7918de419e995147242c1abe6736e02e833c87f5021d3745d3fbe698093c34ce3e0c3e3aadc14a45376ebf55bc52a7ec49e93dc418674dfce9d8e895d4bcf40e7803e2f8e254405ca3783b0c890f2a1e112a4fd26d6907368f5199c75194a1f73467a94f468b249b624e9553b04eea0460182d93a1322262b69de06f3b93b9b7042b0b63c2c91c0c394ddcb86e89af2179c115be797822de45881ef65282bf1d5b19cd60b9d270501c84311cf04930eb5147166804a7a24c5372704f4ad4b873179b624b8370238f369e84bfbfbe46beefb87ae780943856f21bd50d14fb4ede05d7c7859652a", 0xf8, 0x25}, {&(0x7f0000000340)="03f5f773cd5c5f776cacb7449fe022bde88ad961598f2515839b502f013f73b579536057e7d5f55ff0aae6114055acbe5ccd6a241762f61983", 0x39, 0x2}, {&(0x7f0000000380)="e728cf95d17978b281b84c50e4ad4f507c1615b2f4dd08f985cf08e5936bfe33899a006586bab0ade490a7964485d02f9303f4231ab1ca64d1b7b210ae45d0bea6304c0978a4c988066d8dc25ba012c52f6be22d7c73", 0x56, 0x7fffffffffffffff}, {&(0x7f0000000580)="263ea6f4c812fc976619702a21034e5421816dc84e27dd22c5298b6fdb0061cf16e7504d30ef27e844c135877ae9801c1bdcc434e7c08076d8996d04443180d2c0d6001638b35598b3924c685f29814e532d49deb3ffafe928ba786c8252e5393955eef6acde49085bf6d0e6abae4ec8f819191a8c9f1ddff3540f768d52430f029c2d40390ba2ba1f8d612d9a00ee1f2f78e2160069e0cb6b31749eeffae7ff932556660c1ea7559d272fcd218cdb5f7b19307b15f862bd40d2eb705473dc2134da50851b4c7573c890b61f5247f7a9d5c4167e194f1ccf22f0a53b8d09b387b8635c824545ee2627a3902033a472", 0xef, 0x8000}], 0x1000, &(0x7f0000000780)={[{@part={'part', 0x3d, 0x7}}, {}, {@barrier}, {@force}, {@uid={'uid', 0x3d, r0}}], [{@uid_eq={'uid', 0x3d, r2}}, {@smackfshat={'smackfshat', 0x3d, 'gid'}}, {@smackfsroot={'smackfsroot', 0x3d, '*-u:]-|'}}]}) (async) syz_mount_image$exfat(&(0x7f0000000400), &(0x7f0000000440)='./file0/../file0\x00', 0x0, 0x0, 0x0, 0x1008a0, &(0x7f0000000a40)={[{@gid}]}) (async) [ 379.461429][T20269] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.2'. 00:06:19 executing program 4: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000000)=@newsa={0x154, 0x10, 0x633, 0x0, 0x0, {{@in=@multicast2, @in=@local}, {@in6=@loopback, 0x0, 0x32}, @in=@local, {}, {}, {}, 0x0, 0x0, 0xa, 0x4}, [@algo_crypt={0x48, 0x2, {{'ecb(cipher_null)\x00'}}}, @encap={0x1c, 0x4, {0x1, 0x0, 0x0, @in=@initdev={0xac, 0x1e, 0x0, 0x0}}}]}, 0x154}}, 0x0) sendmsg$IEEE802154_LLSEC_SETPARAMS(0xffffffffffffffff, &(0x7f00000002c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000280)={&(0x7f0000000200)={0x54, 0x0, 0x100, 0x70bd2d, 0x25dfdbfe, {}, [@IEEE802154_ATTR_SHORT_ADDR={0x6, 0x4, 0xaaa3}, @IEEE802154_ATTR_LLSEC_SECLEVEL={0x5, 0x2a, 0x3}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED={0xc}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED={0xc, 0x2d, {0xaaaaaaaaaaaa0202}}, @IEEE802154_ATTR_LLSEC_ENABLED={0x5, 0x29, 0x1}, @IEEE802154_ATTR_PAN_ID={0x6, 0x6, 0x3}, @IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT={0x8, 0x2c, 0x2}]}, 0x54}, 0x1, 0x0, 0x0, 0x10}, 0x8881) [ 379.482226][T20269] netlink: 68 bytes leftover after parsing attributes in process `syz-executor.2'. [ 379.576917][T20269] netlink: 'syz-executor.2': attribute type 5 has an invalid length. 00:06:19 executing program 0: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000001c0), 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000080)=0x2) ioctl$TIOCL_SCROLLCONSOLE(r0, 0x541c, &(0x7f0000000100)={0xd, 0x7f}) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000040)=0x1) r1 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) ioctl$TIOCSETD(r1, 0x5423, &(0x7f00000001c0)=0x15) ioctl$TIOCSTI(r1, 0x5412, &(0x7f00000000c0)=0x1f) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) ioctl$TIOCSETD(r2, 0x5423, &(0x7f00000001c0)=0x15) ioctl$TIOCSETD(r2, 0x5423, &(0x7f0000000140)=0x12) ioctl$TIOCVHANGUP(r0, 0x5437, 0x0) r3 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r3, &(0x7f0000000100)=[{&(0x7f00000007c0)="580000001400192340834b80043f679a2cff00804824ca945f640094000500289d5aaa000000000000008449bb06d383d537b300f0fffeff2c707f8f00ff200000000010000100090a00"/88, 0x58}], 0x1) r4 = openat$ttyprintk(0xffffffffffffff9c, &(0x7f0000000000), 0x20480, 0x0) ioctl$TIOCGICOUNT(r4, 0x545d, 0x0) 00:06:19 executing program 4: ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000000040)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x8}}, './file0/file0\x00'}) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000080)={&(0x7f0000000140)="d51be165cf3b19a9ad402dadfa4de2bfdb7062a5565b8850e64140d82ded6a5da6634a611725ea0b37524310b9dad4563374bc0aa46df2048c123a4c2de531e3d22f5a253945263c95bf542310d7ce17c9b76706175ace054fe9dd9bf6c87eb6422a089bc03004d697142e6af9df41350a98ebf610f367c4275249c939cb42cd4094894bd6e4aa332856b851da7d1c2e1f682b9552f59280db51f7bead3bfe9ffb203870f90a6b9fdf1fcdf74f599bed7f6a2b40d04d567729ff641177bccc1141a8add3f60f2c0895a72b531e9a1bc05bc87faccd442a49c1fb1d5c96d2282bde9e3deb1d844fe4104ec841e56eb771080b3603858634f55ace6d0ea343e9ef43cb5af726fe9666949fee32c9239ba42057db6d8daf5d0465b6e1dc465b2bbc19559b6e4e538e6e99e9c8fdbc8dedf699e9559ab4c523c47f757acf8c3fd606fba2937c8edecf80d8985565a96a36410bfbcf02b54a55cf6ea0d38183b3f963d7854b131d3e6ab4f24c6d9bb3473e94bb7aad2c1d87358316699f91efa7d975b10b1216776d165068fc46fcd0162a519b406fa6ddc36bc0fb4a98251b7fdcc0cbc2dbae2f7c03e255f1dc4b198358c726e456e9daf7000acf9ded47b2b5241e4df5a74593c79997d1d3f32d2e38ba9e3af02096aa8b2e17c52eee390a1d2e3adb7029ac27ad5a5411cfa316434b02f3f3a01dd568968fe0322e6c47ec48a8192242c07c04e20ff7ad22fd7c013ff44740b9fc9b0c039ebb9a89b4c7ebae145dcec66301cb94ae44b1186f059c6fe388dbbb317baa0110efda10dc78dea01391c96bacfc55a2fd89b5681fc25b2f3ace380450459e05f069389428b05b85f30c5cec619f3ecff402109c4dcdce6673d5d3392aa26fa58f51f533259b881ea4e4f705dcc55208936cd65a7a596cc3fd0cea6e16b6846a72a262a34973e202f9fd81f565a9eb04ff0180506ea8fde997a67733c9f208fe8252cb328cd21497399bf22e80171adecd971efe07e626f4ea2eb638ebb738fb8cc0e91a9d2df87006fa32c33bf67a54bf576e7d7fc9b6274b4da207057ca2ba2e35a6088d515242eafd132c1017dfd4366f00ff25bba0873627844d8291ca5a5a39f611337539cd5036efee8cf2ab380c3462c5ddd361076e70254e723145f5de7040ce7406d8c49bc12619a74ffff9e6213ea251c1e695121b9d006e31838a9758582276c206451e7e9992fc7643346b840926c6f2d3f72a14643859ee4f9bd459b9f1789429f9228c2a6fa879f5fd13293abd30e12975143ecd4d9f908a75cc12e25029079942caf9af7deba59454ea4a3bb708f3de194304f850f81bf341d36ea153d2f15cf74d6e2cc247e63173b2749f39ce4019522cf415a05b9e9f5062e401bd8ff68d00699b3ac84f63244e4cf4bc30176d4323c1a13ba26a18b9e615bba106a39a4893e717107eb535f8a59c83268254a7d4aa0910e26a16eb0ee0de060ced47d770c5a6831c2b92165863f22b0de93e61aef36c8a261084367ed950d16251fee8f08f414ae04ffa9adf9f4aef3fe4e4b851dbb78e6244ee10e68fd9194faaea3e0a8eaf355e5e7c73149381457a569f7702fb8c5f38952e087ae2ef050dbdedb2a0e754f8dac7392583fde0857228f615040c82fd485beb527b05eded3916350f823c07deaa7a49f53387ff817b02138536d41102feffc389aa84bd23de64686478d125a0f05aef36ebe844e40aef21a057cfcc21a75764b78cc0c5a7a7c4d5575fbe3623faf265ada632bd383f7c17fcb98b0d530a507fd3ce97f1ae9806a3f96f3d204397a14b561cb9e7950c0fafa084e0395f4bd970bd337bf868b6b354683f0e46fc3f638131c9dc78fc0413d36ecb5af35dbc08e3cb12e423db45aa1637d2b4ee9f4e6206ff8b3d31be4fe21ab50f3cdde451e6cb9d540dd4f0f7cc3537fa3cd8cbbb735ccde41cfed91875668ac640b53382e1ef47cd6ecc7856aecbd84553317c4dc488da41861651cbeb914fb90f587a464df87f1a626d2053e62eced99fcea817efabeb4b61262c908ad81ca59457a4de19abcc80cbe058a4f1c51acb5452aa94fa7607bd1509c64aa5563b5ba2e689d94a493ed2bf42fdd583834a9a795bf69150d059b49fe9ff64d8a5fecd73fc04719982f02373459f896983b13f8384bcd1f5f51327b8e12c66a0f98212b342199390bc3f97f02789e9de000c98d24e662193c0a131e5ef97a284f46dbb6b035b9c9b0121812bc179ba940a616e35f62e260b6b081a5ed9e00c5d185a5a94562a41b87bc0e5a0f9d2c5f27c6349f654ed62061bc443f190fb734c730ae2044dbb35d25e6aaec3220ac6604dd64f6dc4d25f15f747aabf99da6195107accb2dd588cd1fb06b3915878a2cad382dffb5a38c941e8d71f6451ac04389f80aa912d30ed0500917a257a76d67ac9e2ab54c9b6035b8cbf5f01105bae4469c71557b48a40c303f0e9ad1b17843757f723b09bc151136fcd3cb245b425cc9887571c77a4527ca24c5fa28d23169ae8273ad452a77fba8fb57823f4c0a29ceeb985508582bb947fa098e5dcc090ce0471533853337383c6a827dbd431780a7f58db64f3f6bd864a4c62f68d975b77dc532bf28ffd4d0249a8533e6300f5d291c4ec7c88017fa5df399f0b0d71e7af5687977ad7edcb8d0e987acc3605e2759301438355a0c6d3c44f3f3b5a47afc7b4b21828008d1fb703274726bf271e9acf183143ca80da43e10a2cce9bdf8578cce22ebb512cba93d18643e450a75abd80e2bebcdfab1e95df3de5f45449793a7099bc825ce9a449d3e4ad79ff93eb3d058f2361884c97f2a25a2e2c7a66097a1caf1a47d4024fc89d4477ffffe602168710077b2ae20e4a928a2fa9d2999b549b712625c58e93fd67eead86ce1eaeefb78dbc927930c02a871080587b99b167b6b90ed8fb1a7d329b3db5a1ac2665e70a60143ac12d7ebdc2986869d9aab4fb5519d2375b84468de0ffec4cf6f2700176a9c728f70096d0f26d1b98deec697883d047713859f675b906f281387412e032693ad9936a7d88cca689a1561fe4e3812bd391e977338775f6342fd2fdcca335701e1b839c2820d9855308a079bb28fb3d4e2872f18b464bfb6806afa73c9dd2267685e593e53554b6273db7169ad721c9d913a942b23a5a222e75efc895ed45529d093e92bb02b481a8d084c6f3381455fde733e8628f3a4c1ac707dbfb1af4e961f89f60d44ace51d6cf78a1b1d598660b61b4f424f621b2ee8056d7d23ad445025456b394948ee21427fca59977d162e286487c8c4deae71291b329dd1b2fcc11c2633bde802284ead1b8315ebcde2e10b0fb1340ee8afe4bad1dff764d83ac364adbae01e9d940a179700d8c5829b07d19d076bb26866a901058808958320821cdf4f4ed761552ecce41c942165285a18e0c07ee4430f3825dd3ce2a633b5d90c787a6fe7dd3d8edc2c72d74a8f76162ad18d19f72c82cc3b608954b4dece8b9d629f1976a80eb077678965793256aa04e73b120f4cece835e42998c2ed9644c2fb3701577899a5d89bd9f904aa05d7a9e975e4abf2afca767f7a260c3514699c7670e2b4399661bb5a68c54c8fd23a4b3255af3a5d112362776d35f31b85622eb0dd38a033306a643c9d01242d390c85e3dfafc67793c5b13bbe7e29e07f5c46ad3e06e2ea718148cf7bda4faca4913e5c4b2037bc59984e9b7bb47e5cde5a93a920a5dd378b9a81d46b95311bea9d2fcd96fab68d787c670971efc44e5e543f74a90a1433607c30ba90ae7401240e01ce8712689b3cbf499f5a6b04d7667bf63bc8bc5b0dd985d5b0888ca7f7c0e94eb4bce34df7cbf25e3b4372eeb51be8a59aeafa291dfe4c5a2a3720ecf1d3459f22f20665071736c40ea8a7789fc604434b8f139ed9b5770d97e277d0e59adf636a7e6f78a6ebec92f868943c5babe79fe3bbf7e23447d0447e1b3cb5c019f6e0bb9f354773f026dca5de32a27ee74a98a470b90485bf94fed3e11ab80fa916acc2dbf0de425627c960b5fbd5794719a07f1f9fdb1e9210cdfd9af20f7f404dcf752356fa97bc1e01b67f3d799e32b42b34598fcd2cd9b69fd8b6890df4cd8465e2fb7017f85673afff518f32857c1fe28af6d033a4bebafc2153095cea6c76c8b73d6de8b2a499876358725170c23024357c6f2490e9d9cadca53638e7b8617bb76fc794faf28467b5b7ed54d2bb3586f994cb70e1f1e3995f1418f589bcfd75ad069d628fc6ff41d222cca40d73e024ee61d967ca35e42ae092da0c90f9dee513ca7356ae01db544a7a88ab86be9747edca563cb635b80905dfb313a271d6b92d0da32474f08340ddd2d00b844ba7598fd505dd5624778e561b5764f918ec21c3b68ff5e16de579287ca3f84e547c01d3c4337977f83ec3a359ba95db50f0f32653bb827ad908804823a72713d8dcc44057e790910967787a8bcbcd4bd87de680d393dcee403c2dfd1ea9a48366fc45331baba35852baa04cf085ac7b91f203b23acd57c77a6ff6aaaf8cf9dc36a32406ce20485a43fd59034d981ef602009c7f65b42b7e3938654681238307425c1aac5d3cff10957468c34af9094f7feaf31de45b58f95e58ed1b3ed85743edfc621eb71ac0d2fbf7a9e280a6ddc80b85beac00da7494797f73754b97a1730cf01abdc015713033e79bdcd722707c700d5c04c1085e08a883e34c78ce683f8b1771942726b112c14aad880ecfc1eed9eada5b964a1cf48cf87636fd83f72afd5c37b0d75559bb587b7d5b904d99932db7d670434cea55549b273c37861641c2e0d4af2e35efca5b2d869b84d967311ac9985375af5b80b7d61d56ad2e3aa49661126739d8199c734f100f07c6b94daa03bf1133f9fe09802c1b6638c5fef3953261135205dbe9d8386d919caefc3a2a0628475db8b8047845a3d840b73641ba3d34f60f32d0f534c9011bdf9f18409ba83f161c652555843563ca428d7e755f5265e9fe27f007b44a8a40249bc2c3caa6a39f7c9fdd756c835b0264e217a0083fcb2b1b257b6e6e444c28ab748f69e488b77a75550063c49b9d53ba3c053ba1f706e0d041ea4fec41d2f7657e48252cf0c4783199b67802132cd054b2dd45defec94c34fe0442d8a7d919010a14f109e26ff2243df36b86acb5f7e43bd4483a659590d67ff3101d5da106ef5b2888188c1dd25242bae04d9bfb697b906db2e864596d6952f58ff8462c28ae02274390b834d8e73fc98781fc678cb300150dc9bbe78344bd61e63843cf7520cea14fe49868b4ded480a4f268808138b3c2d516ee46802efe49b17be0c03f940e030ecfa0be1889ec11213162c62fc574228f3cd0eb5ab1cfcd88003472544ffef900675314a0a745ef7a77aae529cd1e680976eebd71cfc4fa1162c586989a73d829a094bf30ef46a3a496d38add4c2e7bc1b60f2504a77465a5e83d6ed84cc37b85169514eb3c293b48a8d95d11dfbcb226118f1f8b82f26ca26fbbf5bd87228ae8db8daaca16b9928dc25c1d14a0b27d21e114903007957e374322798d2a54b84455866a66a93488ab93f0aa29d5579aa3af8a20450903557c3aeb140a393d7f379db2cfefa7765772787e8d29aca52d14afc8690c2e30eb11f2ff5807da4c9332c5903c2ac02f02c6716f70070b47006430b94786fabe9edbd27904156a9fe4dd9eaf41cc2f8a7f019789476d5dcea2997fe207f7f0a37884604161dde67ec1cc92fbe21f54afc94db42baabb2a4ee29e42d86666a6832fc7b2d53c71d8c958920faf361b2a7", 0x1000}) r1 = syz_mount_image$tmpfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)={[{@nr_blocks={'nr_blocks', 0x3d, [0x4b]}}]}) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(r0, 0xc0189373, &(0x7f00000000c0)={{0x1, 0x1, 0x18, r1, {0x12}}, './file0/file0\x00'}) 00:06:19 executing program 3: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) r1 = socket$inet6_udp(0xa, 0x2, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) (async) io_setup(0x81, &(0x7f0000000740)=0x0) io_submit(r3, 0x1, &(0x7f0000000900)=[&(0x7f0000000000)={0x0, 0x0, 0x0, 0x7, 0x685f, r2, 0x0, 0x0, 0x0, 0x0, 0x2}]) setsockopt$RDS_GET_MR_FOR_DEST(0xffffffffffffffff, 0x114, 0x7, &(0x7f0000000840)={@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e20, @local}, 0x0, 0x2, 0x3, 0x1}}, {&(0x7f0000000300)=""/84, 0x54}, &(0x7f00000001c0), 0x4}, 0xa0) (async) getpeername$packet(0xffffffffffffffff, &(0x7f0000000040)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @remote}, &(0x7f0000000080)=0x14) sendmsg$nl_xfrm(r0, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f00000000c0)={&(0x7f00000005c0)=@newpolicy={0x260, 0x13, 0x400, 0x70bd28, 0x25dfdbfc, {{@in6=@private0={0xfc, 0x0, '\x00', 0x1}, @in=@dev={0xac, 0x14, 0x14, 0x31}, 0x4e21, 0x0, 0x4e20, 0x3, 0x2, 0xa0, 0xa0, 0x2f}, {0x2, 0x1, 0x16d, 0xf8f5, 0x4, 0x4, 0x9238, 0xfffffffffffffff8}, {0xffffffffffffffff, 0x8, 0x10001, 0x9}, 0x8, 0x6e6bb9, 0x1, 0x0, 0x1, 0x2}, [@lastused={0xc, 0xf, 0x7}, @lastused={0xc, 0xf, 0x9}, @XFRMA_IF_ID={0x8, 0x1f, r4}, @tmpl={0x84, 0x5, [{{@in6=@private0, 0x4d5, 0x32}, 0x2, @in6=@private0, 0x3501, 0x1, 0x3, 0xe4, 0xff, 0x4, 0x8000}, {{@in=@empty, 0x4d5, 0x33}, 0xa, @in=@multicast2, 0x3506, 0x2, 0x1, 0x4e, 0x8e47, 0x698b, 0x101}]}, @migrate={0xe8, 0x11, [{@in6=@initdev={0xfe, 0x88, '\x00', 0x1, 0x0}, @in=@private=0xa010102, @in6=@mcast1, @in6=@private1, 0xff, 0x0, 0x0, 0x3502, 0xa, 0xa}, {@in=@rand_addr=0x64010102, @in=@remote, @in=@remote, @in6=@private2={0xfc, 0x2, '\x00', 0x1}, 0x2b, 0x3, 0x0, 0x0, 0x2, 0xa}, {@in6=@private0, @in6=@rand_addr=' \x01\x00', @in6=@local, @in=@multicast2, 0xff, 0x3, 0x0, 0x3501, 0xa, 0xa}]}, @extra_flags={0x8}, @coaddr={0x14, 0xe, @in6=@ipv4={'\x00', '\xff\xff', @empty}}]}, 0x260}, 0x1, 0x0, 0x0, 0x4000}, 0x4) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000280)={'sit0\x00', 0x0}) (async) r6 = socket$nl_route(0x10, 0x3, 0x0) r7 = socket$netlink(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r7, 0x8933, &(0x7f0000000180)={'vcan0\x00', 0x0}) sendmsg$nl_route(r6, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r8}, [@IFLA_IFALIAS={0x14, 0x4, 'wg1\x00'}]}, 0x34}}, 0x0) (async) sendto$packet(r1, &(0x7f0000000140)="f603365a21ac04c2c57ccd321089b4d3d82a519e738b756406e21bf1a3814658365db383936eebf5f46949d306824ed0", 0x30, 0x40001, &(0x7f0000000180)={0x11, 0x11, r8, 0x1, 0x5, 0x6, @link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0x1}}, 0x14) sendmsg$nl_xfrm(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000004c0)=@updpolicy={0xcc, 0x19, 0x1, 0x0, 0x0, {{@in6=@empty, @in=@private, 0x0, 0x0, 0x0, 0x0, 0xa}, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, [@mark={0xc, 0x15, {0x0, 0x3}}, @XFRMA_IF_ID={0x8, 0x1f, r5}]}, 0xcc}}, 0x0) 00:06:19 executing program 1: r0 = accept4$inet6(0xffffffffffffffff, 0x0, &(0x7f0000000000), 0x80000) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000040)=0xffffffffffffffff) r1 = syz_open_dev$ttys(0xc, 0x2, 0x1) ioctl$TIOCSETD(r1, 0x5423, &(0x7f0000000200)=0x7) ioctl$TIOCSETD(r1, 0x5433, 0x0) 00:06:19 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = socket$inet_udplite(0x2, 0x2, 0x88) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r4, 0x8933, &(0x7f0000000180)={'vcan0\x00', 0x0}) sendmsg$nl_route(r3, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000380)=@newlink={0x34, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r5, 0x0, 0x210}, [@IFLA_IFALIAS={0x14, 0x4, 'wg1\x00'}]}, 0x34}}, 0x0) sendmsg$nl_route(r3, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)=@ipmr_getroute={0x1c, 0x1a, 0x400, 0x70bd26, 0x25dfdbff, {0x80, 0x0, 0x14, 0x7, 0xfe, 0x3, 0xfe, 0x9, 0xa00}, ["", "", "", "", ""]}, 0x1c}}, 0x400c000) io_setup(0x81, &(0x7f0000000740)=0x0) io_submit(r6, 0x1, &(0x7f0000000900)=[&(0x7f0000000000)={0x0, 0x0, 0x0, 0x7, 0x685f, r2, 0x0, 0x0, 0x0, 0x0, 0x2}]) ioctl$sock_SIOCGIFINDEX(r2, 0x8933, &(0x7f0000000040)={'veth0_macvtap\x00'}) r7 = dup3(r0, r1, 0x0) sendmsg$nl_route(r7, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000280)=@newlink={0x3c, 0x10, 0x503, 0x0, 0x0, {0x0, 0xcf}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @bridge={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_BR_VLAN_STATS_ENABLED={0x5, 0x29, 0x2}]}}}]}, 0x3c}}, 0x0) 00:06:19 executing program 1: r0 = accept4$inet6(0xffffffffffffffff, 0x0, &(0x7f0000000000), 0x80000) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000040)=0xffffffffffffffff) (async) r1 = syz_open_dev$ttys(0xc, 0x2, 0x1) ioctl$TIOCSETD(r1, 0x5423, &(0x7f0000000200)=0x7) (async) ioctl$TIOCSETD(r1, 0x5433, 0x0) [ 379.634341][T20296] netlink: 'syz-executor.3': attribute type 4 has an invalid length. [ 379.649589][T20295] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [ 379.652517][T20295] Mem abort info: [ 379.657248][T20303] netlink: 'syz-executor.2': attribute type 4 has an invalid length. [ 379.666745][T20295] ESR = 0x0000000086000006 00:06:19 executing program 1: r0 = accept4$inet6(0xffffffffffffffff, 0x0, &(0x7f0000000000), 0x80000) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000040)=0xffffffffffffffff) (async) r1 = syz_open_dev$ttys(0xc, 0x2, 0x1) ioctl$TIOCSETD(r1, 0x5423, &(0x7f0000000200)=0x7) ioctl$TIOCSETD(r1, 0x5433, 0x0) [ 379.671051][T20316] netlink: 'syz-executor.5': attribute type 4 has an invalid length. [ 379.671309][T20295] EC = 0x21: IABT (current EL), IL = 32 bits 00:06:19 executing program 4: ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000000040)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x8}}, './file0/file0\x00'}) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000080)={&(0x7f0000000140)="d51be165cf3b19a9ad402dadfa4de2bfdb7062a5565b8850e64140d82ded6a5da6634a611725ea0b37524310b9dad4563374bc0aa46df2048c123a4c2de531e3d22f5a253945263c95bf542310d7ce17c9b76706175ace054fe9dd9bf6c87eb6422a089bc03004d697142e6af9df41350a98ebf610f367c4275249c939cb42cd4094894bd6e4aa332856b851da7d1c2e1f682b9552f59280db51f7bead3bfe9ffb203870f90a6b9fdf1fcdf74f599bed7f6a2b40d04d567729ff641177bccc1141a8add3f60f2c0895a72b531e9a1bc05bc87faccd442a49c1fb1d5c96d2282bde9e3deb1d844fe4104ec841e56eb771080b3603858634f55ace6d0ea343e9ef43cb5af726fe9666949fee32c9239ba42057db6d8daf5d0465b6e1dc465b2bbc19559b6e4e538e6e99e9c8fdbc8dedf699e9559ab4c523c47f757acf8c3fd606fba2937c8edecf80d8985565a96a36410bfbcf02b54a55cf6ea0d38183b3f963d7854b131d3e6ab4f24c6d9bb3473e94bb7aad2c1d87358316699f91efa7d975b10b1216776d165068fc46fcd0162a519b406fa6ddc36bc0fb4a98251b7fdcc0cbc2dbae2f7c03e255f1dc4b198358c726e456e9daf7000acf9ded47b2b5241e4df5a74593c79997d1d3f32d2e38ba9e3af02096aa8b2e17c52eee390a1d2e3adb7029ac27ad5a5411cfa316434b02f3f3a01dd568968fe0322e6c47ec48a8192242c07c04e20ff7ad22fd7c013ff44740b9fc9b0c039ebb9a89b4c7ebae145dcec66301cb94ae44b1186f059c6fe388dbbb317baa0110efda10dc78dea01391c96bacfc55a2fd89b5681fc25b2f3ace380450459e05f069389428b05b85f30c5cec619f3ecff402109c4dcdce6673d5d3392aa26fa58f51f533259b881ea4e4f705dcc55208936cd65a7a596cc3fd0cea6e16b6846a72a262a34973e202f9fd81f565a9eb04ff0180506ea8fde997a67733c9f208fe8252cb328cd21497399bf22e80171adecd971efe07e626f4ea2eb638ebb738fb8cc0e91a9d2df87006fa32c33bf67a54bf576e7d7fc9b6274b4da207057ca2ba2e35a6088d515242eafd132c1017dfd4366f00ff25bba0873627844d8291ca5a5a39f611337539cd5036efee8cf2ab380c3462c5ddd361076e70254e723145f5de7040ce7406d8c49bc12619a74ffff9e6213ea251c1e695121b9d006e31838a9758582276c206451e7e9992fc7643346b840926c6f2d3f72a14643859ee4f9bd459b9f1789429f9228c2a6fa879f5fd13293abd30e12975143ecd4d9f908a75cc12e25029079942caf9af7deba59454ea4a3bb708f3de194304f850f81bf341d36ea153d2f15cf74d6e2cc247e63173b2749f39ce4019522cf415a05b9e9f5062e401bd8ff68d00699b3ac84f63244e4cf4bc30176d4323c1a13ba26a18b9e615bba106a39a4893e717107eb535f8a59c83268254a7d4aa0910e26a16eb0ee0de060ced47d770c5a6831c2b92165863f22b0de93e61aef36c8a261084367ed950d16251fee8f08f414ae04ffa9adf9f4aef3fe4e4b851dbb78e6244ee10e68fd9194faaea3e0a8eaf355e5e7c73149381457a569f7702fb8c5f38952e087ae2ef050dbdedb2a0e754f8dac7392583fde0857228f615040c82fd485beb527b05eded3916350f823c07deaa7a49f53387ff817b02138536d41102feffc389aa84bd23de64686478d125a0f05aef36ebe844e40aef21a057cfcc21a75764b78cc0c5a7a7c4d5575fbe3623faf265ada632bd383f7c17fcb98b0d530a507fd3ce97f1ae9806a3f96f3d204397a14b561cb9e7950c0fafa084e0395f4bd970bd337bf868b6b354683f0e46fc3f638131c9dc78fc0413d36ecb5af35dbc08e3cb12e423db45aa1637d2b4ee9f4e6206ff8b3d31be4fe21ab50f3cdde451e6cb9d540dd4f0f7cc3537fa3cd8cbbb735ccde41cfed91875668ac640b53382e1ef47cd6ecc7856aecbd84553317c4dc488da41861651cbeb914fb90f587a464df87f1a626d2053e62eced99fcea817efabeb4b61262c908ad81ca59457a4de19abcc80cbe058a4f1c51acb5452aa94fa7607bd1509c64aa5563b5ba2e689d94a493ed2bf42fdd583834a9a795bf69150d059b49fe9ff64d8a5fecd73fc04719982f02373459f896983b13f8384bcd1f5f51327b8e12c66a0f98212b342199390bc3f97f02789e9de000c98d24e662193c0a131e5ef97a284f46dbb6b035b9c9b0121812bc179ba940a616e35f62e260b6b081a5ed9e00c5d185a5a94562a41b87bc0e5a0f9d2c5f27c6349f654ed62061bc443f190fb734c730ae2044dbb35d25e6aaec3220ac6604dd64f6dc4d25f15f747aabf99da6195107accb2dd588cd1fb06b3915878a2cad382dffb5a38c941e8d71f6451ac04389f80aa912d30ed0500917a257a76d67ac9e2ab54c9b6035b8cbf5f01105bae4469c71557b48a40c303f0e9ad1b17843757f723b09bc151136fcd3cb245b425cc9887571c77a4527ca24c5fa28d23169ae8273ad452a77fba8fb57823f4c0a29ceeb985508582bb947fa098e5dcc090ce0471533853337383c6a827dbd431780a7f58db64f3f6bd864a4c62f68d975b77dc532bf28ffd4d0249a8533e6300f5d291c4ec7c88017fa5df399f0b0d71e7af5687977ad7edcb8d0e987acc3605e2759301438355a0c6d3c44f3f3b5a47afc7b4b21828008d1fb703274726bf271e9acf183143ca80da43e10a2cce9bdf8578cce22ebb512cba93d18643e450a75abd80e2bebcdfab1e95df3de5f45449793a7099bc825ce9a449d3e4ad79ff93eb3d058f2361884c97f2a25a2e2c7a66097a1caf1a47d4024fc89d4477ffffe602168710077b2ae20e4a928a2fa9d2999b549b712625c58e93fd67eead86ce1eaeefb78dbc927930c02a871080587b99b167b6b90ed8fb1a7d329b3db5a1ac2665e70a60143ac12d7ebdc2986869d9aab4fb5519d2375b84468de0ffec4cf6f2700176a9c728f70096d0f26d1b98deec697883d047713859f675b906f281387412e032693ad9936a7d88cca689a1561fe4e3812bd391e977338775f6342fd2fdcca335701e1b839c2820d9855308a079bb28fb3d4e2872f18b464bfb6806afa73c9dd2267685e593e53554b6273db7169ad721c9d913a942b23a5a222e75efc895ed45529d093e92bb02b481a8d084c6f3381455fde733e8628f3a4c1ac707dbfb1af4e961f89f60d44ace51d6cf78a1b1d598660b61b4f424f621b2ee8056d7d23ad445025456b394948ee21427fca59977d162e286487c8c4deae71291b329dd1b2fcc11c2633bde802284ead1b8315ebcde2e10b0fb1340ee8afe4bad1dff764d83ac364adbae01e9d940a179700d8c5829b07d19d076bb26866a901058808958320821cdf4f4ed761552ecce41c942165285a18e0c07ee4430f3825dd3ce2a633b5d90c787a6fe7dd3d8edc2c72d74a8f76162ad18d19f72c82cc3b608954b4dece8b9d629f1976a80eb077678965793256aa04e73b120f4cece835e42998c2ed9644c2fb3701577899a5d89bd9f904aa05d7a9e975e4abf2afca767f7a260c3514699c7670e2b4399661bb5a68c54c8fd23a4b3255af3a5d112362776d35f31b85622eb0dd38a033306a643c9d01242d390c85e3dfafc67793c5b13bbe7e29e07f5c46ad3e06e2ea718148cf7bda4faca4913e5c4b2037bc59984e9b7bb47e5cde5a93a920a5dd378b9a81d46b95311bea9d2fcd96fab68d787c670971efc44e5e543f74a90a1433607c30ba90ae7401240e01ce8712689b3cbf499f5a6b04d7667bf63bc8bc5b0dd985d5b0888ca7f7c0e94eb4bce34df7cbf25e3b4372eeb51be8a59aeafa291dfe4c5a2a3720ecf1d3459f22f20665071736c40ea8a7789fc604434b8f139ed9b5770d97e277d0e59adf636a7e6f78a6ebec92f868943c5babe79fe3bbf7e23447d0447e1b3cb5c019f6e0bb9f354773f026dca5de32a27ee74a98a470b90485bf94fed3e11ab80fa916acc2dbf0de425627c960b5fbd5794719a07f1f9fdb1e9210cdfd9af20f7f404dcf752356fa97bc1e01b67f3d799e32b42b34598fcd2cd9b69fd8b6890df4cd8465e2fb7017f85673afff518f32857c1fe28af6d033a4bebafc2153095cea6c76c8b73d6de8b2a499876358725170c23024357c6f2490e9d9cadca53638e7b8617bb76fc794faf28467b5b7ed54d2bb3586f994cb70e1f1e3995f1418f589bcfd75ad069d628fc6ff41d222cca40d73e024ee61d967ca35e42ae092da0c90f9dee513ca7356ae01db544a7a88ab86be9747edca563cb635b80905dfb313a271d6b92d0da32474f08340ddd2d00b844ba7598fd505dd5624778e561b5764f918ec21c3b68ff5e16de579287ca3f84e547c01d3c4337977f83ec3a359ba95db50f0f32653bb827ad908804823a72713d8dcc44057e790910967787a8bcbcd4bd87de680d393dcee403c2dfd1ea9a48366fc45331baba35852baa04cf085ac7b91f203b23acd57c77a6ff6aaaf8cf9dc36a32406ce20485a43fd59034d981ef602009c7f65b42b7e3938654681238307425c1aac5d3cff10957468c34af9094f7feaf31de45b58f95e58ed1b3ed85743edfc621eb71ac0d2fbf7a9e280a6ddc80b85beac00da7494797f73754b97a1730cf01abdc015713033e79bdcd722707c700d5c04c1085e08a883e34c78ce683f8b1771942726b112c14aad880ecfc1eed9eada5b964a1cf48cf87636fd83f72afd5c37b0d75559bb587b7d5b904d99932db7d670434cea55549b273c37861641c2e0d4af2e35efca5b2d869b84d967311ac9985375af5b80b7d61d56ad2e3aa49661126739d8199c734f100f07c6b94daa03bf1133f9fe09802c1b6638c5fef3953261135205dbe9d8386d919caefc3a2a0628475db8b8047845a3d840b73641ba3d34f60f32d0f534c9011bdf9f18409ba83f161c652555843563ca428d7e755f5265e9fe27f007b44a8a40249bc2c3caa6a39f7c9fdd756c835b0264e217a0083fcb2b1b257b6e6e444c28ab748f69e488b77a75550063c49b9d53ba3c053ba1f706e0d041ea4fec41d2f7657e48252cf0c4783199b67802132cd054b2dd45defec94c34fe0442d8a7d919010a14f109e26ff2243df36b86acb5f7e43bd4483a659590d67ff3101d5da106ef5b2888188c1dd25242bae04d9bfb697b906db2e864596d6952f58ff8462c28ae02274390b834d8e73fc98781fc678cb300150dc9bbe78344bd61e63843cf7520cea14fe49868b4ded480a4f268808138b3c2d516ee46802efe49b17be0c03f940e030ecfa0be1889ec11213162c62fc574228f3cd0eb5ab1cfcd88003472544ffef900675314a0a745ef7a77aae529cd1e680976eebd71cfc4fa1162c586989a73d829a094bf30ef46a3a496d38add4c2e7bc1b60f2504a77465a5e83d6ed84cc37b85169514eb3c293b48a8d95d11dfbcb226118f1f8b82f26ca26fbbf5bd87228ae8db8daaca16b9928dc25c1d14a0b27d21e114903007957e374322798d2a54b84455866a66a93488ab93f0aa29d5579aa3af8a20450903557c3aeb140a393d7f379db2cfefa7765772787e8d29aca52d14afc8690c2e30eb11f2ff5807da4c9332c5903c2ac02f02c6716f70070b47006430b94786fabe9edbd27904156a9fe4dd9eaf41cc2f8a7f019789476d5dcea2997fe207f7f0a37884604161dde67ec1cc92fbe21f54afc94db42baabb2a4ee29e42d86666a6832fc7b2d53c71d8c958920faf361b2a7", 0x1000}) (async, rerun: 64) r1 = syz_mount_image$tmpfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001780)={[{@nr_blocks={'nr_blocks', 0x3d, [0x4b]}}]}) (rerun: 64) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(r0, 0xc0189373, &(0x7f00000000c0)={{0x1, 0x1, 0x18, r1, {0x12}}, './file0/file0\x00'}) [ 379.685768][T20295] SET = 0, FnV = 0 [ 379.686697][T20295] EA = 0, S1PTW = 0 [ 379.691091][T20295] FSC = 0x06: level 2 translation fault [ 379.696922][T20295] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000148db5000 [ 379.702440][T20295] [0000000000000000] pgd=0800000148dd8003, p4d=0800000148dd8003, pud=0800000149eb1003, pmd=0000000000000000 [ 379.723872][T20295] Internal error: Oops: 86000006 [#1] PREEMPT SMP [ 379.725406][T20295] Modules linked in: [ 379.726396][T20295] CPU: 0 PID: 20295 Comm: syz-executor.0 Not tainted 6.0.0-rc2-syzkaller-16455-ga41a877bc12d #0 [ 379.728865][T20295] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022 [ 379.731240][T20295] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 379.733118][T20295] pc : 0x0 [ 379.733831][T20295] lr : gsmld_receive_buf+0x140/0x214 [ 379.735118][T20295] sp : ffff8000154c3cb0 [ 379.736108][T20295] x29: ffff8000154c3cc0 x28: 0000000000000000 x27: 0000000000000000 [ 379.737991][T20295] x26: 0000000000000000 x25: 0000000000000000 x24: ffff80000d937000 [ 379.739907][T20295] x23: ffff80000d681e40 x22: ffff0000ffd07000 x21: ffff8000154c3d21 [ 379.741880][T20295] x20: ffff80000c205988 x19: ffff8000154c3d24 x18: 0000000000000000 [ 379.743703][T20295] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 379.745664][T20295] x14: 0000000000000002 x13: 0000000000000004 x12: 0000000000040000 [ 379.747587][T20295] x11: 00000000000008f7 x10: ffff800012b05000 x9 : ffff8000098e7e04 [ 379.749498][T20295] x8 : 0000000000000000 x7 : ffff8000098dcea4 x6 : 0000000000000000 [ 379.751439][T20295] x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000001 [ 379.753298][T20295] x2 : ffff8000154c3d20 x1 : 000000000000001f x0 : ffff0000ffd07000 [ 379.755182][T20295] Call trace: [ 379.755934][T20295] 0x0 [ 379.756609][T20295] tiocsti+0x168/0x1c4 [ 379.757544][T20295] tty_ioctl+0x284/0x9f4 [ 379.758604][T20295] __arm64_sys_ioctl+0xd0/0x140 [ 379.759763][T20295] el0_svc_common+0x138/0x220 [ 379.760901][T20295] do_el0_svc+0x48/0x154 [ 379.761891][T20295] el0_svc+0x58/0x150 [ 379.762826][T20295] el0t_64_sync_handler+0x84/0xf0 [ 379.764052][T20295] el0t_64_sync+0x18c/0x190 [ 379.765128][T20295] Code: bad PC value [ 379.766068][T20295] ---[ end trace 0000000000000000 ]--- [ 380.054306][T20295] Kernel panic - not syncing: Oops: Fatal exception [ 380.055896][T20295] SMP: stopping secondary CPUs [ 380.057018][T20295] Kernel Offset: disabled [ 380.058048][T20295] CPU features: 0x0000,0081c021,09805c80 [ 380.059398][T20295] Memory Limit: none [ 380.367814][T20295] Rebooting in 86400 seconds..