Security Research
CVE-2024-3400 Palo Alto GlobalProtect Command Injection: a CVSS 10.0 critical chain attack
Thinking
2024-04-12
5 min read
Research Dossier
#Vulnerability Analysis#Code Audit#Network Attack
The Palo Alto GlobalProtect command injection scored a perfect 10.0 on CVSS. An unauthenticated attacker sends a crafted request to run arbitrary commands on the firewall and writes a cron job for persistence.
Unlock to view this content.
ad8d9422966c73fee42096dad808c6448a272095349f41facc28f3d18d1ee66a0726fb5aaffd9271b6702e0ae53f6961031443030e63d37842b7356b4a67d1f44b648f709f84d99b1640e6f7a87a3d44129b61502fc0c5c728a88c67798e6cfb7bcb30fe880464fad1a2cf9635735fbd6e964b402ea4ed27e494f7c87c72f1c586b333a4d4b6d4ade7253d06d61bf923572a6b8c253d117e8b63642be9ad8c68eaee7d4a02592bcdbd3155abcc6a953135deec61ed6729ad92ae056a76758bfc9dbe3a6985cd8e376b1816f62453cfe80b5e70da2e0c9d8e34108fb6eb72e6c6a7c7422d7b8b72d38a855dd137147652f76cdf105dd074c70b3cf5e264a8084d34cf64ac84fed434799b91afa3f52abb9e732840605d0167fa45af1132ee1082fbf99c66ec2c049e7bf600006d21527874830e3b19d37f541579df7519eeec8c222efdb0e500058e699cb0cb75fd6d98c68defe16db3c5c1dc1845ddb267ae54721c9e7127ff860bd5130aef6c056e5555301338a5a4ccd9e83dba8c841d67bdb08f206c5e9951aa836a825c6dcaf11d858cfa2cee62ef3c5f19aad138b1444fb3a1ec0560b38d02a3ba058434cf74ca6cf8ef412bcc76b468f7b9a3dce2f1f9ed8cfd9ae6524a5c13c4c8fb0d5caaafc007cae1317266a7dd3ff037f9cbe5605a7c7eb7e53209ccd6ce18cc271fa0f8854f4c547dd5913bccb1af207eace14cd834041998d0d67f4814e1fcba807309633f6838c5cda70e12f56fc9effe4e775b632f30acd4b5e1589865ea127e8bd94043873072dc4a7264ddb5064af5ccbd205b1648f18acad4ee99ab09cf229e583750ce04e0ac252d77a9e185e1b2db456239c8681487c2e268d116dcf870ca4cd8f89610c5c2126e615e9891f1c9d946546b944ca776d6b655da9d059b55e502c4cffd0884362b72a2b7fc8478edfabf2f0731a12540d7190a30f817194132829c53b36d2c27664912783a6d56b3d29873c0a3181fb16129e07399fdabb45dd08225da51b45ff59be8ba08ef83a1d05aafb0503b0950d0306b0208c678250890ff5096c02ba4231abd68e1e394361b0e4f3c802d1b0a0d3aa0bcbfbf4f65b8f784e85b0305577badfb243117f845268ee9786908e72ffbecd7a239936699d7f7a4fc4abd3ab2493ae03042cf71930d9384f1e72732363258907e84ded56795989e16fcd10178127ad4584f266cab90d3404c7b5b1b9b0849295b1c2b15a980f78e5b7c0c1e85243982dd9815d597797080ce9505c9fbf86e5de41006e1736273ea2018ca78bbccb0e6a8e55747dde7c1782cf7b84463df978a192d6a9c1c19678aaecdb7293b70a62c9929d5b8f1ea3fc3a4202b5a8c2b161f80bf480aee9bdb4d6b34e59e28253c39a5e91ac6cd23ef31183f6742961f8db41e4980a6c385001ac0b74d322f2a53a39e9a697ad4eb840678464ea5d6580e65673e2e6b59212d4a674e1ed565fade316bdbfec54ca403e8106e9353249d5fc7abccf8ea145772d5f3be4a898f6f57529f2c1b77ef569f6c7c155f40222fdbf41b1ce97feb6732282e1895e4eb124b59c2429f4115d177ee32cdd390dce17b6b5d873a98b6817e2a5379febada157e02f9202ba316c119d7344fa71d3e0027a1805c67e69025e88d81b481fddc48ab6902bb1c8a9be82e4de3b5126540303017bfe7d74a42c51a1ef8b1300bb6e9fc02a17ff6223af5b50c2b8134303993661031f5573e95932f6991267d496319f79a6255922dd84326eb8d7c1ebeba10e625f5d0bea17a9cd3b83a5b0b2134c9937ffced8273486779044ad2459ece7647f822537a90f6a63cc399bc259eb236b4b11bf77ce7f31dea18c1026a878be916deacb20340ddc662f5f5a5b19452e51c6299f83ba13ef4d393961a5aaf445ea0a77f1d9449c878da8d14f01df75cea6e4c428a875369423240347eb0202cbc06ec2dc979dde17d7734e39bc5b6024e0d2336b3421b2eab9821b0f3150cab93aee5e78a9695d79115d2d6e23346adea2e82fa310c31c3718fd70003a018864e6eff06eeef31fa2b1a137ad6f8d312806a4d585a695f72c7b6022a67ad0f370d766ff2f4a004216a222cd74a9c7541843f9ff22a220405e87391d5c65d9fc67d61ca85d898381cab2d9990c893f5ae0e18d1238c856e47ec999b63a00e167ae1013c44d903ee308b056176cc7935a79e93e95dd9c3041c17eea289e0b99a77852093245a9997087bdd0a7eea52a2c6ca3f61496aee16395e452f3786f2d06d47517d4e2d096f83d51a4b710c8e83c82097322f052783197ca98f5627b92227370d9d17474b4397f0f9e0685e5ed305189eb8386b5e4e430be37600698305d913bcb546bd254445cd8f1ad42877e1ffbdfeff4cefaf80ae5aa45367e7107240cd572975f51c148cd6e8d94223d8ac8caaeda58815bb27c4c489a8d660ce23ec87bdb509a37c7d78d34a22c4de221a223220db41e96247a9b36269bd8991b41b013f4a9247bbc66e6a3625307183f36c2df2e530b3a2188a7f24547600e04ce8eb0ae65fd07da0f5ab2ebc338fe2235b7e6c10d0c82f3acab4fb6dd998af5f77b3a4c1af280733b054ebd4d69e2de9b9a00a94718cf98592652707fa8803594f2006d7fec1fb816b9f8321cd3a829bcd4bda22e43a514dd520a281327e02c2978d24b74b14257924c93fe37a76448c2a46051dbf00c5666f07f9cff542c9061c36ee57773d28e0a01b618e253195220a6cc7acc3b0c12e41814b9b5ca23fdfd7831bb9198272493044e801b087eb679db91a7ac0c8a16e08b1c63dc9cedfc579591cf4139e4e34d476580a252327f8d4ead375e2ac7d6691e031d78e5a5af38566860d14afb8be104b8c9b88e8f9a200862a3a0360173bfcd22fff089262bd4e53fe6d87af2981ded4c1f64526a9dc5b6184f040606b229c20322a6bafb013243aedbbd8ef98200dd15bf6c543b115b55aac0551390d49f84d37b5ff558cf70940bcd69258e4a8d74dfdee5e07706ab60940eb5cd50be99e71665e93e4f8f5f4c95b1cca356852873332b45d675e25a4e174701ddf1e4ce16dfe8e04e554d46dc92bd59416ca753ec5250567f94fdba7a21098875f4fcb7d47e8dba163c456d1069f39b55367df405bd6fe1aadf6f212657783216b926313cd8a06a78d20c4f0277f78d8fb9c2a3a14fe4cfbbc271edddf4f0b39001610a4bc9afd03540e46dc4833a5369145985162edd5e28e3177f6e473c80c2e474c7d41414e1719e0fa8604b5de5b92da37df7ebd41bc19be967fbfa594c7646737081bc67e5a2f97fc9d416a82d519c07bcad4980ae162c3604799b027189d87d92675d51f836e2041cd2a46777a2da6d6d179ae7124ec3a538f06b019392330eddf389804a196bdda5c5299d60d6c786b4c81b9850f3c9cbd2d4758adcb484f112125b2142f3b5aa24c3d0192087887bdbd3613d4f140f305bf7e0b2019f12f289fa96e0986b9266214cb8d4517a57415e39ca148cf3df270aaedb52a7bc0010611f3d45bcd1b20c3c707200455f31ae7b76a17d4922999102841ec0638254e107b1e7e3a0de511189bbf1d14b8a4acc2bad5efbb135770736a62bde2f9573105fd66fde5a732cf647d368a7a4a4e3926ebdfb785c75cca2bc987a94cffd3dd7ed43c16e7891502c1d5de3f65f240b2c8e98168fa0750e7568662ff62aa3228d13d33cddce4e426732f8872f4c6d44b801e83909d732a5a73ff5555ec57b107799d943a897e282f76e6ae829eead4d9b78a1b21515ca5c5cb11e2b68ceba78220e74affc0cb393e8a10a48d5beb9487caab06abf402c7e83c48c2bfc1aaced79227548a3c74b128b0eafc163114e3a76b0bb2bad791737d2e8adcdba565473279fe5a4e12787dfcea73cb9c9695c9007b381aa5a5397a7872d6475a692206f971e4fea195d2f7b26dc167f3b69c1b24118faf80f5bd51ecadb9f9c264ca389dda883181f26e13f86dc57807fbfd3e9d28c3597e2b567706aabba17129d703252249d7c03557ead034679ec29835fb11a6f7abdb17df6ed050dab155caca7447047c7b6f13f903c519a2695c1dec33ce8894cf97a9602eb42dc7343496ced458e65d0ca291a63624defd062477b93a7326e32e166842758268cc97da138cde9b449348c8af3352b075b318e1e2a40ef86b26661ed7cd5421668580fd1c81d1c3e08fa2a81a485eb2f4ae51c841df93c1d317f44e4d0ccbd54899b3388599e66b71c0a2de8a42ffe985e5c09e57dc91d14c35de03efab11c6b3389510dc0fa6e32d51197d99b582fa5e180cdee39e6a6cd26174e208184fbe5981cd9e90361a0638275282898637c287e710539f625c0499560e54c0178adc3d6e4d3a524721613ecd20474075f501f5190bf47a63f6bf91df0a07db94fbe106f0eb60bf2a09c75cf8605a12ff757db379a9373f09c55fb2e833efc02ba72667087d7e2c2c443117a8aae016cccefcc6c8a200ce879944ca9b8a156709c888b62b0f8ec62cba589237afca7436d56dd48802a0bfccb0a5b9c41ffe4a58d0d406e751c386f9c722f51d5ab5f6c79d7867b89810f508fa0c1f2fa57df323c38f83825275beddc95930cfadb8922d7ee9beae0fc8e5f8c89437cbee3a5ff94c5092c40e0639b31d0267b47dd8b9a9adbda0f617599d5a10d150b6dcdd9a5b0e24792b18bd3760e0fd6eb3de7ad10fab63abacffbbf463e990c4a8b88bf4e74ff5c3e5db8676b62b309ca0b9aaae85c163e04adcd34fbfa678656962f7f2f64316c73369a9d2cdfa9e09fc19e8e0c70a9453441da72148cd81e385495f1218a06a59ba568de6867d77f2d9cbeb25bdb1a65064d0b25018db39449908e3944cb08ebc6df1d60422586fd20e523b49a795c54292fa1ed5f5c04f72b9cf1872ac2a8bbbe607a5963de3dd66b287d92b82cb9b9c6b05972f4a3e0f1952e0d5db1ce4f1cbd5c3fdfab11029ddfd50bb5e6058f39802c1853bdca359b10353f25b61007ff8e9ce22612ae6e5903034fb382e850106261e3d96e8ca74c4e34cba074a14dda4578b8c40ff30d44a5e3909b897f692b3570dec53d9aa58b155679dd0d2d73152ab888e7794d34a3b47550f50be9cebfe5a75072225aea13d081afafefdc7fa64c036038bb6de5f431b3a2cf188369256285742d02e8b680cec528d5cf94976a329e5a3a3c4fe6264e78a51d0031fc2d865ac0c0f96ceac7ea20235109f34d58cdd5299cd2c1f9afdef15df06952f38b1fe71640b30b85b8c38421f3682a1352a99a8fcaa1c08805886b6139f13f79235ff58ec2ec3a7c96a07bb1c0389bc4aef6ff0b480ee8515568feb33b7fc0b2bd73e9691a1071c94dd7e6138ddcb11f8e010054b5775437a231433419fd29086e628fff21703a345436265919bc6129aff78bcc17a6ff1b036a0d9f9595ac1df405765bdf0c9f1c0bc98bf0198b19833121ca87bf7d7baee0374c37e9b952895155dc10da373b81979298452b523e5caeaddbe0f829d95daa3606cfeb876c9f996f0eae28da296cced46c7f9419355229df31703711d2a903a999a4c9d79503a567c2d2e4a817925eeb5761a0b0a378dc9c4d353997b567bf399005dcf5fc3a0913dfc651702eba95531fba7f56e715dffa94c00c5b11a764c9fa6152848f382d16066725814734242730e9fd3bdbf932025d2144d20c014a3a386edb5390e0ab236343f6b8db6cab307ce1d5ed32240a3851c75740fe582d87cb7dfe9b2cbd0d677e0303fe03e68ff22ced7805dc8bf5ec81c7cbb0b9a91b59fe3690376b8d6aad20a5a65efdb1a6b8c293f4105eaa07a8fb18b58d93d88b4655e4bf3296f49da925232f329dbd17d317d225cbd4ac5d049790e1892c436d0817ca48358cc7d66481acbff375091d2891c62bba6f83579213281d825ca1a9e63b753bb7feaf94e15477e01750507c973c07dc9b1406485c0bfb2d07ece03b02e2328582786e03bea73be3e12c444746a225b678a34b09ce78de6e098fa23b5d4675c349b1f0cd977193c56fa39a2848dc8901c2f2a07989b4f2838da6f216f7ea034b416c19b59f958efe26e8a07aa1d31965b54480a6e0eed0d958004f0d6b4b0ddd8753657a32d6ab55bd07ee863cff7ce46fe344f57a8c9fdc4442c902875abaeeb332f548fcc30ead92e9ef6a8bb33ccb079df7962f98330728eebcaba0fb0533f32b4a6d877a90eec1d119587c484531cfc908cda40355b5d44b4c12cbb8cfd174fb66ececc881efd0fb2c8b4dd2cca5f5b6136768eef5e901b14bc3f909720cea17ed992f1b0d5b4dbb362ad43ccf6a8f1db21d04d1f0d053b40638485cf8c548066da9e087d17a385e12d332ce69f0be21aa3e4d6ee80fa09d8cb10967b58b6ee18322b0e50d06487db14f515e41a6e17bffb1c0c758ec2d267d883ce8e5eb52518f4f34116d4f23bc1ba13351809efc82bb484a607ebcc0c0e3af491cac3f1460d2c823c1601348a0521085cf729bd83d2f34f1830d496a3898c40b201e2bb081ec9d800b2f1a6cf51ac5c3bac4b6c82da638ea16a415591ab656808e78c31340756db08f57f24cd6c8c5b43bf790769d2419f65af0e20f9b926ea1bb905d9417770100de2edafd17765332f868aae0d9c69f985a60c334241cf22a43e878926cababb9326c78516d011bc26b486ceeb3b999dc80ec587141ec38e3dd5e63939c0bde4b383ae04b4895059d56b7f42038ff5acd49667dfcc12741a87364287ebfd108d921085706095adca9ecba27e5e37c685e7906d54349bf5a7a2f9e6e0482670fc1f86a3a79021b76d0d3b63824c67bccc2a5ecef068ee2c816ae29fc6582438061df17801e021672333e1dd05ceda4d4ed618be91e73ee59b1901018e3c36083499c88d813f5fdcf729a6624c24dc1b544255e6564aff9cb00ff235a4f919f4b84e14a677dd6f798bf201284f81e629d18157165e625908edfc678a1a0a4cc5276c982b5ad65779e24ee79ef200b5dc842d8c9df52995847c24a8f7fad045f836a5f44ff6454a1ace3130fae52a8de5288fea875d3a7da4a485fa258861bc8d0e1eb56ca177d1827f6e5fc84a9264813a716b14c9fd2e7745340db9bdc697a0564e703b78d66c0eae033889e4954c452107be72ba3e507fd0f4c909e2c4a0291ad8614ed05fbe76011399834fb7ed86f6dc2c205d28f6aaab6d7e72a764f76d9658641ac6026045092759dee2dfadf1f1542bac6e18b468f873c5aeda91253524fa5e6db2849b715c387072232c687433706d1ac09d299f3df29e1d8bba6e4d719c29765c555b302fcb8fdb7bbab02a6f30154fae64933e0c5b995dfa6f5296fd5387bb79c06b59c5977fdb449c142529edc34f42ac06190d32f40a71dc45dc7be61fa0f2a8070e6e371cca8fcfa4c2f9900bc48ccb98aa9e238221639b07ce303d13fd6feadf49dd7482f4c012e331a07d4c9608a0f4f31ae2bd051147db30cc1c3e68c63fafe43286c174030be3bddc76b415d8fac1e40c7ec916be64919313ea6b8c0141886cbed9474b4947d1998bbb00814f0de81c836b17cfcb56cc27c8d0b30f0ea4bda0abc9b07f4b5ae7c9d9726046b8b16114c05bfdfe45b39041d3a028ec08ebdaeef348259a6d4cf6eabde94484db610d8c83d17b890394c4beb5de6a7861aa2a03dfc2767c5cf1a0c79cd6a70180049c0a02774385d9fdd82a7e1ec193003aa0c838f23d51d8143cbe313966e408a22e24d078e5eb74c03cdc672d1112d62b1c40a4c86e8220facf80a2013f1df1e2e77330dd976ee3baaf9d6dc2310e65fcb4922a454a0e4f8d600f0dd198b314968baf57ae956ac57036fb0fc1af8eb3fab5fc2029f2594e3f26e35b1c9db12463c8dc701f2f365590f755078c0ef97f82b6c673c38d7587c5363b5b7f2867b9da2074d6bfa9903f9887053b6e216df8d86da9e6359c75df5ffaae26a0e9f4888e0e6d2bff11438408d784e0b65919a17e2d1bde4870a9a676b8efdf51f4bd733da328377d7667c6a6bb50604c3b7a033d535dc82757ede35099b8952b98691190379f9293e7d00ebd3c2251cfd4cd97b6e138b96ca5f7a29b676a007a29f0cf8834cdc4b40aa8dd2e86b29cf8541d15c6437b3916ffd2ec85b9ac7f7be099572afb21bc15e3fbcf6c7211f90524eb5cfa3ac869d66c308ff0b67dd1051b6a51de4f80e4636839d599d713ffa520892b4dff1ef5609a8b5176447cbb02f221c752f028e2dfb9d4f981da39742c97b2bf78bc8ae5f57a4a1b3bbafee756f116c4a962d89bd7caf6d2a698ae6c904c7929fb82c6a341606a01d12ffbb3bfa4c5d474e6452b2ee95c4f8b15e8936579e0087592a18115e3799bb6c2cf17b041027b072cef43eda006c3322be6baaa45d718feb81ab331eea75de9f7add6d9b0bc8b644e0dd5e8cafdcf18d03c379a2d2789bbd4f8de3eb021f326e4b69cb21ab6609ad9e1e93bb4e6d526a2ef4ba8ca6f5f2b0e4dc5543fe28fc87bedec3a1ab08d2bf952a0451bfa39ed172a79a5fdbe3cd752511c3419f71ac4a30500e702e0d9a2b906b484b6caa2d578c85d0a90309f1678e749b648ccc33c3bb5dde71b87514aee18054df0945053c5cdf3d027b6301d79ed92122ee0b663e803f5fcb4eeb25fd28e0ff05a8066c9ab13c020425657c94c38be5577a3a61aebebba15b3ed6cbeb5aca87e47f9f2dcb6cd64c20bdc2cb4c1f2062d52b5501641910626a02402fb3120984e57f77ee0cbee65fec0f7f46e59cbe419c73012b56733d4638c335f7e5817dc899b139f555e423d586d02a985bf849c09249ab87c6c07fba0092a972be978551788d6cd25f128d14873aecbc40e9228a70d0cf6c3b494725b50cbb0e27250f5cba1867f52775b3eac0c16af284f126685ff697e027de8bfae63e9345811155aefb9c364786de47228942eae4cd13c38e89ade80bf24ce532c13a49364d073320746fdb52ec3f2a9047bfde6c0efb7333925765fd0a3a2626770e2e8b5c1ee8c75de53b39eb1ff89e676b21eb35d384031acbed69643fb49e8eb8adf288c5d3b1193a4257371947eadd13468b4ecb4e547c8e5c0ea8bd542a5d9126f639761cce33a1b2b30652acfe21a57d3f442ea4f87f145690c620fe3cdb0bc45bb2704ab71d843afc588fa01b6617355cd5c923ac91ea8f4812ed756008f5c1e7ec14d0c68d5eacbdcda8c3aebe1ae33b526e0fee045f5bd88d28dc2a07a04caefcbe08cc2fe353fbeeeca5f3e30153a58b3b14902a0cfc7cb4d2d21312d431ecfce90c5d41dc7ed43d2be454ae0589a874f451f34610f1adcd26d42729d49d2f7055531772baf90c2469fa45fe655e245b5a92f1aeacb2ff76c3e4b0e2cad7d424b08f2d2423f1138bf4eb0b9ab4546066bc96864b7b004b41c15cec72f208674e5b62880e93b0db52b3fc8085c0b3b7cec4cf7f1f1eed57ca918ff98ceb96eb7f2377930989a5cf76e23e7f55028fb558399db3970c206f604daeaad3f643bdb428f60b187eaf2a72474be3aedd26673b85c0cae3e36da6f98c351969578e877ca23ca1c535c57723872dcc3a497701c92f35656ac2f7dd78c9b5c905b609643e5244df2deaa502ebfc157974bfab37332424a3c13853588b0d27f82d80266b87f3fdbc7dc36ab25ebdff6644049f557b371c5737646168d84f03d00bf565f03ad890eaf25cbfbae3b59076e667b612849cb993a6d7ae1ddcc5a4e24ce6424e27b4098d0f10ae1b59c147f4a97c35186a7b6e14d4370db4ab0b540c08c6ae0c7e9e8ea5f2987f3993a18a15f03fd7c86b12ae26f5954155fae8ecb4b9164a4387858e2f7949191a7a4559b5d76aa8d85d94f89217591b83c979f80c3eb1a5f7339d4696e54dcf93031768f57af58f193700335f26271d6ae983729aaf3e3e4d63281a7a0e614764d307dc550526d4bc874a00ed9624e2eafca1a42ecd12623020ff47e694f5e53e3fb00e36e7a81756272eb2e3495cd4ddaf89416cda4a8665680db8a97e5d76f8dc5c36c4aefaa8640b5b44f2be507737771d5f661ef01b97c702465ae7a687a3d8a3346371c63e8a0d07064a80a811657cacd634359363439943db750eaf506ac3c97367f6ffac06c100ead280071dabebaf2913d48ecd421c68fec8ee8380f35487b206328f73fe9d63e6c873740be65f2b7403eb7fae684d28fb844b7218348633ea277ea872f64339c2c1fd0204d2d6b3c1770cdc45c423f0fba93c369dfce219e960dbe9d10cb49347437f401359fa87661a76865674ac7706f18149baaccd48c1f8c61a4eaa81e8811ef647bca4a53823f0a0da2037027e107d914c396d699bc1e5cf368c95de689225443b66bf3c84bfd055ffb5b701a968bb1e6d736405dd7c90e96ba3a571cc2690ac2fef40c0870b29179062d2b469d3cf5e683cf390d893218c74a8517d3edee7665abf2106ebdb34fd5edb7425a65070a4000d17ee5f440c233231a25e73004903962c4b5154f90c0e8c89651cd844b5a821f5e6cf615c1f9c6887097e89d1dce631bb148798d29eba610cf859eacf0d27d614667cb40bdfc701e1562c13c527bda6acdbaf8bd409b04e3d1779c5d3adfb15caf98460ea24a5d70193916013cf65e9db784cbd2b02f66db234c792cbd142e5f9640e39c15c66e999a784ce5d2d0049fd7a73c3b2de3f22a11250f9dce74ae31361ca635e460e13a8fd538a16940c5c8bbdb4c63351fdf2fe17808124e22856a36d06176514a1523cf0bc32a1772fbe5411ac3edec3ee42781d3d4e2db6578ea3d6d65448ad90f5077feaeb840642b331abcf33feabdffdb578ffb4f9a55df1b87ea1c9204a2019424c080bbd9c06237f5210934cc48627464a781ab6604b177ca8073237936d582ab7a5e038ebb8a5dce755e8840c49016534c934104839a45b205d57f0e7444beac432245775e5c4a6f62e40df267de3638370fa457d3149308b999157cdaa5e2a157dd2506f1b9aed5a65c903563f6c83474a58a1414b16eed4fa45e17bb8de05043e5962c0ae2d22e624906967773e86d721d211e35521e26633cb81c1d2e7d31ec8a5da2f26b7e089f0507c1d74f4e3363892d2ce25cbef2aa4ca97a20c55b34f5b3be48bf822bc25d25c224fe1e39c8926eb5459736a81d7169e55c80c34b719cc14457100b4507c47fbbdccb5c6ffb8ef12d4978cbfb14061b00e2435a53e9dffb499aa3e37eb75e2ce1eb58cdaab1d987d0e0ec24553838d5c0508ee927a71c0c1ac43c6847bdca1f2e24238c239a99f41d4cf0ddb5d51e6843e95f1217ffd930634dcd53116432bd9c8ac4fb63090047c1b9d3055fd13fe85ec3094e33851f6fe806cc4b2d58d824b75e681b6cb22307b6f6dab11433627ba114dc25826210638db326c5968332d65a8d4cb90a10df0dfaafb681a7e59817e40d7ea28687fd763910cd3a9d67fb0343f6a216fced7b854d348c32247af10a40d3130bcf97cd64ca4d50d3b2f7e19237c2a475d0c6251ed60b7aaafc0f2f02cde9d4b0a6b6f1e5620c55f0e4339380251d46daaef5a027d4f958b9b2fda7a7841fbe1def7a73de70be6f792c11bf9e145ec8050e2354bf7d6dbf77fd344d3d3701cef62a98b75e7389520982918524b4e969d9e6ed63c815b2074973ce51a5bcf3d95a418ed9fa4932c509d9ff51a8e08c9079cc5849f2b95588a0905a7bb53aa01783b8aff63c4adfa5ddd7051c046b7dacda4f81bd59e7615543fc8311f7efe17cbf2196bc59a5cfb7764f9c52b9ab9355d71a1ac574367d40e7d16b5024b5c87393d65c9edddf70501cd28bed4fe17b67f0ca7de978aeb61436336ff78e5b447911dbb33f400b32d162455dc05d37cc9a2c08b43b5d3c0f4997cf4165526b49045ea91c41516c817935041d7b4206e81e46626e15692f1c4e9a553319ca3771d6b4509f4cc3691f7e21f3797fd5b09f07672be7935ac0541cf5ed1361fed0c5630afebcb63afa76320f58c083b3186fc8169faf7054e5e699194d4800b2ae5f89b88f5352e970b75c24f767cadd30dfef19c9911d0e09f8ffaf1270f5575e4483f7b130649c273faf8a857ba54d4a1f71ccdfca52f15e0a74f401658f12078b9459928e990c321dda8d1b072267d3667aa8bfb251026fd2a41cb45091d9332f822db57cf47d0dbe1ac008796f00abbf092c49b7cba4b98550157c770b27394fefdd2e33673918224365f1cc6cef7825b21435d12221671af8484ac812edacad775d37e5abb17eb2830576d7f673390228e8c094b4b2108bc0b7d71a8cacb8378829c927ffe5aded0033d167e4c3812f952d88f03af842045c0344ef1dca877fac720643ad03ba2dd8cf4270a9efa2dd3306e0851acaa4ad376096abc23167cdf28ac0f5a8b200fd70462a12b24b8a0bc3ceffa18e5674461350a3bf84402c02f33ac0ef0ecef82106a445ea02d3adb25312a3599fbbd77119968f22d7c3f38d43beb4ef378b978cbcf4a8ca7535ab0221b4337e3f6d5c3b3218c84c31e003010c3447fac616392219e0350667e144227a753c8bc1f1db885bac1e43642967725929276e38053a1cc24705e32d15dbc06db884fc221ab5ed06581f60c656d450982c172aa3de3a684418dde91a74e454785d3720527d33b51c917e4e940e2ea840c2520802d7f56eb6ef98cb9395f9fd5dc06e98c15884603bcb21bf4457828c89912f92348605796643b4cb67ec62d05262f281d0a3480934d5cc69207712e39e3094cfafd30add20fc2a7f7c3ba0a697abc423e6533593d55c967385981273a5033b399e3fb30a336a814bdae8e732df74068e8509fcb0975a9cd23049a426e72f6c6b67165912eb295cd724297e23f65a0f1ecf1e24dadb81cddcef1dc299dc192be62294df11b77cbbc2259a364e836c993c86cf94e98e830faa24f526840d02aca4f867fb32d5d554db1e0d339b8ce70bf1d0e1e8a5fa2afe36e1b1ac2737d5e3d496f68b2223e556db4816689814a6ed4518955c9e4abb63198892f5d8bb45ff6d2781aeee1ad438de6dfa681e149f5f9fbb701830e6514307a380df597b9ce6bb8259e5fdf8fe5e5d19aaba0f4ea4387805f849c9d48109181d8ccb29bf7a18fa4cc6bc6a35b1b569d550a4209f19a07a82c4685b0a5fe9776bf8100b8b8223726d79b7182cf1275dd3a96f8c111397ab43399a7008307cb0cdfb6b7008b09566edf9311d596331cbc0ccd34f4210ba6869e6ec24c6776670b593c429791b31135045dc5cb5dbff6af84364c9f7af40082b773bd01ab905967f8ce79e2f7e9aaddca2cf9adf72f565cd4133afed87f6ee2383a87a49d181ba203f3e3568faffb54240ec55cd5eef9e095098dd513e97b402b8e90afd6cfed45d9258c2549a8fb81767ec3ce346b1af7bfd5b610e34a20fd6584806b1871b9daa4f59329474d1135d51306606aacc716a2e9cdfbd1a01de25e34a2122377c9ec3c11beb725b77bf19f2478446fb4ecc17e5c675e4159fb174a196f79407acc84489e21b43dd63d30e963a7e8020cb526440d7c563d05097bdb7f6563c723fc8da55dbae5bb9b491f3b18fc79ccdba0323b258a820950979e99bd7658d41