Security Research
CVE-2024-27956 WP Automatic SQL Injection: from 9.9 plugin bug to admin account takeover
Thinking
2024-07-15
5 min read
Research Dossier
#Vulnerability Analysis#Code Audit#Web Security
The WordPress valvePress/Automatic plugin does not filter %0a or null bytes in the auth parameter. An attacker bypasses auth, runs SQL injection through the q parameter, and eventually creates an eviladmin account to take over the site.
Unlock to view this content.
ad8d9422966c73fee42096dad808c6448a272095349f41facc28f3d18d1ee66a0726fb5aaffd9271b6702e0ae53f6961031443030e63d37842b7356b4a67d1f44b648f709f84d99b1640e6f7a87a3d44129b61502fc0c5c728a88c67798e6cfb7bcb30fe880464fad1a2cf9635735fbd6e964b402ea4ed27e494f7c87c72f1c586b333a4d4b6d4ade7253d06d61bf923572a6b8c253d117e8b63642be9ad8c68eaee7d4a02592bcdbd3155abcc6a953135deec61ed6729ad92ae056a76758bfc9dbe3a6985cd8e376a1b1ff3321ad5bb4a1f33e6122ddc893e5a83bbf57eeadceec1422d668d37a3bc864095260a674ea402cc0546c963fc0a79d6d005c4326a7be569b78ffc9814678182a3aead26d8bb431412301d5f67cd5fa34536ec0987b8aca52eca5a27a12ea059407a725a7c75841f6904d7651106789b32578ff0c3362eecf1e204058f6986add632fc6186c1c8feae25eec58fd74a0cddad6ea100790a843422b68e45944701f82d026f445930113ca6b0c4cfe863e8d6cc2c2f9bc6bd0738499f59bb9e38d76e5e839f17f4aee014ae12df7f61578ceb228b0379a98eac2133958228f19749ae22a720cb67f2a64b24d276a43cf1f791f8dab9e8eb8afb8ce04e0f4c5bd38de74258aefdc009ccf0277366a4db6bfc62f7d3a47d5c7c3af3ed2b18cfd4c95d81640ebdee971b445231c0966bc5a2e63f66bbf840db674b5aafd7c6314a4dadf3b196321b6523726cddcdb50a1bf67494f3b0587c44295771fe8db5a217c927ef156c95805c4f926565d9446f378ff9545beeccfc34510c00e884d2dde39aa9028c39d9144e199d50a5e2666877e3e0d7e1b2c54b7f6a9f2504919fbb26c71cc2eb1485189df5da519b881a252923cb98e8d09740567e9403b53c97ed2c9fdc57d81de84c8b87fc4c907a277da8e6b1b37abfbfec6a4663e271058a561d39b407051264959754f4322825621219473c6d08ac9cbb63d8ee4b3daa653aaf4a93e1bb97139a9965c42bf80ab2d2a6a108a6d1b1dc5ee1b2507a1b47807b774709cc6c230ec3f25f8cc026a93014a17de9e89471577e0675df6c7a49593bf59eb6eb5a73bef9d7aa72322a0947d7fb24075be7463583d46f7219f06ca79fd0be57d56997dffdbeb543a674a1523ae12a0a9838b01bdac0e9c116116a5a7bb471a28dc27097cd8f04ea9d0c225c6ed0416c3816ef89df4209665f1b815f55605610314f83d0b6dc08354245916033868cca51cf82317688da8a1390f9fe6a5dea024fa26e217cf020158274a3cab0ecfebe39479cb395396fbcb80b7e9ed188162937d30e5f7c99e3a2f67b7838ab62ca72d4fcebb561c2a174357285334525f2de4953b2968901027ce8d067717934e7b911ccd021b257596c345f944dc8e74740c1e5c8c40f06c7ef4223253742a7828d2369eacba337755e40e7c75c497b5c37222c79004e583f0c1f887b8291643f9ee5c50df14be45968d242299149c0f39caaec085c67c6f9b80e89873b174f9d785572aa488a3c2339585a282f96f61852da72ed6b3a2a194aafdec73e71599f07bd713ce740c932c5d987dfef606147d27dd6a0863b2c4c71fefbdd10761eb8362ca3169243873144a317270b23f58c5667e2881ff192c4a59dab915ea06f02f3189687ad2956e6be0665482e60229fdb936b76c5031ffba7790bb0ece31da978ec6373a9f10033cb4c797cc066597fe90b3994807520992a6f497414e5826253903edf5e2cf8927e1ab3b216fe25ab92bba039d894f2535448737b879d3bf3eaca21066b780455ce0dcf9c4067d16c7555abfba032d998e2219ebb36abbd199175fee4409404ce4a7999a1f5199ae5e41d5c999370bce0e9b38b40ab4d2ddef93bb329f6c9dd905840a51d59e1ab7318c212ac2cd89375bc51f72bb9741b329b8e4169117c0b327eb0653fbb0bea69c97189e5367d30e28accf01c770c2630b9580777a6d96cd3bc5b5fb093fbaba6c38694c4df02d7d4f0341eebb82a92fc350d218b288e98000ee85b884477f306babd6ed5221a135adbe1cf12a773555b5a6b5774c3a302356efe4b30156821ebf6b257606d2024dd50d97002b711a4b111514701e86096d5c65dcc963970dcd5e6b40442ef6e979eca90e3a94b4cc7248bc02155ad869663a318053ab95d7842c91d817edf4033269e2c69a684c5b00dd2c8135018fbeac1b3f1d66495279e20468e964674c61b7fe7628dec9274311201aa196e0c0c7b7286a8d12c02457043325a31cec9195173188e81d464963360407a860e71b8c31d778c2e732a0a960b014d04cc88b7a1245e1096514fcdae3a265e44421afc64533fd102cb15b6a34aba7a590a918945d82935b5c980c2fd19dfa694f515fc1923f807203c88277b30a64f07e2c7f5c0117ec8ac99aafaa6c912a07fc6da8dafd672c860f2cfa1a914a93f2434d84c2583944d1a6d60209f08ba2319ade5627fbf8583ae48572c468f47be947d6e6e2c366b95e5201bd1c67ce3e9358c786d4f771cab56b4a520a70a8435a0a5ea7ce13a83e0664a612d00cc9b7929c6a9f762ccdbe24278fcb1cae66b197db450f7c199c50cfcaca14b937bc2dda5b526013abddc3f2877680892f7d7e0906789dc21d6309e81d04bc671b07a055d8c62d38c6134508086d775fb5f512a3f7a8a31b336600b982e5f0c4edf75b6465332e898b012f81c073ceb4a344d29f4ba136e8a6c2d9e6e1f28d3a1c3aac77218dd0fcb19a80dc8d7c255fd19876e19610bed1db786f82495f50c61d681eb791fe2e430d4cfd684474407e55b9f567bd3780c5d4c6627ac91a69638a7e4672c91ea2e96984706b39b6691485db2b5b31d4a85cf99adf0e316912f7f5a510470fadc36fa18da24ba131edd7687e266cf97808eb80129b08e186c87ed5c2f24319573343976a2f84a2b26f2addbb0d82a10c20b88c75dc55df05ae2455a245b14a55c2da6ff5986b63965c4d9d20da5f99b0da9bf465f3f77a00456ef5696834b2e1a330adbe4baaca4881407d93e2b6db70c28a91c7a5626aef36f6710d2134bf461bd01e5081f9806991bdd891acf773ed0755323ea54e1e6a252c1d71e1c986142efc9a153f97bcb55c369a21676d5554195f558aef4e919687699286cdb2d059ac06592a76094a97b2e31cbbbc47f635deb03e6bf625f92da001221095309aeef0d5dfe441642db597bebb163a0d7537ba4c7ee943d73f6e460ce03214e5f684a474c5e8f0f0dd550bbd31ecf9c6099b11db9f50ebed777f1fbd1e16a67740f4fe4466d15d9aa8d3835de911dda7b99d5d715f937c7685ccaa662129bd5c43a69d51d88752b4bc66b5b6d2f63f6cbde363f98dee62f5bc215bb10763c37e9dd7b9c01bb9ff4db41528c9e027d2c7d5196f2cb047986bb2045de5f64050c86c8ddbb19357017ac4373068713798cbebd7f10c1f553f821a47819275fdf34bf704b235d8eb46227912d6665359f5150dcdfc21b9331ea61a6e7f0233ac0020215fec11c4dfe8f8489737a51479752a5e46532d19078b3566113a95179750d547b1b60724ae4580dc0db6345fae8dcc6bad0a6ba5535747e7560bdfdfe50266ad77ef9fda638ed7d6b69d926641b2c69f5d7ad8bc819830aaaa3a97ee1d4d842d57911fccc4505d1cbc47131e908a7d4acc078e01c54f447c378b175a02e32d53f6783c9e5ff25682ac172c6dcde06c50e839696633b4c3ebe505bff128f744bd98d21ca42673351a9ec043044e9c5f2d95f330b19b092d706fbff87fba2cb10d375ffc8d6732b9b0dbb8b59ae8483dda742b8e213c7b32d48d2a895e38bd7963a14e95b61bc68a1f7f40d4831fdb72c49fcf982df71752c89d6fea420592e37d65b550f7c72ef6090649afdd5df0d5d7475f6f630501b04b93b1e207402e567aeaef7e8aa94e5278244fedfa119350a95b3c4c59740cefb9af6d35a841992c1a47fb8b24f42c862ef316ba0dc61f524b343574f766b04bfe9e82276d72439244480e3204babd52229d18db94a9761aed7ecf1278b6ecc1eb9a5468aa311650d29737618ab10d401b96b0f1ab532d5988d8ad8e750669661de233994fbd456f0540af6d4a12174d8e01b700180077322f53a5969427ccd68c1c5d40588d3c860dc5cc99e3542b163ba4b95eba543f26a666a15d8d1542c619c95ff1c8bd6c8b2d0ebba175d11a0ffa51fd84290a7c2810cfd1f0a598a954893a1768fc1ec647788edd1de16f5e9c6e9da9e46dc96dc5f70dc0abaa21ddce433881e8f4badfa30120e389eb587e65e4a0c9ce49d6d7bde2461ad13561ba254c48c8897200d523b2a0486ca8b3bcc9bba1a2dd90d760c98581e5ddd11a0fe3a6f5a6f455b647b7fe835430f36dc08e21d0bdb7876e8be90c05953e3b095a828d78044bb38189c2497634312ee6c7ebf7db7062f0fdd53a5e519e1f31b9c6729412e2906175e3574fc8ce25f899dbfc6d1f640c6889544c48f935502318d89bb341cdd953cb039268d75c5411d8a018bb425fd988dc599f0ef438d1175dff755c95ea2ddc49c0bef686df5b1d1f61e3386f855fa4ae8143631af29e529dadf8e95116ea3dbc554239abcb5aa6625f8e7a643c3e2facddd2299f6265fee501b908a1d4756994b52229028dda4ecb3b3a5f81e54c94a5eb015b7c1c8d456122c000166ff3c2ff6a86ffade67c218f82db7aeb3dcfa75ff94dbd8e5c4eee75bed8df89e8733ae30759bbcfce2ae9ed167a954da8142bda465633768aeb8992a1fc13a7aa0ceabac9140c44cf0e6c7589c5f5b0de1244eca8da6c354130d0cbd775fb25885e48a3b13f6d7d8bf39f8e0e3195ef48f7a6ce677408018f8891b81e4d622aa93392e223b9f5a606f5cb382c60794b55dc2e5d35a6db9da5064fc2e8cbfee05a5a53ee7da69fea3c46486dc978b2e039f4c46365b1104e4d1da11b7a4fcdacdf9cf882e61f1da15ad647752f18b099b8534bee659e34646ee5b3a5606751a7c6f6438e0b6972634e33f2cc210076a123ed1b58307998f45bf0b2414b9e212b1c451b7339d4e462948b28fb38efc5058fd5fdeb75ff84f638c84db8d750ba49bda7f8683413d59580a1eb8dda6ac4f7e16670795fb29554edcfffb93bc6eca3717cab2d64059103a37e7c223905128124f8476c42a18b801de05fe4376e66afaa2bbc2f9681df2c01eb1164bd0de6da6104b92c4b03db41e3500d47f8dce9c5398c530019aeee119df0fea2b32a8cc73650137d703d66b3a5d3499b87c71d3aff1bf4915d45187f5148456f29e3cb640e52e85f2da6a46ae1c109aa157aa6fb3a88defd01c5d9fa235b3af306ee40ad6f9c42800cd9c7d2e3093cb0da98f745e0b57241663373e7712eac88396f334fff8430bb30441666dc2df8809d2f978bc893f73e0aa22a0deb0455890c3470561f98991b2f1bc86a31388e798251905ae6fe18bd186453bb06588807a875b15f77c9f26b31b7a2fc76fb238ee92ae9828853b9da4d9a57677adae6ad7ecdfa3e0fe85ecd7caec5c9db0439e43228ee2010d7d0245cf3abf9d4c8f35503a4a666d3c4bcf2926f9f47f160c0830c4cece971a96621374e2de3a78ea08a8de947de87013178ce85063bfa7b5505573a69d7747be9c646e66feac0a3354bacb9030786d52561d14447f14caab8ca48f3f71d749031de02a8782bba1f66d3178951a676879b7a3cbe01ad35e65ee0377828505742720ca84de62bed9bd9aebe8f038b17069e83421a86899b88910dcd039d8546caf4e80bfbd94f8731064f69cebd4174b69badd5d7a8627645d0ea5a37198aacf45c23bc791516012af336843d890173ff42396c031305c0966db2484ed6815283aa88474c5c064bd9856c53c7e440dd9b32f41d4848d1a7fbcacf6342b74259ddb32ca209e6ff44bbf74dbb4086b392d516f6f50de76db7cc8b21a6e85c3b081ca70cd08d95013294237c9e02bf464f42206c5417d6a7f184de835a3dce789f0e6b2fd38b5d4775171d24b45f401076116a561f3caca98c95f623c109085162a238f64397e67b76ffe0fd0855fe849a6cf299007d40d22cc7e716916760ab801ce8007f890e4a6d7c6753657ae2b77f640c376ea7681edde1f985b461abcd5f1d944478d293ca2cddc186646dc9f6ae7887f8ea7d7c535cfb7628c1023b581283f9db4989405b6543a7e91a7de6dab4dc35349d6a4f2cd4d5bf98999c4572f3d1c49b8d630a781bd7e00fb20cbca8f1bea56e6dfbcc23bd6054e723d2d88f75c901612e177fb97608eb279ce84ebd3cfb882ff64b60a95ebebd3e16edd5f4b5a4275003dcdc490cd43db2bcab4052817ebb0b53e666ea48a04f45daffe86fb8cfc14bdc55080043e9efe063f690949da7c9b925dff50e417684391f81d4e6087ffd064cd92c8c074d92019e0ff521e98973485d0521a216c83966fe990c550a882564a5b8dd8f4e4d051485f8221180a25c74404020ef516bdc6d2f00a3a2cc690adc8a8689f0cfd845d0fc5c453e7a3e88f5ff40071bc0f28d1fd5bace2570f5991a9657415eca6727b0845c607ef7f7f99418b5c49fe7a03639a60ba0eed4236bcae2db807a31d96157c67170de2edafc91821332a978dac1c9e7cffccbd0d290745a061f16ac2fd2fddf8939220c99a0e841bb062a1cacce5269f9ddc0ed8d36301c3831bceef2f2d85a7b7fc9bfb1cb289025ede757f15168cb9d1c6b628e3c6585f3eb50801c99bf510c296149a62299bb3c9d2d7b330493d9989a69f67107da5e4a2a4f0eeae6e6933aa42ccb1e8d264f376076f3784017eb3dc2b5dccb969fe699b76ab89954d30240116e4390ce76d7a3f2fefa2568bc1004dc20bbac7ae278b9b494053ba3f320925838d829b321cd1e22fa96242368809424f56fd4603f993aa0fe73fa4ea0df2bc1a1cbb7b947465caf4106d0c8bfa258282570c51627836cea8368f0d1143826b5d97275ad65576a97bf5d2f454d4c09f31dfbaf23187cb6820a9f7dfff6aa00d9eb147eb5e4c0cdb3838a9aa54d9a43981e2904a7368bfed8be46fcd73d28d4f5af144a56ed2953e711af86eac2d843634691cd8ed667b586004f6ae8ab584790746483dcf6119a80f259dad8a5e0010389e2ca87a0a2a89e79e58bccac86c1adf774dd10daf774213dbfd1df6aed2fb8f213a5a31f1f9f227327aab71b6689a4d731bdd033751552b5b93b9c7a9bdfa183ea17816ea7da30d91e7dd9b78202feb493dbce1cf341f7b08752c747b70397c781fd38e328e3cb18b44bc8d480b26de6862120701207a9ce0982eeef5272e2a0352aa65c8635a1abe78d72c4886ea4a8cf0698f6918918c67d7078b5a021bdbc90f14b672040469f2126098168025ab12f6beec45407f2205cd8cd8fac6f9820ec996d48e80d76dc46e3cd60ece2d220ee72fb79152d63e85fbca0fa331ef6f02941ce290fc5ef5ac091d4f9d12ee307c34cc2de7c32192d1645c5ba7fc883eb42ac3fcd5c744349502f7518c921ea96997050dd27dbf94190d6431e0db99fd57c71157b342937549998d72dd278782be4307a4aca2f6f9bf705e56f5c4de752046b2e6446e850bb5a123b2975d8c9044860abe83a8af1074803e13b686a8f55099cc0c45d995cd728f13d2e18193922c213cf03d3bc8db636a35a7f3949196e21d86198f0a02782fa3ebda8171235b8fb13d2e8d88149e637c83250ce50c731cdb47806f12985aa8c122e167ec72124e7e8d16620fe9893a8835a6cbc2a306201df1abb46f61a2c321aefbb8826bc228062abb9eaa425b55074f947d114c8fc9cc40decee140b09326d87168f62de488caf5b8f8cd0e41ac1f151863bb1e5f8db53e7f8b826505313d0ac2a61957d95eb43fb7c9950c8a8c3897c07e411e2d6b22fa8e216cc7f5fa9b1a97c04c6f65246aec9b61b4ac41cf128236f0f77982d3dec4ae335111904514cb5a91d7b2b24c07ff2b710e88112af3fd24aca18a16e1f9267af02f7e322f629ce9d8106c5677590b3d7a12a00d57ede306d1ea9439857c069038c48e90e6f440f46f7612c9c396caa5e521b230b5a8f6c904260f195fc387d4609082a318ef8577dfd9d0ac581f11c1477d2d14efb9b8ccf6e23503afdd0269ec6def44bef7c4356f0bb87c3eeb3f8c1af33c81236f8dc09522ed5360234bb240f096790b36a2b89929a0d87cab7267a63db407c8a20d5f441d8711e334d208b76ea4d0c097b6d39f23743899e3c12cec84a3f77a46553db0eaaf74d43bd3b97fdc9ccbcdf4d2a29b916eba4c796aacc7cbe705393a27bc48b5fbe394d7da67fc4f612dfb1d538916ee99313ca45123d3f3c51e9938d5bb8dd945c9120f2b4238e340e2f91eda3263bfb0a45e8743a2e24ffb70f0aa14d4b1e1948bbb839e7d5f1896d19ab6a351952c6cdd2a6fdcbda8bdd27de629a06efbf0d5a403bc718f8fb1aa5ee0a39672feea48aa8e635b700b03d10d35f1858677a4fe3c1bba8c31ff42bd5842ef79e8112f78b7bebd239456501f3406fd1d81b64c6fb10ee2cda9a4369e98abd3b7c210890e42d46f8d102e8445f51e89cf7f60f093dd09935d19bf544c41c0be76179ad8facc36fb2b407afc9c0867f4b261f919f3e7b8e3e95fdcc31efe4cd931c4ac1ec04e3b4a51c0412cc00d23aece3cdeccaf2ebdfc6cd6c1d8d5710adde3f6b6cd64c20bdc4ce0e0f010361de1114d3bce0658ee654fbe6c7db24e27980d94cbec32f2e7b4bb200d8eaa4dc8103193547a9563d0280225490c878e9f0299594d0226422048b986e9e2b8350495c106095df4b1073bbd2be9783d58db82d74de520ed1d20a1deed0c8421b46641b39ee9be725b50a8ffad3919d39eefa15f6f503f2ee8535dbb27004c39c7b825691766a8b0f16bb3264d494b4fecbdde276970eb6469902da54bd45a1fb8c891d4fa679a5c2d4185a249f91f0f4a6edcf86cd1b8fe0576f6e7c3b3f06768786e42c1e880726e79f9eef494baa7279517e6d6acbca9fa61ea40f0052a096ff6bc87d24ca442f3a79ecb6c99446d4f87ab3862349d29a5d33e06dba89ecf4785a494a9c39010a3907d3d7ed02d83a1765779397a3d81a31219d8920da80ecbf7043c586e1fe098d1f500a66211ba60cc53eadc85e900a6203f15c7569829cd18b8cd8c37c147169f180866c7044322c7f7c495c8930aeaefa670f674b0aea701a0e8bf95c18de23b48ccac87a9c48cad7b39a0a7cc5a3f215c3e1bb1b94515e29bc8c34d2b7b65294e05c4c092ccda0a84e21980d9580dac17d8c60343586304464dedd87359618064c9cd0752603825af96da06b5a63b87218747b4a9715189bf4698023c470e49a36c3b3320ccf902775a1fef1cffedee06120978c97474bfa842b21f4e89c3326bf76ff7b74ceece2a12b83a70c81508581c5dca7fbdfaff84b662b8619d87cda3728fe52e6c2696c31dba4a11bce91e7cf05df1d9872a77d703e61b8983c8726b6b890dc526f2b0e1f4bf2e7ef27fccee1a4e847b5de479358124db9c13d9ce72eb2c873fc410105e51687929d9c7ff833a098df54026ea7a2386cebd7ea70f7dcb18bf7c0ba0c8f7036caacf4e930782dc4b0a57097f36962dcfa39133fc855337987c26dbd1d434ab33a9d8b9364851e452fc34957d7d0a1d8593b13903a8565908ad8558bc2ccceb973b59073d2a487b324cc99a6e7076e1cfc50f4c35c52779f87104d4cbf04df6b2d2597d4c94da5181add98f44697ddb0dfb8e45ce807bfa8be6adae016086ea912643e55b4ded1986f02aaf63514e0256a292dd15bb22eb6a3358abbc948a86b2e10ac35076b2f4afd44f832b01d4f5288b81dbbbb21a123a6d9d2e2f0095bb7e3128c419d00b8edd3f3011eb73239effdd7023beb7b7ad866187a3a5e6025a5a2c39d767043f13d534f54b9e000e2eec855416ad9868700f4fb221665b1f5aa8b818e1217ea4763e3eeb6901a7c94c9ab19158dbe1ae7b5a80dbced7fdd93f9bde8d684af4a59805a18473118d60590414b993029b41933f3f67218a616f7c27df61072d100ca8b7c0251b8f0a9e151bdfd8640f4f7927248578ec12dfd9228470c926041584b60a744d897141319690e3f6882848bf9d6b858ea889e32c0368211e6e6f78c135f7d63e6c8a315dd700e4b25234e8f899c49edbff498e2b80517b30a432bc982c2873de6d07dd2503607a3c0673e8ce44432958b5d49e2f94fd05bec84caedd41970f653773851a3b96bd624987475f2543c500413e5781c5b78cc946d271a0e3a504dc52a9613b9b1412e0690044f6177433b305d2048db2b7b5e8717ca17ff914e2eb4d5713e531b0ed41f74c5df15b2320a8a9e2b7b86f171f85fd3cd2fe1b60598b65539ca2e85c989353c26845666b1dca62e98ac1cf2f54d87146f776c678bdea9d6368a09c0b17bfa231a9fdeb5f0bf2e4eb146e823fb1a349cd715b7419d0423cdb0449e2f01f18cdbfcdfabd0ef1fd4961b8124c71a0156e103ac135c8b48f5d923953e10c7b9667a7b217cf85e78bb99633505b37cc40bdf97215507cdb685e6ade70d0e8b4bb19d44cb69225d41c0bd4b41ce38f0936af051a7009742f1d30f34f81a299cbceb256739c3e596c2dbc513e10da1da384409f2f828d3d07898a875afc998d717b048fd84e5e6a2e90cd57b53025599129ab7cf57295c9468b485bc58ce5945772780cd128f36f41115122a255009c312a065e4c799d129079566ffdb7507886edeb34942387d3ceabda6828ff267b6528c6e53c7d728ebfb85971273453a9f272e0bbbedb57d9b417dcd63cea87f71dd619a61d8325c488f7e9bc3132aa2e452fbf18232a37ca8fab6b508d54a68f3c302b32978eab7c5b4281f48442ce755e9e54d088495306861a41949607b31ed47444301fb6e51a62406a435f1e6f20a74ff3779b5946710ca666d801831fa5d09894428ff2b35ed83c069efdebc4ed0fbe3b61fec83269ebcb94fc4c3cf44fa31b3fa187f0130fd68c2217e99f50486f0b822265ef786f73211e361731746139861958287c78b4cb1da2f874670a800f4485ee740d2331896334ed11f8edba44aa2539c35d3af5f0b802f8cf57d713319635e6187ec29368fb45df35a51d6369e32387dc6161d3d84b57104e0407df63a3cd871b6fa7dfa849373a82a75f427c45a20a585df789ff7b86a9e260f97379f6f65ac2feacdbd4def5aa69442920d6cc4e92ba7483323247ee0b6846b3c4027a2e3fcd1eaab4f41541b38af694035940eb781f13f89272395c99434a6e2cbed2cdcea7370e035984a89f505cc82be317cb130237847045bf4e9a45657cd022f343690a25b72407bae197823b563169ab16d5259b7e5f5787b231b5979620d21af44ca40a0ef137b2dac5f6abf8912af70669f1cf99fb663d0dca758032ff0a5fe6ec14f8e06bcb0b3a8a2d3639b51b09dc521c87adc965d3347a96e3b2d38b3ddfb977cec60517cb1978b6a80c497de9d6ffeeb4f2abb03b1f00b2b133958671530dc1a5f4a02ac7ad0ca2a3b4a6a4d702f01dfe6d7ac070fa21733646bd851312c50f163917b53b3bb972e7344c72753ad7f17e90bc0d32885a5cd1cd9760f2b62290ffa476d551ba530336dc40b0fff7956c70b4e4fa146b984dd7f228b3f1cd9663d01108f2ac498da0904f28f23cad0283f6b6bb7c6fd0b7dd9e1f0240656fe99c0e8ef040e92f5807f0830ffbeaec35b121cff347e9dbf07144c852bfad9055dd104cd967373e18a2d36e5f67efda37d59b4084dbd86d175ddd9ab957e8747db9c068ee31b3bd4676726dfc871e084e6982ea8dd545ec3b0994b1610360d6318076dc