Security Research
CVE-2025-11001 7-Zip ZIP Parsing Directory Traversal to RCE: Symlink Converging With the Extraction Path
Thinking
2025-02-15
6 min read
Research Dossier
#Vulnerability Analysis#Code Audit#Malware
7-Zip treats symlink entries inside a ZIP as ordinary directory entries — the attacker crafts a three-layer structure of “directory + symlink + malicious file”, the symlink points to a sensitive system path, and when the victim extracts, the malicious file lands wherever the symlink points.
Unlock to view this content.
ad8d9422966c73fee42096dad808c6448a272095349f41facc28f3d18d1ee66a0726fb5aaffd9271b6702e0ae53f6961031443030e63d37842b7356b4a67d1f44b648f709f84d99b1640e6f7a87a3d44129b61502fc0c5c728a88c67798e6cfb7bcb30fe880464fad1a2cf9635735fbd6e964b402ea4ed27e494f7c87c72f1c586b333a4d4b6d4ade7253d06d61bf923572a6b8c253d117e8b63642be9ad8c68eaee7d4a02592bcdbd3155abcc6a953135deec61ed6729ad92ae056a76758bfc9dbe3a6985cd8f37691d16f6351ad5bb4a1f33d12a139983245f94a1ac63f7d3b8cd5e7e738972e5878845d11f16220afa78d3140dcc26f6314c85d34bf7347b66a87cab87eb980962878dabaee56afe9e30344b645f0f29e50db85439ea1a8ef8ef9435835a149b08941019733954354f981f3b0bc27d500477932919cdf7c52f3efaf1e74b0d9d2581a1cb7def7bcaefe4dcae63b1cadbd95142dab665ed413b00893c3dff8940944306f46317735e56301532f4feccdeff29f98a8316699ac9f0533207d250bf9f70d07e17d0d040e4a0b408a4409d7574588cf176961d79a992a2323288996bee9a4fab2ef33cc622eaef413ed17ee72dfaa3b0c8f5edefa38ffd8def06181569dfddba425ca7ea8117d0e92e6828bb9422eb37e8c6f766586f7ff3ac3e17c995c94dcf3708befe9301550177c8942ed3f4ee2162ffe25bdc335e5ca298c7301e15e5f7ff816b06663a6f279b9ee6161fe87fdfbbbfde95a6373c23bcc4e1f0568771ab0b68c2c85d068d2b72da056f21dca84f4af4dff8665e0b4ee79fcfd7a08be94d9f20945c2d5dd41ee2e2276827b6fe8bb5f1dd452c4be14258d4babb24c110d8e63bbc56b4f7f773c3a15957455aeadacdf6c3771759dd6ab5179e9b09f6c63fd77cf2248587b7418f2c7a1be9b5e2ae78ede6b06b4e67bf254c8d4f493ff505190f2dd28b45a5693f366d0c5179217c1ef2d19679cfea0462d42c79af3ddcb3ffe75d97d9368737f50ca686eae84dbcdaa4cb4fe7fe52350e46c07e78051ecf3b692897bf4e96da2be73406ef33ecbede1e057e0e70cf2d7a464531e984faa8546bb9efcaea7927381f558ca36c5b15f85322cfda656808e722fbeebfc55ae66e8d9ab6abba4aad37a55837af2846d16b8e1bc684cbd21d057c5337e45dae93cb6b8a86db00e6851b605c77d642482532ab85967660461e0e9b120126441c7c51ed99e4994b610d0bc7292e82d38050d4877079c4cb8b09c0b2f86658ea581da274637cb13050d864a6d1b6a7f4cc5a09c9eb9c226ffef9447edf92cb13262ec550096793fefcb75e723ee263d2759182f3b571d3b8262b5f8f260109cfbd120aec8bd3496930ad9e33712d71a4ed1bccd774b41216236806df49939e020193a680c95d46d7e3197e763d5fb4cc9a6d36c9f7cd41274f5ca2d2464f330135383f75430c5534021dc465fade316bdbfec54ca403e44a38d05c298f5f89b49ceffc025361c4f8fb0988947e1f139d21106fa806a02b3b7474610e2e8aba1f0f9019a42573645e4adab0b215560f9044825503d13ebf60cbcf9bc9f2716d198732cca0dc7826546cf7f4cd5f212ad1137fa50bdc5696284fb1452f4537ac88542efb9360e18fd5a597b0994fac6114f51c978ead2e4ffabe14375a7e7134dec5936b7aba1f1fb0e4634ea9f0e602f335a46d2afee11b24963230338e661530b2042e95993c6fdda099e7740ae1906507dc2b9a5e30f48c741cf53ff90560f199a3a77ad296bf20071c36368ace7ebda5cb664f7e714556dc4485d5053bd1796419a0a4a1338399e06d90ab73b9b009ba79fded5183188c4d2ececdbc5cdee5a55b08dcdd34b0eebda28642ac577f92b07ef761cdd2ced8055ca50a59bfbb3c05c616b536898d41be48a409b76a5f0181825e7e436a0c6633a03722a049a462c665c1a4397521e48cd9e6597305217efe0a0865aadd21b0f3150cab93aef9e8d29b8a9f8d12d7c1b12317eeeb38ccbd221b21ce3d93db1c4be3149d4537f804f5ae6499797c130a97b49c12e126055f492f556cc3b2107b29ac4a361d7973f8f2ea4a2f782164d85f9b740df64098b215104707b12e8a8f9739ccc675258fd594d77d1da67bd890d69df5ae134ec6288cc06053af85de62ba091239e61d725fda4dff7cc1217f6a9e6535a79fc0ae46dece451503e3f9d3a3b8d4639e20893447999b0f3af3264ab92096ea8577331b26d0503e170c3a20c4fdcd6d43546502365b6598de5c5679598f87d23a91287d5332ca1c6aaedb5a24ed216820048c5e414b44c9a2e7e4760d59c5050a9fa93670084e4f5bec650173d706da4bf7b847b83254118c83069b2f35b5c3cec8f009e8b780ef06fb5c66f6032f3f99127a75b85d44cad1e8c0096c9ca695eeebe98608e87483ce98fbdf6edb29ea91f3b91ca8717d719c5c3a8384085b713261db12a62112a0ec6f6fbf8f8ba943463f468f45fac4656b6823366b81fe702de9ec33f0f879c16f24487f49a657beb120a70cd03ca0bbe47ced368ab4624a71650ad590246693e8fa65ddc5cd5239fcf084a2774739ad47bb9c90c90eb9bdbe0a8367918bb6b93b0d35a89f045455271792a3c2e38d6091c53fb17fd0c884049471e42e084edb71e09861221fd1d4c667fc5246693138967ea63123088b215b0c4ca87a86776809f59fbf0aae506473af03774d7aa5f6426b933a7e986e1876d3ff80b6d12f419319c107bb6987838758be56d535186609f11f869fe97697fd0832929193620ab1f53e86d8d6cc094712f4138e4e34c6765c102f2969ac99e2df6be6ba637a91fa3b9a875d55fac962975953eda4be434b86cd99a0f3f05484313209751132a49d28f512966eb154008d1ff7e23186c3c88efe0c30a2cb0f618ff25c326426966f233d24a4e8133728e5bc9fbdd06410c8459f8d06f25eb51cff581523021aa84030a8ac0dc0f31452e398851df9a2d74bf7eb16497070f3684be946ce40bfcf5b341bd7b1bbb0f49a1e19957c6555c63328ed1a385e30a7e5656706c95046ed7ca18306f311cc20d71edadf1ad86d33dd6d4f6bea15b8f5e753ccc80d16cb204de58df365de5ec702826faf5334dc4845d0b65baaeaf2572a718a206d922d0a8ac62298a66acde0500f07cbbbc33a7712e305e0bd301e859435162145410fa2bb87b317110c4c8e0276bf30ca51854c67e3d5a8d4786abcea67dc1328505d3c4246465e02fdf79056facb1ece996c9f3beb53f51db7c276ecfbcd9a666b224231a508295c97ed91403ec58373947a83d0d706f923d3720fc8a762028bc6df2d78d81283772705c1275d7d7e61b8b397796dd18aaf751ede0fed5d7a263ff4c966ce1fab8bf8d4401190db0d6678790e9fb3c70e35c8ea1a43d04825130e8b9d84b646725a5aed0a3d52c65a37d5bef42146c3f544ee02eb3f183103fb20b97c4e6f4788a3276f94246d72249853178ef28a0dc72cf57eb7a3b32f2eda09561ff6803178de82dfd7617d4c44924bbbe96a3fcbc632d1136150e61f2a20514477033d3745f043149cbd0c0bf9a7ea8a2c3741a70c1a7974706ceffbe54d2b04b828f9fff03ccf6c6673dc6c05537869ead2b08cca4b9359eeabfb4cedd2d360de3c07e1984710472c223ff31df4e697a1fb64e45358e640d366f465ef333fdd3d7acdd2e3b3287321863ac1dcdc07800e9fc380692c5a7da65642e312af427e9c903684786d3529fcec146a44c1dfa68a0c6a5a4ba292d016fbf8c8fab98a37a258acd2cd743e8c10bd8a17e79d96c1a747bfb193284b2948d5a5c1f88485866e4d913875b9eb551dac093008fcab3f49e4bc96df537c25dfd5c7ae65432e37f94155407b66e87dd320dbd9dbcf05646877a5f66037343b84034d20364db17ef4ffb28bac95e32b8408e2bc921f335e99ae899dd83bada5bfaae26ad2329de794289af47213ab2cd97f48a2e73ece649e0f7e65093204a8ace5673483172d3358c9ce371baed4282488d8843bf061a2fdd4b4379a69d019c7ac508f846b541534347219e50bc51fbe671209bb7c95899099c8cd242ed361887669d5facf41ac0440b2d8b97b0ebdaa56246388173820ff2543744312e72b84edd200cfd29b17dc40c8ee2841e264f55d95e7ae5def243c621bdcc50d687d9c80fa4887cec8aec6b8b40c5652a4b1a91ecc5f8db7c2d217f7005f48968e0483ee38e6c7a967758cacd6c953e4ac87eadd824298c2d25522c107bbe507c7b42788098849e3e22d46147dcdb39ae654040a9cfa97717ed4766aa30f150ae81dc48f9b85651a4e3f3a0491cc8d2b8397f55618df0b334491570911d502e4e96f685d6f5013733e7de83359463bd34df2195ec87c72a1bf85941855e8bddcba2c8e9147a83814dc49bd033677cb39f0518ce506210bde49a5bc5cdaf30a8d26335f32647578156d54a890fb1ad4c3ec87c5a246c691c142c98bc936673fcd8bb62105daec55cc5c2bb17ba66330c213cbea65b7c0d2d5dcb28073fb2348102ba69850b2b6e78d00bb3a223a2a3dd6247caff03dd950d74f1f0ff047b915fe95b0df62278286ef000c9596e7872a0fe2dbc322c1e1fcc7cd22dd6ef2a0ad15248bda490752df584424966dd0f7babaaeb1f6145ec95151f252b09db6a04b0d2c9c9dd68f1b10a2d868e1c17ac90df807abb0ba9fec63f98888acb885f6e75ef285fadb1695557e07ac91b9a1a78acc618344db9329daff31473721ecebe7451cd52f78a9d2cdfa9240e651f9a8c7528d515801b56742c689ef851d161259af2359bb5e89f7c2616db3d1c8eb22bdafaa5c6d84b04048d83c489b09aa8e64e0a78c2de6d61222203f900e77264fa395da4892a35d4512341b36b4f45171fc3f89a0f40ef7f1b30a2d27aeb6d937938e88802a159e661e70535a52e0c5da1cb7e1a89588bede9f2c7dbb8e924fa9234dfb9c14d7853fdca70aa64610a71671063a7b1b39226232f9fa9c2d7fa670a923e7433a1a2280f9987d8ce456ba4b1d3ec6fd05b69040ff26dc565e3248b5c4b095b04604bd1c978c42f85b6a9cd0dfd5364fe588932394835b304b140204a995e9e75e64543477b0ca654f59c7f9ed94bc57ec0a4b8bb7d75c451b3a26e7c63281443712429928812b19a3538d0fff497cea39feabbcd6b07206a0c114b11205d7c967ac0d0f9ad8e972a51235118575c78ad5528a83320fd4e5d819dd45d56c7fb8fa626f0c37dd1fdb3877143083b16f72dca6fbae4800dc148ebb10a91fefd832ad43ea03d8b3dc6542ae5c40d3a05da270fab28eaa95174799b26bf6ef0559c33b84f5ca20268c897a7c31938f0df3d82a521c002d0676366c7904be9c91dcf734f9b30018af4a19632ecb92845ddbf26ef9c57b60f1b878a0c3b74060d9c4064861b59387b8fdac868f168fe4d627405dbd79f5d0b7ed1d31857881957ad00f41d654ff26b91a7e3ec175af24a0d9f6ddea71c7d8e5dca37c6badbc72dee1c3b1edb9ccecffd1b840d9f5179b4f668bfa104c771a008a37908759db6604335d2565245d8a7937eae761160a416293d2c8d41bd8780478f59b1a5ac34182b1957ee0201e09f2be5863ebe9b16c605281bb4d0ce2df502709b9aa0a365eba99c2706a6f16555e4e036e12f0b89da4da276dc1415237c80aabaf84a1bd3e574bb477286d6d81bdc5e117801a5bd42346b3ca07627431fb84c56ff25e1d4282d7dd71e57524ea3172e22482c0861fc8fa50d9056eaa4e86aabdb4c1585e37b2cbb098521f3daa8818288a30305518e0b93f82aa9b11ce3794b6694255a92e69429680537af324d3d3312461220ffc03c3d60d685b599e8d20c68172b7d757c46466440bc4f23776d0d0981c6bfdacfc232b2d619cde27ca32897bb856b07d97b74a00542052004408da72d135ceba096f9e8df9b18265cc03f33f3f3559258ae237f764b12406d54f74772b0504f231b388ea9eeca8fdfa76a2d0671562df0858f34c7c7c05a963ffc7dbdc42ac9573169d961c606dcb2734787aef7af70ed9c95dee49b4e6648b53c0193082307162166c09920a8ecc08b99fe4bcd9df757511ea2367e15ad47ff4768ee0d919954a4a44e8c4f4cc0855802123e283d6566202de8a65e88673c0adfdd8348db5648a1d1dad8c23788ea58add8159a37e3ecbb1c360e30eea52529bacb8c43c53f0938994537d775d0ea1ca39a186b32e4fe17dd2cc8502af55f6daa1d077d51a456b1b6b88ad529d1f12ab249ee873b1b169c099e3f581b989f621b05addedaae4de45974d0811052c5767d483c39055d630c3e708295feab7e13c392dea8a0cf05feafaddff8bae42d3cc42856d40b7f9137362474fc07d929213f015bb526d5e94f2514e6796f7d028ce9f8d890ab63055a0e75d17d4e93584ca02380e45c1c53bfbc8890cfbc8431d25a7d1b5e7cb086d1cd020174924d209320115f22fa0d6d2dc490936dc9fe04b5c95dc4d8d98491cc48a07b3fbe8dd05b9533ce74a77d1cd6595ae7a415d91bc746f5aeacd243e4947c006f47920d725975a10f07a46649a419876ed0d32b7f6689e06b244db5d70791b59e8e6afcc7c217b2f81dea101d75ec4f5fe437d4819d929b4268eca28dcbdfec73ac9d702951fbc30a886daed3d83c8ca15c39c5a4e5367df9ce3287ecaa0a8a5cdeb08ac801f56c86a3a41158cb9f0e2966dd9885d5c7db5090b87ddf51287c00291623491b09a9bd6b07551348f89e5856b5534bee9beb0f7eca57b6567eb0994f7b5c225b7701b222f824f7cfdce2d1bcbbe2af87e916be58d94577130010ae67a17e63f77772fa1a3579791005fd91fea89b32a8a9b767201a93724122c87c890d52254d8a33ea72e4c24c10c520940f55102bc9fa70ff122adf603f7b40012f461dc7e2b86e916630ece60cc65d6490a5f214347ebfb6799070d49c5387d9a205dd64f7eb676a686f545d4f1a678e0fcd11ed8a72e23b4a087f264b8099ab151f643564ddd3c28e0a54783cf50c9a4c274367fb8ac84fd6cc517bcf9465bb54ba46bd1db3a654ac7508979d520397a1cd3be346758674bbfa1c6a2887f0b4b482bc36d1aaf5c41f0ed9b4b1107298f55b92042088fa29c4db7cade615f8a6041c748b86c0d04dab34ff6ed84bf9536314a2ceae2fd603276ab63ab63d7456901db097217532c539397e69c97ac576a836812f86ce827c5afd1d67b3821f31a73abd1cf751f282476216861737c676212d59d669f30f09e10ac85590520d8743008461f6f768af19235fdb0732078001bad6eda654657c05afe624a9afb5193f03adf6702d9d827d70988155655dcdc1f5ef9201b0533f3533dfb44c269975ff1a3fc175574334cce8a94e0c0fe9e12cedfc482ccdb39827526de4fdb303901a42ba0c318ca7a9cfcca0aa237ab2b4b830fa3f4fc14e8ab4858499500f22b707a9f63f1ac62c6982b6702e3fc8f7bf55df6c7e1b7533f9203ae1acdc8518f6d9a4c1a8064b08a44447e79f194d4ea5edc0157b359c06601c9d339cb74c880ff5b0ef0a0a3f892bf235951e3c0d8786e4ab1fc3a26c00be6f56eb68a4797c356cc0bbec4fca30462cf7210b2c7b7d84c988d064cc089de7395058e8cb2aeda371b3bea305f9681223552a7b6ccc5c9a316861ec5594c3f65f3fcc7816d3942cebd2665809459c56f78d71e27d45f615ad95acc365ab052baa278a633c73816513f9a063614ec8d6e922fe4d0c4bf096a4fa3f59d2b70f7c52bb0f5a09d6d9c781e37b9d7b71605145713d26d4856c1c1cd4796dfee46be9533a62322fb1be483d7e4eaedd7124cb90715503ce31e448cb3367391c67d177d2707d5e7165fd95ea32fe7e3957385816991966c3957792e71f7da2638c7edec8146c1ca4972633a28b6997cbee67ba463c245c5f124b2ece89dd85a762dff45579915d2d7b0a95a57e5627e538a1f37e8fc23f0a7815ba1e56975f87165252f6da5f5bb546b523f7d162c564be26619a9e35294afdc3d907519c5768fc094f7b45dbd736c1cc0c99891f3e32eb47ab5b8eec1032d0f3666e1c3885ac2d6ee20d2e82a8cf393e3491650db50712a4786d2acc5f9f86a71fbf70f69dc62f15bfaf4ca323d03a96a24bd1db620c426e8440e82e4ad6cd11544137bd34f97e9192c69d795cc02fcab28872904ec1eeb6e879a023c0a39e442e37d814ba03da484de98b0cf91357465d8fab263b984f4f562575820bbf0ec58ec0a97e53a8b97c4f5eecbc3c5fe6ef70d3560b8cb89fb12237c0d8768bfb0faee968e2ffc43627ee910028911f5906f3eb4107cc0be9a4ab36b8cf6c1d55bd146517b572bf44d86a057e23f3cbfe5f213cc1af2a22aa970eabd09c1b0f3c088f8a9ca351a188cdd9cbab7599c68269c2a7589b9c4e9972fe630a973f6f1c9b81ab06c9095f8e874b2e6c53de2e94fa2c7e2aa955c4fd21a39f78edd25ffa92059ba822be248bd260dff75977c6535e4c1a510995c40127b08f30d8ddf6405f14ee6d5babf63d0e6abd3a280009c5d5dd93298082e8863ff059c8c6e62b5ce9e31ad524aff16052ec5b465078f8afe9f21be2e556aeb921432a3a722ec1efe82a2ebe95e9f9501e54fc671d7f728c734774b49d11931a74c6fea8d27d0cee60ae7b53cd1cdd8df2651fee3b7e5cd3e8411f62cb4a9bd0f3f46f84009608c5d75aa241bff6331fb001c8837aec4e46c88c0f4f47c57cb874b820129831372db6386321e614612d3919d0a83444743280c3708fadafab8ab7217c7e63c7369f48a0a2a972be9706b119a828d6cfa35f04b65fdd685108e38b66e42bdc3fbc426121fe6ffe26b19fd90efa05b6d047115ff504cf372024820c4bf6f02196998b7b075f171071e1c40f3a9da66792cdd6877ba2ca741987771f99cd0dbb62ed4170315b8c866ce33353553fba23a89fdf55f10e9e4ecf2ab282b256155c1f9dc271823bbbbe184a3ef279014f6d0e6f288f16faf2ee95a175933a3b2998752e042b5fdc6c4009a04290cc1f4282e33972af1826c3be6a882d347d9f3c9ea8bd642a3d31a71379e6683f13e056029792bd2ec1819bee24ba65999be50790b7e1ea4d8bd8a49e8245eb660cb5caf85c6e107a13d304fca16d13efa27bce79f39c1225bdd5d4c6693410625d9e2c988de893afcf3e276a426e3aeff5ef2efd4c6c1cce2780085e0c3a98fc5e67d5cb9bad95b713d043310f8fa4d06a2d289cb522e6453295d1ec388d0c39e0b90e71987b20b0dea0df2c6034358394f481dfcde6948739d7892b5025f787168ac9bcd41caed11e918a309f1ea3a7fbf9850b43e71050947c84f4c160affd90877541faf5cbfc7c40511094fd17530a2a55bb41215c5822e6a9c63baa02996f62b5fbb3574d2115a421c5bb216b8a0bfab904c8946fcd49af93ecfbb787921829a30be4839eca11a6df25da285dc2870c00e995487b3de72287295098f33feadebe9bf6d65eb3a91f24143de7b43ee7e36916ebcc15fefc87eec66c5328b114d5c5e21716fddd6ab877d0b8fb0417cb63931d3c18c4d94473d884fab2251f29dae1526b2c74f8624a5f60e6e54443a1e8379cfb9f457f1d70c73fd313fd6d09d23b635f79bee315f14e556eb39dc7c6a0a1a8d8cbc284fa5194005c2af7dbe25d4efb52053547c3f29592f4dc0946d6a35b2cbc8085f29db0d7cb64d5dd5c8f744f8e0825b754b8edd109cac9ca8573f058842a3b27f949c6bf698b4dbc54b30b7fb82357ed3510cf41fc8f6568f6b5b521944a49acc2dcc2dea7c370fb186e79189a5b54ff65c6bb3dbf58b00ce7334dceb04b787dbbbbf4f0f5934d41e3c1d88b1302322c04fb4408e83770822d930249f9995234bebbdb6e2992fd5a8b1eb13095b2c7cd22f0d22119c3a9e5e8a086404acc91a30a99c6367464ee37868553530ede848f564668c206170eb5c2d9cc94dd2f4d001929bb0631f86d1cec3e4dc3f94d0977958e9eb9d40b3a25437ac0e513a309bb220bb4eeb66246a65ae7d60773fd53354201505e1aedb5a0f891b834b49ceca690f5c3c6841c576ad39dfc5208c72d126171287d32f494aeb711b75c687f7ee842054ecce6c8c8eea88e56d08635f662c2f2cec3fedb96e36c31b5dbc68e8b71270b5cefa979999f144b02a8218602fa27bf6c66d7c33de671bc228416e666810798fcb43492700eecc9d319ffa1eb5dc35ba8104881561306eb71d749daa7f27c40c1a3c49934f2e1e1297d5a59c8c46df43aee5af16c103ea206e865b568c704343f17c356eb323c50591a7f4a3b12560f37dc85dfb92281852a37af4804af0574cfd5d6c0180c5a3b2b936121581f02aafb7016c59d33e4d9fb5ac40838554912a5265751aca31f0b0d1c7224382595a8c18ca73a1e0ba490488b03154e9ed0cdbeab46013f7a1ef12589439bbbd549b3432152fe17347923f68d891514091c0c6a6f61ee3a40319d11d4c11fa54510b74e524c9b38313923a10ae6221d129caa60dc6d7f3e0a49d20545a2acf40effb6e06522fc73a1b7ed771c7beb69423e14dc99238df091ed8be57ad9a4629b35554780372357961ae1b8aa29fc59ce22963d93e0d7936ef023e1ec153a4d151966694973700a5c6b274c5d7ee7f6f01f7bc0c116a1e88d051bf2a370ba04ba469f210eb862df27557c58cf49759752b52922ee96e0453596d956665c26a7e51470f24de4e883d1f61e6e3062ee9ede122d22b8487c5e7d9622ba3777b2c67839b035e6fcbf1bf51602c2248ffa911ecbeafc05c88ed54935a9c0dc8f807c511a211c73cc097e8fffe2d38fe261373cc486265208398e56c1cbf7699db3e223033d2c1aa674707cff88641d57e10880389f1455344d32f0d9bd90fa903c870436402b1ee4336496a5d411e2637e97af777db1c657d42d652e44cd61ea38a1362fc8ff6a04587751993f5fb88ec5ca92868fec87b75fc861a13b077f30ea90d70f18ee6405adadf3311f3d4343652028b6e6fbb7d60792f15235813683338b81f4f326a2bf7da16a0f468284f0fafb1c1eb64032a788e7b7ded5aa0f8e84ce51b39d94138b0b6a30bf0d358cd0933db65ec0878df8869be1d9736a449227efe779bd22279d3c45f1211060a11c76ef5c684166fb9d7ad422d2f87b01a54331ce3465859bb8bf24e99ece57cf6537ee0f043d1ebb7c1d4c8eabf78423069d0c85683e929d7093052ea1b680dbec91d7b246ac908bda3b51f5bfad7a886530d05ba3c141de892762344d55f492733ab9fc8c9ba281c4f5798ecd9154ac52be80a854b023b977b10aa4adf06627bd123ac47661d25bc2f4fabe0c6a517283172b758d2648175136986a57befc5d36f8e509730a4207cb122a48981c4fa80ff59a64359ee809afe7d3d44d03d9c32e81247eccb7dd3d74788196bcc6c7a6bef58198c1b0b87ffc463cd222984b1bbc78d2bdea32197921913995c6ebbe5104c66e59ff8f3e7efa7b46f5e0fe0b561999b6c410995fdb0ef3ad6b042b0a5a4eaac9e19fb0dfe6364d535fb6f682a1ff2cc1c11c213113943bf3378b33be323503e390dcfbf3782f25a3a82515ac0d3d271fae32c97b1e16fd447b2444d7fd359e0ace89f6d60bcf8bf5622aa4d83be66abe0de9136d7591bfff85493a0901152dc1ee811c2b5e0f8314dc5a5c0d04a015d6977e596479df214e26a420af2835bf4e9f461a53dd3f35eebdaf8384b8605f4b88a17da0b1ecd652a7f1bb59a735465fe986e9c9b469ec6c67b17de336ab951ed7667f0c46fbd75aef85875672efc9c1e081a2ce68f68334519946a434dd54638ca8a6905f92d55331e40d980250b7523454a2ee7155a12028e7f354a55761f4d95757e662b5c7c66100696067012cb3723ddad038319c520037963fa7e65d7e29c0c6334ebdd5fd60c4bf8ea0c32a698d32c4cf0e9b77ee4783b091db2a3995568d659dea76a07f0ec905c065e00ace24288f3db5a42bd7af45a28f66d86c23b8ba14bd782140302e5ffaa1c61ea10117ecbf6e32c2a812128fcd5c053cc730f1a71ce8cc242ee410c3ca40962dd1240ce8e4283809f45321f8ed15418282edb236ba0a8b255437781e200a75ec99019259768b426b16a1af81ac20e6e2e0ea1bf4a2158b3dba5b489050b706b4f2e3f42e491242a73330f776b498dcc64f23c64f10b34d12e21661cec5706c15bf6acb73e4f37e5a1fa24cce8583dfceb747cda881f8f8ab6b0178e8cfedc1e8ea6a23b8235802af4a4aef255228437bab98731952581e53ab7551e09064dea54c68c69ac3f3d619a4feb6983940163fbb0e0d16320c4b35e8be0fa6a2ec7b3da423d8fc1aee0abe9eb5da77d07744cfe0bcb30d08fe2b0840f266c316caee4c7527140b52a93f84e87d52f19a20ab643c2bab95dd903a5dea4c6711280cc2c9ac5bb8443b7fcb52f9c8c86eef8aad62738ea1c2fbf2c2d727e403d3231f77475af676fa9fddec210ec4ac1a6fedf4d15b61097