python310-doc-devhelp-3.10.20-150400.4.102.1<>,(ip9|АX;yLΊxGb^ƠS? sZ{3-:EdyFF|*"8yJ ֧ZQ͓dޗ^$f.Ee#:gu쮳#iʊ,p$rFcCՂ'*EsnZGg-˨xDZӰ5 m|}#?*& V%o"e Ȭ>>?|d  / o<@LPi > > P> > > > >>>$\>TԌԜ(8$ 9L : BKFKGK>HT>I]>X_Y`Z`0[`4\`8>]i0>^zbcd!e&f)l+u<>v4z,06xCpython310-doc-devhelp3.10.20150400.4.102.1Additional Package Documentation for Python 3 in devhelp formatTutorial, Global Module Index, Language Reference, Library Reference, Extending and Embedding Reference, Python/C API Reference, Documenting Python, and Macintosh Module Reference in format for devhelp.is390zp35&SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Unspecifiedhttps://www.python.org/linuxs390xCj+>U:I9.g6 4%h6c]*fTZZ)A] DLJ&d8//.K6]1)JR0y=ZjZJki0D}a[L`85R =L<B:~fU\FS_)0DN0?-mbH0mJxt9,5(1lJ x M375GBtkWeu3%'iN0HUEO3T8/#~,E8zJۏ~T"Q-9lF.VcD D>CV|QIv!-;L] *Ow@= $B_g(4N)Į\p,*+u\qK|l}@fcf/1Vbq2JH'=w5Z<Gzht?sg/ 3rlplb@WLs@.p68%VWa2+)n3m.:;K/9%)=blo7OfdK 7ZWcW23w 4;.4 96?ȱlD%foo/W.f*S/q2;f?qky~KQX8]%2_Rk8Ec6I|E98dE gVKEFNmJlJ;2T:fP)G]RIB@0Pj?s_`ki9Zv^G-.9O:F U`EaZlp{bz7S^Pi<)h1:WLpEr1ΛDq,Pˆ17_`z|-.O?,NY@aYl}{r)B[Y]jĨSd{qN&'Kwe2jlDv QBuy;g J=3 p>^ڵtC/UuNZ3TY#jLPT~M=U}Hg8S38rNN{3dEAAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii23c9dd197ef6283bafe2e3db172cd9dad2a4306f5f3a87a22e8e6bd85dea29f1d488b23208c21fe601bd6b2d4ba6c44d334bb075babbf7f0f751318903b6c5d4382828d64e88644e47e695d717ea8432ec1ef79a17f2d209b11aef4fdbfa4bf570d752f336a9ee7af4a56b8e5b3696b962b69793b274f76439165823c69cf5e04bd5db0b21f178fd8b16f7d999d0da20a00ca8d271cd556cfb1d26dea91aac88b21a9ea9ad785299a282cccc4b9a93cf9b1f028f65b0e90c0c41deea019953beb5528a56a8b0f2e5da3d6f20f47057cc0325273ff152816c202f8a114cd07138ba9abf87cadffa7027ca298ba11ceb6418f3a9abb32ac988c8d342e7c2b3fb2e277bdba99ffd0fc3356293aff094e234837aaf9fa301c6498c50bd7a525646ce97e48f22946a092e28d4306491653c06183fa76151614d10b8fb7b51dbcca7add5cae8d8abe8a32ebd9a01374bb520640353c89e0d8a23d52d21fbbc7b04f600583d4a896c950c9633854df40de1d2805f768279e280b4d14dadeb4a90c80fd0f1af795443875f7184331d307aa28dba3fed73126d1d27baceedcf376de52a30f3d74d09f9a0d5c08e9ef211afed3397ace994a39748325ae53bea62124348b15a001934886bdedcbabf89f6a81e8253c0c1bb47ac18e9c7b859f0fcb1d92406c82e1b94cbe2d4ba55b339d5d8e3a2e7dd8242aba9429a25d517f40c8d03b14c5c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3eeb6a6e8f593c5e58b735cc9aef0a31d2586cc36d204c0cc7167e43132d270ee8416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d004ad6ad7e772d6f3c61c65a7fb255e2b36d8bf583044c08ab97e7e5e6b8442dd0fbeb27b75fd2c9163de2f25926bdd72f8cda9e2ed8a97c3002675f0847c9d647e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc0088fc352fb3115e7ff6e6f9c3cbffdcc6b3d59b823999a8321712ac69a971f40c254115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac63ae173dc4842351fc1c8a551afbdb58cb2b295490782130daa4f359a6a80d72565865be8bcc0af888594903ea0112f6c8d923c5726c4081e8c856110cc7339cef0e2d097ec6582b8a0e035a7630ad3052bbb189f3abec9cb29822cd92d9ed86ab7029cabd6297c2a33d33024ab77167f9d7b2dafd5445ee24ca6e13a366426d46c7278fef0b7d6748faf50278bba7f6d78a85a9bce97f75700c9e434209491709d23c599fc95a194340402cec351ecc78b946ea27cff1da0ecc2b1f8b1a648b1dcc10f799cd0f6b65f95c4012445497e5ba3cb9f51964a9468940b27bde98b487218fb1c1fc72e9af6b866f430be2a67fa376392b4db2f4dbf32772671b6ae55cc64448dfea2dfa0a09cb99eccecc8abd61b105f425bb1e19f1da0e4a66ecb8cd892194a849c6dfb210a8faddfc7cc0a2bf1a6bd38bda87bd0a326443bd98613138e8a745e20216b0eb4549372e5212fa3573b8e3e14182863f3e13aea1eb403a3ef482cf608fde642b71df1ce85554558752a42cc82a7429a189247b075309d3ee9e30e144c4d78ff8a8837fd8a8fa4c932eef0da4fff0294458353a8b2811d394ae7bc86d705d52fedf31af6708009ec7a18a1b9c5a88eee83e86921732c57d729abe01759fc6f117d3fc301066b7cd5766f6396f622f61466c89ab27d1c83746e79059de6fa855cc389b8e3928a2b21bd3e18fb83008732ff60e64f2936f3471227305345f6a8486af5c5db153d096003627188fc6f0c930d0dbe8faf892d0450acdd8647e49c76ae1b0ab9dfe528e38c64b55d3e11489d3fbcac751f96c4cdcb8f1ed37b51c51e4532cb1abb7370a5ec675458654e7842ea4c403e8a31ecc904cf54e94aa6a432d3bf7c3de372fc20d63e7419d7faf2ddd85d506484bae0d3cba75a268793c348e5afe2263ed8565a602fc305adb8b2563c4eefb675f5733fa69f30fc08f0a475951cbcf3873eb6d6727293a2a41b96dc40b838597084ff110741442e063e9617c08ff219b17ac1003b9c160aacedbe800296faf02186951e9062d3a44cd8eba63b7112fa3b5fac0ef2060907bdfa404f51c240e366a1db218c564eed8bd13a362e38a8be22860616ded97652d7e39558d7116a911e82888d653f116812cd26146f45363eb624e476d58cecd5e899f64c9f72d5d18fefa8e1748c181462e71d2ca4b66767f739552f622d4e74dd2009522486b8ffe9090886e0ac61ff8cf8b276b67d99d0a75ffd2b53a2db9300cf7d15ef5246fc3d66388e248fc111af1e3cd2a5f13125fcf3263862e4179b0d6769a3628827d43ef3ec18a3a42a714e2ff06fe76a4a97acfa76203411edf2b564e6a2e80898f8da9846692f7c9e026bc78c3d844ba525a339237ca106edba5de158e3d86684a8985ee26d64ef14b6896792a82d4258319079583ca705a9546c74e03b26f6e41c922bb155cdc04a1fd3fb1e3e067ff210ff93f53ca53e1e722bab0ee05a2575a1c41344f0f435b27f21eae22828cd8a464afdc5543af3275b3e6e99908269a4e0d5ac39666be6aa68447fb956e0f231f98eb1c892937cdfaac4368241906ea52943d64ec8c9774678d5f716e82347404f9c90aafa0987e0ea26d9617b235ccc3d5ef88f182b73603db1840d6af40c3f052cd4bebd977ad70f4ffce6f666a0b9aee44313c7e568c916f89f9d9f93276d7f3c35a7536c9ec413601d22964d36f843d3000a5c8b0aa8383e06402fbd4255334f9dee29c559b2a35ee635690aca836f211b0ad3f6aa3b3b2ac19e4ae8bab33af2552aae9fa7294945de14a50669b0f942832f0f3a7897755dad9b9dc7d57f84420e1dea553d51aaa8e77a289aeddc33bfb7f0156ea64c60acf26344f2d23ec420555b0728430863cf3680ac79cab6beb8df7ef97523828209e423e8a8327767ae6ee3e79e75bce300c76f0ab315ed38bb769e3a0ebc6af480e766d2eda58fd644904f9193cd77053ce7b3185fd9ded9d47b7dbd33ab8adac1ffa3ff96b5a0bc2f804220776db8732d25cd56d3e4e2ff7eb6a07d7d1b55d0e872e1d29200908d40ad70ad5bbafa4508ddb1800212dc0af564234544f93b1cad23bd5e0e71ecb1e1d29f1454ee3176b88172f8cfc5c7ea80f5513e917e19bda1962910d4fe2a8e00fd605b46c6453c19d880e3ee5bd2e4e8bcd92004cf017bdcce313256a37254d79c700991c3e38526dfa13282fc172408c5e9e797829e23cf925a248dfcd4ad5fc64968161adadb6bb939318e19710ded5e78194bed023deaa0aa0bf204660ca34b5196d6e7f33b5c6696e6a514409c71973af647f4034ab9afd440dbef5f30af386aea3cf0c4a0a8db161dd37ce55f6a7948dd649bbcecba8df8186ed2ac426fc06a02e23f30d04489f304ddb65d3d2c59fd43e8134e6b5caf4419d91138fc718f7bdad933219f7c0baab1fd407abcae9db0bb40d6d55cae418b6f22335c779536a4960950ab8ac8f0653bdaa72a41af1aa15a5de3d32a4005b2ac347b1ec18cef14518215db11368abfddc9bc88a3ebc693049647b18bc139c29545dcef4e6848ce3a4f9926b33214e2f30b337174b28ff339cfd706343af32c6a792b913d5705635e6fae19591cbdb84a0e5a444bda9bd3af235a97823cf233422959bb37865d16bdf66187440872519992e0b291cf2b9f28a5d417e3428f3d5952684b3a65cf3634f7d93d10eabcff6a26859c19d4a3cc396d7477114eb6ce07d5c32107b8519d0d3dd7471f2d7e70aad46cfbc9a62731902d5a63d5ad64a068c8b7d7477af85b2eefa6a3d7727f37a98739231b3458923c736559916428aedc625bf7157942929fe18fb874ce0d1882c28817f67fad1bc43b42722acb3957f3ace70a118d502d3c6f4b829e2840c5be0537c0d81f229f262ed63d450c69047b682068640b48540f665442e587f83224e7f6d380971abea1a2ae94dfb63b18c1cd7060f1c7d4cbb14490c0f6530c8bd2f49a154ee1975e818d6b0257dd00599e7100c18d6c7ebb45d48008eb0008bb10773185c503f23cc3e5a997c7853e9a76e84320f31dc59e4ff7a96e7d25aa5313b2c9532600ee67fc886ac60871cc09fe381308b17ba606cf4d61707a7046696ea6728b28b1abc1aba99538d8f0c3edc01c8fb008378c85e56fd3e1ec51de11f086bb93bd587d237e7b4de553859e5293e4ef2e8f6b83aa8a62d63db38484fc2745d828d2b3ebfeef2bf65573e15dd9254888e0dd0f548903642bc5e75f4de3345555ef0da4b59eb99e8111f3ab08dc7690d024529e9c258f33ee17957c14a342627c5668c3e3f831d10dd5d61ea250e0d83c580b9c2ee5e94f800793490e3e45d882d31baadbd9c8d69906385d102aaccd58a3be32491311ef80bac79afe0155f613b99043f604005d1558b4d0d4a8b6b4974fd1873c03b6354b3582936883a280e810867c1009c5a8f580e16a186650265bb1d01eda638aeb77e24b1200008e8050658c08b3d06888779d3b44ae57a599d50ef37391da7de4537b30c23c074cf2bd865807e0f56f06673393e1e385d3910efc2b093cfe2a3f18f310b9b914898d3856804835186384708a0d0f22ede3e3af192feb3ae179912248c62b7a62d19cc8685034551be392c559b64f612d56a1de5886acb040fbb3370bb565db559a029507184de3f842c730423969401616ff6f1f141dc47d3d21106d039d155586989fb6600b017a6e236cb2cb6ffb3d39c86197e2a9a61f211d48db716c70e3d8f8442f74fdb24e9e6c90f73303d87f56d604b6c3129968196c366a9e139d4dc385934350d0c876e868174228b2ae35a5d922a752974dd8383b31b657e4da020aad2a6faaca3d9c3cb0455627d04143769918eeb88cb6920ad92bc6885e93dfc2efc390e40cce18a2553fb3f6274ee8526566599f0e160fafc49cc80a553a8cb8eb43aef6e170d11872d646aaeecafabc3769b9125e9b1ea5b047da6c905e1d2de5b72b33f5ecb09a771d2fbde128b3a8a65d9a42ced1b01e0b3c9e369a4954f556acd1888b57c25b94104ce669bd6824dafd53002e116ec6ead9a55ec48663ca965d682f7d2e15bf1c2e7844a9d8d3bfb5a80ae904e94d744fc501896a171944281237685e349b79f552d512ed3b45dfef4b6f3d36d9ad3fc296005dd47f9d2f11f60f97aa0807d71a168851e73ca507865009e3a23338582a544b8f87692e3bd3b5396c6727a2af7579e036f637143f0abb2a6a742751985587835c1e12d111b1c3167129512a792e2b96c8979de9ead5f6371b266717b5751efdf983b998b1a087303a19e28b5c29222c75f61f0ad6539d3b0617acaf59ccebeb0900db069fe7a34f184689aa8caa7f47ec938a17b9a76a69f82dd4646d67a97af839c869c93d9d8eae6156341256240db33f437dd5c5cf6e61908e9b7c6193ff7e82f580d1508847caa6a12532423ff8ba111a3bd76976aec1fbb142b704526b8cb0b7a680040021bfe937f35969888814113f9ba7e4d0d97e625660cca7083b6c86df8cba3435116e9085ba0aa64034ae0d1ba546db746cda95061f9410f9bc31f939c3ddc3e4404d5a9da339a4888f9bcf5e789c030448a22c9d647a150a8c10793befcec33b9faa97404b85ab1b02b59c83b7a8c779729a784a1ee50f794b2be2aa59bdbb9d0eb44c53f7e3c6b8cb6e7bca769abd9853c528b8411eb935f7c0354b8122648aa0455747fe6ae737123bbf85c97339967d481dd7c2521b28416230870c64816c86508bdc9f50c7c37cf58a7460acbbf8cb18ccc692100cea3595e906210ecef3482fee126cd44ed57e8c2de5ab8826a4e2f5626e9bdeec420ec426eda7b36216727219d7cae050a05c1ecff987e7051c6e423283b0d7542d3f504ea7af7fb1e2b52193a4714d51148ede780f4d65324d8677aadc3d046f1586368a51a952fa04821ce1fd324ef03365009653981da326909a26759f6c5927da894087ab9f481022e3b430a7ed6819fb0f2f8a5005f7eaab9f97093b4cc6e3b6906ca14d9a167a0a767a5f97b1b6f4e3b3e89980e1aca5dd8fb335f5dd2191720370020322cac493b14f9d717065405115ab75b740ac0d370ff0ded81aa474ffc07969c818660e2f21f0e97db35aac2bb6707bdcdfda150a9b0f59a20be4812124a413c165cf923b071f00f2261cac87eb7030c573d3ed93161eacf3ed60ad324590aa3d9caafbe74a172e7700e3b25aa74b591013244dc6d92933338bd6973ec5f14adc95103dd5d459ec8a3ee92718d1ec21b07cf134ab539ec3e6a6ad601b36aa25d518facd60f60dd4c0a27159af6e39950d18ba1fd22780eb24b8b41ad75d625d1e6d0bfabaaf267d773be7b016bfb7545d9ee4a37fc71a9d416e06bf1f89d7895be53eb7ee2b9aead7f6bfcebf6ef678c5ac05d3e8d9f310d871f5db5d4255f4e8f1c58fc3edcafa85b6ff4920427e9b45c12610acac860b971b766857825f1272bab39669e263f44e4cf9c650adc013338cf79e74cab784ffc701c5216d478db5064b93dd32bb2ce02754392638ac6d3fb6739da6bb0b3add263df71ce97f71c1c1f6abaa712e068341caeb2791718d1358f247b21459a331be23930d2f0e56fcba8e898b679573113dd13d23ade1629794d8a655348a7aed66935fd39556d308867758b7731c15d07b91182e1dd4d5fede7602f681c583fd20b1a8a260be8a562ab5b5d204655eedeb21c506a287118698224e69be4302e8fb917cecd4b1c90ae585eb156793da724020021e5ef6f8455c3d47b0818b3c31a018a24ff4c3456c0ef044b52d21e956e06edbf17ce042c4c1302c38353ec5265ededd227b77034dee9e0c8c3989b71ec52ac6152000c898645e6d1a3b4fa469e0f257436ea6d1521f7641f62816219affc26e13924409987b7db6d26db183eff5b305c8ddecb53c87b3fcad12d616070fdc06aab34cdc547a5a5f50c6f444022e8f2f0883d568fa71b86c34e3e9b9f4185759fd14c0542f18a21cc456ca593b3b36e814385794056241c7f878db5801d2d70d677e9f2dce692123e7c0d705c6a6354605a2fc6d966179c4ea3611c14b1408bf1dff280a1099fea3923f5c8bbaeb1f7b557e872e8e9e11f900faa42610bc67b7e86390d5ce34a2fef363b8bf7bd8149c44f47d315311cd9868bbe294327bf579c6dda0309dcee55023cd5aecc764d769a6c21b0c3072ced43f419c5cb93bdb6d8884272b23535f01de611f99c9c200f9e09d20a62fefbc82f298e432e451f4ebbd70446e8d636a308cebb4291f3262e6e0e071d0b71d8b73a5ca412bb15b3c5187c2ddf5b287e8dc8afae2b2633087356e37902506d567d3192b128c5e75bf74d1cc144b12735e740b14f93f020f82bd15eb9c92ff9200a246acbf45f95031fb8c23a4ccd4764b83e186c96cd8a8fd1307c0c5c12b5629f192aca3b166edea456f8423df516ee621b2743bd1161af9acce8914977a8b033a0dee1fe1cc5a69cd00e5c2d81835dc8ad659193a98e990a06eaf89bfe7d4cb4d69d6aed9f3d0c16a5918bbbbc019a465543234cd0fb1f97f5c783be219880f53ded9fd7a6f825412c6acbc586ded657efd0c3749385c7c0f3af922c52140bf4da2f95b84ac573c551b4b92015a50526cf3bd0d8028ea4ab8cd83318c3ff8b8853742ea0f679d2d3e7f6eed8c36d2546b5ced8b4ab450185e81f875806fa831bba3b6aebef0335eb0c86192384305675d861096b4a63f90e1da17c20f9e3368e97317fa673496456bb8d814819a92ddf6a1e867b4933556392ac8022b8b29a5783fc28bed47454e7e91ab9a8aec8044a8d4a391b3c72db090c9ee29e6ae605a4cadbbd4df2b5bd7a3acde0af90e9e2ce25418d1441b9826c9eec9c23ddd1c559ec49dc0be3ba301edb6b6242c653e607e903865737ac0be9a946fe5cc85481aefd3691ca37b58fffa5d7fe8aceb87894e9fa2aefa6765ca44163e74d58e46aa29cbbfb4d4b7745b0dc2af4cd9874d6ea6b1fc5836d4cd82e09da1d52f1d1aa41a1d855ebff1570cdcb55e37b79e85706e8144e649ffc8f8a4a32453e0f65cfb619e8766ee3ab5cf8c8c2ffae4fb1c55f75aa9ff3f5609679cf8f25eafb10e02d1972de8a8e802afe04723f2c0abebb2da5f19a6b81664efd1cfa9127c264a8ebac35e513a62ef956e22fc3035ad8273a24b0cbaddbea10d96b61cdcc78e7927530cd16e2c3419a50cc9a8220b4d94f5d683e9695cbe122f4ed8050b042301a48d382b1df573f58b192a514ab3b6628930d46baaa31720914a209340dd8530e2dda7a8d2eba094e3845daac3fcd60635ef9df8958317cff0363c6b4f1ce7d3b12aa4b83af0e60fb4bbc80e69545074fbc8969717d466b8bf59fc147c1a12b8b8b60c8744930bc5cf40b607f51cee5901c35330f9bf2015f1593fae00d9049858b3a1831644b9467a237a0d6ebb8bbfb40fbb2d710cc3b5832e83685b4a854d007f8c646f05083a6ff12ffb6391908cf6a1804293186b180dda69e8de5f41d881cbc3df23edc3728500c4a3ee87683499709fb299eb9537697b99992cb3698a139283aa96f4f172f55b37f0c00b14d8fb53e3cab45f887e4fdd97432eb945c6ce045cfd693e9618d8ed4a595d2ef8908caeeffadb6465dcced2d66bda0305307f2ecb4c6017dfac226c08a0b5c5c574af66586ed7d1160f3e3c929387340d26c08b09e8e8f0595abab18af80884590c48877c2c75a0438717633dbec2197c51ffe2e59795dd62f3b75c6c424f13763650f513b5a488db77d794befcbac929b6f56260f99cad4fbbf034737f3e76e99ecd9fba1a6fd23b231e4e0e2573d4a6ec95dc68598e2593b3cefc57109ce221217cd44d4de69ed00c8119f60398361aef9118a03129e95925459f9230df84f76dfe2c224aca6e6281e65ed0f846db54ddfc8c0ad56a4e8c2ebd67fbdaa9d0590a8e8d91d751ac31062c1db78b42913a95e5661ab313aa9ae5e2852d5f6bbb53ed67de8a362cbfd43ac94a218fa3834a946c72d8227a58b7f8b7d0a0945dd06cbed8e6b6eb4ece7413b23fbdc643c0cc266b82e4052ebf13da84f14f76f7be35abe50707ca84f02d6295a8bbaeeaa1cc8f8bc50ccbda4db2f29dec2cedea36bdeb9ff02f1aeeb5d06a83aafbcb2b834785e5948091016447b32caf154c175f5ef7dba3b2bcc0c4717d9e8cffcf1512201e9280ce94c47588bdb480bc815e87bbdfc1ceff90b01fa3c62b1f9d3c600e3713a0fabad1f768120b1a341f3d92be2a526a7a56d93caf9a414eeef1cba60e99e4dcf05f28a28e96e8cb4f3060916e8c2767be0461d62974aebd4b725cf02e894f3a1cc6f289391c3c5e9821c630d4e0a833d9fbad186e2c1f9a58bf459c859e2952cd58e5c574700fc66732261934faba14d4791e723462e913c349f9b8dbd2feaffdc7f55d34034eafe5e2b1c76d87f697e133b1bd3218b563385bd0ad785b66316f95d751358c78faef8f8f3379eb2a9d085507f70692ae8bdb2c8834198a6cc722f0a91ec1b6df03b781a6b73e63651bd61b350fbcfd1c76f0aa3ac9ee12767733df117b50c213ab22f105b2f6439fed88781cb82384952dcae7c732181604dbd9093902cfda187b1d96a66d73f12e3c30a4a4f66d9a2c9692925176a19daeec828f1a0128d927e44765043be14d27991f4c5a68b96e63087f23a95f9c0a778f929b312487d5be7c7eda3bb4d81332edb08b4807eee6188a2c1403041bda09c1d834ba98ab990511d7fd9dbe4182b36c22463f6fc7a1cc9895390473201c91a80f85cdde7a38109a825cd4a160fdec5e6bcac26f9489ef9b00cb7ba14c75d42c82c28c66fd8f076932869d73bcf2f9db54f2ea1ef63cbf301f9b8bb78f3c4e1039abaa5295e732b709460a235891be552da674d7523a7524aa55338e6507ac0226ef9867fbade2649fce4ad960d21cda97532694844d361b7010fc2ad77ef1cfac99885b4e79ff90356ade752453e330249fad23ae931d6e9f584cddcc692783b8553497cbc9c9d58266487c05d55c8b7eb91502c77090590ba0c4af1ac47cdfe8513b59cf3233809507ad40af30167ca1d0c8aa64c1c694d56c82f5dab01487f477984985018c47f651040e1b13c4b7570e2971151a046c05728966bfa38f9dc9e8f229e77c49870c8e59562c1afac020f6a4c3a419c92e59d9fd0c59c7a57db3a2b7a99c0c50488617412231aa9d6ad69fc471903c1004ef6d5f73da9e1e1667323bb7f5ae57acdc088cac1f3aa92e7aa3be4489ac3dbc59959f06e74365a44be86e7add12f2b4b81b6c237a2ce263564321a9443dda977ce66fe62f175849bc226ea701e637ca13e64dc2950a3af4795f7bb2481ceae4873b7d8c99dc56484f7bf43480e2c9e1780ae49286bcb593b10f22985c281f68ed46517f1070e5f05828ebc0d499e96af62d2049ecaf574d509cada43ec3299dfeb035dcac098743c9b12b4e2590462664a3f7ea47d30acd42591a43a2975549d9cb276c0c0acdc9b2b92b6032d3eb76c8a045059b2ec862a23b1d71610994321fe732b86c4d30fae5713f656ad1f661e92918a794efffecca2480d2ad3d8aa2bf6cb04c6b89f84155cac805d9a4af67b279bac4b81df79daaf9cba610bf7a5b68cf32faed5bf91069450cbd734ab9b5f960aea2afcb187b5082031c68749689b8d652b15dc8d34b1d8da17822ab79edfc1bbd841ce8a7cbd62ff3be85d057a9b78c9b5b9d8ffe38876f084375013156872a922b1449e9eb46ae85799d6f2ccf4159f18f7b2ada802ce0b696684356ac2485a0037296258887875079d7f9034ab68bee7783e77c0440bd84b7ea52dd8c03cad490d3cfb18630bf9170aadbb7a06b419e4fb6a7ee639481d16e2e89b373ac228e0c8ad969e41c047fd4ee139fce4c92209e1ba96a39832d18623285a5414b34a7a2f80635740c76106045de1ad004eaf596e1bfd5c3efb017f5bfd9ae805ff65d372d5c8e3f7e6ca8830862d19e60c26f6ad3e6b8dece636c757a2d0139044f0e13b63bd378d090bebd23b466357aea63cac0f546f821083d9ae22917892e21c8afc35a12d1eb732b230c12ee0d59b8ee4e9e64f6459bab7bd4a01a3bef7f85a56c7257c7f4090fa6a61b0fdaee3a0ec5cec670cdfb83043e5c0f28a18fb6de68b09377f75349d1d3f0b54da59cbaba39e10580c7228477be257825a7ba7412621986684af453ce3b1bde5c8465a7c3b7474241fa317e582e53bcec92a0f3c3a01713bcbaada2cacfde3ca471a426bf4d63e93f4b5bef62eb38140809a666cc01796903b8ed0032b70678750aa5479dd2a149dce1a52a9932cdd4f7fbe6b47b1af0e6244c201184ce399aa69bc149dca87556d1eda56645f9e8e10d2aefc9b74a7f1f4085f53a5d3db96d0e092ae6e74fe72ae71a232edd88b82c7db1236d39e7e015bb16081c37c55e5e4f6cd52bb087c854a54561cc350da70ce3a50967d641c75af067cf82e482340ed3bf176e4fda2b0a65efcfe71ef44c9fe52134e01eb70cf5bf5656ed8b3cdc6a09195a8bba7bdfc3164d978ebc53c4abf57aba524df6757da0d6c248251ca13aab53af57617eae792348db7ab8e1e3147906a4c58390b06eec496515b821004acf2ca40dcbc6da7ef5a5f2ecde453ad216698cedc1ddaac7be0da87e67b6bf230f2149034f3681f6a01719ea66784eaed5ed85b226e95b90e0f0abe41f2746d489defe519e83031ee719c89a0f6079232d73e0dec5e84cc48662d8ef0a221ae365da5a1047fe3bafef5f12177ec71e4bb771fcf79bfb3ac7eb70e91f946c276c038819774a95a7015b9cb479d15b94690f442d1d8afb464fd2055eb97001889cbb1a79063b1ae993547a86ae8524faa32623ae2fc169e20a7499aab06cd42b08f906b6fcc066ff2699fa5cdead3cd667aa86da09ed83c980a76cf154960a5a2cf29802385a4c80e8df97ae953b3319ac1932caba983c89d2b26d428824f1119e18c5a8806c57c893702112772a5a917bde5710f26f474a8a4b153fef34369389b753099fa9f2eb7ee4ca0390a41775ed8ffa496d436125cb4ea438e681a30ffe2855d29a7f050ceae28032d2bd653fe4c50e6f2643c9e4df033baddec6bd51175860ed3e195242f4922f0871cc62800b9ea2bb380aa41289052be67a4e3999186d92a904cf8e1df2cf5c515c97a6dfa5a74e0bb4b3b235aa4396425a76a6c82a6a208b117bf7643ce7ec73b376b566f93a66ae95394d2d2b3da96a92813e6264f4ea66e2784065b36e4f77998b7c6695140bae2e64161c3e5b29df2e1611974fb305b3f25ef5889773ec2bae571c89f4c89485e4ea70a1b13246ee47c87d7e152547b91007f16334bc8b5d35c65293ce2f43b81d0effbad2a551bafa35e449a1a5ed01ca76840c5695872f3f6ad2f60a2b437b13d8a586b04f87b67eec3126abe653ac6cd55805af9554aafc1307794d4db145b30d59d63f7854ade7e0505f33dc0194506b5655a71e26796ca5522b3f9905283f5cc23f3efd3e455a0b54653b04c193551b236c73321091c42ff8f60ec90d5227ba620f21d4bd1028d397dfcf2e98089c58fed83602800a9f034880bfe3da76c826aeac9af593e9217e17f58623e9ccd08d1955c8c0c348a3b9bb6e5aa4d7bc9fdab5c568a43164d9644de71d4778ed191925fb92b3e2ef17066af5843f46a7b8d075f6378ba86001961a288959976e2df33e5c7dad63b26bb8c8b3894ce6d5e7c2b17bf714a45eaeee6a971c046bdc388f9fd1f91f876c159157b9c9e9a45542a7697af91d48f590fe98a7f1a3fbe4812f7da50aa75d0f13c1aad7ea459bf2bed3c3b98c57808a31f4408efe55c8dc9f10f309a28fc7e1c7c14744dc56590f0f601608771b2ce38a21198ea7477c4f01c1bec78b9509d26acf1a8379f637d9e0d0fa8aba9bdbe9dc88a48eeed55e40cbf1c70770a545f838c31bca2012c5543127dfbbb5c6a04ba9e33688b929555313ec9943aef768988ee97f925c1e202353432fc3b115815f1683ec40923b365555c88b06635ea437f2e1eae21b76b2a08af67bbac93d1b0ede236730de6d9bf4f28d162e3de39d2e840cf434c933f2be3afcf657e711b638768771bfc6611350a84f0e494b069fab8356b962078cb81bcb62f0784a25c4a315d04b4c03e9ede38fbdca5b5389d3fe73624f1b1070c7f30c12ed6714be8e7d59782e2ad96ef7451ecfc83d09c8a0bf80596e0252380345ad01cc3234702ac499dd5cd009fa2e893a27835c6922fd5eee4f00571e3b7f6fa1050dd7a016fadf75674a6b918274517589c8dfc2655106cec1a1ad8a828678783866a0d4d478a8380d00deb7b4301361d9d7f64932655c1f9cdd20385afc4d31e7a0a9b4ffce027c8f0de126d8e88d12724996d4be86a02d5df292f2a7a6115f15e968ea98a7602de82de9c216be86643f4c4025dbbec605118e830fdd4be34c80980e36de7336157c231c92ff835a122a5f97bcd24c9341966bccebdb18ec7128346cd64f25bca443368700942ab55b52e0eafa478ff068643417ee6546277fc0614cf56ef77fe1496715c71e3ec09fc357d0c1f6b197feafa56870a240ba387eac3fea83e3efcdfd2f616a2da7d3d114ab61a772bfddec14da62f57843d6f5a77c7782cf44851527cc1a613d1964bfbb3e8bf74521ccb90c8d77bff901f691d261d09b2d60fcb372fd9a971e9e792e1f62ac0d81b795c8b527bcf64f7e93648a78ba3f2f5fc3a622ce98fda96342b186572f328dcb50515c7189a190f03c191ddb3f5761d0e1b8c9788267e2cf24993a998e0022a65b27a6bac73ab0ae2257ac4a08387e47167f686649049ad620bc54a5f63d48a5a59e22c9bbc31798242e18b610ea060882e2a46ea06d5845b3db7b393496ffe13971cd345634b6315d5cc09d1ab50827b217c8a7f718d08a254d3a729b9338e1f13735426d89bae05dd66e61010f6df27f60b5ced927645c35e84a05c83a619548b51edd925c5b846e56c5deb4ebc48f094541b0ccd7e2da7765355e4d181311c5254bd0b4707136950c09d0d813f6782a61cdb6bc7092e15b048c62a7a8dd5abd9300280b0aa6fcf30e6270f5ea899fddd63902c4ac773d037a9cca3cc974563be8f184918d51ae2e86a40e571eceac6668319ef258a29d696e068bb7b502d784927217159252e682706909f7632d014db12211957142bdaa1bb04ac7da12dd3825e2c219e7768c3227de94782545ada2b2f7ec13eea353cf8de182a3f31e3ff03068efb9f92fa1d8ef217d0560c1a780b5daa18a68235e7ab7f13bda11d00a334b0ae653e1273329299f789341e0bf0813f7507cf0e2694d6d7f0f52b1531389462ab35eca58eb5c4ccbfe5df5dd63a0279ed90d6afcc2d851131e2d115bfe7df0083bc56d94b968e0d243bcc070bc86f8da6dd4c89ea1a24da298c86a96e096989bb975d84f13b622ebfbca3394826902040b00cbf0dc953999280f9767f06e3aba8e7d7ea82600fca870986b4108fca84795643021f81fb8dd7ff6702d3f2b748c6ee186fe96ae3935961773f957e21fea12d86d69b70284e8d39dc93fa494717fdfbe249795b552f6b09aabca9832c25ab4495a120e6042aaa2dc80bde5ea6e96c35a28b859a606e4e1b0c1028a4ec91abded12690ea9c53ff1ec0b7da87432808ac82cc9f944944238a1392775991a617160bac08cd3b701c5ced62cf8edcd714fb0b89c4c45793a4b42b42603e25d13f5dbee6d45fafed34e54a043a4f6e5d38a1040e4740c86956ec6fc46d4da4ccd707d7ef0ef0357abb21d2456d204b61aac075bc401c56c65ff334273b8fef562171d4809d1ff9b689990b54c1e967d8ba7fc83bec7c182d7620a1844b102cc0ec2b36f0919484579888818b6a8a41e9645cff544830776c0318538c91d393078a348223d734dc6282dc08e18dd079b9b1f4345fc663187228fe9505581d32b491eabe7df9369427bbc153e6af2cc204679ddc266a052bb8261f7eb54a7db0098e445ab72b89ad0ca60e6da42519f5afa46941821a373f7bb871531ea12dbe6e11f4171f90942e8daaa7f808320a717f7f66f7fe2895eb39d2cf8fd57c3fa869592933c5cfb420d186d39ba268be20aa0adfcf5a45e6849a44af6791ce0d680ec6e61dafe8ad8cf6fc233e9a41b9a7c2286c1e6a547a96d0ac7f94b83c4d7cfd9739875f139e850734be180b746f294d143ab6c61b47b4296fc231ca8a3004b2ce919d4649eddca23254efcd7652e5a42d25bc3bb8f53b731a498a92ffc5496ad9f8c412feb0ed9d216f051b72e10ec7b4b864df6c069a2895a7f0e5c8cca6f3cccc4547df1453e99dc5d37d2fc776bf77f812c90de87757d4863becf8953e854790efa3696946c3825672695e7ef36d9cd4b0551b11c3e442674f533e0101558b1bec03010cf241d53c220f80d25ba76a877d2a72cab0afda7b6bb31deb1f3ef47fd78e3cb53a14f2fe791d95e7038cee1281594497af4752680453bab9a578b4b13d4235779eaf4cbfeaeea4a0b081725d739d52960208826dd7d242fad85814f804136a6ad934a3a699f3a40772fc2742f0ef30f8b8645b9c7684538ef7fda9afb8020962f641ed75f7f6e17b586a0f4dd7a2ce4d58ab0d4645f929e45c879cf50072ce25de06b4e07217acdb311ee395364d66a5adf050848d87de74d554e4c61bde91a5b08074ac8bbe0df0dbbe11f979e6ff18bd78d7af19cdfdd7dedf0517361425fed17196096c3c9e9fbff4487e8f0e17272b93f772f03d1a2f27132b4f4c9a542a2fcc32d78eb7bce1267e1f77905ce60167da7529a07694ace5988e7fd90c3509c78a00cb9bc279bb7a125bb6f66d1466f546838764494b939f61894a5b5a43774347ab0dc0e1820a9e398f7b2ccf47c205da2b1c6a8b969d50a65324ebe7f48a27d5c6c9ca628c9b74d9446c6ab71242a505b4b8f01472b0eec1f70923b8c44132a1bd2631470944e7259f2af5be18429517f12036ee9e1c6fd9a4866fb1684939c5fa4d9f46d1a5f359aac789878e96d44a831e64cad151a2aa942355162b390c47f0bdd810112205c0847dab6c835d6efcf744b0611f850cf2a287c39b67f6e47e63b992b5b75757fe8681a062648a53e80f9e1b0ada38d391f2f068fe8eeea465dd6db8e767a7bc9e16d61c7d1c0e414bbfc687d05bfb66da534c56786b22c5299d6592f807d1d62e74bfc1a454cc49cce897eb0a0d69b115832c968397ad47b8b97bcc12ac05b79984f01ba59e445b7267f0c16bbc680f7cfdb49e1bff7ea5436e95e32c5735b3f014f51b2e69e12e6240cc07950ff088d692d0943504811958b9712e4818882735e2fbe5f62f82d7003ab68d402f82b083e25129e8756d8a377328fd7ebef93316c4d4d457ef7d9e28fef3dc3c25fd94133dcd6e4a39985080ea25aab919c515bef9c07d77048b6ab2d5eadfdaa42411782638cc9f6bb108efee4845a1622efd130147063f68f041f5288d343fad593b9078a912fd321961d67c80fd1bed1d4dd6404134b9eef2a3107b069221f8313a5d7428e64735ae8e18ab10036a201dff276cf7f3b671d990a96c4a3b4cf53591143b306df9b857086e6d7d9046ec50fb1bc3644deaf3803a913f3f65867c56e3657a0ade77217d0b6e9a55c3df8ec436a7bf731b58a5199309779ab911520fa88da296bf59ec881d2fcd8cd5c4cdc388e96c957642e526dbf8f56108ce35519c1a368002ed116b7adc3b60a6ecb8770a6b6240ec81145c0ad4d4793528741ac51fddfb77ce83280fc957b8ab2c044da80d1d1f73be18ab7e0d7803d4984ebe89bc36aa7dc1cddfbaaa19b2ae772087e263c68d3d020141bf76e01e91add9dfa741db84e4e8ceec62db1883964ace7870f8af909e7f4a2564e9762f5895b08756de9d95c1cd39d8a4d17f73ed11e1f30b2e41fd730617dc0b232d950068e6b24f0f2736cfa6664aecec1e1e1ceacdf45a4c15fed39dc232a4b02ee1b221c8cc5cf06eebc03540ca4d4fb5c10de3f1bddfe1897242da0ed03a0ea04f88ea19c1e2b51fc2c1bc89ee862a6655ea3fa88ec715b17687941d13e67c01f257546e255b534d0a3ad57b14dd9d3d634cf35d73a330b3643321c79e1cf3e02f22289e8af291a0997bcaf7177acbe5b1dd3c7e7ab3c0cc7a42620afaf647d2505fbb70499838e2e2b2273fbc486e3ad8cf53dbc19452069ce0100b30cb3451a27d2b6e2fe7c551efb841cb9fcab389e6ffa579796b7a43e3020e32f958c4f6b41cd6c2a345ba074133ef7aebe14ee56dc18a23a8b6d7bdeaae9bc25c02fcfeef265d88e3906927d36fbdbdee3feabaef8dcf95d6c3d807e6c93e89993362434fddc6afacfaf27bf7bfb8cabcafad5d55c8e7964ad508defec2ae1b7436c13b31e7f05384b39b2051e0211e4b90312689169a43d929dbd15c96bdb7b671bf2b2af8e4543b1d1bb713689dbb54a8414ae76bbf741ede8aff3331e1f4879933d713ca7ff9c9813c7eb186d0296442255632a5020dfd8199d3269729a9e0e4314334a6bd961faed170871e929a692768366e7579073a520bc15b37ee771d22905cac67164ccbe6e9d67c33cc0a5d754da87b171b8053a0b1246a6b8809df46868631976690bbec8879b9d15242201f465c5535d9a3c9d2cff40a86c5a93c7b78db85d5a111a8ec4c177a6c696e70b5834cdcf406e92780758cc28a162163ccb12d701cd0212a208b9280ad28ef71633c759fb64c8cddafe2c1e72cdab89019f4833b64cb8f5f7eba4801e40e0d3e9ff3a79725fb5aa836de4285dbc1c5d760e593a4292e32685426890139f6b7864588f5dccd87be56f5aba8ac3012fa5d8c9c249cae93eea095941e95dda7b981d37acd147dd4f3a9923bcb284b95c2038fbc9c0de928d66ad66a80e3a06097f1799ca589958e4cbbe70785bc25e4bf96690eb8983d7cb58f6fa6d41600c8dfc9f0f090db8e346998bc03a79dbdf55d4947ec43bdd852b30cf6477a43c0b2a124499ff8751496e34d889b671602a834d27279419e696910508024e82d28523bd2f4b8f5d08efc0cc892782c561123140be683983e128aee5cae9015b3bcdac62f203ece2ce80b67c960a444aa8254fe94d56d4698069d2b93caa156b7b439e7f1e5ec9b81ace343e1fff64e80c16638471152c8e45085bb570516d76dd9bb74a48191cf8bb0f9feccb2a0d17faca79437a471eb8b87d1a2a04aea7b16950b0718e73c1462d5569d815eef01d4b527eac7e4906e6c586044e6ef0f609694542f63e6e1abd5c1eb426a46e16a0c92bc9ab7ddc5db85e763ee29ee4c8e36271173bf4a936e8be6a8d749284886b6afd498d494954831ce9cfe91dec2eb0afae6801e64b6bb151f39161c8120ecdb167e11906a7dd7a7f64541d50669a8d2e2cc4ad06930de5d92510bd8b9c7e1a3d1a07a20b20e2047e024b9c3e3d7b8c7f71f13e407e0fc1f3a013f8aff3ec42cf1c93bbc3399ef8250724e9aade74b03d780fdbca85e5466113b7b205be77cec13bf1a316d2c1caeea757be93fed86f6e7c754e90a50ba6641d7eb89c06b7a3d24559d2adced77c917dae39cd44fb1048e0bea6e9c3c6e3b446f21c619a840eccab30af1856258a24bec8ff2bf5b58b22ccc49cf0142ee8bccc6823ada9a8295a9132f2442b3b7ab7133c305f60a24dd6688deceeb91fa46306144973a1bf57a859b79df645fca7597e39460d79f27ff444555f962a152799c351163b34f00bc9a3728429cdb17f588c70974294e384168ac9de2cbdb73280425a27a2df21bb9eaf0a1ea50b923b7a7a53ac333cf384f2bbaaa5b377f107687c472bf8fa5360340c339b1e9757a04273ee5d1c0a11575bf2f146220b5ec73201bf67773eed3a586adcc32cb129bd83a2ab0770135b104978aedfabddf59de7717b81948eab285fae52015e2347922d76b7b184406937e4855e0df40d5b63bdcaca54b6d84dc23aba5b8c1220281d03b428d958dcf469c79afc7f1b42e068fd1f032b21ece72ce8e16a9d0d16890f37d9004f8a8309fd8a6f6abee218fc070beb7d53fe6d29f015a66b3f56aaca4841582c3b1e0f840f5fa202d1b3ce859fffde6283234e5239908511077d8bdaad66310d198856113fb884da690e245bd5ebfe288637404b4143af4fcfcb93373ac7c428e728e58d9ca08ee0dcf67492331b1b6470184c2dcc76e062a3f92649ebd8c6773a46bb1e3ca16d6d8f87349dd68ad20418be59b5022cfb49a547ee5a4b4e686ed70a7f7bf48d778ac24e598db6ec0b56c5b69d61ecb4b6464392bf61cee3257721b85b6055c458c077338092c6cc44136cf35eb06089cb19cdd6f5ea3b993dd7080890b9923a95cde9b2ae49b7786d42bc7df434551756db9780e2b67acf41188760e9ba8591feb6905474011926696e7179f9a86c656ff4046c0aaecc0cb48c6d6dacddadba9c265a050da856639ed0511e581a2915bdc6fc5d6a48bda0ccd9b7be06c301b7fa3ecb9ae97e4115be00048536fe5059d8c6230bf744488eadc8bfc85093919087348cc0ac1ddc3b3e283a355b0817aae2e6a607c656516be30558afab8d71a4ca51241f726cd1693781c9e6f457465740ce80de28303f611266fec61c6df24a087ab6c9be859b1d968da06da31b09e8cc487f6232618c6c07fe6416e2b56a017fcfb156d9625a9f139f57103a66827983048eb2a9739edb78648b1414a40de95cf3755cc7c47bbbb323d85433d8e4965224581c125301e117642978fe6fc85cccde43cf4c941855ace4bb8e33c6c1677c919c9e1e59b953a6b5d707fe0e4c7346ff33d639d2582e28b8751156868a2efdd35de5ebf400f58ec7116179b8cc2fd737e32bbf1753451fecd2e4ffc11f1f341539a539b6c5003975b0dd735679ea8f9ecb041f257109e40098054649157d7178c5f91ba86a5249747f2d92bda8528d6c5d8eaaec93b6646e95d9e10951c5e93a7fff4bf5b55ad89805d29c1d11a550fc01d4dc84255fd19df2b98804e0577b4dc5411440e7ea6287fd77366c5b3e78d025ec73c35232ac200d950fec0d55a40db85d6481505e11cac618581281eeb340d0de0f1b9715a39e9f6d527e5dc4e202288f9ab744eea80c97f1034026977ff76d157547f4dfc70e3bdb82e9c4c4007eabbb49655e81baa855438a0298c311ce12b54e3cc23ee7f03de61f0614c8a319a0d0ec0d553aefca58c0e5b7a6036d88c7041aaa6ea7119f7dcb7a98544c8a8138a097f4c02a64b5e64577183afe850764f4a6247df8656ea04121b42846ae3d3f621fae80d8908fbe16f81e8ea742b9653f3c8ebdca223385572d59dcfc768140533f95f160dd1b3db0262cc652e56b0509091e61c8d914274e5ee13bf5fff1d3dd879704a603daf923dc05f29c1a8e17097f0885118e772d2b69366466566425ce69f9e6285713dd1a12aa8ac241625d3a37e1a870f725af101f0c8a28ba56fda855d391c49a2effba4429e7559426b9618bdf436c8469f90fd426cd106ce2ee4860e092cf90b3156105dfad4807a27cd44dac694809a26178e647d4c1f0f3f4166c59da1758e25a037af97f5a6ecf72bb3b0d6efa769a453cbb75f864149626329d280b6d6dbebc996c4db42e21986e3c3cd9664d2acb68a183adfa37f1bb6a73b020c0ef7d468d0397efd84b261cdb5a503d741ceeafde91d5ddc9f278865c0bb81af87b9f28575438e0cacb1702bb3acc4207d174cb1101c753d1364fe2d1db8668bf9e67e7422cdea04595020f48764f5ff436766ad27b63066bb6ff6ba6b00c3a35daf797fbd89e84dc530077eb9e47b4c0b3d05e73aa954facb34efefe5493b3652fd63ac3cf7fe41dcb4c29ce72a35dd7d05746531a2cd37fb34200c4b9e73b70fed90143484e8c0a87fec9729bf7915116b769b6cbf5ef74e5751d0410b5aecadf09347229e6142e4de633cb82209552bb00964537ab87c80771b0feb0b176aa29dd9e3cf57c3ee9f6a93a601cbc68750f312bc72e68328e5b8009d0c373aa21bd41fef05afcf23c995a55c240b2f8b4c051495978b9ab98f37944b984babbfbe105e300bb5419b0c1e977657825ebb4c6c2adc554e9409dfef23d8fda2b57e9220e3b77ae1cd425b0ea134ca599b34ffc4252918cae97dd4538046691e0e4b66917518965c4963f1b48e6f00a653a980f96db62bc0ca9bbab9e0ed9f4b01250327bbf92b19add3e8267da432781c709dd6ad305628a47fbd42c48c8d4a15a35e21a44a4b32757c1848cc7fa8369ae2f710a722643bd03a18b48a26d523d5a2a5edeb7c1fef84c026aed4b0969656d2e17cd22cbcae63aaae45a20a5d8b436d15fa5006f6c4a37f9f5ec3c5034f1a96f8be73f667a4e00e15de789991291c4c867f05614dce904b837901641aaac086dbb7e490035da561b718706a4336eb92ee08c2b3cabe322e50747c8713fa61b9f38109a7cfa9929b2610fe702072cec1e52ddf3459c04b2347df281c0272660a256cd7c7156334c4b1f18bc62ba48fb41e641a675cebb159794bfab5a4f74e1c93c1ee6d6638f13640f21fc2059a691179f7c7661d02a70d8f73b8e3f22a66bc69dbebcf1cb873ad5b2896a6c3933510deb8dee222f859fd3842fc5677271bf7f3450823f5b78b2af1e7f32deecb8e9e8ad7e2a8fe6c52e016551452e16e355ce345c1fcde4fd4354a3514f7974ec3b151d1ad8df734b1b8c7bb327068b3b8fecc9b81cbe33eaa2db7da0a371c29551eb0aa8929abc3b6b49ef26a9ed3c35a572134ba441006a1184bfdeeb39a2826bf128f2be58af23ff679c2c604576cfda633a78655c3994084c65d021d99586d18c4513235cc2bd979a7eef387f8318bd304381921b079c7377d6726a5a3ed4a26a6b143c416492b7f2acb3e7a7a4665903b78d8fa6855dc3fdd0ee284bcc86170b4396ff9872815b3310e4ae654d5f77d360747dc5e84ed26a8b569e83a1da619835ffd746eeac5596803052b103764d6ccc93239b1212f45ed19fecf65f7c61f123e4567b6cefc62ef023806b21be05239513091f1856420cdbcf4d9ce8a6cc817dedf1c75f85feb6dbfcd3e63948c436d03c280b5ff6dac9b8d4bfe8a1dbf82f103bd568750b19903ffc75382dfbf437d0f6e8f11b3bd13efa6dd3ceb321e39e7a3e145a5b0b0689f0b6c7cfe60db6a846ae53062c19743829bb2ae248a3efd12c7b6e9a6e27ac5546d6fabc73fe8b858c936df623a4fa4b53e678af124064b2b7e3192c9958d1e25f4d020735f611008a77c064d72dae680a66b398c794f06b872b264cad35e8306c2a148cb61df3a31c5ac8326e5f477979c6df41986a45f93aeabbaff4c6333085e71d31db017172c7450f4112ba2059c27fbc2929d9a94e7cea5fc09a59241024f187d149675a1b3109081e38c7d23368c16f27d0bb8a827782cfe24b1c36cc296c78a1ee9afd6b8e7372365078b82a7d06e4bb3a1ff109e35960a95cbb25a0f282592a6f4efb12bca3f2d992c9efff54d7044bcce8f3153ae29ddc4bd2c836ae9362bcce8259b8965c612b0c4d5a8218262b614337698f159fae36d346f647d1401b1d1e8866ad3162699a35987dd82f0ba6c2f94dd9e10cb8032c22b98119d979895ecc124c208745bcd0a10c5b87d33c105b55dfcc3d7da43f76a372212b55b9423691c1ea14a1a46f7117c2ca876e10c6c1425c38fe1b9c753520e1ce788b155a7258125093a1183e18c6353883950f7bb57ee3238a11249b7b032a880ee254bd3a638773466ea1186b0568adc2de5a029595913aa2aa0f44d91ef078556a1376b13fc9bdc206917e9a3463809ef884eb1c72f8df29ce4ecb194faa0048b7e54e00988f9d65f8db9be317501b2daebcc95641d773319bac9b5241fed9e5f365a2024b33c6b9e76347a7d8004153bfa80a687417aba8f06929740d78f4fcd7d022e6aebd73b050ad58cfddb88324bef7953b292421780915542eab8e6b805442b3450da3f3532fe084fe2094b5da88557e45d1c21a68441b18fc5dd590a24d692d8e5425fbf6b39d4370bf29f939c026a4e4052ea5b1fbb8633c662c1e02c108ffc4dce6257ea49d2a3480f8681ea4ff9edf0c0f6f03444ff33b167ed5b80c8395698a023c0bfec538e8696be8f5dd49bb8de292fd0aa3c6184d381209d610b52ea38bad6090133fbc15bed0d13d9ac7dcc5763d858996e7c68d5178863395857b5262de846f807936fdc36210963187be757803df291c4102a69c0c486512bacdcf6b461708ae7c466f04ead2a462a0103dc841204a6bfac84e8a2d5a8de8a37a2a6b5b11ac1a1019328cfea0a28f8ff4f2e64e586ea91e0bd839b10f1d3a6e886f96988324226f92d14f13220062006b968f01b2a143e710528c9a0d81d1ef5f553aebd0ce8f0c4f81eac8a4833ad4b4f8ff369e757bf290367e2a0b5e64c4248aee7c7474a1ccbfd29855038736a809593fbd9c1416b29ecea36440a3cbd1d0bfebe3d7e5f10441c86b34e466bc51212c040d897790c2a672a01055a36dbf36d8e17f50c5bdb707e8ec28f43b971722ecd851353cb687b87c8caa10de1f78d4ee7d43c0d768a73092b718fb9a8708834e46a260893deb58411a15ee93745c2ca57654c5e1c4f14a79cfc9e8eaff3319725e607f0b333d0a5719dca0efa6e33fbf515df0422901ffb824f7f41b83eac4742db5003979464d1d428c229885debdb0cd9b699be7491d05e81a47969f6ef0546c3e9b8f177026cf9bfcc88be2cb75bc51cd6b566834731c78b2dc4f3192acbe0bf3587e342c28b654fa74f4f98feb13dbc41722e69134f9de9564fdf426e4a99a1d35661781a0ee76fcb77aed7adf4a81849f419f3ba7239c2e02881fbfd1ff6dc4dda977d0e440855976fd5b4990e5ffc29cecb20a32ef5b4b7a75d9d733c6affc5a3b9496865b35549fc4448ee3fce2cad8f698e0c25a84c39a162eaaaa5b19718950cb60b36d0cd55b5b07068e8f0af39ecb486eda319f56e1d1236762634bb6a01c4b14167f0d0bf1d0bb45607449f4cbdc561fae3d236bb8e5962bb76c0135cb8b9b726e50edf89545bac3b42caababcbddb03d595cc7f2795503fd64bd3d1d3525981a5a50798725bddfa3f13bb810bc9931522123b3d15ae406f8bba0b82c85aea91aefce5376076f0afd5d25ec2e72531bff352986b8882b236ecba06507b75343ed30d2a7fd334d05a190ecbab7f36abf8ce67c815fcd6c2f3c279b643a1d3d43632ea5e964bb46ce64c1a0f0d08028f5d329766f1f32cf02df07fe21e19768c1a18ea70d76635180a25d909b1a61bc8c4638c217959971f1dbfed4192361b26d4cbb55bc5fe3375f084b7d22d2fd7fadf42fb684bfda68fc88d7ef5ebeeff20eb6e7c0e5520ece5e684e6335b01522fd81e49c9dcef4228ff5793690d707dc61e044b40cdac1f0e207ca50f24c29ef9572fd6c6f0c92309635fc6cecdd58ac79afc80b5b60916c7ed3058ed14f000973ac472ff60f6e7c90d05b270a7c23911bcd46359dab8c3e72a0d60c8ad6baa5061b937db37bf8759bb5ca4984d165de53618bcd71e3e085bb9b8b317d3a4e957f04bbf3daba17bce1c9def0085efdd00453e30ba2f3aee90838c0d81c93ec2ddc18596a2116eaf5139e1810949cff93195fba45a29aef4a70184d9451d27b5543d82535f800bbe4f355e5fbf5704ac3cc8d261fd937abf44224f51450f675eae793c95a8796dae594864911857a8422f3192c8f520e928269509aa5e46af7f1160221a09d692636b8c374342ac86db6da747631418e18f07f7adbcdd7203489d915cc3814e2a2afd791b2889783eb5620900cc5acc9d244da51330cc201721d9307fb1297c6364165a2a5898a2ae5bd515c49f8ceae4f25185511f47ce19743ceb4e61c3d8fd91b232dc6549e94fd4c933861db685ed572ddc78a57c4582dc480a1da1e15756f00ca6ed1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython310-documentation-3.10.20-150400.4.102.1.src.rpmpython310-doc-devhelppython310-doc-devhelp(s390-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3ii@ip@io@iCiCi@hhth@h@he@hFh/h(z@h?g@g@g@gPD@g5@g4g(@g$g6f5f@fըf@fafIf@ffz@f"\fere!@eZe؈eԔ@ee4@dd˖d@dD@d ddJcdJcd@c>@c@cӼcck@cc@cRcOc'@cb@bbnb?bb@bzSbs@b?@b<]@b@b a@a@a@a@aX@a@aa@af@a\>@a,@a(a @a` @` @`g@``r```@`N@`/@`"y@`!'`_T__԰_ _v@_u@_P_|\@_m_O@_N7_>e__@__A@___ @_X@_X@_X@_X@_X@_X@_X@_X@_X@^z^z^z^z^)@^^^^@^(@^3^@^'@^H^|@^h^`^>^>^8 @^8 @^ P@^[]f@]f@]]]]W]]c@]]]z@](]]]@]V]w@]i]g@]W@]Ik]6]!]G@\\9\~\@\\@\7\+@\\s\b@\b@\Q\C@\4\4\,\2\\\\&@[[@[^[ @[ͻ[ͻ[$@[ā@[/[[@["@[D[;e@[6@[4ZnZ@Z@ZZԐ@Zx@Z@Z Z Z Zz@ZxG@Zhu@Z`@ZLZ"Z }YYX@Yo@YY@YY@Y@YP@YI@XӸXƉXqX@Xv@W@V@Vm@VVhVCV }@U@U@U@U@UU[%UT@UT@UCjU@TeTBV@T;mcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eudaniel.garcia@suse.comdaniel.garcia@suse.comdimstar@opensuse.orgmcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eubwiedemann@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eupmonreal@suse.commcepl@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comkukuk@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.comdmueller@suse.commcepl@suse.comcoolo@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdavid.anes@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.deschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdmueller@suse.comdcermak@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.decallumjfarmer13@gmail.commcepl@suse.comcallumjfarmer13@gmail.comcallumjfarmer13@gmail.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comdmueller@suse.comandreas.stieger@gmx.decallumjfarmer13@gmail.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commliska@suse.czmcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.demcepl@suse.commcepl@suse.commgorse@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.combwiedemann@suse.comtchvatal@suse.commcepl@suse.comguillaume.gardet@opensuse.orgjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commliska@suse.czmcepl@suse.commcepl@suse.commcepl@suse.comjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtoddrme2178@gmail.commcepl@suse.comjengelh@inai.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commimi.vx@gmail.comhpj@urpla.netjengelh@inai.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.comadam@mizerski.plschwab@suse.debwiedemann@suse.comtchvatal@suse.comtchvatal@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comdimstar@opensuse.orgmimi.vx@gmail.comjmatejek@suse.comdmueller@suse.comvcizek@suse.comjengelh@inai.deschwab@suse.dejmatejek@suse.comkukuk@suse.dejmatejek@suse.comjmatejek@suse.comasn@cryptomilk.orgjmatejek@suse.comjmatejek@suse.combwiedemann@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comschwab@suse.detoddrme2178@gmail.comarichardson.kde@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comdimstar@opensuse.orgjmatejek@suse.comfisiu@opensuse.orgdimstar@opensuse.orgmeissner@suse.comschwab@suse.dejmatejek@suse.comjmatejek@suse.commailaender@opensuse.orgrguenther@suse.comp.drouand@gmail.comcrrodriguez@opensuse.orgjmatejek@suse.com- Fix changelog- Add CVE-2026-2297-SourcelessFileLoader-io_open_code.patch ensuring that `SourcelessFileLoader` uses `io.open_code` when opening `.pyc` files (bsc#1259240, CVE-2026-2297).- Update to 3.10.20: - Security - gh-144125: BytesGenerator will now refuse to serialize (write) headers that are unsafely folded or delimited; see verify_generated_headers. (Contributed by Bas Bloemsaat and Petr Viktorin in gh-121650) (bsc#1257181, CVE-2026-1299). - gh-143935: Fixed a bug in the folding of comments when flattening an email message using a modern email policy. Comments consisting of a very long sequence of non-foldable characters could trigger a forced line wrap that omitted the required leading space on the continuation line, causing the remainder of the comment to be interpreted as a new header field. This enabled header injection with carefully crafted inputs (bsc#1257029 CVE-2025-11468). - gh-143925: Reject control characters in data: URL media types. - gh-143919: Reject control characters in http.cookies.Morsel fields and values (bsc#1257031, CVE-2026-0672). - gh-143916: Reject C0 control characters within wsgiref.headers.Headers fields, values, and parameters (bsc#1257042, CVE-2026-0865). - gh-142145: Remove quadratic behavior in xml.minidom node ID cache clearing. In order to do this without breaking existing users, we also add the ownerDocument attribute to xml.dom.minidom elements and attributes created by directly instantiating the Element or Attr class. Note that this way of creating nodes is not supported; creator functions like xml.dom.Document.documentElement() should be used instead (bsc#1254997, CVE-2025-12084). - gh-137836: Add support of the “plaintext” element, RAWTEXT elements “xmp”, “iframe”, “noembed” and “noframes”, and optionally RAWTEXT element “noscript” in html.parser.HTMLParser. - gh-136063: email.message: ensure linear complexity for legacy HTTP parameters parsing. Patch by Bénédikt Tran. - gh-136065: Fix quadratic complexity in os.path.expandvars() (bsc#1252974, CVE-2025-6075). - gh-119451: Fix a potential memory denial of service in the http.client module. When connecting to a malicious server, it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError, swapping, out of memory (OOM) killed processes or containers, or even system crashes (CVE-2025-13836, bsc#1254400). - gh-119452: Fix a potential memory denial of service in the http.server module. When a malicious user is connected to the CGI server on Windows, it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError, swapping, out of memory (OOM) killed processes or containers, or even system crashes. - gh-119342: Fix a potential memory denial of service in the plistlib module. When reading a Plist file received from untrusted source, it could cause an arbitrary amount of memory to be allocated. This could have led to symptoms including a MemoryError, swapping, out of memory (OOM) killed processes or containers, or even system crashes (bsc#1254401, CVE-2025-13837). - Library - gh-144833: Fixed a use-after-free in ssl when SSL_new() returns NULL in newPySSLSocket(). The error was reported via a dangling pointer after the object had already been freed. - gh-144363: Update bundled libexpat to 2.7.4 - gh-90949: Add SetAllocTrackerActivationThreshold() and SetAllocTrackerMaximumAmplification() to xmlparser objects to prevent use of disproportional amounts of dynamic memory from within an Expat parser. Patch by Bénédikt Tran. - Core and Builtins - gh-120384: Fix an array out of bounds crash in list_ass_subscript, which could be invoked via some specificly tailored input: including concurrent modification of a list object, where one thread assigns a slice and another clears it. - gh-120298: Fix use-after free in list_richcompare_impl which can be invoked via some specificly tailored evil input. - Remove upstreamed patches: - CVE-2025-11468-email-hdr-fold-comment.patch - CVE-2025-12084-minidom-quad-search.patch - CVE-2025-13836-http-resp-cont-len.patch - CVE-2025-13837-plistlib-mailicious-length.patch - CVE-2025-6075-expandvars-perf-degrad.patch - CVE-2026-0672-http-hdr-inject-cookie-Morsel.patch - CVE-2026-0865-wsgiref-ctrl-chars.patch- CVE-2025-11468: preserving parens when folding comments in email headers (bsc#1257029, gh#python/cpython#143935). CVE-2025-11468-email-hdr-fold-comment.patch - CVE-2026-0672: rejects control characters in http cookies. (bsc#1257031, gh#python/cpython#143919) CVE-2026-0672-http-hdr-inject-cookie-Morsel.patch - CVE-2026-0865: rejecting control characters in wsgiref.headers.Headers, which could be abused for injecting false HTTP headers. (bsc#1257042, gh#python/cpython#143916) CVE-2026-0865-wsgiref-ctrl-chars.patch - CVE-2025-15366: basically the same as the previous patch for IMAP protocol. (bsc#1257044, gh#python/cpython#143921) CVE-2025-15366-imap-ctrl-chars.patch - CVE-2025-15282: basically the same as the previous patch for urllib library. (bsc#1257046, gh#python/cpython#143925) CVE-2025-15282-urllib-ctrl-chars.patch - CVE-2025-15367: basically the same as the previous patch for poplib library. (bsc#1257041, gh#python/cpython#143923) CVE-2025-15367-poplib-ctrl-chars.patch- Add CVE-2025-13836-http-resp-cont-len.patch (bsc#1254400, CVE-2025-13836) to prevent reading an HTTP response from a server, if no read amount is specified, with using Content-Length per default as the length. - Add CVE-2025-12084-minidom-quad-search.patch prevent quadratic behavior in node ID cache clearing (CVE-2025-12084, bsc#1254997). - Add CVE-2025-13837-plistlib-mailicious-length.patch protect against OOM when loading malicious content (CVE-2025-13837, bsc#1254401).- Add CVE-2025-13836-http-resp-cont-len.patch (bsc#1254400, CVE-2025-13836) to prevent reading an HTTP response from a server, if no read amount is specified, with using Content-Length per default as the length.- Add CVE-2025-6075-expandvars-perf-degrad.patch avoid simple quadratic complexity vulnerabilities of os.path.expandvars() (CVE-2025-6075, bsc#1252974).- Update to 3.10.19: - Security - gh-139700: Check consistency of the zip64 end of central directory record. Support records with “zip64 extensible data” if there are no bytes prepended to the ZIP file (CVE-2025-8291, bsc#1251305). - gh-139400: xml.parsers.expat: Make sure that parent Expat parsers are only garbage-collected once they are no longer referenced by subparsers created by ExternalEntityParserCreate(). Patch by Sebastian Pipping. - gh-135661: Fix parsing start and end tags in html.parser.HTMLParser according to the HTML5 standard. * Whitespaces no longer accepted between does not end the script section. * Vertical tabulation (\v) and non-ASCII whitespaces no longer recognized as whitespaces. The only whitespaces are \t\n\r\f and space. * Null character (U+0000) no longer ends the tag name. * Attributes and slashes after the tag name in end tags are now ignored, instead of terminating after the first > in quoted attribute value. E.g. . * Multiple slashes and whitespaces between the last attribute and closing > are now ignored in both start and end tags. E.g. . * Multiple = between attribute name and value are no longer collapsed. E.g. produces attribute “foo” with value “=bar”. - gh-135661: Fix CDATA section parsing in html.parser.HTMLParser according to the HTML5 standard: ] ]> and ]] > no longer end the CDATA section. Add private method _set_support_cdata() which can be used to specify how to parse <[CDATA[ — as a CDATA section in foreign content (SVG or MathML) or as a bogus comment in the HTML namespace. - gh-102555: Fix comment parsing in html.parser.HTMLParser according to the HTML5 standard. --!> now ends the comment. -- > no longer ends the comment. Support abnormally ended empty comments <--> and <--->. - gh-135462: Fix quadratic complexity in processing specially crafted input in html.parser.HTMLParser. End-of-file errors are now handled according to the HTML5 specs – comments and declarations are automatically closed, tags are ignored. - gh-118350: Fix support of escapable raw text mode (elements “textarea” and “title”) in html.parser.HTMLParser. - gh-86155: html.parser.HTMLParser.close() no longer loses data when the