nodejs20-docs-20.15.1-150600.3.3.2<>,Zfp9|A` WWd%+} 0y4Ugtɒ(LuKAY&$2d0$?nX> .4g 7/;iUW?ΙZgv|&L(O;!QͥLDƈ+m*jjZ@-pѶZ MlTB*?+PsiҐR"XOԋQ9Mp%GZ9 ̏yiSg' G3 mQ݀>;?|d % ?|  @  h   = =A DHIL@LPL`L(L8L9M`:OF~gG~|HIXY\]^b:cdfekfnlpuvz,06xCnodejs20-docs20.15.1150600.3.3.2Node.js API documentationThe API documentation for the Node.js JavaScript runtime.fh01-ch5a ٭SUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Documentation/Otherhttps://nodejs.orglinuxnoarch0{hdi  97DR$`c^z}bT: =Wl+s`eA_#YAPzv -JMBBj| nVh*(ëX-<h kq')]Kj{ R {JG-HZی!Q3Co46Ѯq\6*>O-sD{ex#!}Nw5bu>kmsQ:[{j##s37RqS^K`\M]:MVSh_ M pMD?:LdJ:"Y#jWDY+.@A8x}:+ bq'Aq1AA큤A큤ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa900cd3ed1c13680011d99441adbb1a9c7e9795b65744cac278c51431b85bc85979aaa1f84da83039584335821cdd0e7fbc0416d3671fde606cf22daa5835a08c03e3ae1c2b1eb230311e100a92ef77c35686ef23d05f5bcd8ea9097b6f429dc88e78b9ffecad3a2070e6b4188845589d108c27baa05d3263ddda654e93b14744215dc7699264ee4e2164c7b3c8a8638eda0e6f8c368a75ea35179e72568d5f9fe282c0ea8e4231f1a78939ab0dd9189fc580e6fbaf6e52b5171446f358fbaf279a89d168e1f03825a27923cbe89b18e86c94c5780fb94b7147e6d727552213356622f1421703294481f284a5f128ef39b1e1fadeec589a28e848ee80948dcee21b64d5f1ef6467111f6a51463d7975f91268d1c8da21e72b29ff68b20d95a669f3f37cf6f3eb2ad140c69bf79d9dd66d24fb52fc6d360570479f9d3044a6e504e35cb18c97866ff100aee980af208eab0bf806865eb19d51afc338ae207009711ca10c73b0bfaacc1561063fac4cb54c89b5bb6dad8ea3cc2e3d9871fd0fdc195e93d8962cdc9ab486765756c3a8800a1412e31ce0eae76aef9435968ec93b9339d45740142a145b83c6d5abb37e33434204c252429d7a4db111e83c36e8b98b79d54a0773d77c4be32afa0fa9e55ef98e5590e0007a1696ca0d074a875a8ae6a6cf9b8221de0475e5527a29b135638d0a1b92993b09c0e89db700d663574e99f6a952079e2777cc173a3cc356c640579f8a0f557c9b696665a095b69653e2ad682701c937d9509102dc4af55063b29563a26f1521f5b614f3f69f7f72df241a0f00169d4c5cad546979f7ee3200226d603ff46ceefd661403a6859df8b253a76054a63c278d382d05f579a0d2c726294689bf8c35dc4168bc0bf54b587b59ac770505868e62d817f8fafa9be380fed47d4f9a9c2f5d9c626fc6be8d91bccf7a20c987eac2cc038487523a912cc2746ea3531838982336ecca0102eb9a2aa5dd4134cdbc2869221aa3be7102030c9111b5ca86174af3fd3562b9b14af2f65ee68149f9e566d02aacb402cc71c43fea8837d67e6bab306f076048d0a168a41088d157061274715ae39d46d0bf0e1f5f7df5b11c70bc661a165034be27e2978d378f741f8638475f49c02c794297d29720a6cd6d88206f63f19dc355111ada66d838da675d8339fa81f49f0e28a4a98ea5e04126570232196119a977cdf4b2a128e852098ce2ccec7301a7dd899f07803a39bcd3d702ce3bd09ed6cd64bf7d3202f6bfada2e005d85393176925cb0cc425ed625ab1ba3ceb12d44d2ebd6daf5d40762d70f9c1c3dbf124e437951db03a10e2ea8522aad1d5ed3aadc07999a23c7c92892eb6e161e8f98537626ea0035a721313487348b2a633b918a18d903fafecdf68d61fab0675d17bbf83ced8c3b90aa990f9d066fa051e7eae7c63fa1f6edbd313d322564d4eb69a54837fd33a9b39cea1fd9006d451636e6a7310d91a1eac44c6de3176e25454bd8852ee27f53ce120ba2483b038ac2f6c33b2b654f97d0c9f7fa1db14ad0be74164da1e18fdc4c24c844a0dbcbe7d1555ae8d0b2e65e58a588ef0c393f3bef2926e7d28ea1b3d38f8c42caf40a0fa77d28ec938a12e8d140864a8164eb315ce4aa3d12bdf17168738bedec52118ac197930cd17b8a7310d29f951a4a506878f02ed207756e3bce2605ddb383c31be505acfb787dc46dfad400f5fe87f07e9d20358591446cdcd390b51e36371ea7f4be99f8d6f42e41c293707e3bb5c074a776ae57e8e0b2713df53ae463fae0679c505691f037e21c4d6f821a93247348a90768644c37d11b655d980caaa13bbe4739a026db1311b6f73a16fda677e6742e1e90e2f0db1269aea6f5e8cce3819c11b2dd1c049991f926cd75abf69930f08757676193cf320672b5ccb39a52dc38c6745d9ca3c9a1e425872efcfd31ca2bff4ac36fa86e7712db242e7a06664c3294660b62b0eefdd7d42a6f0e0eefb6d5845af4f2eabe25782ea0e76ef85bcdd65f31419fd5d3fbfbd79ee7eee75c54151887a67061d8fdefb39fc957d12f6b61f5ad9c1389d8bb77bfa338fd4e13b3ad4de9f2bec72773f27d104025fa1c5d9c8aa8d1a85d32c8df98eaad894d53872777047820a03831a18828ca695c72db8e4fe1d1fc93fce9263d16667d230261825409a603c436ad2693b33ac337140cc5642b422af9689bb5258f77b1e046d8cc65a4304f1c566fc638d90532a0a47003aa4411b5812ee9affb0209cbaa2deafe15733eae4d9cc00e6cd20ff975e61ed5290de209bf321471928797dc7738eba6004e36deea4173982deef8883ef048d3262d16cd0287a564ec3e470b103a5babf4020e6fa49c03ec74d2f18cf1cefc7b6a8e7f2732d8e5b0bf269b2fc94b1a497a5a22b8ce2d17e3c0dfdfc80c2ae6f642c586be0b8800c95e6ad4021c06b1ae51d829530059fe348165612a7456424bb5fa2e583d62a7637dd88a97929be62d994264dea8fc03cf3274e1afaa53db2238726ba82d8115a2b39405699b1bbde60d940d1e069f50a29f7815c0bd8639718061fc92af62523b491f3028cd21800a81455133abab90f8a77868aaae007e21415a7509575b24f531e1cdd2ed9fad9319eff481acaa52dfeda5dcd6b11cafb4a2f4f607deed9f6d5b93819c25d043f95664ce7e1a8c8b6a0e8c80c6465fc4efb69e650ed85e9489b9ddfee2f734a5ba60dc0dedfbb2ea2efb5c14e64aef173afc0198e4b8281be28a6bc1401e6a6da5ce9f83dffa370b0d3d72d30cfae9b60e6a79a5389ed7117086f98175b0a05b8d0fff3d16f6d210566b1616932c429b6fc8314aa91c4472fe31c6f5eabb92c4ed5362e4b5504813aecdc1b3ef6c57365266392e4b2d795fd2940dc6d37aa35fce84f08394ae164dad8f29e75e88b4651e930fdf9bdf7288f5eb8331481c8027d70e5781f9ed3ce2305ac0f515d344ea72da51049983416a43317185a52a1ca302b971dc653beedd1c8c70dc24757fc2f530c4b51368408913114aca51f90268178efa678ca46f8d146fa585a54e9fa4b9ff68e6335f642f3b06c8912ce119d7512d22ea131590612e2dbfaaacf02ad33a170db3e3c2b0b0ed19f0eafdbeb676b4b90bb2777f9c578c0bcb2fd696cd8ac977499c59bbdf6b08e92af3a98e884ba60fca5264477ea6cde32baa257eb81cf161864d636a5fc8c24cfbda299eb1294029505a162df97ded11795a063d3fd93e2d1fa5a1578030567015747de9ee00860523d3e111d2266715464e3c6f56c93bdeabd5de69197d0af759de4143b93ad66c9747a89bf349ff8f2c9b7b6378140d56417197b70baaa94f48fe012c760ba72a7a0d2734b1c8e0d8d1405cc8e4f9d3adb381d703104344bc6bdff4c2f5125df95d715c19a4cd0525f039c176659462011a5266dfb88acf5922f0ddcb102b35bd180d800ac5d2afb823a7ec64de5235cb9194797746641b9b98c01cd228c8fb762a14a7d7df8aa64ee9c877582a2ed3b6008bc110d62c1e9c38dc0f6560700884725a69dd98134f816ac9e387dd2a7138ff89b23acf380c5aecd9746cf73945655f11257281f16e3866914a0cfbc32464a945a3da2a8803397ecd6656a1c1d58597db16fd8142b6dc2d5f4b2a0335d8248287ba8738905b8db14eaaaef70e12d30301b8e8d2b7e26393365c0483a063220d9dac9a37e4dbec21e715eeedaefc2c15cf1ba4439f34e3b930d0821ec0f315daacccc86cc6694fa119dfdc26c93ae2a81b1d07eb5214c8b9efa37d3f12dfca6498985c351e90eb9fc704f3aa3b4dcc2b4ce40308a14712dd6ed28cef32da6cb6a399f99479d50e178152dc14dbf51d2bef11919ec9cab2401e78bc8bd2739a26e05d07b46b472638236dfed34a30eb27819d97365f4b31c815180779b34b77f34ea1d7162b341cfe508240ce2540ef3bfa5b85031ab4eca4156b597f444fe822411525c234da74b351500e2b643235ca40a06dd96eb0b98021bb9b50200f1fd39c255a9b87f12a1742f53038b12fbcd3c6687b17a9017d13f840a201675704c90e9c0a99ada348f75702bafdb859c2f146697f302d2b9c452ccca4f996a461839bd4f64f4c59434d3a54bd2c8e0d2f06bfd242fd751395602733ccbdb9569e9eab79f6001a2b81d7f6397de26d44385a5bc4c18998d44c9fc1f132240fa94a1637fcf3ea907bf71112e6cbc1e1277ab7d88c7af294836626f526899ab4635a67dccd5225bd7fe140459173275dba9c99c0b66725b6b3b7f5d795603ae9a62becd8584a9bf5e875e455fee5b5fdc0e0816804fcde03757f62a582c7aaf968301a5f7ed70ff248723c3049df8a5cd626bbcabca5791936574ab4c6a0184273c197481d1758f773c1469b79e6e0df18da96e634200c5786c93f551c36d04ef659e7c04839d46303f2a1431de62b1f91b57be67b30a6f23b3f34cc4ed1d1475a2baf2d8de04adb12c11a3ddc6a5bef8e9e24e4fde853b6b70d6b00553947597a9333d7e928401030bba774e766ae95794f25e57580e8caa123df37050417838896312959bea16d0777e987b31152fc14ae57d634c5e1a6ea531046959622baf68a5474b2d9dd8219456cbdbc86fcec5338e2a0710ee455a012acae097a9010477eaa1b8fc4cc1391b002af78d078cc9c2db192f1aaef2c84a0ef5bb1469f2f697aaa9849b59171286304522775c72d4270c3f146f267a7cd6b16d961960aae4b6a35fd7ccf7cf25c8d971565b9dca68aab0ca27985847c15580571dd7f2a64fe679e19180ca892f72649085f25cb78c82b6c1c2ecd840426a2f8b115a56344b5132d5adf64a5792653447eb6d9c9d438aad8ceb4a54d7f443ed09acf01e3a1e6e5913bf71da1b6e3ea953a5f6100ac6b7dafe7d706a030aa2e0af5cd2917a2a855a64a6c2500a48a3152409c6e346a28c579679bf1ababdee59804bd54e809affe74b031c141de7583ccd487d18ed907a3716aba259d61e0d257ace5f222328cc932519e7c5401bb78a62bf8a6cb000d596c79c1101f1b8f77f0e44cb0f4e74e050fd921f8af256ee8e2b1c024ef64c9fc1035ebcce75f0cfb59197c2a7b6844ecd178ded1b9bf9fb7467d8b7fcd020ebd8417befc4d660b19bab8682f3e2d057df3c3e46a6d410bc2ee7b6767b65327e180c21400502a285335eb34fbe27bdbed95f9ab08840a1905cb762b262e02b1eed2ec4d9b434bb1408f4edd1cad2501a1cd675ab7f7d94a9e47fdb7a51a38cf45dc6039928eb882e163c07597131f12b709905d0a5716a4d691b3490839798ba57cabda2cdc7f6134ac9072fb5fc6dda381ef5a9a5401c385e128b189e9896d867ef4f8dcf1a540bec5dc4c0bc0952046222f920d3082a5cd81c134685700a99979ab0557152601cb3c294c2fbbe8356a899b88a5afd57c165c3d532bd9fb926637ba70e04870fa600640b1ccea1e2c36f1999466558d1b0cae18b5de805a583888dcd74b1d5332f620fef03fde28fa69de334b027eed596e5f4a9abc058fa0e7fcc907d79a556551a19a3a7f46dab715b428f42c8f0acc8dfd1c3eae50b36045fd01ab01d8c18e60a03e6f1a84df0dda664da368f67ffbb6ffa398c377fe57e96fa33be410936dd74376e84acfead296276b7b2e9028e96bf5902c1af1fe7420ac4fff44de997c6109b10dae645f393f5f557929cf70249736166a4b3d8727a9b3af0ff93419fef66706d494c3553f084ee6ef6978f2dfc48571ad947f3c53b0117b8fd06b5536880344d9e015d2c56285691551454fefc3f180202a0e87c9997f2b79813417a967fe6c255ac664d8f143b5cd5dda6e1195a3ed1d0317ee8deb1579f3061ed2fedb73b981c352f3e93071acab3345e6b67d799ac83479869f14ccc98eb6624cc511bb6a2c75f6caadbfa0be3312c4bd2730e06e17f56ea8e775add43f1ac7d23cf52879242dd4214128783d9f0312d3b968e80f85b38447f21005eb5ab340500f6c25c733cdc1ee9319461c0627453fa9cdbad70131e90646f6701f013b5827a5654ea642003bc28e6341d171d693b2084cf3407c2ec7014b7965be4348107cad36dab60848d26d8e9364e134cb3b6a4cc4be244b22c9801710b1b5be4a79366a5c69e0d486a32d0cc7291892623f483382ba49ad794fe0c039c09d872531120c68bffdd74826f47a0d0a4d17ee460d2e4ed4f7880f21cce5dcb8f84a13a4b6674ae20d3e6dfe653610f09a456ba54bbafc5f242039c137e51e6d3d67a70b6c6a20d7cb1d8f0556cc26b1e80c40f92b8738588e87e8105e23fb1405da393bf3adf679736ad6fae74b381043fa456cc1c0a1e1c2920b599a9ea91026fd8167bbffb688fad641648dfd622601add945d98587f80e96f870d59e52fa412390af4d8fda4b6c7c5f6556dcca53cd06d54411016b2223720aa1d3267579c5f907058cdf724c3ecc6e64eda004fb5d2a74566c3f948a06fcdba5362ae399849fe6b6c9b998acff605b40a3b1f5f95f6c1e550113b19e5400766cd1c16ee965950c840400aee2fe8a517a0384d4283b6092d43baa3c2660db097aeebc268e819352c5639f08786d898faa451a087fe3b535afaf9890ba2e4a88aa3f606cc96d6939f36ed1dafff466b9777e3cc0615b24201fc196d1ee27e4ebe31160793604c49f82b4cd94550af3a56e14239c0400998ef5f55e45650cf1da5b26688f53f2e4284c791216db7314589a4ea8ece111f45d7f5829ddc42b8da5d2faf788d4d3393b1d42593ead1e6798bf9ddf31a1a2ce4e5a311a9e1032602d8d02393455633154d3fcb81d6787d985f9f23a71a90cdb1246d8231eac6b89b20a9268239603aa58402a2a8e600302683439a59b7333d0f52cf67ac61f7187618cacfe4c62d2bea4ee5a38dfa589a62a50cea64ed2bcfec1afd3c728ed51ed96be58146ff7598c235a560f6630fedfa8000974ec59bae47336b8fa75a8bbe45cbb109180b8d4fcdb5a1b2ed5c3e8fa78509d305f20932d447f8cbeb7de2b0802fcd411818191be50d18a0aa4e251b5edb710e28d19b418692cc0c70a3eab2449061a633f773db6556e1cbc42a815b14f4cd100e641fd4121a46ba85a144d3baccd268a2927810b26b71e5bedfd5fd920b8584a03ab9f26c98a035dadfdc6e8d511bd2203ff8173c82e98b5803662453a2aed5f21a0670e14c7020697b776c49b0e48cf079aacd3bef723f697476cedfb8813f56a908bf624b98d1fdefe5e6a48b58e4ec2be61d5f86ae3559e33122eff3f256874c63e8a55bc8f6750279f2cfcf3c9acc5da99a0bd37f8a7ecfc45e34d5d60bbdb57974dba31738c58b368bfdb5e46c95193e28f4b5dc7c5cd7cc99070fc5e359ee3b46ed83aa3034203bd85e17d0c4ebb0ebd0c488fb65687eb04c4be78b657f3abb6869deddca82e58d1f2825b2f119853e06fc2339dd92fc838e02023ceb51f36d88261e792135777b080cc0bcb9813ec4073394a1d1533ef6a5b6e89af53649e4483d351975461ed03973128d9323b76d9973c8a6911701247068a01bd7f87a86eb32bb51f47b549851973cced6d575b6b074189660b27c6985d68a732f63f3bd21ae1ce9af57915552b6b597399bd52f04397aef7108baf5bf2ce93c9039f610f853711a3e7fd5e18c20595a3ac12963b6d6c182cd0e3eb221323cdd47e2b5ac834277c73118a50766bf1e01030eb3c74b334443d339140f5f8613deadcc3928b2d342ef8a4687d80f5fe9dec768311920a83fc3d18116a809ff056e45d3f00c19c27d10380080be8faeb4c39cc1396b2f23ac7dee8b3443dbed2d7303c17b714431e51e013df715bd56e563186327e7794a3bea9a98df6de2aebe4e72e0359841208381c1ab2d20578132b9b8d162e3c7a3776b4b0e61fd62eb54986456404bdbbab5ccf04b68e170ec68e35961126c893d09c21d477aefb236e67f95609656a0d06f4f1ab12773206c8f381801aa8ad22b7c57c43c148a5d7e751c7d1ad8deaaa130ae7f34e3ac6d9e8c611bc91cdfce18e334eedc6efcb649e714b70819fb0440b41b57c69f0868e9d453ab418a99dbe1e7fc153b7cc8efdfb5791abd40ba087297940811a79d646a43e4246b7f8a7520201f85b9e13ee5873e1d9930e042e274900744308218efe5ba04b3e2a3729a28c93ce145e6a88b0d0a062132229e31e24079e4a422a57a2d828ffd752c73ac10d7a702be0a71861ab0064cc9826ef9eebebc45d2c4cb4c6cbdbc0421274f580b8b3e24b30f7753261a2f10fbd09e480667797636837fcb2d16edc5415de7f7d8a24a71f21532bdef06129c23e5f4416b0ca3363c3eb1a581303d62534ecf0b887420e5cbb82261c3cdef65886a98185bb8886232b3618d32d7b665d9c91563bae5df3880fcbe976ccaefdad84c8216805a576923bc697dd41d858284761d67ecb0aab33981f36800e63e43cc21c22bd170c4f771ca6e2509df7a93bc5667fa44e0ce94264a8c552295f05293cce5e28f9035008070a5f70e464386847dfa9763cbc2ef194aa96375a3808e3511906e504d64c150224799c66cc6eee4bf3bb4cfc2e4a1a2395c40ec6c71d7f689ca60daced9d9f3535b690fbf8782f778feaa17225c41cc05b283878f22550399009f007159e15efe2ad3cd78429207f90452dbcdf0dcce59874af0271decdd1628770b012b276a1e692d3e9c641c721325f5cf1c98286ec852cb769a8d48b2982f231e4a311308c329f5e974c73298e2d0568af4014c3fd133f945cdb0f20628244f6e64ab7c9397bd295d3c322dadae9a44c985277f164e52e22092f8de43270423f577c203b458413b210b263c3c63fd280cd16d33af30d55e5bdfbb042947d80a16de0e3790e25d80e93c1775e3cefd8d4e12e73d56e7801450ae95de0dbe309b376902f9c45e218167a24f880c2272e92bf93b370dc96e146798b4fdac08daba83198b56f31f9448f2256a2687ffcf4e7e759d200f7cceb4555b44bf81d71cd3a8e1fd34383rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootnodejs20-20.15.1-150600.3.3.2.src.rpmnodejs20-docs    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3ffU@f-f @eN@e@e@eee_>eLe;@e7e-%e@e @e;d d@dd@d@d@dkY@dgddbd^*@d[@dS@d?adam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dedimstar@opensuse.orgadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deotto.hollmann@suse.comadam.majer@suse.deadam.majer@suse.de- Update to 20.15.1: * Bypass incomplete fix of CVE-2024-27980 (bsc#1227560, CVE-2024-36138) * Bypass network import restriction via data URL (bsc#1227554, CVE-2024-22020) * fs.lstat bypasses permission model (bsc#1227562, CVE-2024-22018) * fs.fchown/fchmod bypasses permission model (bsc#1227561, CVE-2024-36137) * Permission model improperly processes UNC paths (bsc#1227563, CVE-2024-37372) - Changes in 20.15.0: * test_runner: support test plans * inspector: introduce the --inspect-wait flag * zlib: expose zlib.crc32() * cli: allow running wasm in limited vmem with --disable-wasm-trap-handler - Changes in 20.14.0 * src,permission: throw async errors on async APIs * test_runner: support forced exit - fix_ci_tests.patch, npm_search_paths.patch: refreshed - skip_no_console.patch: dropped, upstreamed- Update to 20.13.1: * buffer: improve base64 and base64url performance * crypto: deprecate implicitly shortened GCM tags * events,doc: mark CustomEvent as stable * fs: add stacktrace to fs/promises * report: add --report-exclude-network option * src: add uv_get_available_memory to report and process * stream: support typed arrays * util: support array of formats in util.styleText * v8: implement v8.queryObjects() for memory leak regression testing * watch: mark as stable - versioned.patch: refreshed - cares_sle12_capabilities.patch: SLES12 compatibility- Update to 20.12.1: * CVE-2024-27983 - Assertion failed in node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash- (High) (bsc#1222244) * CVE-2024-27982 - HTTP Request Smuggling via Content Length Obfuscation- (Medium) (bsc#1222384) * updated dependencies: + llhttp version 9.2.1 + undici version 5.28.4 (bsc#1222530, bsc#1222603, CVE-2024-30260, CVE-2024-30261) - node-gyp-addon-gypi.patch: adapted for new unit test layouts - fix_ci_tests.patch: add benchmark fix- Update to 20.12.0: * crypto: implement crypto.hash() * util: add loading and parsing environment variables * new connection attempt events: connectionAttempt, connectionAttemptFailed, connectionAttemptTimeout * sea: support embedding assets * support configurable snapshot through --build-snapshot-config flag * util.styleText(format, text): This function returns a formatted text considering the format passed. * vm: support using the default loader to handle dynamic import() - c-ares-fixes.patch: removed, upstreamed - nodejs-libpath.patch, versioned.patch: refreshed- Update to 20.11.1: (security updates) * (CVE-2024-21892, bsc#1219992) - Code injection and privilege escalation through Linux capabilities- (High) * (CVE-2024-22019, bsc#1219993) - http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks- (High) * (CVE-2024-21896, bsc#1219994) - Path traversal by monkey-patching Buffer internals- (High) * (CVE-2024-22017, bsc#1219995) - setuid() does not drop all privileges due to io_uring - (High) * (CVE-2023-46809, bsc#1219997) - Node.js is vulnerable to the Marvin Attack (timing variant of the Bleichenbacher attack against PKCS#1 v1.5 padding) - (Medium) * (CVE-2024-21891, bsc#1219998) - Multiple permission model bypasses due to improper path traversal sequence sanitization - (Medium) * (CVE-2024-21890, bsc#1219999) - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium) * (CVE-2024-22025, bsc#1220014) - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium) * undici version 5.28.3 (CVE-2024-24758, bsc#1220017) * libuv version 1.48.0 (CVE-2024-24806, bsc#1220053)- update to 20.11.0: * esm: add import.meta.dirname and import.meta.filename * fs: add c++ fast path for writeFileSync utf8 * module: remove useCustomLoadersIfPresent flag * module: bootstrap module loaders in shadow realm * src: add --disable-warning option * src: create per isolate proxy env template * src: make process binding data weak * stream: use Array for Readable buffer * stream: optimize creation * test_runner: adds built in lcov reporter * test_runner: add Date to the supported mock APIs * test_runner, cli: add --test-timeout flag - c-ares-fixes.patch, fix_ci_tests.patch: refreshed- fix_ci_tests.patch: disable test_crypto_fips for openssl 3.x, to be fixed soon (bsc#1219152)- c-ares-fixes.patch: add additional backports for unit test fixes- c-ares-fixes.patch: fixes unit tests for new c-ares- Update to 20.10.0: * --experimental-default-type flag to flip module defaults * The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. * Added flush option in file system functions for fs.writeFile functions * Added experimental WebSocket client * vm: fix V8 compilation cache support for vm.Script. This fixes performance regression since v16.x when support for importModuleDynamically was added to vm.Script For details, see https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.10.0 - nodejs20-zlib-1.3.patch: upstreamed, removed - fix_ci_tests.patch, node-gyp-addon-gypi.patch: refreshed- Update to 20.9.0: * No changes, just LTS transition- fix_ci_tests.patch: adapt for openssl 3.1.4- Add nodejs20-zlib-1.3.patch: Support zlib version with only major.minor versions, like zlib 1.3.- Security fixes relase 20.8.1 * (CVE-2023-44487, bsc#1216190): nghttp2 Security Release * (CVE-2023-45143, bsc#1216205): undici Security Release * (CVE-2023-39332, bsc#1216271): Path traversal through path stored in Uint8Array * (CVE-2023-39331, bsc#1216270): Permission model improperly protects against path traversal * (CVE-2023-38552, bsc#1216272): Integrity checks according to policies can be circumvented * (CVE-2023-39333, bsc#1216273): Code injection via WebAssembly export names - fix_ci_tests.patch: refreshed- Update to 20.8.0: * Stream performance improvements * Rework of memory management in vm APIs with the importModuleDynamically option * test_runner: + accept testOnly in run + add junit reporter - fix_ci_tests.patch: refreshed- Update to 20.7.0: * src: support multiple --env-file declarations * deps: upgrade npm to 10.1.0 * doc: move and rename loaders section * lib: add api to detect whether source-maps are enabled * src,permission: add multiple allow-fs-* flags * test_runner: expose location of tests - z13.patch: upstreamed- Update to 20.6.1: * f0ff63fbc32ea55f3d92c5c89fdb91ec47786859.patch: removed, upstreamed- f0ff63fbc32ea55f3d92c5c89fdb91ec47786859.patch: fixes issues with Angular and other software that tries to load ECM modules in somewhat circular fashion ending up with multiple executions.- Update to 20.6.0: * add support for .env files to configure envrionment variables * import.meta.resolve unflagged * deps: npm updated to 9.8.1 - nodejs.keyring: updated to include current upstream releasers- Temporarily bundle ICU for SLE15 SP6 (jsc#PED-4819)- Update to version 20.5.1: * (CVE-2023-32002, bsc#1214150): Policies can be bypassed via Module._load (High) * (CVE-2023-32558, bsc#1214155): process.binding() can bypass the permission model through path traversal (High) * (CVE-2023-32004, bsc#1214152): Permission model can be bypassed by specifying a path traversal sequence in a Buffer (High) * (CVE-2023-32006, bsc#1214156): Policies can be bypassed by module.constructor.createRequire (Medium) * (CVE-2023-32559, bsc#1214154): Policies can be bypassed via process.binding (Medium) * (CVE-2023-32005, bsc#1214153): fs.statfs can bypass the permission model (Low) * (CVE-2023-32003, bsc#1214151): fs.mkdtemp() and fs.mkdtempSync() can bypass the permission model (Low) - Changes in 20.5.0: * events: allow safely adding listener to abortSignal * fs: add a fast-path for readFileSync utf-8 * test_runner: add shards support - Changes in 20.4.0: * tls: add ALPNCallback server option for dynamic ALPN negotiation * adds support for ECMAScript Explicit Resource Management * adds Mock Timer support to test module For details see, https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.5.1 versioned.patch: refreshed- Update to version 20.3.1 (security fixes only). The following CVEs are fixed in this release: * (CVE-2023-30581, bsc#1212574): mainModule.__proto__ Bypass Experimental Policy Mechanism (High) * (CVE-2023-30584, bsc#1212575): Path Traversal Bypass in Experimental Permission Model (High) * (CVE-2023-30587, bsc#1212576): Bypass of Experimental Permission Model via Node.js Inspector (High) * (CVE-2023-30582, bsc#1212577): Inadequate Permission Model Allows Unauthorized File Watching (Medium) * (CVE-2023-30583, bsc#1212578): Bypass of Experimental Permission Model via fs.openAsBlob() (Medium) * (CVE-2023-30585, bsc#1212579): Privilege escalation via Malicious Registry Key manipulation during Node.js installer repair process (Medium) * (CVE-2023-30586, bsc#1212580): Bypass of Experimental Permission Model via Arbitrary OpenSSL Engines (Medium) * (CVE-2023-30588, bsc#1212581): Process interuption due to invalid Public Key information in x509 certificates (Medium) * (CVE-2023-30589, bsc#1212582): HTTP Request Smuggling via Empty headers separated by CR (Medium) * (CVE-2023-30590, bsc#1212583): DiffieHellman does not generate keys after setting a private key (Medium)- Update to version 20.3.0: * deps: upgrade to libuv 1.45.0, including significant performance improvements to file system operations on Linux * module: change default resolver to not throw on unknown scheme * stream: deprecate asIndexedPairs - versioned.patch, fix_ci_tests.patch: refreshed - openssl3_1-adapt_tests.patch: upstreamed and removed For details see, https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.3.0- Fix build on SLE12SP5- Update to version 20.2.0: * http: prevent writing to the body when not allowed by HTTP spec * sea: add option to disable the experimental SEA warning * test_runner: add skip, todo, and only shorthands to test * url: add value argument to URLSearchParams has and delete methods For details see, https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.2.0- fix_ci_tests.patch: increase default timeout on unit tests to 20min from 2min. This seems to have lead to build failures on some platforms, like s390x in Factory. (bsc#1211407)- z13.patch: fixes illegal instruction error on z13 and older s390- Adapt tests for OpenSSL 3.1 [bsc#1209430] * Add openssl3_1-adapt_tests.patch- Update to version 20.1.0 assert: deprecate CallTracker dns: expose getDefaultResultOrder doc: add KhafraDev to collaborators fs: add recursive option to readdir and opendir fs: add support for mode flag to specify the copy behavior of the cp methods http: add highWaterMark option http.createServer stream: preserve object mode in compose test_runner: add testNamePatterns to run API test_runner: execute before hook on test test_runner: support combining coverage reports wasi: make returnOnExit true by default- Package new version 20.0.0 For overview of changes and details since 19.x and earlier see https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.0.0 - imported the following patches from prior patches: + cares_public_headers.patch + fix_ci_tests.patch + flaky_test_rerun.patch + legacy_python.patch + linker_lto_jobs.patch + manual_configure.patch + node-gyp-addon-gypi.patch + node-gyp-config.patch + nodejs-libpath.patch + npm_search_paths.patch + openssl_binary_detection.patch + qemu_timeouts_arches.patch + skip_no_console.patch + sle12_python3_compat.patch + test-skip-y2038-on-32bit-time_t.patch + versioned.patchh01-ch5a 1721039492  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~20.15.1-150600.3.3.2nodejs20-docsapiaddons.htmladdons.jsonaddons.mdall.htmlall.jsonassert.htmlassert.jsonassert.mdassetsapi.jshljs.cssjs-flavor-cjs.svgjs-flavor-esm.svgstyle.cssasync_context.htmlasync_context.jsonasync_context.mdasync_hooks.htmlasync_hooks.jsonasync_hooks.mdbuffer.htmlbuffer.jsonbuffer.mdchild_process.htmlchild_process.jsonchild_process.mdcli.htmlcli.jsoncli.mdcluster.htmlcluster.jsoncluster.mdconsole.htmlconsole.jsonconsole.mdcorepack.htmlcorepack.jsoncorepack.mdcrypto.htmlcrypto.jsoncrypto.mddebugger.htmldebugger.jsondebugger.mddeprecations.htmldeprecations.jsondeprecations.mddgram.htmldgram.jsondgram.mddiagnostics_channel.htmldiagnostics_channel.jsondiagnostics_channel.mddns.htmldns.jsondns.mddocumentation.htmldocumentation.jsondocumentation.mddomain.htmldomain.jsondomain.mdembedding.htmlembedding.jsonembedding.mderrors.htmlerrors.jsonerrors.mdesm.htmlesm.jsonesm.mdevents.htmlevents.jsonevents.mdfs.htmlfs.jsonfs.mdglobals.htmlglobals.jsonglobals.mdhttp.htmlhttp.jsonhttp.mdhttp2.htmlhttp2.jsonhttp2.mdhttps.htmlhttps.jsonhttps.mdindex.htmlindex.jsonindex.mdinspector.htmlinspector.jsoninspector.mdintl.htmlintl.jsonintl.mdmodule.htmlmodule.jsonmodule.mdmodules.htmlmodules.jsonmodules.mdn-api.htmln-api.jsonn-api.mdnet.htmlnet.jsonnet.mdos.htmlos.jsonos.mdpackages.htmlpackages.jsonpackages.mdpath.htmlpath.jsonpath.mdperf_hooks.htmlperf_hooks.jsonperf_hooks.mdpermissions.htmlpermissions.jsonpermissions.mdpolicy.htmlpolicy.jsonpolicy.mdprocess.htmlprocess.jsonprocess.mdpunycode.htmlpunycode.jsonpunycode.mdquerystring.htmlquerystring.jsonquerystring.mdreadline.htmlreadline.jsonreadline.mdrepl.htmlrepl.jsonrepl.mdreport.htmlreport.jsonreport.mdsingle-executable-applications.htmlsingle-executable-applications.jsonsingle-executable-applications.mdstream.htmlstream.jsonstream.mdstring_decoder.htmlstring_decoder.jsonstring_decoder.mdsynopsis.htmlsynopsis.jsonsynopsis.mdtest.htmltest.jsontest.mdtimers.htmltimers.jsontimers.mdtls.htmltls.jsontls.mdtracing.htmltracing.jsontracing.mdtty.htmltty.jsontty.mdurl.htmlurl.jsonurl.mdutil.htmlutil.jsonutil.mdv8.htmlv8.jsonv8.mdvm.htmlvm.jsonvm.mdwasi.htmlwasi.jsonwasi.mdwebcrypto.htmlwebcrypto.jsonwebcrypto.mdwebstreams.htmlwebstreams.jsonwebstreams.mdworker_threads.htmlworker_threads.jsonworker_threads.mdzlib.htmlzlib.jsonzlib.md/usr/share/doc/packages//usr/share/doc/packages/nodejs20-docs//usr/share/doc/packages/nodejs20-docs/api//usr/share/doc/packages/nodejs20-docs/api/assets/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:34776/SUSE_SLE-15-SP6_Update/66570f7c0769dd9ecb668648824c3821-nodejs20.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux                                                 directoryHTML document, UTF-8 Unicode text, with very long linesC++ source, UTF-8 Unicode textHTML document, ASCII text, with very long linesJava source, ASCII textASCII textexported SGML document, ASCII text, with very long linesUTF-8 Unicode textC++ source, ASCII textJava source, UTF-8 Unicode textexported SGML document, UTF-8 Unicode textexported SGML document, ASCII textC source, UTF-8 Unicode textASCII text, with very long linesJava source, ASCII text, with very long linesUTF-8 Unicode text, with very long linesHTML document, ASCII textC source, ASCII textAlgol 68 source, UTF-8 Unicode textR%dx,MRH:utf-880175c9714c4d4447720f7f286614545f1beb3f48bf4331885df3eda55a55e12?P7zXZ !t/5&9]"k%bka^Q0G[2PCS)s7EY-6jqb̘,51Vc*0͓ȗ)x čA&{ HacyCU9K/Vɧ )|9bmbhOW4VRְ3IqN`UJ"Ԕş-qa%'rtࣺnXs& >\:HݠD)5\Spz^Q+/?BYvHOpB(u~j}fݷL) )b/=6)!_d} kZk+ǭJ* a&a# b PʨB @9q 3FTYC?4]h?}Awo%;6[%Ɔ+g-"ߟ*o(l7("Dž198sUhO&|'~iZߋЇ .=\I>_!fsļ 3C(i?΂f3:|[H sŬMAC}bIԛT/`P6e\-y9y [h |;9I֥]:#)qv @tlT޸B%~bB-](UI4BSVzW,wZ&+Erz8iǰw9D݅OҴ+{6N4} zP[N}Vp_UmWvᑉYuN|ZC*D o4g`kn]I?kAj3F>{MDkaE3]l*kܣNb٪i01吼D(\ 2CڑnRYu603Ye IA^/LG'\%9 [Tӓe' EZT}!m)*IUW'3 L 1=r-oSdY5x+ް%3ɐ "D=n+0 iuTdM[!uϊ?8&[qKe B_==SfLaE2= EKߥ vOOmDMv-Ns, 3 g Ugb_k1gv o2V7HrS> :U«5LAdCSvYS~Taز]LM'Ɠ"j\ .22H(`'YN6R6jR`:Y 'FY`M7"9 `dvO,- %,\V*W I% Y29GzV-2W21ȵ6q<(|uZQ]Zg8 u _mՐer%<ڰg`ŋs8PeDUqH0B^U|hDI֔*ѧy>pUC'@y0ږZ^M";.YMX%uB Ŀ[}5)WEȩk @ NcgWu`rT١ѯs꫊S\vDp: \!# iW@sy87Κ%! 3n@HRfM$&2l墀CQH~@ăH\GuF47H睦lw&-_TEgKRryɀ_%i>8}U>S)ۮ" dE(: f<7i--<.f"AѿWOgL/V*"Z"ע|EzbpQ\G@2wVϐ/YAZۈ*7h4eZ\ b+ʓO 4jjKI~i[ysa.F{Xh&#w(\'h~2S6_'B3(/hDWwQy9SXeWrk[-JL1(uzs@zc{uvQ` l I +^z/=[`.vp:N*T@j㏸q*@;Zb&ŪtU2 Pi \ٛt~oB'`hi$bߨGMRhfQa%do<圓Ƌ3xR?o~2kt׈B2@|YjYv4Z7 i "p|i=1Y+(#2tf]+ ]fsn\3? IxU.a=eظ}hR_=ɡ3.K,?CCg5>J?^wed.{Sy|{XȫD\U3$|wJ1sJjd7W\Sv| (?s6` .mKyrP!+Sむ.B P?vu[x >NGqms#/@آd큒,6( qKew/tuTv56H90 gwJk[!#r&CsL\\)Z1*4ki]Bgp5$ңhpDŽ,b~謈FcWgIpQjdJ`_Aܜ2p=Qg"c(DVپWLB*&=׻k *qqY{)6O<R$#d'?dߧeĩC!s~Đ߲g{ PD,Ʀ (B !v>Zh܋CRm:!5\?L" R̹IR1^*;}kM$NdmL .OXO}"& ʙ@N8j뢑?߹U %~zAńoZb8F̂wyYx78Vv0V o[?Gȡ뿚D.ga0Qvwf8լq=K3 cpLy-"3Zz}vV Y>nZn ^'3~R,w;n U>_hꍩ(l=hyې>KV{KbH]i;"a&,`Z0PoQk$YKlש+OgMƲE?t+˸ezwhz'\1Bv ʸbV~TiL&}I?αATtKv<ԕU{ab,D=pZrP!pmJ}mI@@L-tY%Ēkj|~# bc\m3fT2: N$vOJK[J|:(i_IT O'dpB 3,'62o>R`xiuZ5 (GG!1UÌGkw?y%`uӺ7t˨(]-"?/DJ~O5W]?" YU*G+'SJkxE!)f#WYO\4[ ݀K+T!Tq;+*UY&D(OؘcZ_|0~͎dݿUy-4xQnTJ9ąȀ>.$|Qkm2;]9"rŔ;i2sϹpAAܓU%-<#}L™jmhc\~Բq4gGbo QVYvG32ә71ľ??;ZNjyw@uﺴ#ibRЄFDurFx;h3£qJoRjFۣOqa =$w|< |݋~ >}.yv%)n=Z5K"?{Pb*H,Jx"Lul ᰏUl-T F`-Z&F=I$-K_ڍGCƛ 3\kC>>Hl2Z;wl]/vMHKtl<)2fg [[C=o^Uޞyx]p.Tx}j~ۍ_Y@^!Q0Uk>j4Xmpuo5~)6luƂc}=Ih%R-Ą3*l4$Fw:mlܢQ<=Yg+oȄGʡ}IʨHU ,LmCԪ6Ab6Խwy }8C.6(nhYfm˻KB$ $l]bC7 X-IPB^}':5-Q=B`#IvS)ᬺ_j.e;TcOCmkM!MXV/$m:e=1I݈ټg_ 1.YWV@ǭf#IV)/+=FRktAIt: bY*lR[T܅U9ddZ9z> 4#!wZ.^6=6UbcT%@:/%ɣBc.Kdx'Bj% #_PlbQ '*9hÆy$Y;m\laŞ/[&Ɛ5owas?# g}ithSC[tC 0\-SK^(p~:GDfgC8kV}G5 4 P@MAw$[/ZAT%p`}@-K({ mG$)vU(/*.$g5eFW&}; o?Pv*ڝ9F%,XAb+i±708v&, VZUllM>CHOv~7Axeh YĎ9< eiQ}68>_Q־ZB S>5 hRx]Tݮ2ry{q蹰,@ȭlN%M)(]sHB5tls7þjc!B[\5U5B)bvj\XTgu&;%10w ȍG,?X)Lmڂ#{HC%{0@/S'Rujz3w#ꮾ#j/eln{[N`{k=w2GОԁ g[?$bJ Ge&% ėJ6.7\>|MLMw0,_ꪗUY5>U(7 c5Tn'%I=H]OBh?!mWBG3=m'؍ޏw>s9b/ Jg"66E%);%D)a P"VߚIIB[o"U *ҋ $DjZ %G~h<٘XOı&S-8?v*φ^| {\Vu勃֙{^)mCz!C-y}="XQυjcIҷ9Su!n]{s$V$`|t)+gyĦDt7oD~Wc){Zr<KQgɿOtkvȫ9e4Q//I0:BߐmdX \A` b-; Jh93cF rԦcW]vJR* NStt,ơCV@@-28Pdr4"B0Czy@$M~sP ;,+eChIHsns[&twC |mdW*Zh s>rB׍ݤD58*t(V;U|8*pӣiO!) ijh @? Mw"9%6=pb.tq0n4߫DnH1jvK,:PͪTU/ (bYO;k1bXd c\ˤ-@=4@ Rc-iH'1̲9}9A)ݥo"q|I肃tp™ZT*N:au8nVR;:uuVevs~_1bGa !%?gVfnk]>iky;յrzR9b<B6[Ya"'f%}ҴkJO-^G^&HQJ%ݿN+ʕ =!̘@A՘Q#y?PrZڷ:^O" c`XvTq+ZM{{9TG\/- I2sKV@$ŌG.,fOԺ{fJY`t.pn+:+=d {g}fb'^Z}3wL5Zm&1gkVJO,/vA_&j Ƀ(6gj )i( ˵SGp}O&8~'^m 6O:;7ϼU$?)\n\2 HlM[Is!9x)"7BAؤ ]&l!szgdKX0lPa합-֩_M|mG̹~~,dlb`4ȲkP9/s+.3' )՞Feھ}]w--% jx\7ۘ9!P1-9Z OK$=pߠ;q 9bAĊ8 9S=6xds)DB)ͬPʐ́['m12O ە>V @$ڞ.`뙵6S*xEՑ=Em;,Tf]1_'HāV#z֑Dr,X)x G+Aкmɚ5OidJs%sI;n0 C5 [^xּ}C.9<3Ý|; zGBC+#70 cUJ>/E3e^S6,Vi+Dj)HA^'q,Ћ6f OB|#Ђo$)e_S5Zd0BiR H.dhz9|z? e->zv^DrX9 ި_\ +}]ӂtȹU*@zLrn(\Ei#qxT9^5c~adV}QE#m OU% ҢW$v1jEk<;{)" 1 Q2j?9ʌ }kxvj kۻҶG;}m{WsF LZҼ`wcU:^inxk|[e:aOv834 A|~55é5)=@G^4^~8ޘ$X(䠠b~:IAR314f$f8K)|QP=)k Xo:9̠1[wuo^S&μȞE.1(_ IҙQK"knTrjS UW v՝ paNu4%~8VC ~`F@J<6P|2h%;dGA|ߡ*;X `oQo7tgW#Txoپ+?oG~ fMn]iBF}OH1?eU-px7Q̍ & "K0Z`i̟<ǡo(othrb7<4|Tjw*#mߗçádf4˒/:xācΥ[16詚 ڒJʪ],%bE*k! ?  Ezadr(jKcQZ sEk`9@иE)C Cu"S_7AƊy݀GК|htaՁVUB?(z6$ UMEry+D 5Fnur)u)8#:X%^t-O|w55 V ":;HB.Rޑ̰`-o@돆8%b&X2h%>ޜ&7;:,WRSL"`(@[1X}OC$(K7v"Bit[C0>\_Tq4;MVk!@}hћyk QUFX.3zxA"B0fa"-OrcÀ@\uB\st2%$Ca]Ҳ7{c,FjO΢jr,d"TggXG*\ZBXx(\+og-#_ 4?K6}[CA#8VxaLoۆ@;<κWih#^4?|7b)*7Z/+,*pǜmB)beyV4p Hb_C /5eB :5jX55{MWHi8}v̀U- :+H/nzO%Fk;5AYr!\[|#-/Vc=UN3[z&EB<3@x0gq&!v 2$Z/ /i4$+#icޮ`߅̆E%rfC֣' *$9uD!\w%A69_[GU{q Kj?1#04Aٻc'E 98 *$At5P2K;ϣ,[jiF*ʪco6a ,J72[m  ;r=O*:O[+gPuFԌ\z}u5:Kq#:µn'EuEsΊZ}Fq+k7r<>K~f Lr|Ѹ8hWe 1pRpר'}v`"lv%IC߼BL`ġ"OVԃb O-r2d 3Lgd*w1wx͹J}a"}3{`q4 hM+op"`4!OΟKB{a3Ghڃ+ Ӿe!뀥KÀmrv@wh~ Y E_ tY;X/#fT ^9/gÏnY;&ģw/NX\0K Wvq0?&ˡi9kW8Y0g*OSsEHPc)@PZt&)gFs.Ο? FO~aX[L|Y}#z^16DvE3S[R}QX.E&19M) JN =XAQ[ƴh X JN!vU*)XF(Osz(_`s$ S#v_D?N'GyX7/6+.=xL36D7$1جO Id*?I)k`qojIV 1ax(oYMAZ^B|&ϒ6RBȇw܌=yQkgIVw8tOMڛw1&~ c2HOGx5"@FHD~碕ȇ %l**bvB}+.*]0lpTb7NE|7s$k/%)'[椎RCMR>-v0 .@A]sXa'Qk6;l,TA6 k_ 0G\{:"MI4sUzɚޛ{u e |7#ۇ@W襻GxvhT@#c*/\hZ^.pI(Y8Oln&^075TYdّ"$>=Xzsvc= #Njob^mq7-eϱkO?m%a"pnjRW'P06͛ڢ u%?j:Jj9>ŷsւTqY,1NjKȇI |FiԌIOÝ| (c_z:/ ef.ryƇ*S[ꩢ6jmq2LZb#{R4&gQ~Itj;AC>%;9e7Y ]2*w9PӺ Q;-E} r^@e*BDm<;"I4zU4U {P{< !:rT^ڕ cP$©+iG4)k(Gi2{uVzvY htZPpS;Y#=Ѽ:3r?lmkd:tqˇF@/ #Mo=;ql"?K<~i ^w5l Pg~(6uTxT\JAiZf3oƺC_X3ᒠȪϡ`>g〚<α`]ͱJRvZ$@JyTܶ4 Jmr7~b^7m,t&[U9dvQ5p3uKlA@a[ܤ~=yp/M XM_vN\\(D<7v{#d1t q\k^k`uL.#ȡ(Y?u$KpS Z!־fX7r!*bZ߀em.tŞQk6x%P5G=Lcx0;'_Vm}ڴ? ;0ú LLثV- )_~&?[ Hơ/ivNGev&9;8 1!xv$O+zUH]+Q9AfoM P33|*'@|Ak-A~êi+0pJU\UtJF(G8Zdc n {<,±VJbLd73eF z8=\#ݖP먚`F1"(|Z^7X|@JK,(o%Qx>M}/%1|N*>ڕһF&|@T/;Kl4oH2V¯Y͸;5újow/΍HTG(&A̕m:_khENgALG 4y7\2)NŕZ蚝k6\п33lQL+/Ú2+d !/ N!]oS(\% h6"!-1 9 tXt,\AR))3iB's}\d$^ UN##']?jiXc=;,/XȂ)^%`3"dkuT.4@UXi ݺC:1piz__DPE3q1୑vrUi"hSk+{xIÿ0Ll/{X˳vc eL(|bD' ,,^ΎǕ[?-hHqS"7+q*ViHw߁@"4EC:"$75 y4r:d+čjeP o.HqOJ9=.܍6(_P}ɪ`AzY%J+|LkgFϘ!2 ifpcxlU[NmTي~v^,`ѤLZxZbmi9wQU$ Dg6Lɦ]c@L-`6?'\_U'Wx+^W MC.OTƚkÔ_3srǫ3:%̜`j=!hu1Fa 0!S*R޸\E`h5&a(ZfLizH&*xئAm4ϋ$[I cBΪ#u+b-U\^l}NΌ~+čsk;Fm?jj4:'e?U(շX =\?ɫl:^Zɱ$ThXjZG%3|e. ][)x"wO అ>qܢ^ڻ\a6c\'z1hYj茂Rґ3گ~>%!wuX3&1|e .nօ\E2 34to!كp8̣z\޿Cw~C_cyr' S)#< 8[7 x98YhC Iv$7򷈶AyjPQ6hܝS=.9%2^Ѫ3v3=˳HY%塙7ëL˚มF5yZ MoM 邵q>/pL˘+ӠqCoC'':Yn+688d9G⩤oa:Vot|L)m  9.# !2f\W>#cCwU$jh<2O8ʁ6К`F]b"]*4|4߇Ln%*t}yx⾑T໋ Y{}V_Db+Z pvy"?q"tLe>ecJaT% xp||y%_Q^A8@VM^ QmNZc-|Tq(Bcng8'@$&Җ S˸^=L&+ U=sNo['7j pn!#xC[/;\sȨ<|oɟ*%QYD7\lr|xD+J#wT]dׯp<Wx. ůGwHVuo>4L~@7;ov(62p+ic{$N$od? Ƹq-Q* EW'g9}a`ChswNT]gFRo/Gȩb?J£P8b*TLp"]'9%OiP][O>r_>h+mx2T# q$xtiCTQN36JXH+U ĭ $0(Ռ|tOQ3#3bF_ޝG;T!Evb pv)o_o7zaQW3%@t|\(/k.*yM~rϜENXrvH+#V]ӂJƗJ񱛉mgxvu؎Kf{ *dASGC.?X)b >VP[:"AN`7Ls RQ#Q 3!>u֊V7ZscZhu.ChT/Pуip0/t"'PtE3.=YVg%Tp]8jdM0#X1Vퟳ+f AmݲWpho)%XCV qj0AoqfM9Ϲ42T9EJޡ]$刹Xshmb$ʛPt}rL3h!īU?nof%(vmm(fW<' <^e.Bf1|\^h< 7)@\dsA*RN6c) Ya6 "]{eJ^Ä́[X!&y8֬8S=3" ^hjK8JvIg(]n}+?Max3}w4BD7Gë^ņ½tMV$$5qizHȶ [.VA*5B~aEcw\œȽFମz=6X.Cqu9 r+z<03r<-w;͐lX@] YݞayLMB n T}Y4v.i7+{IA\ \mt(z RG1r(^;L |;> <~ZE| ZZ0k]C)wh@FNm4TBLJX shɪZ-nc:F B_*9I|~;%,% g`NpM£}76p='8T@"8}nGrŮőwq]w?D s2zi@La.tdeC=|>HrOʮƜEW)5#1PŐb#4e2mڀ-P_细ِc* &s)C("d(/}E[jӛ=@*p+r]g}:|!t-Q <#[/UL+[{%-tl7OT׾.v&7β*-l$aTjk0Ac$\d(Bjո~Es,;^k8wUev(-i);;wӍC::y浌DCa1Yl]}^dO\ Af+;/DYy(/RudAďs<]8m?-YQ_V.W# eILm@#l[ayę۽d:XK5yſ!@!k͢;$y>hzJ $bg 2ʡ2If6ҞI{Rz@;\)[/#;lFBt_EeY.~HgP ̅v-0 `Vv|j*MvʪMN-8s$AwߜBrSnxMRx U^n hwҿv@˝)~e#ޤ.I2Kpɯ^,^x' C-܅-&Z'?TgOBuA!|&6~Ib7_ ʜؽy8 q%Ŏu.vQAA (H ,ɠUKJίRXK3d`ca[F##`;ϻ:PhG|XK+t 3+G|q,@.VZ^1?;<x1b pHGqCpA+8D9CCa4?w,iaZE7^ )]7U{xe>]Vy #&q ĽYmI*uXm]& ⤳ms-PF < wSp ~ B'tX7m:m *2I$M{s(΋gɧc:LҮfP1} E; ޤ 3|׺ >/~@.Y]Qy-#"0._igYf޹jx5 m@W_@AOUSX9!eXV~G+E`ܹdCqyYÀD뇪tpjh|J 5%T)[+9ca;idrZJ5 m?VE[u10;lphr^h"enBĂCǻeEG q7rFcyVMO{ѠNhJoT!#K4pg'_ZĤg8 ci0S&y8ɖB6:m Z qu5cW]+q?[./Lw/L [N"C۬џoAh[PuZ ˶ BSEA 3Bn =^<\fEȋ%CʦSb+( [`OVX[fka! eh۱%퀷#-$A;[FގG<(#mc,C\mֵ7`2U5>jl`换4sIpܤ{j*@x* Kc 5r+VrkKv(b,!+Ib=uQZ@O|m]p':<40@[sr%~ϊD [#yho(3Ƒ2 6Q\YlkVig&oZ%tyk`̄.C;ֺjCٜ״aGL0b$ӲMrwL#=ň{O&|h' ̦Βu'fiB;G`[ʝɤ=UsE1;;[ܫ : ܅Vf޻8釸oI s@'cXV\q2]PצĆ F}1`2P_^b.p_=!%eӥ :/0̘ǏĐ{u4LhKlT=d3T%K =$Oh3ya 3Ɵ*WdSc ~R)w<p2gk玔Ev8M4_{(~)eĜ)A J_Pؑ(”6]l互 7 A7^\26 ]|l.f[8n>ЧLL>?sGf mlU !F&5YzmV豺˃5m#MY<~t>ەHS9[X]Өӊ'c`S]EJ#{['_FêM@,/`{()^ō b\b""#TY xa;/D#Ãٯshj7f<仵Xc1]e,A>.!4hǺ 3_ ܘ< AKҙ 7Ƽ|%j,%%!E;;ag4%n,aEUh=Ϣn.1q}Alی={_k?gY\ 8!EW.呖 oe-0u$rB[bgjaM"DŽ jj`o ʻP<ݎ˳%Y'A<'6GE *Kn4:GEl<.$!v  i]2nׯv2=lCc^N_"7P(=J/~~h)hn}- KA5X=a+"N Cb !GfO8ꡇW+fZ#,6͝1$(;.Cv6eaT5z ʬT%/ܭV [8qȓM=l]2l1楨鄹_$K{d1ܣ0ק^"xQY'l1fe43Y[lvn nfUjau!>{y\nsT !ȺxƓO8$ %G#N℻nue&V,r>޶f2f@Xt44'oאVAO 9#c3myYo  @OYJ\I+sdSmst kTjV3? rr3w*Agxw$ϫ951+-ׂv4IDɜj p۱Yş%ye@1uG̈́]sT@+D\^D; gG#ހBE^Xvp|9+xzl 'el5<V7T!ۗ#aazH"0G"LxKЩ)J 0jt;-i #P2709j 74e#⫗s (:_c@ 0JJcRoh6R~7!W.Vν9}yR}Y4'BUW2ۤVߏؐ?9vJZm-؎).3Rn0v [l&.̥3'XI~} ϺK%-eK]N fP- 4dNt*rͤ{Gb"ELb/$vw?/{$/+ պTE{EaNpP  Z>+Gik8iᆷMbLs-II>ğc 儺!>HE 1֧ [źGFwsfYr`W܄䰼`C0tߌuȣ2 9$L@>e*(u9<6͢I5!.oY yeg_o&9n2C#3ѕM{IU5"^TK}QLyPM_nes)[ΐu7EPl4gA=ir诣*ΰŽ=q\.ۤ OC^0OE-]&b" .1עN`@e[&MA`)VZ&"@+;wa! E>?#Ecᣨ51uKrVJIM&BʹY~7EldL0 8]95I\ӈP6> v7xe.ȫ"9)dHJp{AQV5>7սuM2; \Q$%OU,!ʦG \Hc<ZI06x(σ=- 7H~.@͢YM EaZQ$>VϹN K t 9V1!Iz@c(fx3Dneb`ZW(@~DԘ7 3c2OAGDq+щ9@rwxZ\KUYo}x~^_IYe.]:^4c3{9`CMȬ#IRF۸B֏gD85>P# E86N$#~=8O%p4Fv^qßHnpf~*n }5ӮWmy]?j*ͅF\*4#7M- 8g?'>n󾱛rM[Dq0S<<>42<>,~|26|ʫSwb4QX&j9aReJi5o Kħ0K! FvWO:N3UYџBG}gS|΃雴ϸzZHT6bS#wBX'FZJlX ,pIH ?5 t'z'jPJĊt6SZdU ::l9D= `Zł!m tÏI$u*hjGk(8?M|NQCu$ Ef a6yr)d1uC'rϝ ev>fc7Y뮳Gw"|Eiƿ]k[ZɦL5| 3zqi *PDZQ7;ή$p2D$4좆1⻬$v>6^ j GTqSTU'wiHpQU\K 5O$5Mt>7MnV1 R+d&JYEW!CʍEiIdo0`|GՍ^?"8P-탶q'd@}U˫R}h3=; f,Ho5>^;Zm3 VYD nl̖uFYiafiɇ\ES3TK(Tb鰞@5ɫp/{ўeh9N4H~fL+7DQ+D[w|pgӲB$4;CEa܃;_ӓӶQԨ <`3/$#Z0|ekģhRnsY/0r62 r8_7}? ;HԈZC~_dhɪ=_6*̥m]u-]{^ޒ:j[/jg z~~ǰQ1|{t**ŮD#)QvXWH_Xƒj,A"sq`,<> OS'\Ls 7BBta̐x(ؓ(i"ѹ=gV \< kĿߦ( @osz^\weZ+8+Wƾ3*a1`ZۤaN#N ۄTp\ x7^DxLHj ;;X#{${e/u.p$-+ d md}SZѨG5"0gXIMܘX`k Zi5/Lw=CFA>ֶE<8h׀-;.Pa. -cmg(ifQW-~طq-LhҺݧڤs <\WxcG}V}@ h[%ty+Ij>K E8.L*]3!LLuzC3IuxJyw mqJK+ǛLj_ g,fbAb}k޻lM T{,KD"r\cHیʆ[E:JV2iC4{$WBCQULN9PϜ,0Nd:%Ƣ&,k=0~'NB =uFi4F׫ [i,wJ6愽`Pyig$[ZC_54FΝ;49rQw2[ > jXP^)yUzpp.gvv5 | ^ڃWo HD GswXC+$AE\o4e|(h. ]l>1/<ӹ%*hQ6=`B > dfymaݢ]Ef#")"XrlN19)uHU/)T?c['qϤZ؂*4Y:5N|\sqz4= :h>2)xy^ E:܄^\~7mgW~:J Ύ,_ڟh')鏆hFK]I K/hb>ϸ4>w=3RU[px2O7o/ɒ` .ֵH!kWhra>ܾiȓ}t:ӆ%5 "$wGL<ji1X7"KFdw 9/dLe=>I`d;a': 42:w迚La%|3pl;Q8v d>7s*YypW:*; `/s܍Hn,\tANx6t'`H\(& V5(\SiJQgkY<$p~;R"#tmّX `$viݝ 7\]Vtv\h=z(Ҭged_/{FYe/Ymo٩WV}] wf$S50mI6$M=˃8*V̥y ߋ7:٬em*gexc"\,NAfM!TͳR?\lWl&TeS>m# Zx c9^e/sJ+ujz:Ro^K?* ӫѐ}[#MF'Ƙ71b; !8 HK #W! *8-+.u/S!E[ v^XJdZsB;%$e_HwFE_&N8B!IVnBRH"\ɣ pCu4ZXR@" ;I^K`]$,ӾH])CXSQ;}G.:ܿsζWޡ B i N: DYڻN"\Ms"XfO-%`î\@$(4,KM#Еژ$8%BàJl`!_]alKm퐧LҾPā-6b @g']s8dLU 4;†򘥤LB=wMeNqDl6%c7bF\5 \Ig^ YuN'Ώ:w;ЋGoAW˜jyVwDGzҵ臧Rz͹ 0~D͛˘HOKYY鋇{/gW&9•5 AlW7c we $>, bxM>;\DKvPฤ}bE7NQ'@-E_!hUJ#B'MԝDU~!"5G.ʺ-Şۨ=8"pC3zv^U?ߋ`Oz!U T1f2`h5{AP.^׋+4O}{mvI ]9 .Y*>!%NAJH`@1R]ˏ6P1w,L ;'O Q 6G( Hf61+,>s[G@}C~7&*LLr%^Q͌DJ8?p:aDau/5(!SmR=Y5-B#5w?K- %(ϻ$X+OkTlIːѤdKOl } ]kY[)rwQ0 &O N0="N? ]DLWv'Ϟ5$nQfU}RBSܬA_z;Q؜ ^ WjQ ҢZe}?PzB#Qz. |CL=3D.%9aTzc-s50yȑ7|y52;0RLu'}솟E&RЫ Aj}-^0,Γ% eY>Ge=zz~ͺbrxIh>lFX>,PKqdQ?7ò +=v>ab 'sawݑv3) I/vNٻU9i.f n2*uOkF;+rFa"M/.EZqa?|()b+M8+r*݃qf0TVH _YUuQ nT`71EA4yEJ Sci!=CA^`z36UgXR\BP#hkU@Ylъ``q*cyAUFVVbh)@7ƪxB\ˢ";ʹ%4"koY|I3樭= 0:@ f[ؤ<}: MGZ mDLg@k"h˜Ѧ=vբӶ%%=*(:+?lӊnv.HE3/rOP^&be#5G3|ß^6BaIp#%I7}(GS$${ Wn{/Z-2"dp:VeDr( q-Wpd􄬔6z)o[Ct pjE\(=d+lY?tVyL\ELrt1H]ܵM:O@&H2v/S 9Z~j\܊䉱A E8E/E`CCE#(p#먫^PAxڭT6WX_&VJg j %cJdڅ|[:[o,\@\X kmTlu?R6J`gmC_>e)b#ӢY26$%s Ԟo9Y\nRu$zI}SXrҮ1EOY"G2L]ҳо{q_WN4u,7Ț֍(̃e {cxսcC4 =6^Xz0fZfJDYԟ/; kJK!@b%N^{@Ɋϻ'Y,<ůditSrЯ6p}IzD^Q, >Cf/~KF.+k.rKR:6ă˦:-5|qA[Tt{ScZEb3I-(|`bcnQ#tTְC Qh١•r#iuDn|yoDNovj6:r\W-5;O1[b2Xﮂʻm/.(ɟiqKW7Ң?&F |u TGTUo}p7M\2>fe򮤃Ms5ٕǮiڜxxʦFRd? RM[kje&cKm4ͬx+0߿̩1&OL?3#_nN;"D?[;w!5D$"{[}=vyT)-ieT1kG|K&:h)EWJu3 (0 rT[";+n_:gl+$'IQrB_ȪPhJS`w:(#r7@d3y<ҧn9*$^dߗR۸Z ciscVrŇ 4FwVSBtwRfsp!mTԨρ}?$s/j>ᆣ+rVkpco+-&^vN^:Qj]1fb <ECj"<%K?R x.:vF(.WڄBSEm (O*N9MS_~F:'~Ipʪ2*,u?XGyQE3DN6@ƄL c44\{|\.iͳ#µ=(Fqt"t+L&(e,7xy &/_j~ Gec)p&.F1~4믨JVM|$ s%4$ÜÓLUp;7CދLVM[7 yVr Y\f 8944>gE #xz%n 8Z2jvÌ2--$ހn ÄYe|\#`,,C{kpO٩k$!n.tTfD/KqRqF4^+$#QEᧀGX\pH9ߔп&XB'CI{̆zr)йe{$*n 1K zZdcuB>W30t{]LJ<3Hڑos0 %Y4r!leS4$͗R%ԅz&mH/ g{?Ի9zo߮Lfˡ]#d\k ,VJ bN6 BR[Dpyu\;l]ϡ7i> wj rCH@i5D{O#_?%ȲDNw}ŎA³ |g};/\kB#_5 %A/3{qUKZm)oLD-+_urdQBw*?Ǻ59s[SYlOhn<#txPa =h iÐ$6+mt8m}+?{ {3 Z\ϚRa?6S.I-?RNW7¶|)KXWjx֭FkkxV:gýJ nY;3|nѵU:c4<p9V= gIldZsRK _/0 ZOѼqfj@ِ)ԕ]HplIY#9iЇ#J;VIYê$cb ڎz ϧPn޵N}SL6jnrY1 O,'9YX"skx?A+FpR{8Վ0pT?Jc{MW*M*C:)F GE8 D~1 qiG':|$Be SQ49#2]y|ڲesl~&39wsUXr]GkgzIԸ-߆UʚѬw‚/zDCSEAlf*١r_{V^AnOJpCHdH B3mKe <5Kf'h`s8s e=6Ů@$h`Н $][RK0iC¸# 22J, c cxC9F">xvʹ"=(ςCC4ޕ2bT=˂%t2>|n[B'jcKgK{ h2A~jQvк")@ɼLU͢LoeEH ]{-{T˳3 >l^KTQ2z0q) B{4j*Z5/Z7ʢ8dq\@8fWrsT|(^|7bq̅lElqU'd:Y;Xy瞀:_^ +[ x+;Y Jܚ ,ۢl:Fʗ› /S[2LTdɳyb+*CU`\zņf~eTEs{"QG{OlvpƗ-9zA09'p3e.Ɏn߂8o, l/*?c&|?/偗(*YU~kL:SS@<a-;9K0u/80Vgbf٫i_EΩ7mDz^OwDf_ *iǯrINu8G3uq=rS8߭t{51 ?o' $y(vNKBZucЀmGQPF!@M̜61DȷNz^^ &m(I|5нnڥ (y+AaհY۹draUa*HgSqXq^|ݕZl+[\udNy|<9aTwW :_(!Hn*|F c /ٶ}ܗvʌ^-DbP\i[#4 hq) N_,\=g(G|)Yǡ;_X|&/qߩ ?zs=RZl Qp/xܞ {vc/.b"q\vHBh(uwlQfl8j(y`XPq"h5rhc:]Wa\!@F2]އ7PCEs :t)y#㌐7봨@>L~&*y0R*N6`0xp`MKDIn(PKo ²^xN O'VBqQ4TI< G컉ӹa^Z9Ѩ^ nDŽZU~.#u?UmvqK%.3 -7jF脫ئZcsݓ>4pWI`W%JIf\` ,ꢁ[Kp'V- @6T飱_ !w34/mW Cƫuvl_^U _+ҳ(ZXJec$|7Kv*^W\fwsJǟˢq|l[(f!߃X?|J`%8Qz1Ugva$  29ǫ>fvZЛPt+[ eF|4FtN7$ZQOm_M~ԓN̡&g)E(~bɷ%WeŁ:,t 8C,\kF8JWC\ZdqQ2,U GVN&Ol;o/Ro:)Kg0o L/K3^lsN2:nur J5']JqD>oje}1U?"퀟e`nR\"Mqdfg׬.l [^r%t@H닐)R[, eUcesߧ ymiGp{~0=_ #lÞ]h+.7m1HYn#B_Y^u 8ߵVU݇˰^SZ2kf?pf 'K"1҉_Egw}D /j4=sSCbvg[,6Қ~@u^ȟس|TGCv=Y]*h5pwK֑Mf8huRO])L[Jb\>HȅՔV%[9Dg,dOn!@΁mo0^ICͣhr03C!M9orR.י҅ N׃⭪K[YهNILI4͡jJ~SF%iPpy1RIu @ɪ?NYn=Yf r=f W ?vފ4LP]4Za(wCƧ&e>қ']nx+`E4=8FebU]O G"ڽbz6hݢ}m@_nV荃(eբ/jcw!2륣>dea'eZѰ |<\JriX/ N:#A39=ryߣ2JX? e%k~xYD(I NS/ !Q2w^ک=hJ} H5 VκB.LN' MIS<4,^ؒH*dp>ܔoI ʨ36,I˼V/][8}oHT= `^i\msjX;/9{xbc,g34̄K<]NJ4+l=p Jp4bk*0,6a"&y[opdcFΚ=w5T6F'j]匫`9i>a7q>9R5@2B>`m8>7*+u(>8m[}M9:Un|B[ ޹dR, upP[D>D"c]+f \$398cH7r`9L(ZE>|f3Fdο4ű2P,ZڃzW7-<jк ,ꋥĔ,c zi<ns@Wf7󇶀͂8ߞ]4vЕ]O| (iQ .O'WlZU[!x|=P{s l``ڸp>WhIp 4|C߼m`P?N> fVu濼w?`𷶫!mys]C_7k8\Y sbp x *sBxD[op<;L$(wش[)aU@\VlL톱K~ֿz¯Ec"o CdI+𥻣M%X>w8f0t3=DQ6.0<;.M*sFN[ËŴc@ l`)jw8A|KG@ʽwi9%U aW0=F<+V}'eEw!{w#Pbp ?. XDMϛsbFDr=FCe0>l]LR=}*[]OHISdȗsFf&(-6j:K9蜙tNa"g>jzDž:Z68?,Q""oϩ; pHɷ%ORdwp>׸ɫk'@79F ||IǸ7 'MV {אָOjw&/kf 1r "7#yݙ ( f!9Hvbh.Wx^Ý9"yX竒K1Hq1\}ǪkbK8u:wpePȀZu C6цkt*8@'7fBm$ {A?k +:hVJR:!2G}BɟK{1q`٘`Ďp9r)JNL4+Iҿ$^O8BSqݏw=q8y%,¯r"nr-YQ)z0l€pFul;Cؐ'WN ?QQ\ZAAR4! R 1_![͇9Y2m[iSHÀ"R*M e w'Fٟc.JҪ5uPLMXW- ճUSHyPJ*mViSODzѐJMg0%}YÚ|j0rWH2eZ%Y%)3,O0p2:GBX3׾nNQԅo%"m3}jCtf$IGrxi QW v{l0BpbHqOY,ȯ~2zePSEDƄU34!+tDD^٠HN毡޶寢^#Bx诂}ޭRKGS[(qF!m>!UrAW z58lnH8Pdy\WXka <(JA%]oƚgZr]Fʪݐ_QsEr˜.UGlŽNb[|=j vCAˆvws!` ~:XwPƺ[v43?a@#EzEXr+z_X@V ' TdQ\o(ԶQr?@Xhȓla)5 Yy~dߊ"e͜e;j-0t2$yC|PY`&Y>Q#j4Im#"ڥ|zޕn;h!zUSa2 jdVO DuAt0V +Ί ;V 1 %b-'5+hh[,&򨜣vgd\HP=j/`#߉3h"c;O/}4?f2_K 2lt =r{j+輘Iչ^8'D.n3S>!a`2"59Mo7ɏêz\DRdw%%޼XޘcM!ݓm$؇6A# wG#[WdItW,D% oJلᠬ4zՓϨ(1%Br)Ov|KU֟*)oJ (}*Qڟ cvOJvdSh׊gWm3n0H^F3孔Y͌00_:PpT"e ^ČNXybS8CQֲ O/7E|fh im3kz0g2ִ! K X 30<#l[' d/ۺ;Y!||TV.܏ S+>W,|NA; MIx*t#DŽ%HoS$}eWWXYQ»( F?[͸Qբʝ(E|zp2RH+!WP=d( FNVbWU]e2`Ez N9$,T쾿H ⒵+,O(W.oP;qO޶ YZ