cfengine-examples-3.21.0-bp155.1.8 >  A dkDI%z ~KS/b /AJ )S51u`K1\m /\VS8Jp;?d % ?hltx    L   0'(C8L,9,:,FoHGo\HvI|X~XY~\\~p]^b>cdQeVfYl[upvz$48>Ccfengine-examples3.21.0bp155.1.8CFEngine example promisesLots of example promises for CFEngine.dkDxlamb11 SUSE Linux Enterprise 15 SP5openSUSEGPL-3.0-onlyhttps://bugs.opensuse.orgDocumentation/Otherhttps://cfengine.com/linuxnoarchz&P@ Wy  @z  7 @ * z }= ? -   {5G  Vr G hZk hB  tk& {2B4LE A9 D_S G ,jK@,m/`fe )p +"@ [}Jc~| M  Mg   ! 5dxo6 == .4av-rgI: =f= k VG   nu^  A mT&_ ) q   0ErL Iw Q .` I &  g 6 R OF|:4F 9m  ]H93;yo{ }gmww}]}/q?` ` m mR$ w  yA큤큤큤dkDqdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkCdkC73934ae271bfae07454a28590fef96426adbacac2b5b573fe5678ef852112ab9c005c8a2254bb97122b92a2059d2298b0e372b8e22362c055f48002952e2a51a5694a6a1ffce78c9dccd9b7c8218226828a6430ef798a2f18df7eb097805bf4b4e8e83760e4b023e5990f09e8f14a656dfc0c18ae25f4abe424fbb5d06ca82b1306951a6072be1310820358338f70275f8ceb50bf10c789e6b287995b99c1763fdf0fedc3c4074d2d507dd6bc78aaf6620077588d9f2cdb50a53f2543d5456adf8262b999d2c3a1ca4f67f4a447131968e585909e28172ada0e93a13289405475c7ae322ec7d70b543837d6f9983ae689410fbffbd119c8a4fa3e3daea50b9af3f81f3f150e5eff1044de182daa88cd0e804eaaeaea234344340e3ee51ebcf78e028b72f961580b9248a551822d246b819c23651c275830e6b208957674d8df7e4be4285e33cb17d7b082e0d29616af0e53aef2af5d50cbe70c44862472647d5714c39917fe20173a80105fbbb0ed3fc100e02291073eeffa1ef0ae28813b64d6ca7d7c6fb0d0f5e0e6529c45977cc8138d5641d646c47d87fe5fac4d1344d8a2de0c63198b29e1147554275480bfa8512c65a7e59173d2033926d62badced01da2b51f1fb11cda4cf05696d4ac5ab23c24fedb9e5bc539d98244244c11c037e535a50bc19904290973b4e3ef19d6d1a55acd99413653389be5f79d566ce56e3418283b5b3066c249eedea4d0b53c1d1e7fe9d8ef468be5a20e58519cd56e6f82f6fed78ce46660b031db8f3a7494c3b03d3b6706045f49397f46cbe656422c6c5326d6c9d5580eccf91ee1d85b0352e69e36a2e66d2511b9b86164b5b519fe6dc5937972533580b7351308d7dd7bcb716e015e58aa1d5444467d3ecd0b032bdcd7e5eafd2262577a516c8bfc1d74bca492ec125b0589c59ae3238192052253ac93af4b4313d88fd1af03b5f1938bbce38cee47e452f17255bb862f0e79cf9038c7003b8095a5938b34d3fd399c46354d10bb1524e3e52e93e4edf1fafd7547d29fcfa1e21e215c04c98792ccfcd6ad2f3d25ea3b83ccc17b84ce11d99632d14113d3a9d98d9f7ac8937df2a0ecbaf08e6bb0bb79d409000d6fb3080a480fa86e8cc4e89db8d9ba2a3f986a1b2f89ba7d424728e3374088da1ea3478439d7e72a2151f6a21b84784b9b59da43baae004d56f9e926da11655f40575343bfcaf37d509e643822416c0a133289c602c9e32530b5c12fcadceb7cd912235c4d68bd9975598bbac566c7e2241556dcadfc0c8c0b27afcf9b93a7005183e609cd806f01c9939654be6315079b784bf5f3bca5cb614d580eb491378f259903769ca71e53d32561f764c79f99e1df57cc20ba6df038bc7f756318ef7c7a261448569dbe75ac9e7e8953e1b48de870330b98f7a4d817c905816f9d04e8912bff0003911f584dc58eca2ebbdd0b98444f1863adbd748bf7140ba0d7632b27d6961475a409368eef72c4ac8a172ef075c1300a0aad0f716f05d73d53034c1e921e6382a23c0e5be708bd0b36459bf3bd98f1e974e0b78419dbceeb6d454b6f28b51b096c8e1848cbd8aee204e1d05f187476b4dd503aa9548f392b72af017df082d98bf7b9d8e0a858df4095dda739bcce870481950919a45f8755df8dc74679bc14bd136388e7aa89515129ab1a7c44f66303b153957abd8abc0e1d8531c763e1b8d92a82bd1c5c7022a2e2ed21d1f15a356b3a425fcfa847dd53f90b7237c3c2ca16a95705c5f69bc3ff4f3f52642d23fa0caed77671982dfd3b3ff60eb9caf389894df621287ddde9f5550778c607bdcc84c43631b2b22dc48e3a442f69763285f48220ba27361af13ac691ce70ed9023649db23274bbb614c8174b8bf73622a8bc294d061e50dc3317468537e594258d051e372d86538f756a3c9e0fb0b4ec9f2c1c5fbba892fc558ac95dd26f644f6c25b0837942282b265e6d10b928de7a5489b68a58b596942af989360b82b85fb6eccbed2f16779fe75b1cfc93f4519f381f46f4763e49408202b0b5234d93986a2486c8412584a44cc19b187e1dd2f980a33de51823688bf3b389a19f436b153aa3c1d799540f9763b59341b949ece691093fa2b1d0394ef147252b80445413b164423c9ef558ac22c20991684c1d178f701ed91dc5547030c141cd6614a99ea65c3ed7b44232de0f08e2cb2e8005cf49337b5187c2570caf020070cad5966770b3d8acb94af7dd84e4ca32c8793488ea12e8534aaa0fd90e08968efb16b86b1c72fac646b703788a312632155fe89015f35db2d1d30e34013bd48f1cfb61ab7fc24212f5a63a430ccf6a70c75b9afef525f64ced63a890fffca457583275d0c45bf7576b176ee3c7eeaa893d9bfbb62750842d8b015c7de754ceb7bbcaa78efb4336eae73ae06e0554299e727a401c294085a5cefc516008096a7cfa57713bc3d0c3582f2be7d074890a3902cd7a1f3f46cb19b62f52920f062581f5f82f2f64002b2a0241ec85fbfa7fbd1f8ba689f009bf86fe8c2479d7fc91e8acdea58626200d6ac349605b88f044781eb3945f3ab7f8be149af27d511da9eca740a5ee8a35c8d7d576c73e604c82541a87e3e43276742ea8fbcbe5027c5dcd7548c426c3e2a4911cbf67202cc6c498167e61c01395be3074055ba5ed4f3fa39dbe4f81848b510236becc5bba229a5b313ea441e1ac244b5468ab325d63969c5c3698da5e7d9b0910334fa9f7a387765dfac351661a772c78c34f97c689c86d46ddf7105365a9ff085b545d34613441abadd1ca54b92cd53b56d465c90b501e4d6be670da2caa595bfb5115fb9a4dc9eb34e4c66ac9da529725fd086c0f50462fc2cab12b5ab62a1451163e5364ee140cb711f63c145a355e6ffdc5ec74d95be1da9ffe4f20deac7d587914e9fe1d685c6291ae8757ac51fdb7c94dc4df5cdf0c07dfecd0194c462abd3e2bdb25a041ec3ab6665810872ed670628b76b07f14773834bb561d7514d81192168b8c20e684dddd00eeb6014634c8387d8c543490575c6576987dc3595880e0a75978c322708b4ab85aa248d6ac33eb0b6b40344ad41ea06afafb105444b75e779da8347c721b99652f1ad9a5d8621924226e16a65661342e07ffa7c1f0b14365715d2bac9a3555ff4b3ad2b236e7539ebee50cfddef0410a074e6e820db769a2bbd335e0517b3a1ca4d5d891ec1393c83c88ae3e2fe6f052f200c2b57102461ff389801fba6e00e1ed66b8c071da5a7a262d5f5798ad237849832fccda63b71d4e0f5ce55b36576e9c6850b8ee5e55bc9f41aa2c27d6d2c376bf982af8e36900af159a27f9878841f295bca999666b8edc617b46f0066943ca2b76e6df5116d7e7cef82dbf9f56c2a53efe5d84651458bbdfa3fe940a478a83a42ba1cf5e47d4210fa51c5b0e186e703a4f99e6aed4449abf33ceb47ded72a87c9c40108c15bdc782e0891922031c061dba076898a477be98b1313bc16bddcd772f3d90111e0278fcc65e25614e6472fdafe9df40ff4c4aa05da9d44fd92c47ef789978d52d6d65b3f593a8bfb3a03de934f21ab7a232e10fcf8b5ce12a9f3cf3528395424201ddf259cac7553eeb0cf0e8d63d96759fcba7508245aaa4858438c6dd613d737837e1426bf0d2cd892c9312a32a8d52e2000c0e098ec4e3f91a002cbf45bd739ed8199021b44fc5940d268df93043d5d1101424a35795a91e242ed09feed70a39fbea095b8c114f87f9d17799e5974e49d109d247c022d9c103fd5673ae3bda0972620a66a4684c39b50baab3e3cd822e243601f8bbc105ec07bd221f01b79a24873610dabaf6fd03a83c29f7807bf01a09ac861fc5a7416a114be1715553ccb2be32f5d1b32338e0c5c4e2e972e4d90ad6b0d1dc2fc3309beef516a49a51b53f99e5eb0b3560f46f03fc9eaadaa6dad4e5f370a8c3acbc5580964328e469313ffb351d3e02c486f02ae3b30e54e32cafec6ca0fb2881a8aeb4e8735536441b17a4bb6bce23544149a22d4907dad2f7f9c48d5aaee14cd6aa45f898e500a69f3b2f78afde775ac6ff700622641b3affe17248abad1853124d79ba7e8035259c7b82dbe94fa1617efd77791e7b14cde606cf667d114fab3cb93a42a6b6cbee845e2cddf5eba38797df500c2dfefa49e1905ce88c4f5bec961a622fb1cb434d86ab00a8d586f9e7c3709e5171af64f4a5ad58f6b953b4cb75bd1684d2639840f7aa6ad7b29ed452f2864e705153a594bd478cf96a608f80afed490c1ccfedeaf76be1fe53e986527e874cc5e3ea9eb654775021b1ac5f391c0a59f08e460c5a1281b739082bdbe1499f717f4b42dd3a92d7ad3d394542213f587cd5d2fca6999c2259cfb38d3c2428eb93de3c61874115fba0647f55f981e976f320bee8ae61f26410bb070dc38ed9ff41ae2dabb5b7b0c8803269435ae04a438b2337338da7a5bbe725f618800bfab72fd293f941c624ea45eb6d8513db3ae1f6caf1849a5f7b7b083fada58cc75dab2df4a7f1c8346355e93ed0a63a750d339bca63eba46ad4e5ae2b01ec2b240fc30c9b4eef77bc46ee05eb3b960db64a16253b052fa955f7a4639dd55e834d15bcf7435b987fb980eb01e074a2315fd1c4405f1983b8c7dd1aacef6c9fc5c6f090133047f8ca7f02e4306546559823bc8ac5cbff16b81fb481da720034a9dfa5d742394e2c26089ccf05eaf9761cee0a9c776d857b62485eeea47a51d0c3cad44cd8722190a5efc65cef9ebe11fb5c74851ee1e9d7941b929f0014c795c5960858af0dc49c6dd3a63bd76b9839ddc8b7fd1b5cc0fc57d68937e55e62d0dbc7476d1be0c967f810087300b96ef6b3323033f5e5aca469d6be12a7785afd5cacaeb6f99b49d63a54b84abefb90601a43c92620b3422cab602919ac0ae48d0b173e9b48d77b7fc03b423ce89d173bb8548e6f0fce3e388896b2295866c42ec08960378ba7018896b78003b1b5d7a38937f1601e650074841cd43f11dba5ee71f97d9d3471612ad01e94d122bab955f98dd061b10a04e31c339c7a5fbea501727689e1149e33db5a74f741a61d39dda459712dfd8a323e53057b218bc30869a63d33a6f6863a86037db9dda44128fc04e4ab0d8e9e148860155cbc24822c58602c50718158b4885f1b333b4de129d8d561bd877eaefd03a527546993259cbf2eba304ff3480e281f31168ed33d72cfe3b7bf79494c3c49c425cc0329dfb180dda52d16606d7ae14379a07a4ffa15fe93c36411c5722e5f10c38bfe8e364f0f37433b2043d1ca5d98951326bd4294d336321dbc06f7d8ff38e6d28d4b5739164e5e3db1ebc93c119181f2e0dcd8f11f724ddb07ea347d5dcca5f16f9812c19964b22a81eabf85135bcced8774d7ec879d87b8975533cbf72a44f478ff1c2803eabdcab8ba745cede65af66594100ac44ca03001df3b0a46a12cb2a8ff53a62caf8676f24c3dcca40f402336e838bf5b750312988524bd97886e69dd29e0d01b96b7a9a646500e3c37b5f2e72d22a4696b45b8f9b927d291460e7c049c870c300fb0aef32187e895f032b3737c7975aedb7bff9a7a952acdc6b4b5ab62fa264d6c38ea30a043408c96fad3519ccb408e2d36314b0713f40082e246c9f5e6ec88abd1a75af5c9b2f3d594622736e8c055bd5b1b5b35e83a5acbf27084a46c4ca53026ab3f163eb14a804af5e20d52b2bf6dda90e9282f29a3ab913460f3eb940ba2c48827afa49806edb272ed6e4f1f8984ac22bf217369a9ca9a601d4bd7a0e8be575ab88d20abb6ec5478d88d0735c294467b07bbc6d79a8840835e19c852eb2481733aea9bb8892c5812d757bc363d712ac7aaa1ac74ae8c009f8901208f11e214018a6e7383bc7e3b52847479111722bfdf2dc5cf44de6210839b1cbc02e59b426915c12fc0d46bd272a85a009d1779c56a1024678d74692bc7ba6d53f7e59255862c6a4438f8e86a5244f6e14638819cc3adba1451d46abba964e495826347831a5492c150d888da8191f375adeb671b33e104ec66a798513e5e370ec14be76af07801c7eb6501d8ac753c4a4d3efaa931b7992012a9a76563c03dbbb44590ed64b122ad55c70747bad8d9b571e16841be12c45f2c5771cc1acbe994cd1405519d1d05a6d8f1fca768b762b496c3213e932733a4bd95c3dd454909c984b70f24c3d951b4f1ae8a4b8c2d19e57cb58b09335410e25857ccad1a344a8b4089a49a6660501c194e00aae3db2f1e97999f112dd5a713670f6cce05470007538510a4db95972965679ce8f2a64475fcf99091a5b198879a05501613c52d3467d16dbd655e98ff367157dffef24296894ca420e4353eb6ba6f9fc1a91933ce1837cf4f2d5e4959625532d89a3b7de1f7441087b2799da467e26434193cb89bccf3f619dc69b7e866d134c71ce45fa442c9ec578f9ad6f21b17bd9bcf48d5c959c40c9e2fb5950ffdec77b0e394b7795202d2bfd661b15294c6d7c2ad469e4cd75de3d771d32d3a07e850a2fdaf4f21d4ed221c85761d51831bcde29c2dad9dd5b14cc65113beafc6dd64da0e96900679ecac6245186b2401701b7f6d05f9b79432fec65abb3665f270990eec2f0e0493666545800d0dda29b477865f216da80a8a4bab43a0020ba700d00a1ba9e1820a750cb8416d8348260f3ee24d2cae61ed289789f50e7d8f5ed53a6e4db00c737ea20424300e2898bab12017bacc760c7d56b4a4628a5114ac2fd13740427aa8bd3e889f48327f3c945dab0d729544ff884eed48d450ab52fb5f4ce79ebcca788976f07b7aecfcfaa402f92116b39dfdde4e8aaad2fbb992b96f2d59aa4613cdc6ffbf8586e12a416c114df7730b188936d82075394610d43b7d1a4c5c42206a17a494b0b234faa67beff7ba7d1444b26465b3906497e506d45cd1789a39a988c422a0f8ff88ca7d3e849047b689776d464a341536dedce1eb05bd8149bb98d429fd0555d5d7c96955d5b3b2015c7e4e5be501cdc2db3eaeeb1f2114951108a64f40834e18f68194b14b4241eb117badd42407762665e22eae7e47a95c76b07d8042e1830dab1a03aa9be283648afc7a52f1e44f5e2e8df96203987d3602d6efddc3dae80e18095f1219248ec24d92cf41d4b7fdb1faae557414bcc2c1ac53edfad8bb02f6cf4d5cc915cb6a05a0f2872526ef2fc6d8774eef99eb8d95eb6c43d527c67375102beb569d28b04a80aed28f332c325ddfc3bf260931860baa6f06b55368011145b2fa6bdb49f9dfc7a0fd328c104f2b72003c3bf6fadeb3bce3e6eed43aa51078dd46f13ad0e28f178a80be465a1fe06a1ebab220878f37656ad2af4583489fa85aa7330139d4da7405212528d8805e6a78ffc34cfde99f56970204c20da97ac2f598533090adcc377ab1d088b75590a5e3c8867d273ce807bb6efe35c344e6277e7e63de2ac1dc481c4fb6019015f6c6cfa547759a5833d8d3b2db9e0c6379be3e061012b7d96598f422bc1800a21e75d4aa523b21f487b7f447d27c897a8a1a23cce85dab9175e5390b6bfa75e5b031ca9ee7463b49d4276bde58cdfb1a03733179c25d2789c7c43648605df05975b058c47e3cce8d9f765f3b2c5c67149f06d4b1430c92d8b80c33b57b582cbded94f7ce90f42a495719b5dcd588d9c5982ff228ad098c676650b89346958661298908228069c4a8635e73052c24e8bdbfa62061cf3865d4af839f520e37898c1d71f00701b3e50a32d9fc27f51394b34c64ef5554aaef385b043bca7f514c5e94739f89b62d86926a6a1bcf9097d42992832b7da9de31f95c3e9a65fe9b0d7e0179f19e105f66c8255188fa7c1eff650913043b3686b0122872ebb4cf963d8742f70717243ee8462d6b514fcaad0238cee29739df863dceecf255aec2896fff43ead597958a9ee9c3790724759f455ebae4e6c570963568c1a292c7e3b017373af26e56b72decfea65b7ccd6c105350ba35386e900fc1758991ee56ed045230eae50e72fe7a413b9a56a8bde8e17df24683e0617fd0986fa454790c94fcb2f789180ebb724fb7287cc29bc4e25b498a993eda8d36e6a24af3f703766c8024a95d894aa8888e4b462122759e979b60e90976c705ccf05e8011d210fc87c1c78f26071d5eb6558fa06d5f611a3c2127f33eba77b247bc0d3379fc819562126fd33b0bce48725367cb4ee3e51ce5118b00136a3a7a44b0f476f082dd1036fd71186ffeeddec62aea6143c5aa2774a7939b8994b4297fef15dd66bac951eca87f3fb92e9c172c2c373b7bffb7a03b69d56fb28694786f6945b19ddf1a17da8bd8a4ca0833e98210e405685c74f84612f1e8f057cd66cd34f30a0082be568542ec36ac5d6330230dfa646ac2ecd849b4099d73cd2c624494e8ef94ccca7a0ff0744c2aa79307dd9d1966d1e8f29053ed8b5748d1543a8150ae53fc5ab06f15d9d5e2ea58fd224da103897a32cc64b0f6da0f23b4ac11b1bf7f0d0058e14f1b36176be6306d09bd99e2ce12db44c8012dfdbbb6c645f69d2458e83801144e4940fd35c69501d4e522486d18b25c0c25e4b28f8d5e6e39fb7927bf72fa98f0246b66bbded419d16642900e6cab0547ba195ad624eea4f2ff37a4355be6f6284a56d9698f760fb21cc8a95c9530624eb5978af42f7605cfb7c843a1fafdb626be964338e52de8c92c76de6b889c2660aea698a41a68efce3d98e9d8e3bad18aa21683c242a72e3d3445b529c4f90e0eaa7a556ff55dad9d019bb835137ac88dda8b982cf4832976b6ff4032e731bca0d4f4c2592f3ef9ad6fc5cc5f939a8ca45d1ec2e8f496221f6024cab36524b77508703adfd6ead42cd4145226df0370f5f9f6de06fdbc8ce21022b7e6fd469c9d6286926d8effb36d2bead474b4356fddf9a87de7be3711c4785c210364e1c0e24ad9cf413493dd3e3f4ed476edbb02dcc1cd6f65f977438150d944129f431f66a26a5bae50d0f803b750b13e3136b5d5c00ba7289134d1c28bdf581eef4bd92ec11f296a8dcd27284bf44f94ce538f7b3e8c668fbf1738bdf6ddc6e424f3640528feec594fddf598fdde5674bb150637397dafc6c0fb07f9c8d4aa9e09b998f293a64dc5c1a14cc08252608be71bbdbbca8d7d578aaf5d80866483ccfc8e4bbb1ae3e3076c0971ab70399130511a882486d0e17d96c77e6b33375132d9591139769745445e2f9e99a049c0c0e52771efe8b29c4944bbf1cbc086f7be893f0dd9b579c8ccbd91d4213104b84a1d4852cb443eb3a6ecfd6b389e4078c73e63d6246c542b5415d104df3a6455e52afd27ff336c3dbe40b14786a53fd936547eeaad6dae350c2fc18c0cdb74135ad1586513a1fce7733ab8bc0b93fce19142bce2649e2118de63b1241b61c502445331f036c1b3f324aa7c647120bb8ed66c8370b0081d1df863ef487e59e074fb5a69320a3a9114f338da45f532f5e4d22505062556cc87f239a143f03c6f333151ee405f93171be2f36b2c1834b1fc1dfd2c0ec22b67acc8b79e785de421f4f052b35ff230198213fda88773cf1d1f47e6ad78aacb75f8fc1b1fe7f74b44ec2e19b7c2268f96a7baed07466826dbf902585d0e5d491753a91aca234a1ca16818555e2a77cb22041279d123803f2b4ee2065e3b9999a673edbab897cd881feacff70c10a8ed18c827f3533f44be2f3ddd25c989ab7737732ac5e98490650ae762d032534f841a74c2dfc2b099fd258830163028d35c45d2d5b74d5312b05120108bc0164d048528e12dc784676af678e17abfab1ec0426093c19828d728c51c5e0a86f26a6ffe664075c41a00292b79cd91a62552677cb482f70841419867e7ed4e81238f5813016ccb41dff917e12310dc6ef55affc9eb5e318615f0ff57f9dff813fd2b9e23b895290a0b8c2bcdb3f8fd3f6d3e478dfe2f73ec522ddebe75833d984c729de38bac0c4ce3408c7229977077756d0dff04b3b5f89110803e5859328041b3096c8c27c064805880bba71734760f620f61957bc35a2160113c2dbb6fcb2da544757a72ea664c756e8fb5c1c43a92884e0603acd07a2072e2b62d0f91802a3e4fd9d259b228caf4fa04cfd2af918c86b4f930001e4dcd07900e0ad702c8b528856e4b5a192c919d0945157331950d8db1f530660862c6774c73569cf9a3d165434f212df1b67b3c5d05aab6c4042c374b403f82229ef3f9e61a4608c5f11ab087d874599fe6a670ba379c050ed1a93889937626a53a2cac82fe2497d9db36d2ed533786fa381f6d807d4743f4b2e719869bdeef02f35aa1f22fecc43a5aa91fa03aa5ba56874ca2d0eaab3d773fb5ccfe90f81e55b30ba740f1d4e943d633005e9e044e18bd3f892aeb5fd043eeb5e34ebfd791182a7791cc8143ab89ec3c1c15ed7e69aa1e5eaa6f6962a02d740373851f457f31af2021603e400a5950c3e1c1424d65629d0bc4e897996e866669a613425dad680b4bd5f91b841d9e27465dfab13b800a38e324778f79673cd89f4e9c345c534ae1e9962de2a7e3489b297db885867e48d52299f920dd5d64934ec314cf4eaea804ab17df28e79c24579778deade1ca10f2843312a474050f153cfa468e4c425cdefb039591c69224d0dcee110ebe1a76075a1a44696e5d18b7d077c270af829aa297b65c06c7840a186b804dc15cf7e6d0f43811e28ccc00f284440900436d70196b8cafa8d6702f4a56bcd6167703221ffc70515ad845026e0821b97e7afb5d4459fed123b4ad84e103fc49ce16aaa580cf4d6cc85178321648ce4688739bad6fc1b20bb1dacf428399c1b3524c198b8c8521f77cb73fed60ad03421c21c65958ebf45449de3b9730cd4708f02bc0eb3b7f43a250e6c5be0d4edc1bec7b61913c064566a5beb5a96749e364e99f706729e2a1329d9593c5785776c2447303ef873d7886d9050cd136bf3473cdb73affc66618225e05611892fb913032116f950828dc3961b819bfa31892b5a6670ce90698262ef2d6cde04f98394941654d6893513ee0c7a8fe0227dcec0c2eb9cd01bed0e85e7c8ea8ea7f1c2b7710ccf898e12effc4bf3d40a8139bd8988ccbf18993f2d406ada853e5dac8bf9ce7e64b439f52267b822852bd0a2de86c3b7355cb2adfcec4c2c480910da8e1a870ec189244038a73020b0c44b148100efe7588641979e1ef0d30055ac43b5649c04f7b8b863fa8bf9338ae9f4f887744d01cb9eb59b64f3bc36e521b3fe6160e0b5a415c06af3cf0e4e4f6f38dafa9f4f8d73cfb9c9caf99218eff291c05774e0622d7bde9b5be90d0e0b736b0f31ba9dadd42f3a1f9f7999f9268e05321cc53ac40ea1f4791a6bc006057edbd9dfc343daf41ef6aa144d8f8a06e5467c9860f1c3b14c32e1dcf925a4ee72333be1de35523fe3c0174005182d404d545da0d8d93fa10ca3eff70323dec4b6f89c95363180fc831bfc62104208f7652011c2e70b15d8fb704816978f7394cd2d48297c254021d13753ac1c0a73959fa3301a252b819befd99268156cbb1e13cfac48e155ad72f771d9f31c530ad657b319677112e7da569b6ed68b96992edbb4d17ddcba542de31e8ce3818a0c4ba26e6f0cf13d64a8d31aea879e62fa5c8c297be9eacdc261917576f4942d238e683ba70d82ce12cf19beb8e5ed74152e44c4a5b9355d2893e4e9a8d5efb1415fca78a7b8ee67f367419e183312234265c7d3871e43021670ca9e2c96e263e529bd12bc5ebc3b787b7c66bf5e3491d125239fd39df89fc728de57ab1c51f5746ec879d89ee3f6a8a46c8e145195ea3cd85d2269b983affa2fa64c130db0f296fb8104a96da91f298189c5bb7e61bfb43a425bef3c4d0e18736da9fafbcbd9b19102d88811dfc819521242bec8a803337b948e490016ab835562aa8cc7690ffe0db4ef211e67d47f9735d5befe198495482ad5869d4d181f1a88c578129b19e16c31f6dd3be3a6bb7701f0a58ecc86193ba4aadb098bb647a552e4968f8713c689a54d54382940662b2a3b64a6662b137bd0d7d902b7c8fe2b40215934c0444326e44bb7375117e7e9a8ebdc708cee9a793e463b63aea6e8c20af4b317b4ab4ebf53f7a3ff276c9ee3e680064859e6c624a6abaf05a3a852a248fbef6ed750361ca319c65b43a89df7d41d6118a712dae23e20148087dfded326891341e8dee175da1aa71df891a8cede3acf903d947743d271567dd757e677538be3b2f1e4dad7730d98f1f0d06b62d7ad194f50d0cd60b7b78c284e16309b5c76834560470d3e097eb17a6799ea89242e4372acd99cb7ff8c090d6699fc9f4cffd7f0d09cf6adcd2c5e0d20e2e0952074bf6f17734d30d126bd2d5cb0f5b541e5f84d3cf1c6cdf74915a7d3abd627eb83c2bef3d2600f0862ced9070b26b395f04d942d0a5c96c98e066ad939b026472a280250c05604fd1f1093682cd6a0dff741477737efa7922f70741dd5e52057700fbabc2665ab84dd6825ae3713c5c6e4c79ab5f2e305197d5319898da2c7c03998f0dc16ca9d04adfd279d62780816ad212ac183267c87362a36eaec28e67a8fcba7f6fb47cb3d72d3a001a0ec3ce5d180ced5ca17ef5d4c3327b16779d68f6aa25c951c7988d817f76ecac849ebf6f191d4c2bc2eaac14fc52afb58d1e6be39c1c8fc931b7952a91a76a5fc200d38d08152819fd84f3124830fe06fce7ccf6410a854efb1f4d650c0bec831786b4e43167d9a7b7e4f3124830fe06fce7ccf6410a854efb1f4d650c0bec831786b4e43167d9a7b7e4f3124830fe06fce7ccf6410a854efb1f4d650c0bec831786b4e43167d9a7b7e1eb4685ce002b678938a8a0edcb1ca5a84dc5c74d44e90e5a08c7c11c07b28ac6c37b2f14cf38ce182a90ec4e4d2314943bf003590957267733c311a18f3bd75a0982dd025da32ae4c702c5b737791cb6663f84538a85c04dbc00a3cdecaf8f66f47ad45b2c02e2a48a608b882f7c3cf00461fe36a643076e5eb52eed2533a2cbd6aeb3930dc6b78a804d410f335edae516314fdffab91a786351c03aada6261597b686620b5526b60415006a2262161c13f60bef59f4df5bde171ba2ca145b3df72f11412760e9edde04f23f7cc0f7ac0abcb153c5c9dac992732969098aa573528a6c417b03a7928672c4610c0967404f59ac56463e37e7ad49754896f0a9c511b6aab0f02cbd1d04042d67c2c12cb2bdf62fb14a0ab3cbc1e8e880fafec3a0edef848140bb17d7c4550f96f87847dd27bf50621120aa8a395765cedbb62f59dabb378fb1b655653b179e2c33ed67973b08084531e9d54fff921672b6599c14c672d8658db63b1fd649585baf6a470b45d642cb497a1cb303697ad719018a2917479fc0bb3e9e9bfa4440ad634b959d6db4081cf7d9e2e14c58fdbf3ca4a63b08dcc9b0d33a408632fa4dc4d3fab60da5bd286d18c19d113bb611c2c209714876ab4b7985d571db1bc28e1d974205e88858590cfb550cdfab72d20c857f040191ed1eb3b69d153a68282dff2d4fba366b260ad4c9ef2e29d3683b8d883e5b1715d987dbfcdcbca3010cb3f9f04c65f7c2883608e4e824fde964d37d34fe57bf985cde3098297b69e41f03ddfb5ab70c06155cee97a8de9ffead43bbfc39353efd614c39b766bb00c016130d3913d95bbf04d2f1dbc3ddb3358710d072ae37df89eb50637b8ffcb568c8cc0a296f55d869a06336635051d497224d0119870b4d5e05518983c6eee87638368876c2b212901d7a2e5517b170981aad734e4e9240a4500672968c8aae48f28dbba965c29b376532654019c232ca1be71f695b9c9dd64a5ed6ae8fd33b7a0e1c6f5ca471c2b2ecbc569c629f437ed929537688f21943a94276d5e14ec727ada0460f1b962c3ab63d371eac6854382a790cd54c025b8782307a955f28d4196bff636a178a4f22cd2837677abad5c19ec2b1b3edf110e55751607200ee976de52b280b69c54b38670413143b13f4d1489d858f4d43432e7e3ed0fc627bcbcbd5c98696d12d15ab91965ac8f06eeae0d0c9327bb21e7478114ab8006202d34cba440f0f58b3a3d2ea486ca937971ea7f20746517102238a21645fa6313c06bccf3bef694b9c708f1187abefbcf5befa733594166ed73afc8d0ee0336ca3884bc00d52bec27b685320f848875b435c6ecb51ed1c764a2abbe7661e981088bdb763dd6cf5423cc299fc4b64366c405297c037f3862d8e9d7b00737e4291de5acd37d23722187dab4dea734b3e20ef94aee3d2bfa607c29c75224c3575423c0990c39f14cbc639e8d45961001752737c0f305a02bd8b7d33b2bd7ec9fb723782b873f4a73fcbc95192487f2792ba832a8a4332b7a84fdb7117693050c4b0e4c16202e14639320f49e05f226c9ce88a7a505d53098851b78a940e11bf111407984e6d716f699c1db0e878693462514517b8abd79d041d6198244e56e61b4e34f1d8ca7db7ae1fa22dea0ece2f79dfa925d46b69b4cd518b50c4fe7be12f790dae175b7cf5fc4f06de70b180af7214157435cbbde57365d7b4c49ccc785b3a5544f081ba1f1cf4c5ff4f8167cba2f7227f2ef7d42b92f5ab2b075dfd62c347c0513e61b732213042c12e3ef208ec608ca38e7925fdbdac7aea1c289279de755311d2741a15ff04283e138ee3d1783366decfc8f4e6bbe8b08e1996d21d1b46090650f244f5325623197b0476e086ae86a77c53d128f58f352c42a9c1f2e7ee0b1e15c2be38d8ce9fdd6259eecfb24e42cfd8dbbbee5949e34bdc4eb488d787af659def3d818f7c3e69e88f3a98d5b7ff04d371dd9680793e0da5bc721c60704a9a3547bd02f274b197c39473f4d676cce3ae75322e920e205ccf0e1f056c55c326de62fcecb71c91cad1c1a203b80a5a066237e6b5f8ff15a729805061ac744d9fa8061ef666b1f615688c9da396a293ac31da864d61cee3d1c98ee4e8f9f345a5119fac938effde7f132b99bacaa7826516134219453f9a9fd64bc6e34f45f1e8ed20db6b7c7030acb6c7dad2426ecc68210a8a4b74d82d2e0504533313934bb89f6da7e3ec7f4cd1a4c30a8810f54d7d40e04900f9bdba6bc2ce3a088c390bf04e0d0c92856fa27feb7ee31040d28e588e4b21f39c36b59a4697da2d9aaa9016c6c4878401aee6d98c035b2b56cab504569a62d8d71af624f127f548207e40f1bd9a2b672982162978f0d2baac533652c4a06e9255ae2b95fda69d2a2a7af8d5303d63dfa8dbb4549eb8a2c79477b71578a41cf4b420e0f5f9a5af5976c4b66792828e929dc377e7ce3d1d8385e1f2cd7fc1f78650193928dacff77ac1ae96b7aa8cbb178615eea2059b221e3d2da05866c67406842d51354ee7a5f13903714f91e03fb0251da8baf44d13299317dc67ad83e28709ca37ae3c4f39c63a891310a7e0f2856df8a674b4baa85f7d45959d8e0abb17af0f23e8c4f7fd7274893f1912dec64e7b077cdca722bf434d74c50451f8318036516cfa751e0b72840e49e327203f27add7ee3a1af2a125ccdf47f7245c1c3233b828fd3fcaf95baf81ba8da608e54d5571adda65cb7867866aea168fe70a991337aa0226230ec6380e448e71ddf4687d75aeaef655c242e8746f1702856f3ede61a7ef2ceea6886289dff6f4c9ae9825297dac85a2607a721621ab3f96329374a017b934ec49b8d88f55f3158145553125a5a7a42b22e59f325d64b7675ae2d7034891e100ee7951b6a6df97b78bd05979b3399bdfe61b672a1c6924f0650fa72aa541458fd67bfe426e2eb1a14ec5ef200b4b809d1038e11862a6c2f7809e5e56db3c2d327d07f97f0cb58c6edcfbdcff52e8cf724733e57e4c4a69974869c767656c692bad72f4e6e6dd55a7a8949ea7ae2820ca6983d1a9ad46a77fc20b9b3d1a9290bad258088688e9b35987afe05ea07330e66c0dbdb9bedc47af8b906e43a2ca177e1f9fbd43d118c431439d6316bcdfa22df1b04ccb5cf5812e76c5281cdc8cf83a075636cca1a21e25c53a68b7fc95cfe2dee7ec764ff95133fa1e0a04e95efefac44a4056babe05779f2046e450c5f84ee0aec721409ee9d99c9a564ca2b7a497c807eac9cadabb30e0a711ece058e6c25780196622cc2855a8530b81c1535a44882fb892da50c99ae18a66387807e2cef2cd4072e4e4e82d271c87c995a8ffaf376dec57f9745d2f38763ccf4796f59db291cc09234f82b40ce391f3594ac797eff23bd5e44265913176f94743dd567176d355c8fbf9a17540de667df61a3b1d9eed4eb562f21dd802bb27ae7382b0d1c2b4d68c5fdb013d7971bac198c90cd4ab7c8359a78fb64216c7389c217339bbfef2307ed8b2dc5a1863cf4e9433cfa511a31a39563723a92597918f9ef62a80cd47622eca75dc438c3bf6ee1e20963cd14869a9bc566c1719e502741546ac93a31ac0469e1ffa6870ac107daa86f1eecf8360068f27602b18471f1a066faa4d076c04751f8311afabb74ac9f01c7a258d27f8b59f5dee205262be3a491109fae81f18e3a7133e87f1936c9f4a43486f38dfd2a2efb45f6d379eb8b8cdb516fc836f08aaee98a6608f24a23db41023585c99a8e971e30567ac961a4107fbc8db0f0a20aa89d39352398a0bea4ec5b50e219e3c3e23d060de1eb0f952d17ca1ec84ffeae60a26f5c6848ba916e0d2ecaf68a8b900028729827016b5f3371ee96ebe707b7f5edee597eb41b11449d30aadba124921d09c5d99135a433f09eca2ff752e9f71db1710722a7f0fee21d86d1c80c4753f1204270d13e6cf6201d4f0ac2ae35fa188b5c74a46ebddf410fe709abec934ffd0fa37cd877307065900312a14af73fb9df47e002c7e0863c4b481169bb04a72d05b56a0d7ceee2d441c57674ddc168949d004eec09d50565b520c6599d3ee07ac5fc3a3c6646e2d8cd08e1dbcda50c6ddb72e210ac73f36593a6bbecd8137afee2ee47bfcb2b8188aec171d57a263cbdccc35b2188882365affe34585b7c9cb8f1310608a1ce952e0f9e0772b1e09fefdafe3740f311989316371cfbbe2d6a0b092e9ad268f55439c6e228c5f7a6c948b2577235d42d1101945a4fb053e180a2f0b4b524810f4a3492b90ff73dd387344457e6038851cbe7e3c6986aacce8f24ade72fe7d60c01e5a86bd687173ab2f6de63eb6dc03b83362342d0ae3eb5bd8a37166ba66cae54bf89793643a835d4da11f209edd303928516de9a6afc20c5b890368a51ed07b70c267dcf7be080d96f527fcc3c52826f5f21e84612041d63c2a0974609f4dc7360cfbe530383e900b79ecedd08c3e6376c0cf885d4d4ceb7d9512e58860fbf87c8b116f475149056147bc716a8c1b1c89338d14ca139f9c900a7b27ce004b6c909b094754751e726f6a8ea7656f3dbf105fb45ddcfb522e530dfd6bdf0544d2b2f9e24011097d33d038056fd715c3dabc3771796b357eef668443c9817b5f0b7ea9a3248c5cc6bcbb0de5a38d6103b31eb2ce5f8c2380364c4ec087b0db5b385d5f37ae116d8b42556d5180d1a743bf0a87cd6ab1631d59fc8f3b07257aa7306ccdc483e125936f9db04bc273d57e8aa0a8028100c12c004dddb66a8816d54bf4a0cb0465aa293b474f126d80feb91b7262f436daa9d86602bc29c4f7b36be54dad5088139116ebb0353653796964d2cc1f81f89f3c895e44fec1af6acba4f096639d3fbda4bb20c1400f4a73c31a4a144dae04aca83a7b042e4304eee4b21595fbde48d6dd87a7c34e2c98a6833f599cc79df89b113433ccf60797c58be4926cca77ebc3ae62a43306738127af85601b57dbcccab5b891f820c58d932aa444e5b60ad43a5d7033e196cb78c40309e4fbd2060fd88f6d2548e9a3b9d712675c2d5c7fdfe386d520211e237b77b1407c6b63beec383873da5418e443643ce12ba6fbaad08a94fbbc69d28ae7f405c68bbebd45e18a3ab4601e9d01b2559cc4cb9009344c737f0971b4f904cde514cd623ff3c8a6a5214a9c33d1b9963ac562ebd829d98fe5afbd13f092f2f90794d7b9e6f42f7371ed21a1d7e2657ab513187536821b90cb72d290f1f9417c903edc011cb10cef8ca9c7bf411d3860c1ee9d62b5c7694c0d23ea074bc29ec83ebc6e638c1f3018098a76c948ec15157f9a2cf3aee89b07d16fc3f728b0ae1a2161d9a90bb5bc89dbc7630ec7ca996fbdd6dc473ab46cbc5ecc0af58706b8e5c75349a4259639d224573fe21543b0d787091721ff0c67e5710f2a2ea0e2fb5c71bfffd9fe48e9d3f3d7cca845142e412c1c7b6c153a51f99bf95a2b3765feeb40b2867e3d34f9f8ea579028425e86fc8a9be78027c856c431d08c09bda26a5073ace1021cc62eaa5d840f05eeb2022ad62a6c0ee43e59c99ebaafba3256cb484e03e49084eb74897a32132b1bc89ea89486c868941ce212ee7bb8cf60d68681a6bcf069a1e195e62b67c15aa0a17d8839494a0e5bf790ec9a4fec0197b3a158db773126c3c2a9455457a8c0792bbc66507f263f523b6c9dc3c7f23a5f76b596299c2007a462cad575209df6bf711814753c1ab97d1f761505aacd0757bb9a5a862b7c12c226b583cbc1e808090e4b1feddc37f4a6d82b02cd5ac44cfc0d3e90c6868672d4fe559c8d13cd072f80f4f1f178e46e825fa91eb340710239bb1fc7ed5c4fe7d500a6ddcf5a12ee1f010f13524035fa9513219620ee287b364e20dff741188d11b55c9857a4bfe6e546fd4aef80127441039fc434097fdb406337739838bdbd604312170ec24ec9dde36d3bde2a35c5b68b80e4a09c5ae772a6d4956112abae5f5abdd28cf1164003542cfabfd8cc70aaf5019c445046ad47e281db8757dc5c1f9fa6bd0cf9d1a3fc749ff7fe10a4fad13ba1adeb78717237da9e16a6f53e8e651bdb95d2a0a750f40cec84e374a30bfd1f9596731fbf80ce98999f095b2e15e91608ad1dd5e58d6c0dc64667734702a326fb16a8cc29195942217e58a10e0a73a81306c6e7ae2bc9de2d4938efe2c505ae88bbca966c9c6bc83eae296a6a4e22ab18afd1b8c822a1f55b4ef0b8918a1cde54abeb42a4919ef4536ecabb1781692d58138d4e43fdc33e5b604a1068462c75cbf5eae2462e83d2b91810a64fe652fa243d5a6676a235af37ca0b2bb6cc7a37d9c65bd7f0fdcc1f50a411105dc51f45da1679af9cca91bfb7abbad4c3a31c471778a29258074b1ee41b885ab3ce495bed19ce8167863d9b5d020a6b23e469e5d76b05f9952babe70c8c158cf724f88c5rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcfengine-3.21.0-bp155.1.8.src.rpmcfengine-examples    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3cwbs@a&0`|@_k8_i@_ @^n@^=Q@^8 @]q]6\Y@[Xf@[;e@[(@[(@Z%8Y@YX@Y@XDX@XfL@XdX,J@WWaC@WVHVetU@UUa@U@U hU hU hU@U@U@TgT@Tkkaempf@suse.comFerdinand Thiessen Johannes Segitz Ferdinand Thiessen Klaus Kämpf Klaus Kämpf Thorsten Kukuk Klaus Kämpf Stefan Brüns Dominique Leuenberger Klaus Kämpf matthias.gerstner@suse.comAdam Majer aeszter@gwdg.dekkaempf@suse.comadam.majer@suse.deaeszter@gwdg.dekkaempf@suse.comkkaempf@suse.combwiedemann@suse.comjengelh@inai.dekkaempf@suse.combwiedemann@suse.comadam.majer@suse.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comkkaempf@suse.comdimstar@opensuse.orgkkaempf@suse.comkkaempf@suse.com- Update to version 3.21.0: * Added cf-support utility for generating support information (ENT-9037) * Adjusted cf-check and package module code for empty updates list (ENT-9050) * '$(this.promiser)' can now be used in 'files' promise attributes 'if', 'ifvarclass' and 'unless' (CFE-2262, ENT-7008) * Fixed storage promise for nfs on MacOS (CFE-4093) * Fixed definition of _low_ldt class from cf-monitord (CFE-4022) * Insertion of contents of a file with blank lines into another file with blank lines no longer results in mixed content (ENT-8788) * Added suggestion to use a negative lookahead when non-convergent edits are attempted (CFE-192) * Unresolved function calls that return scalar values are now considered OK for constraints expecting strings during syntax check (CFE-4094) * cf-monitord now honors monitorfacility in body monitor control (ENT-4492) * cf-serverd now periodically reloads its policy if it contains unresolved variables (e.g. $(sys.policy_hub) in 'allowconnect'). (ENT-8456) * cf-serverd now starts in the network-online.target on systemd-based systems (ENT-8456) * edit_line bundles can now use the new $(edit.empty_before_use) variable mirroring the value of edit_defaults=>empty_before_use of the related files promise (ENT-5866) * Package modules with unresolved variables in their names are now skipped in package queries (ENT-9377) * Removed unsupported name_connect capability for udp_socket class (ENT-8824) * 'meta' attribute can now be used in custom promises (CFE-3440) * Custom promise modules can now support the 'action_policy' feature allowing promises of their custom types to be used in dry-run and simulation modes and in combination with 'action_policy => "warn"'. (CFE-3433) * Use of custom promise modules that don't fully specify protocol now results in warning (CFE-3433) * Warnings are logged if levels of log messages from custom promise modules don't match results of their related promises (CFE-3433) * Adjusted SELinux policy for RHEL 9 (ENT-8824) * Fixed SELinux policy to allow hub to send emails (ENT-9557, ENT-9473) * SELinux no longer breaks SQL queries with large result sets on RHEL 8 hubs (ENT-9496) * Added SELinux LDAP port access for Mission Portal (ENT-9694) * Allowed ciphers are now properly split into TLS 1.3 cipher suites and ciphers used for TLS 1.2 and older (ENT-9018) * Fixed git_cfbs_deploy_refspec in masterfiles_stage leaving temp dir - Update to version 3.20.0: * 'rxdirs' now defaults to "false". This means that the read permission bit no longer implies execute bit for directories, by default. Permission bits will be exactly as specified. To restore the old behavior you can still enable 'rxdirs' explicitly. (CFE-951) * 'N' or 'Ns' signal specs can now be used to sleep between signals sent by 'processes' promises (CFE-2207, ENT-5899) * Directories named .no-distrib are no longer copied from policy server (in bootstrap/failsafe) (ENT-8079) * Files promises using content attribute or template method now create files by default unless create => "false" is specified. (CFE-3955, CFE-3916) * template_method mustache and inline_mustache now create file in promiser, if template rendering was successfull and file does not exist. (ENT-4792) * Added support for use of custom bodies in custom promise types (CFE-3574) * Custom promise modules now never get promise data with unresolved variables (CFE-3434) * Custom promises now use standard promise locking and support ifelapsed (CFE-3434) * Enable comment-attribute for custom promise types (CFE-3432) * cf-secret encrypt now encrypts for localhost if no key or host is specified (CFE-3874) * CFEngine now builds with OpenSSL 3 (ENT-8355) * CFEngine now requires OpenSSL 1.0.0 or newer (ENT-8355) * Moved Skipping loading of duplicate policy file messages from VERBOSE to DEBUG (CFE-3934) * CFEngine processes now try to use getent if the builtin user/group info lookup fails (CFE-3937) * No longer possible to undefine reserved hard classes (ENT-7718) * Unspecified 'rxdirs' now produces a warning (CFE-951) * Fixed wrong use of log level in users promises log messages (CFE-3906) * Fixed default for ignore_missing_bundles and ignore_missing_inputs The issue here was that these attributes should default to false, but when they are assigned with an unresolved variable, they would default to true. (ENT-8430) * Added protocol 3 (cookie) to syntax description (ENT-8560) * Moved errors from data_sysctlvalues from inform to verbose (CFE-3818) * Fixed inconsistencies with methods promises and missing bundles- Update to version 3.19.0 * -N/--negate now prevents persistent classes from being defined * 'null' JSON value is now handled as empty data in augments/host-specific data * Added a new common control attribute 'system_log_level' For specifying the minimum log level required for log messages to go to the system log. * Added support for cfbs managed policy set to masterfiles staging script * Trailing commas can now be used in policy argument lists * Changed cf-key option --print-digest to take an optional argument. * Enabled 'handle', 'depends_on', 'with' attribute for custom promise types * Don't fail on new file creation when backups are enabled * Set apache umask to 0177 * cf-serverd now binds to both IPV6 and IPV4 if bindtointerface is unspecified * cf-serverd now reports if fails to bind to all possible addresses/interfaces * Fixed dbm_quick.c, dbm_tokyocab.c DBPrivRead() argument type * Fixed crashes (Segfaults) - Update to version 3.18.0 * Fix CVE-2021-38379 - Publicly available exported reports An attacker with network access to the hub machine (port 443) can obtain reports generated by users in Mission Portal with potentially sensitive data. * Fix CVE-2021-36756 - Certificate not checked in Federated Reporting An attacker can use IP spoofing, DNS spoofing or other common techniques to direct the traffic from the superhub to their own machine instead of the real feeder hub and get it connected to the superhub. * "No action for file" warning is no longer triggered when only 'content => "something"' is used * "source=promise_iteration" variables are no longer created in foreign bundles * 'rename => newname()' now supports relative paths * 'variables' and 'classes' in CMDB and augments data now support 'comment' fields * Added a new --simulate=manifest-full mode * Added a new runagent_socket_allow_users body executor control attribute * Fixed crash when attempting to put methods promises in bundles which are not agent bundles * Fixed various memory leaks * Various other changes see provided ChangeLog file - Refresh harden_cf-hub.service.patch- Added hardening to systemd service(s). Added patch(es): * harden_cf-apache.service.patch * harden_cf-execd.service.patch * harden_cf-hub.service.patch * harden_cf-monitord.service.patch * harden_cf-postgres.service.patch * harden_cf-runalerts.service.patch * harden_cf-serverd.service.patch * harden_cfengine3.service.patch Modified: * cf-execd.service * cf-monitord.service * cf-serverd.service- Fixed SPEC file: Replaced broken URL with current upstream - Update to 3.17.0 * cf-agent can now simulate the changes done to files in a chroot, printing diff or manifest information about what it would do in a normal evaluation. Use the new command line option: `--simulate=diff` or `--simulate=manifest`. Please note that only files and packages promises are simulated currently. * Custom promise types can now be added using promise modules * cf-monitord now uses /proc/net/* files to get network information if possible * Added new policy function execresult_as_data() * Added optional argument to execresult for choosing between stdout and stderr * Outcome classes are now always defined for promiser in files promises * and(), or(), not() now return boolean and cannot be used directly in slist vars. They can now be used in other places where a boolean is expected. (Most notably and / or promise attributes). The return values can be converted to strings using concat(), if necessary (CFE-3470) * Backgrounded commands are now correctly executed in the child process * CFEngine policy bodies can now be completely empty * Directory listings in files changes monitoring are now only updated when there is a change * Promises with 'action => bg()' no longer break reporting data (ENT-6042) * Spaces inside square brackets (slist/data index) are now allowed in class expressions (CFE-3320) * Variables specifying data/list names in @() references are now expanded * Added warnings when trying to use to expand containers in mustache templates (CFE-3457, CFE-3489) * Limited unqualified host and domain name to 511 characters (CFE-3409) * AVCs are no longer produced for CFEngine processes accessing /proc/net * Fixed how we check for `--cols` argument to `ps` (ENT-6098) * Fixed a memory leak in users promises * Fixed a small memory leak in cf-promises (CFE-3461) * Fixed expansion of variables in data/list references (CFE-3299) - FHS issue upstream resolved, can be installed accoring to FHS- drop cfengine-doc subpackage in favor of cfengine-documentation- update to 3.16.0 - Added 'cf-secret' binary for host-specific encryption (CFE-2613) - 'cf-check diagnose --test-write' can now be used to test writing into LMDB files (ENT-4484) - 'if' constraint now works in combination with class contexts (CFE-2615) - Added $(sys.cf_version_release) variable (ENT-5348) - Added new macros to parser: else, maximum_version, between_versions, before_version, at_version and after_version. Version macros now accept single digits (CFE-3198) - Added cf-postgres requirement to cf-apache and cf-hub systemd units (ENT-5125) - Added files promise content attribute (CFE-3276) - Added string_trim() policy function (CFE-3074) - Added warning if CSV parser parses nothing from non-empty file (CFE-3256) - All changes made by 'files' promises are now reported. Also, directory and file creations are now properly reported as 'info' messages. And failures in edit_xml result in promises marked as failed not interrupted. Purged dirs and files are reported as repaired (ENT-5291, CFE-3260) - Bootstrap to loopback interface is now allowed, with a warning (CFE-3304) - Client initiated reporting was fixed on RHEL 8.1 (ENT-5415) - Fixed rare crashing bug when parsing zombie entries in ps output. The problem was only ever observed on AIX, but could theoretically happen on any platform depending on exact libc behavior. (ENT-5329) - Fixed an issue causing duplicate entries in sys.interfaces, and sys.hardware. (CFE-3046) - Fixed ifelse() to return fallback in case of unresolved variables (ENT-4653) - Fixed locking of promises using log_repaired / log_string with timestamps (CFE-3376) - Fixed memory leak in handling of inline JSON in policy evaluation - Fixed memory leak in readlist functions (CFE-3263) - Fixed race condition when multiple agents are acquiring critical section locks simultaneously (CFE-3361) - Fixed selection of standard_services when used from non-default namespace (ENT-5406) - Fixed service status cfengine3 on systemd managed hosts (ENT-5528) - Fixed some memory leaks and crashes in policy evaluation (CFE-3263) - Improved error message for invalid body attribute names (CFE-3273) - Improved management of secondary groups to avoid intermediary state failures (ENT-3710) - LMDB files are now created with correct permissions (ENT-5986) - Log messages about broken Mustache templates are now errors (CFE-3263) - Made classfiltercsv() fail properly on invalid class expression index - Measurements promises with no match no longer produce errors (ENT-5171) - Moved error reading file in countlinesmatching() from verbose to error (CFE-3234) - Added new data validation policy functions validdata() and validjson() (CFE-2898) - New version checking convenience policy functions (CFE-3197) Added the following policy functions to check against local CFEngine version: - cf_version_maximum() - cf_version_minimum() - cf_version_after() - cf_version_before() - cf_version_at() - cf_version_between() - Removed (USE AT YOUR OWN RISK) from cf-key help menu for -x (ENT-5090) - Rewrote helloworld.cf to use files promises content attribute (CFE-3276) - The outcome classes are now defined for the top-level directory when 'include_basedir' is 'false' (ENT-5291) - Variable references with nested parentheses no longer cause errors (CFE-3242) - cf-check: Added a more user friendly message when trying to print unknown binary data (ENT-5234) - cf-check: Added data validation for cf_lastseen.lmdb (CFE-2988) - cf-check: Added nice printing for nova_agent_executions.lmdb (ENT-5234) - cf-check: Added validation for timestamps in cf_lock.lmdb (CFE-2988) - cf-check: Added validation for timestamps in lastseen.lmdb (CFE-2988) - cf-check: Fixed issue causing repair to target the wrong database file (ENT-5309) - cf-check: Symlinked LMDB databases are now preserved in repair Performs diagnosis and repair on symlink target instead of symlink. Repaired files / copies are placed alongside symlink target. In some cases, the symlink target is deleted to repair a corrupt database, and the symlink is left as a broken symlink. This is handled gracefully by the agent, it will be recreated. Broken symlinks are now detected as an acceptable condition in diagnose, it won't try to repair them or delete them. (ENT-5162) - storage promises managing nfs mounts should now correctly mount after editing fstab entries - drop 0001-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch, 0002-Reduce-string-truncation-warnings.patch, 0003-make-home-dir-for-tests.patch - all upstream- Fix version format for suse_version (SuSEfirewall2 check)- update to 3.15.0 - New policy function basename() added (CFE-3196) - Added read_module_protocol() policy function This function reads module protocol from a file, and can be used for caching the results of commands modules. (CFE-2973) - The @ character is now allowed in the key of classic arrays defined by the module protocol (CFE-3099) - nth() policy function now supports negative indices (CFE-3194) - Fixed .xy floating point numbers parsing in eval() (CFE-2762) - Added inform constraint to commands promises, to allow suppression of INFO log messages (CFE-2973) - Changed unless constraint to be more consistent with if For any situation where if would NOT skip a promise, unless will cause the promise to be skipped. When there are unresolved variables / function calls, if will skip, unless will NOT skip. (CFE-3160) - Default minimum allowed TLS version is now 1.1 (ENT-4616) - Network protocol version 2 is now called "tls" "tls" or "2" can be used in places where you specify network protocol. Log messages were altered, to show "tls" instead of "latest". (ENT-4406) - Introduced protocol version 3 - "cookie" This protocol is identical to version 2 ("tls"), except it allows the enterprise reporting hub to send the COOKIE command to enterprise hosts. This command is used for detecting hosts using duplicate identities. Protocol version "latest" now points to version 3. For community installations, it should not make a difference, policy servers will not send this command. The only visible difference is the new version number (in logs and policy). (ENT-4406) - Package modules now hit network when package cache is first initialized (CFE-3094) - Fixed promise skipping bug in unless (CFE-2689) - Fixed error message for unexpanded variables in function calls in unless (CFE-2689) - Prevented buffer overflow when policy variable names are longer than 1024 bytes - Zero bytes in class guards no longer cause crashes (CFE-3028) - Fixed bug in ps parsing on OpenBSD / NetBSD causing bootstrap to fail - Fixed crash in policy/JSON parsing of numbers with too many decimal points (CFE-3138) - copy_from without preserve now respects destination mode (ENT-4016) - Removed stime_range and ttime_range constraints from promise hash (ENT-4921) - Fixed promise result when using process_stop in processes type promises (ENT-4988) - cf-execd now sends SIGKILL to the agent process in case of agent_expireafter, after attempting SIGINT and SIGTERM (CFE-2664) - cf-serverd now tries to accept connection multiple times (CFE-3066) - Fixed multiple measurements tracking growth of same file (ENT-4814) - Set create permissions of monitord files in state directory to 0600 0600 matches the permissions enforced by policy. Affected files: * state/cf_incoming.* * state/cf_outgoing.* * state/cf_users * state/env_data (ENT-4863) - Clarified descriptions of io_writtendata and io_readdata (ENT-5127) - Clarified log message about process_count and restart_class being used concurrently (CFE-208) - Agent runs that hit abortclasses now record results (ENT-2471) - An ID of rhel in os-release file will now define both rhel and redhat classes (CFE-3140) - Version specific distro classes are now collected by default in Enterprise (ENT-4752) - redhat_8 and redhat_8_0 are now defined on RHEL 8 (CFE-3140) - Added derived-from-file tag to hard classes based on /etc/redhat-release (CFE-3140) - Added sys.bootstrap_id policy variable containing the ID from /var/cfengine/bootstrap_id.dat, if present (CFE-2977) - sys.interfaces now contains interfaces even when they only have IPv6 addresses (ENT-4858) - IPv6-only interfaces added to sys.hardware_(addresses,mac) (CFE-3164) - IPv6 addresses are now added to policy variable sys.ip_addresses (CFE-682) - IPv6 addresses now respect ignored_interfaces.rx (CFE-3156) - hostname now allowed in bindtoaddress (CFE-3190) - Fixed issue when removing comments from files in various policy functions This also fixes many erroneous occurences of the error message mentioning: [...] because it legally matches nothing (A warning can still appear if a comment regex actually matches nothing). Also made this comment removing logic faster. Affected functions include: * readstringlist() * readintlist() * readreallist() * peers() * peerleader() * peerleaders() * data_readstringarray() * data_readstringarrayidx() * data_expand() * readstringarray() * readstringarrayidx() * readintarray() * readrealarray() * parsestringarray() * parsestringarrayidx() * parseintarray() * parserealarray() (CFE-3188, ENT-5019) - Fixed memory leak in JSON / env file parsing (CFE-3210) - Fixed memory leak in handling of nfs / fstab (CFE-3210) - Fixed memory leak in string_replace() and regex_replace() (CFE-3210) - Fixed memory leak when using with constraint (CFE-3210) - Fixed minor memory leak in policy evaluation (CFE-3210) - Fixed small memory leak in SQL database promises (CFE-3210) - Received SIGBUS now triggers a repair of local DBs (CFE-3127) - Corrupted LMDB files are now automatically repaired (CFE-3127) - Keys in the lock database, cf_lock.lmdb, are now human-readable (CFE-2596) - Local databases now use synchronous access on AIX and Solaris (ENT-4002) - Report corrupted local database with a critical log message (CFE-2469) - Local DB errors are now logged with the particular DB file path (CFE-2469) - cf-check: repair now preserves readable data in corrupted LMDB files (CFE-3127) - cf-check: --dump option was added to the backup command - cf-check: Added --no-fork to diagnose command (CFE-3145) - cf-check: Added -M manpage option and other common options (CFE-3082) - cf-check: No DB files in state dir now causes errors - cf-check: dump command now dumps DB contents to JSON5 (CFE-3126) - cf-check: help command can now take a topic as argument- Drop fakeroot build dependency, unused. - Drop python build dependency, determine-version.py is not used. - Always build with systemd, distribution versions without systemd are no longer supported by CFEngine. - Drop RHEL5/SLE11 only remove-am_subst_notmake.patch - Cleanup spec file, remove obsolete conditionals. - Make doc and examples packages noarch. - rename 0002-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch to 0001-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch 0003-Reduce-string-truncation-warnings.patch to 0002-Reduce-string-truncation-warnings.patch 0004-make-home-dir-for-tests.patch to 0003-make-home-dir-for-tests.patch - remove 0001-Set-sys.bindir-to-usr-sbin-expect-cf-components-ther.patch- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut through the -mini flavors.- Update to 3.14.0.2 (upstream 3.14.0-2) see https://github.com/cfengine/core/blob/3.14.0-2/ChangeLog- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html- Update to 3.12.1 (LTS) - Added a new binary: cf-check + Corrupt local databases (LMDB) continues to be a problem. cf-check will be used to diagnose and remediate problems with corrupt databases. It is a standalone binary, which doesn't evaluate policy or use the local databases, thus it can be used in situations where the other binaries like cf-agent would hang. + cf-check replaces our lmdb database dumper, lmdump. + `cf-check lmdump` or symlinking / renaming it to lmdump will make cf-check have the exact same behavior as lmdump. cf-check will include much more functionality in the future and some of the code will be added to other binaries, for example to do health checks of databases on startup. Ticket: (ENT-4064) - Class names set by module protocol are automatically canonified (CFE-2877, CFE-2887) - Correct log level for data_readstringarray* (CFE-2922) - Eliminated error messages caused by attempting to kill expired processes (CFE-2824) - Fix cf-runalerts systemd unit conditions so the service will run (ENT-3929) - Fix the off-by-one error in cf-runagent background process spawning (CFE-2873) - Fixed a memory leak which occurred when reloading RSA keys from disk - Fixed a memory leak which occurred while loading augments files (CFE-2913) - Fixed an issue while parsing ps output on AIX (ENT-4295) - Fixed an issue with splay time in cf-execd (CFE-2931) - Fixed error handling and memory leak in cf-key (CFE-2918) - Fixed memory leak in lmdb cleanup (CFE-2918) - Fixed memory leaks in cf-agent during bootstrap (CFE-2918) - Fixed memory leaks in variablesmatching() and findfiles() (CFE-2918) - Fixed missing class with mustache templates in warn_only mode (CFE-2600) - Fixed small memory leak in cf-serverd (CFE-2918) - Fixed valgrind warning about lmdb writing uninitialized memory (CFE-2591) - Read mustache-rendered files in text mode when comparing digest (ENT-2526) - Reload persistent classes on config reload in cf-execd and cf-serverd (CFE-2857) - Started using custom cleanup function instead of atexit due to race condition with unloading DLLs on Windows (ENT-3756) - 0003-Reduce-string-truncation-warnings.patch: refreshed- Fix path to executables for sys variables (BOO #1099946)- Update to 3.12.0 (LTS) New Features: - Add a --key-type option to specify RSA key size to cf-key - New hash_to_int policy function (CFE-2733) - Issue a warning on ignored locking attributes (CFE-2748) - Add IPv6 hard classes with the "ipv6_" prefix (CFE-2310) - Introduce "missing_ok" attribute in body copy_from This allows to ignore missing sources in file copy operations (CFE-2365) - Enable Xen hypervisor detection on all x86 platforms (CFE-2203) - Add sys.policy_entry variables (CFE-2572) - Added inline_mustache template method (CFE-1846) - New component cf-net (cf-net is a CLI for the CFEngine network protocol, useful for debugging, testing etc) and accompanying policy variable sys.cf_net containing path to cf-net binary - Added --log-level option to all components This allows you to specify any log level (info, verbose, debug etc.). It is also less strict, allowing different spelling. As an example, - -log-level i, --log-level INFO, --log-level inform are all the same. - Added special behavior for bundles named __main__ If the bundle is defined in the entry policy it will be defined as main. If the bundle is defined elsewhere, it will be removed. This makes it easy to make importable library policy which can also be executed directly. - See https://github.com/cfengine/core/blob/3.12.x/ChangeLog for other changes and bug fixes - drop 0003-CFE-2629-Openssl-1.1-compatibility.patch (upstream) drop reproducible.patch (upstream) add 0003-Reduce-string-truncation-warnings.patch rename make_home_dir_for_tests.patch to 0004-make-home-dir-for-tests.patch- Use %license instead of %doc- fix path in unit files- add 0003-CFE-2629-Openssl-1.1-compatibility.patch for openssl-1.1.0 compatibility- Update to 3.11.0 New Features: - allow function calls in promiser using universal "with" attribute. (CFE-1092) - add example of with attribute (CFE-1092) - Detect Amazon Linux and set "AmazonLinux" hard class and sys.flavour variable. - New sysctlvalue() and data_sysctlvalues() functions from /proc/sys (CFE-2513) - readdata() also auto-detects .yml files as YAML - Added support for ENV and CSV file parsing (CFE-1881) - Added vars and classes for CoreOS (ENT-3043) - cf-agent: implement --show-evaluated-vars and - -show-evaluated-classes - Support for custom ports and host names as policy hub (CFE-953) - cf-promises: allows --show-vars and --show-classes to take an optional filter - Added a new tool: cf-net. cf-net is a CLI for the CFEngine network protocol, useful for debugging, testing etc. (CFE-2493) - New policy variable: sys.cf_net contains path to cf-net binary - Read /etc/os-release into sys.os_release (CFE-1881) - Full changelog at https://github.com/cfengine/core/blob/3.11.0/ChangeLog- Use gzip -n to not add timestamps to .gz header - Add reproducible.patch to override man page date to make package build fully reproducible- Reword description to have less marketing speak. - Remove two unnecessary ldconfig calls.- Update to 3.10.1 New features/additions: - "make tar-package" should create a tarball with the contents of "make install" (ENT-3041) Bugfixes: - Fix rare output truncation on Solaris 10/11 (CFE-2527) - Change: Don't error during dry run for proposed execution. (CFE-2561) - prevent LMDB assertion on AIX by ensuring nested DB calls are not occuring during signal handler cleanup (CFE-1996) - Detect Amazon Linux and set "AmazonLinux" hard class and sys.flavour variable. - Fix "lastseenexpireafter" 32-bit signed int overflow. - Add missing pcre build flags to cf-key (CFE-2525) - Fix a bug which could cause cf-execd to believe there was an error when sending the email report, when there really wasn't. - cf-serverd: Auto configure max open files ulimit according to maxconnections (CFE-2575) - Added vars and classes for CoreOS (ENT-3043)- Fix build with rpm-4.13- make_home_dir_for_tests.patch: Make cfengine home directory to avoid spamming logfiles during unit tests (bnc#1016848)- Update to 3.10.0 (final) - LTS until Dec 2019 See https://cfengine.com/company/blog-detail/cfengine-3-10-lts-released/ and https://github.com/cfengine/core/blob/3.10.0/ChangeLog for full changelog. New features/additions: - All new features/additions for 3.8 and 3.9 are also included in 3.10. - Add: Classes body tailored for use with diff - New feature: Classes promise: allow classes without an expression to default to defined. - Support for custom ports and host names as policy hub (CFE-953) - Add: Definition of from_cfexecd for cf-execd initiated runs (CFE-2386) - Add < <= > >= operators to eval(). - Add testing jUnit and TAP bundles and include them in stdlib.cf - New function isipinsubnet() (ENT-7949) - LogDebug(): implement module-based debug logging. Now most DEBUG messages are *not* printed even when "-d" is in use, but the specific debug module has to be enabled on the command line. For example to enable all log modules, run: cf-agent -d --log-modules=all - Add: edit_line contains_literal_string to stdlib - add variablesmatching_as_data() function paralleling variablesmatching() (Redmine #7885) - Allow specifying agent maxconnections via def.json (CFE-2461) - Add getuserinfo() function - Add body agent control select_end_match_eof option. (CFE-2390) - rename 0001-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch to 0002-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch - drop cfengine-3.10.0b1.patch, upstream- Update to 3.10.0 (beta1) - LTS until Dec 2019 See https://github.com/cfengine/core/blob/3.10.0b1/ChangeLog for full ChangeLog - Add cfengine-3.10.0b1.patch to find libacl during build- Update to 3.9.1 - Change: Log level for keeping verbatim JSON to DEBUG (CFE-2141) - Change (masterfiles): Definition of from_cfexecd for cf-execd initiated runs (CFE-2386) - Change: Switch processes restart_class logging to verbose - Change: Enable agent component management policy on systemd hosts (CFE-2429) - Change: Remove executable bit from systemd units (CFE-2436) - Change: Require network before cfengine services (CFE-2435) - Fix 'contain' attribute 'no_output' having no effect when the 'commands' promise is using 'module => "true"'. (CFE-2412) - Fix: Services starting or stopping unnecessarily (CFE-2421) - Fix occasional segfault when running getindices() on a variable that has indices of multiple depths (e.g. both "a[x]" and "a[x][y]"). (CFE-2397) - Fix bug in files promise when multiple owners are promised but first one doesn't exist, and improve logging . (CFE-2432) - fix: memory leaks- Update to 3.9.0 Full changelog at https://github.com/cfengine/core/blob/3.9.0/ChangeLog New features: - Classes promise: allow classes without an expression to default to defined. - Add optional interface parameter to iprange() to match only one interface. - Allow '=' in symbolic modes (Redmine #7826) - Add: FreeBSD ports package module - New package module for FreeBSD pkg package manager. - Add support for adding/removing fifos in policy - Add Linux parsing of /proc/net/ data. - sys.inet - sys.inet6 - sys.interface_data - Data is returned as a data container. - See documentation for more details. (Jira CFE-1991) - sys.ip2iface: new reverse mapping variable from IP to interface name - Namespaced classes can now be specified on the command line. - namespaces can now be passed to cf-runagent -D and --remote-bundles (Redmine #7856) - Add 'cf-full' and 'json-full' to cf-promises '-p' option. They generate output based on the entire policy. The existing 'cf' already behaved this way, and it has now been changed to generate output only for a single file, which the existing 'json' option already does. - New language functions: processexists() and findprocesses() (Redmine #7633) - Implement new regex_replace() function. (Redmine #7346) - Add log rotation policy for state/classes.jsonl log. (Redmine #7951) - Added collect_vars utility bundle to stdlib - Intoduce report_class_log attribute to body agent common. (Redmine #7951) - Add standard_services service_method allowing for explicit usage - cf-promises --show-vars can now show JSON variables. - Add json_pipe mode to mapdata(), which allows piping a JSON container to an external program for manipulation and receiving JSON back. The jq tool is a good example where this mode can be useful. A corresponding $(def.jq) variable has also been added with a default path to this tool. See documentation for mapdata() for more information and examples. (Jira CFE-2071) - behaviour change: "true" is always defined and "false" is never defined in a context expression. - Add: nimclient package module for AIX This module provides basic functionality for using nimclient as a means to ensure packages are either present or absent. It does not support listing package updates available or provide any special caching. - Add callstack_callers() and callstack_promisers() functions. - Log variable definitions in debug output. (Redmine #7137) - Add: Memory information to host info report (Jira CFE-1177) - In Mustache templates, one can now use {{#-top-}} and {{/-top-}} tags to iterate over the top level element in a container. (Redmine #6545) - Add network_connections() function that parses /proc/net - Provide new -w argument to override the workdir for testing - New feature: Emails sent by cf-execd can be filtered to get rid of emails for unwanted log messages. The attributes mailfilter_include and mailfilter_exclude in body executor control control what to include. See documentation for cf-execd for more information. (Jira CFE-2283) - Add: file_make_mustache bundle to render mustache templates - Add '-n' flag to cf-key to avoid host name lookups. - cf-agent, cf-execd, cf-promises, cf-runagent and cf-serverd honor multiple -D, -N and -s arguments (Redmine #7191) - Add "canonify" mode to mapdata(). - Add: printfile bodies to stdlib - Add: New results classes body [] (Redmine #7418, #7481) - Implement cf-runagent --remote-bundles and cf-serverd "bundle" access promise. (Redmine #7581) - Add commands promise arglist attribute, augmenting args attribute. - It's now possible to reference variables in inline JSON, for example: mergedata('[ thing, { "mykey": otherthing[123] } ]'). thing and otherthing[123] will be resolved as variables, since they are unquoted. See the documentation for more details. (Redmine #7871) - Allow inline JSON to be used in the following function calls: - data_expand() - difference() - every() - filter() - format() - getindices() - getvalues() - grep() - intersection() - join() - length() - makerule() - mapdata() - maplist() - mean() - mergedata() - none() - nth() - parsejson() - product() - regarray() - reglist() - reverse() - shuffle() - some() - sort() - storejson() - string_mustache() - sublist() - sum() - unique() - url_get() - variance() For example: mergedata('[ "thing", { "mykey": "myvalue" }]') See the documentation for more details. (Jira CFE-2253) - Add: edit_line contains_literal_string to stdlib - Add body agent control select_end_match_eof option. (Jira CFE-2390)- Update to 3.8.2 Fixes: - Reduce verbosity of apt_get package module (Redmine #7485) - Reduce verbosity of yum package module (Redmine #7485) - The isvariable() function call now correctly accepts all array variables when specified inline. Previously it would not accept certain special characters, even though they could be specified indirectly by using a variable to hold it. (Redmine #7088) - Don't follow symbolic links when copying extended attributes. - Fix a bug which sometimes caused package promises to be skipped with "XX Another cf-agent seems to have done this since I started" messages in the log, most notably in long running cf-agent runs (longer than one minute). (Redmine #7933) - Fix bug which could render host unable to recover from a syntax error, even if failsafe.cf was utilized. This could happen if the file containing the syntax error was specified in the def.json special file. (Redmine #7961) - Change: Policy files specified in the "inputs" section of def.json will no longer be auto-loaded. One has to refer to the $(def.augments_inputs) variable in the policy (the standard masterfiles policies include this by default). This only affects installations which are not based on the standard masterfiles, and which are using the "inputs" field inside def.json. (Redmine #7961) - Fix file descriptor leak when there are network errors. - Fix cf-serverd error messages with classic protocol clients (Redmine #7818) - Installing packages containing version numbers using yum now works correctly. (Redmine #7825) - Fix ps options for FreeBSD to check processes only in current host and not in jails - fix build failure on FreeBSD 7.1 (Redmine #7415) - Show errors regarding failure to copy extended attributes when doing a local file copy. Errors could happen when copying across two different mount points where the support for extended attributes is different between the mount points. - Fix classes being set because of hash collision in the implementation. (Redmine #7912) - Allow def.json up to 5MB instead of 4K. - Fix a regression which would sometimes cause "Permission denied" errors on files inside directories with very restricted permissions. (Redmine #7808) - Change: Suppress standard services noise on SUSE (Redmine #6968) Changes: - Change: classesmatching(): order of classes changed- Update to 3.8.1 Changes: - Upgrade CFEngine dependencies to the following versions: - OpenSSL 1.0.2e - PCRE 8.38 - libxml2 2.9.3 - OpenLDAP 2.4.43 - libcurl 7.46.0 - Upgrade LMDB to version 0.9.17. (Redmine #7879) Bug fixes: - @if minimum_version now correctly ignores lines starting with '@' (Redmine #7862) - Add guard for binary upgrade during bootstrap (Redmine #7861) - Namespaced classes can now be specified on the command line. - Fix bad option nlwp to vzps on Proxmox / OpenVZ. (Redmine #6961) - Fix two cases where action_policy warn still produces errors (Redmine #7274) - Parse def.json vars, classes and inputs from the C code. This fixes a bug where certain entries in this file would be parsed too late to have any effect on the evaluation. (Redmine #7453, #7615) - Fix HP-UX specific bug that caused a lot of log output to disappear. - Check for empty server response in RemoteDirList after decryption (Redmine #7908) - getvalues() will now return a list also for data containers, and will descend recursively into the containers. (Redmine #7116) - Define (bootstrap|failsafe)_mode during update.cf when triggerd from failsafe.cf (Redmine #7861)- Update to 3.8.0 New features/additions: - New feature: Bodies can now inherit attribute values from other bodies by specifying "inherit_from" with the name of the body to inherit from, plus any arguments it accepts. For example: body classes myclasses { inherit_from => classes_generic("myname"); } (Redmine #4309) - Add url_get() function. (Redmine #6480) - Add @if feature() syntax @if feature work like @if minimum_version but allows distinguishing between features choosen at compile time. - Extend module protocol to create persistent classes. To use it, have the module print a line with "^persistence=" before printing any class names. "persistence=0" goes back to non- persistent classes. (Redmine #7302) - Add: New results classes body (Redmine #7418) - Add: Debug reports in cfe_internal_cleanup_agent_reports - Add: Path to svcprop in stdlib - Add: masterfiles-stage script to contrib - Whitespace is now allowed in class expressions for readability, between class names and operators. (Redmine #7152) - Add: New results classes body [Redmine#7481] (Redmine #7418) Changes: - Change: Clarify bootstrap/failsafe reports - Change: Improve in-line docs for internal log maintenance - Change: Improve efficiency and debug reports (Redmine #7527) - Remove: 3.5 support from masterfiles policy framework - Long promiser strings with multiple lines are now abbreviated in logs. (Redmine #3964) - Change: Reunify Version based policy split - Change: Seperate binary details from policy update (Redmine #7662) - Remove /var/cfengine/cf3..runlog. (Redmine #6957) - Change: sys.libdir and sys.local_libdir to non version specific path - sys.libdir now resolves to $(sys.inputdir)/lib - sys.local_libdir now resolves to lib (Redmine #7559) - Moved the following files to /var/cfengine/log/: - /var/cfengine/promise_summary.log - /var/cfengine/cfagent..log - Change: Seperate binary details from policy update (Redmine #7662) - Remove: Support for email settings from augments_file (Redmine #7682) Many bug fixes.- Update to 3.7.1 (LTS release) - Fix daemons not restarting correctly on upgrade on AIX. (Redmine #7550) - Fix upgrade causing error message under systemd because of open ports. - Fix build with musl libc. (Redmine #7455) - Long promiser strings with multiple lines are now abbreviated in logs. (Redmine #3964) - Fixed a bug which could cause daemons to not to be killed correctly when upgrading or manually running "service cfengine3 stop". (Redmine #7193) - Package promise: Fix inability to install certain packages with numbers. - Fix package promise not removing dependant packages. (Redmine #7424) - Fix warning "Failed to parse csv file entry" with certain very long commands promises. (Redmine #7400) - Fix misaligned help output in cf-hub. (Redmine #7273) - Augmenting inputs from the augments_file (Redmine #7420) - Add support for failover to 3rd HA node located outside cluster. - Upgrade all dependencies for patch release. - Fix a bug which caused daemons not to be restarted on upgrade. (Redmine #7528)- Update to 3.7.0 See https://github.com/cfengine/core/blob/3.7.x/ChangeLog for full changelog New features: - New package promise implementation. The syntax is much simpler, to try it out, check out the syntax: packages: "mypackage" policy => "absent/present", [#] Optional, default taken from common control package_module => apt_get, [#] Optional, will only match exact version. May be [#] "latest". version => "32.0", [#] Optional. architecture => "x86_64"; - Full systemd support for all relevant platforms - New classes to determine whether certain features are enabled: * feature_yaml * feature_xml For the official CFEngine packages, these are always enabled, but packages from other sources may be built without the support. - New readdata() support for generic data input (CSV, YAML, JSON, or auto) - YAML support: new readyaml() function and in readdata() - CSV support: new readcsv() function and in readdata() - New string_mustache() function - New data_regextract() function - eval() can now be called with "class" as the "mode" argument, which will cause it to return true ("any") if the calculated result is non-zero, and false ("!any") if it is zero. - New list_ifelse() function - New mapjson() function as well as JSON support in maparray(). - filestat() function now supports "xattr" argument for extended attributes. - "ifvarclass" now has "if" as an alias, and "unless" as an inverse alias. - Ability to expand JSON variables directory in Mustache templates: Prefix the name with '%' for multiline expansion, '$' for compact expansion. - Ability to expand the iteration *key* in Mustache templates with @ - Canonical JSON output: JSON output has reliably sorted keys so the same data structure will produce the same JSON every time. - New "@if minimum_version(x.x)" syntax in order to hide future language improvements from versions that don't understand them. - compile time option (--with-statedir) to override the default state/ directory path. - Fix error messages/ handling in process signalling which no longer allowed any signals to fail silently - Also enable shortcut keyword for cf-serverd classic protocol, eg to simplify the bootstrap process for clients that have different sys.masterdir settings (Redmine #3697) - methods promises now accepts the bundle name in the promiser string, as long as it doesn't have any parameters. - In a services promise, if the service_method bundle is not specified, it defaults to the promiser string (canonified) with "service_" as a prefix. The bundle must be in the same namespace as the promise. - inline JSON in policy files: surrounding with parsejson() is now optional *when creating a new data container*. - New data_expand() function to interpolate variables in a data container. - Add configurable network bandwidth limit for all outgoing connections ("bwlimit" attribute in "body common control") . To enforce it in both directions, make sure the attribute is set on both sides of the connection. - Secure bootstrap has been facilitated by use of "cf-agent --boostrap HUB_ADDRESS --trust-server=no" - Implement new TLS-relevant options (Redmine #6883): - body common control: tls_min_version - body server control: allowtlsversion - body common control: tls_ciphers - body server control: allowciphers (preexisting) - Drop patches, both upstream 0001-Do-not-use-insecure-MD5-but-rather-SHA256.patch cfengine-fips.patch- Fix Fedora/RHEL builds- Partial fix for bnc#923417: * 0001-Do-not-use-insecure-MD5-but-rather-SHA256.patch- Enable tests, 1 fail so document it- Enable pam and disable silent rules for make- Proceed bit more with cleaning, the RH sections are failing to build for couple of years. Better readability without them so prune it out - Convert the in-spec build switches to %bcond - Provide rcbla links to systemd services- Add patch to use proper SSL exponent bnc#922571 * cfengine-fips.patch- Format with spec-cleaner, this is just reordering, no factical change here- Update to 3.6.5 Features: - Introduced "systemd" hard class. (Redmine #6995) - Added paths to dtrace, zfs and zpool on FreeBSD in masterfiles. Bug fixes: - Fixed build error on certain RHEL5 and SLES10 setups. (Redmine #6841) - Fixed a bug which caused dangling symlinks not to be removed. (Redmine #6582) - Fixed data_readstringarrayidx function not preserving the order of the array it's producing. (Redmine #6920) - Fixed a bug which sometimes caused CFEngine to kill the wrong daemon if both the host and a container inside the host were running CFEngine. (Redmine #6906) - Made sure the rm_rf_depth bundle also deletes the base directory. (Redmine #7009) - Fixed monitord reporting wrongly on open ports. (Redmine #6926) - Skip adding the class when its name is longer than 1024 characters. Fixed core dump when the name is too large. (Redmine #7013) - Fixed detection of stopped process on Solaris. (Redmine #6946) - Fixed infinite loop (Redmine #6992) plus a couple more minor bugs in edit_xml promises.- Remove install-info calls in post/postun: there is no info page being installed. - rop texlive BuildRequires (there is no info page, and even if, makeinfo would be sufficien).- Update to 3.6.4 Features: - Introduced users promises support on HP-UX platform. - Introduced process promises support on HP-UX platform. Bug fixes: - Fixed bug on FreeBSD which sometimes led to the wrong process being killed (Redmine #2330) - Fixed package version comparison sometimes failing with rpm package manager (Redmine #6807) - Fixed a bug in users promises which would sometimes set the wrong password hash if the user would also be unlocked at the same time. - Fixed a bug on AIX which would occationally kill the wrong process. - Improved error message for functions that require an absolute path. (Redmine #6877) - Fixed some spelling errors in examples. - Fixed error in out-of-tree builds when building cf-upgrade. - Fixed a bug which would make cf-agent exit with an error if it was built with a custom log directory, and that directory did not exist. - Fixed ordering of evaluating promises when depends_on is used. (Redmine #6484, Redmine #5462) - Skip non-empty directories silently when recursively deleting. (Redmine #6331) - Fix memory exhaustion with list larger than 4994 items. (Redmine # 6672) - Fix cf-execd segfault on IP address detection (Redmine #6905). - Fix hard class detection of RHEL6 ComputeNode (Redmine #3148).- Update to 3.6.3 New features: - support for HP-UX 11.23 and later - experimental support for Red Hat Enterprise Linux 7 Bug fixes: - fix getindices on multi-dimensional arrays (Redmine #6779) - fix mustache template method to run in dryrun mode (Redmine #6739) - set mailto and mailfrom settings for execd in def.cf (Redmine #6702) - fix conflation of multi-index entries in arrays (Redmine #6674) - fix promise locking when transfering using update.cf (Redmine #6623) - update JSON parser to return an error on truncation (Redmine #6608) - fix sys.hardware_addresses not expanded (Redmine #6603) - fix opening database txn /var/cfengine/cf_lastseen.lmdb: MDB_READERS_FULL when running cf-keys --show-hosts (Redmine #6602) - fix segfault (Null pointer dereference) when select_end in delete_lines never matches (Redmine #6589) - fix max_file_size => "0" not disabling or allowing any size (Redmine #6588) - fix ifvarclass, with iteration over list, failing when deleting files with time condition (Redmine #6577) - fix classes defined with "or" constraint are never set if any value doesn't evaluate to a scalar (Redmine #6569) - update "mailfrom" default in default policy (Redmine #6567) - fix logrotate ambiguity of filename (Redmine #6563) - fix parsing JSON files (Redmine #6549) - reduce write count activity to /var partition (Redmine #6523) - fix files delete attribute incorrectly triggering promise_kept (Redmine #6509) - update services bundle output related to chkconfig when run in inform mode. (Redmine #6492) - fix Solaris serverd tests (Redmine #6406) - fix broken bechaviour of merging arrays with readstringarray (Redmine #6369) - fix ifelapsed bug with bundle nesting (Redmine #6334) - fix handling cf_null in bundlesequence (Redmine #6119) - fix maparray reading whole input array when using subarray (Redmine #6033) - fix directories being randomly changed to files (Redmine #6027) - update defaults promise type to work with classes (Redmine #5748) - systemd integration in services promises (Redmine #5415) - fix touch attribute ignoring action = warn_only (Redmine #3172) - fix 4KB string limit in functions readfile, string_downcase, string_head, string_reverse, string_length, string_tail, string_upcase (Redmine #2912)lamb11 1684751480  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3.21.0-bp155.1.8cfengine-examplesabort.cfaccessed_before.cfaccessedbefore.cfaccumulated_time.cfacl.cfacl_generic.cfacl_ntfs.cfacl_secret.cfaction_policy.cfactive_directory.cfactivedirectory_listusers.cfactivedirectory_showuser.cfago.cfapp_baseline.cfappgroups.cfarrays.cfaugment.cfbackreferences_files.cfbasename.cfbsdflags.cfbundle_return_values.cfbundlesequence.cfbundlesmatching.cfbundlestate.cfcanonify.cfcf-secret.cfcf2_integration.cfcf_version_after.cfcf_version_at.cfcf_version_before.cfcf_version_between.cfcf_version_maximum.cfcf_version_minimum.cfchange_detect.cfchangedbefore.cfchdir.cfclass-automatic-canonificiation.cfclasses_context_applies_multiple_promises.cfclasses_global.cfclassesmatching.cfclassfiltercsv.cfclassmatch.cfclassvar_convergence.cfcommands.cfcompare.cfcomplicated_cpu_bound_benchmark.cfconst.cfcontainer_iteration.cfcontainer_key_iteration.cfcontrol_expand.cfcopy.cfcopy_classes.cfcopy_copbl.cfcopy_edit.cfcopydir_copbl.cfcopylinks.cfcountclassesmatching.cfcountlinesmatching.cfcreate_filedir.cfcreatedb.cfcustomize_by_named_list.cfdata_expand.cfdata_readstringarray.cfdata_regextract.cfdata_sysctlvalues.cfdatastate.cfdefaults.cfdefaults2.cfdefaults3.cfdefinitions.cfdeletelines.cfdepends_on.cfdepends_on2.cfdifference.cfdirname.cfdisable.cfdisable_and_rotate_files.cfdiskfree.cfdollar.cfedit.empty_before_use.cfedit.filename.cfedit_column_files.cfedit_comment_lines.cfedit_deletenotmatch.cfedit_insert_fuzzylines.cfedit_insert_lines.cfedit_insert_lines_silly.cfedit_passwd_file.cfedit_passwd_file_basic.cfedit_replace_string.cfedit_sectioned_file.cfedit_setvar.cfedit_template.cfedit_triggerclass.cfedit_xml.cfensure_line_present_prepend_append.cfenv.cfepimenides.cfescape.cfeval.cfevery.cfexec_args.cfexec_in_sequence.cfexecd.cfexecresult.cfexecresult_as_data.cfexpand.cffailedcommand.cffile_change_detection.cffile_hash.cffile_owner_list_template.cffileexists.cffilenames.cffileperms.cffiles_auto_define.cffiles_content.cffiles_depth_search_include_basedir.cffiles_transformer.cffilesexist.cffilesexist2.cffilesize.cffilestat.cffilter.cffindfiles.cffindfiles_up.cffix_names.cfformat.cffunction-return-types.cfgetclassmetatags.cfgetenv.cfgetfields.cfgetgid.cfgetindices.cfgetindices_and_values.cfgetmacaddress.cfgetregistry.cfgetuid.cfgetuserinfo.cfgetusers.cfgetvalues.cfgetvariablemetatags.cfglobal_list_expansion.cfglobal_list_expansion_2.cfgrep.cfgroupexists.cfguest_environment_kvm.cfhash.cfhash_to_int.cfhashcomment.cfhashmatch.cfhashuncomment.cfhelloworld.cfhost2ip.cfhostrange.cfhostsseen.cfhostswithclass.cfhub.cfid.cfinform.cfinherit.cfinherit_from.cfinherit_from_classes.cfinline-json.cfinline-yaml.cfinsert_users.cfint.cfintarray.cfintersection.cfinventory_cpu.cfip2host.cfiprange.cfirange.cfisdir.cfisexecutable.cfisgreaterthan.cfisipinsubnet.cfislessthan.cfislink.cfisnewerthan.cfisplain.cfisvariable.cfiteration.cfjoin.cfkill_process_running_wrong_user.cflastnode.cfldap.cflength.cflinking.cfliteral_server.cflocal_group_present.cflocal_user_password.cflocal_user_secondary_group_member.cflocal_users_absent.cflocal_users_locked.cflocal_users_present.cflocate_files_and_compress.cflog_private.cfloops.cflsdir.cfmain.cfmain_entry_point.cfmain_library.cfmaparray.cfmapdata.cfmapdata_jsonpipe.cfmaplist.cfmax-min-mean-variance.cfmeasure_log.cfmeasurements.cfmenu.cfmergedata-last-key-wins.cfmergedata.cfmeta.cfmethod.cfmethod_polymorph.cfmethod_validate.cfmethod_var.cfmethod_var2.cfmissing_ok.cfmodule_exec.cfmodule_exec_2.cfmonitord.cfmount_fs.cfmultipassvars.cfmultiple_outcomes.cfmustache_classes.cfmustache_comments.cfmustache_extension_compact_json.cfmustache_extension_expand_key.cfmustache_extension_multiline_json.cfmustache_extension_top.cfmustache_sections_empty_list.cfmustache_sections_inverted.cfmustache_sections_non_empty_list.cfmustache_sections_non_false_value.cfmustache_set_delimiters.cfmustache_template_motd.cfmustache_variables.cfnamespace_bodies.cfnamespace_classes.cfnamespace_declaration.cfnamespace_hard_classes.cfnamespace_methods-usebundle.cfnamespace_special_var_exception.cfnamespace_var_meta.cfnamespace_var_meta2.cfnamespace_variable_references.cfneighbourhood_watch.cfnone.cfnth.cfnull_config.cforchestrate_chain1.cforchestrate_chain2.cforchestrate_delay_trigger.cforchestrate_dominoes1.cforchestrate_dominoes2.cforchestrate_dragon.cforchestrate_dragon_load_balancer.cforchestrate_n_of_m.cforchestration_hostlist.cfordering.cfpackage_apt.cfpackage_bundles.cfpackage_freebsd.cfpackage_latest.cfpackage_msi_file.cfpackage_msi_version.cfpackage_rpm.cfpackage_solaris.cfpackage_windows_feature.cfpackage_yum.cfpackage_zypper.cfpackagesmatching.cfparallel_exec.cfparseintarray.cfparserealarray.cfparsestringarray.cfparsestringarrayidx.cfpathtype.cfpattern_and_edit.cfpeerleader.cfpeerleaders.cfpeers.cfpostfix.cfprintfile.cfprocess_kill.cfprocess_matching.cfprocess_matching2.cfprocess_matching3.cfprocess_restart.cfprocess_restart_basic.cfprocess_signalling.cfprocesses_define_class_based_on_process_runtime.cfproduct.cfpromises.cfquoting.cfrandomint.cfread_module_protocol.cfreadcsv.cfreaddata.cfreadenvfile.cfreadfile.cfreadintarray.cfreadintlist.cfreadintrealstringlist.cfreadlist.cfreadrealarray.cfreadreallist.cfreadstringarray.cfreadstringlist.cfreadtcp.cfreference_values_inside_data.cfreg_multiline.cfregarray.cfregcmp.cfregex_replace.cfregex_win.cfregextract.cfregistry.cfregistry_cache.cfregistryvalue.cfregline.cfreglist.cfremoteclasses.cfremoteclasses2.cfremotescalar.cfremove_deadlinks.cfrename.cfrepairedcommand.cfreport_custom.cfreport_state.cfreports.cfreporttofile.cfresolveconf.cfreturnszero.cfreverse.cfroot_passwd.cfrxdirs.cfselect_class.cfselect_mode.cfselect_region.cfselect_size.cfselectservers.cfserver_callback.cfserver_copy_localhost.cfserver_copy_purge.cfserver_copy_remote.cfserver_flatcopy_localhost.cfservice_catalogue.cfservice_catalogue_separate.cfservice_disable.cfservice_start.cfservices.cfservices_concept.cfservices_default_service_bundle.cfservices_win.cfsetuidlog.cfsetvar.cfshuffle.cfsimple_ssh_key_distribution.cfsoftware_dist.cfsoftware_update_version_yum.cfsome.cfsort.cfsplitstring.cfsql_table_structure.cfstorage-cifs.cfstorage.cfstorejson.cfstrcmp.cfstrftime.cfstring.cfstring_downcase.cfstring_head.cfstring_length.cfstring_mustache.cfstring_replace.cfstring_reverse.cfstring_split.cfstring_tail.cfstring_trim.cfstring_upcase.cfstringarray.cfstyle_PascaleCase.cfstyle_camelCase.cfstyle_hungarian.cfstyle_snake_case.cfsublist.cfsum.cfswitchcase.cfsymlink.cfsymlink_children.cfsys_interfaces_ip_addresses_ipv4.cfsyslog.cfsyslog2.cftemplate.cftemplate2.cftemplate_method-inline_mustache.cftest_environment.cftidy_all_files.cftranslatepath.cftype.cfunique.cfunpack_method_calls.cfupdate.cfuser_edit.cfuser_edit_method.cfuserexists.cfusers_type.cfvaliddata.cfvalidjson.cfvarclass.cfvarexpansion.cfvariablesmatching.cfvariablesmatching_as_data.cfvarnet.cfvars.cfwarnifline.cfwebserver.cfwin_dns_client.cfwin_emergency.cfwin_registry.cfwin_schedule.cfwith.cfzenoss.cf/usr/share/doc/packages//usr/share/doc/packages/cfengine-examples/-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.opensuse.org/openSUSE:Backports:SLE-15-SP5/standard/10caf28a5c07783db6130c590c002f9d-cfenginecpioxz5x86_64-suse-linuxdirectoryASCII texta /var/cfengine/bin/cf-agent -f- script, ASCII text executableUTF-8 Unicode textASCII text, with CR, LF line terminatorsa /var/cfengine/bin/cf-agent -KIf- script, ASCII text executableHTML document, ASCII textASCII text, with very long linesͧ!m?w89utf-82e05e9bec24fbbc2a0aa812cf3823048508d2460ea347adb66d8c306e61a545f?P7zXZ !t/k] crt:bLL ؝.UW`^Nՙ&4Wq=m`]&Q `$TцRJ=0ugEvя1d~ʲo!u&Cʪ]܀̶!W XKGm!Z^&QC.ÖD- R([F'O-,\doh[vukԘI<l-Qk9r,,W\oS=ic\d~#72"/BwOJquȗx5\g~҆4 뙯&^/-+֐yюChE/|B-* >u/.*Dc0MiwrB>w X؞]W5}; :ӊ\pAR7CM9qӞ7Gz ^*~ZfLڟw'm=a|Z6+Cpg\LOٲӋݫ=%ͳ[)j-;u#TU,SS{eքYeiq:>pɜ .R硍rj}uQnAT=d(_bm$mN' Bj`U^o1K.z9{M٫mKGU:G_A jDždC'^ӝYTp@ K]+}-5w&:TJ*O 0GOtO] nЭIސth-=E \}#W +oH%t Ӈ*y&yʵ:Ӧر$!!^D/F03IOxT`pGl]P7y!A.*'CJ dUS^.Ka6SCXx]=s">f'tͳg8Qo"%k#"PuBYcwYQivUg2_Xm{o|lrIzm WfBoo[D!]Z6q(ưjvJ?<(gH\?ƾ<0fS{O(x!e+1_ZRPڨSTꝭҬl2fe8^E>8[fxWk ?+i@"5-VW%zȼ'3?w̅=ӶZy _xt4MK`PpTv=<ٻ2p%Ć4yB |M ;cҌ*k) 4d^p3,?!cOjʾ'ns9>T}jtԝS}zH7pE,jXRAmzL[4٠E+\KVzNG"+AuVNZe ;Dcd,${$-Z+<{j*ejxRLj>; 7AcJmr<tċ}܅=x֦8al &tQ^jx8M}EH@.NmVer+`LAg UCa*dHA'/k| l&гY`HF ;oٹz i+ vr_E GnhX,O`ovp0>=Z2'XqeZn.FsLRyN8D3y_n f4G7;GJ=Z-Kg"jK;NUY1q9eY[`MH(, F޻")Qпn-'r?d4qLsw(6eR%0^xd!G="Yq9ذj6 vl Nχny*ko@ fY&!Dan-mXu`p,>@˃JN!Y2x.IJWAjW35M0+u YkD+3cQCGdrTTA\xJsY[ 4=qItgvu,}S/o?BBRBlV48΀鲯Ȥ!zjT&gyw-LBs!,m-Fr_n+( ;P.dU< >uwr8 T"-gPe{iKyi[ҫ!K9mh*J?]%uB(b #b墨_WG7}ecEG]Ӕ8IDm,X%ZvbfnWg=áݫ@阇"s944 s9W.ޝP~Kڒz@j:3ݥg; <Ӓ 9hNuw"#}IlQuE,)P 䃘P\yG p.R'ofw;oRɫ\'n_M/סk%K&f @jޘTGcANT;+P ?%طdH=*7Kz o\Wކ؁:Vgd'm4K>*{t[3ʺví _ۉ2;w9SAVI.TrE}0=4m3[bڒi46.COsLDЌټe e|{ig ω(Xp& -%͹( ~;]AӓFU7eed?uVB'`.\cVбv@;Tލiwji(\vhpaf0WaZ/e_wR囟>XpY1Ce#3.1$qAgkZ5u Pz`Upj*)ćŚ}%̙ejrT_w0IAgɐwmB/`lZ:@gϛBPo]wI@ۨ-:1T̫=[Siٌlvmjd¼Leյ́ga8jEY) yNR#M\=!j(!Jg<->foЂt3Ŗn ~$eĨϝ狋8)p *uDvV佗u?歁ccⲁ*6ɝns. aqTÀfq C0,_/w"+J j\Ku|L4Wh(EO&nQ W$%V2:N}Lcs{S~jd }@cLmBHИ- *N-B}gt7-6#i+AsD: TCWD4Gӑ >,h" IQlUb8Y.t] c,z/tt{ T*9WcV pubvxš"<{%ݻIP"5wcx"ٝ61MNK/2WxA[ߺ .$by Dc(hHâmiNm G~l}m˗e[ZH~q 67q=EwڅiO\ ,¥Uqlli}mvƐi,9\S+&Z~ ȁQ&*u 8iYjH&OCC"nt'V5dj^[\O =! X T*@'h~rFh>=*۵p'&Tjh'*K&;Tg:EOT6U5mP)'x\&/ Ӗ)wԚ[D"g\* @A":$=h2 ?!©X-Q9(K$@TYN8vҴxm܋ꘝTc y :=vAuO;R 4)2!i >[at#a ǟ#eH} (rgҝU UtP{MqфmWh'yj, ?YO!@eWY|Iֆviݭ(e ]r`eM'w+6`@l)~Kj HMd+ p:M -|;^oyHt+HS"3y2AU9wfs螲 (ˊ ^o:l;(ȴ Q蛬%< ]佌oJG٧h4#TJyJd`|C逸nv h"MZ _Z7%JU5֗BdVa[\_ʈ%.^(X_aFd'c&0/"X3HC^ZF{7(jHD?s h?9&'nXNBTɬc=iFhv0KZv5BL@ !ʐiQ*dEx0a#W5]3ҥB!&}{.v~pol$΋s^x Ơ#AFrw zsz1/wZ#P&Zs:پ6F?=}#uܝYm$^ev]ޙܙ ~mge9жqRo_U򗨕8i|4@e,b.GR *{'^Z#8<L@7jAFa $y1Y/tpao\zx'mY}idҾus<E CI ؐ{[H;Pl00'"SAD[Ie[K 9+3# ؀rk"pc.ެQMc  JӢSIfM y c_+9&JY'O۾}2{YoNL ^ݞ[3wZC2O5ԇ> Roy&STȦj(3x ~դթYUKȱ7t_8PHBR0`>b ψ+Fzrj.jNƁXQBThwv:w$I,&os Oc.Vc?x7\sOcߘKϷ.@얈 @\MӤcW2,CxZ:nޔW̳$#b+$ maH(dɼFhJ2,Z:)%m G.s3OE:=&x;#Ni+s;M+kS9-I5肗'}+O3>`VӁ.Zޢ~g$Bb;//?Cm/}]]muTy_=߽n]2j]0PD9wmK'&Fv $U4bb&&ac'IП +t@D<}1 'Bz{D$. ڔgvv>"=TsuwNqf|.a ,g fq4P}r%z @ ~kws:iT Ev>`)չhHd`-_ oĴ?sdx c Rࡹa8%; <+gn(?NOF"ѼfkrV#S^7*« Y)J8Wqikk:Vζ q%CHgЄKo̅O'Ac!3(Է!r~;5K=ˑ%MO\]1 @P' [ \Nd߇;k8ᆰ}?)T?6~S' >#7ӳ lL.ߝPVz,й76p1Vc>Eb,R]u5Gus#p"$+#ltz,}˞(ibW ;`hVTLl bZ0'3 %VaAlMCT;zkԱ `@M kSzJ-U7[h~o(ǯ_qN>Ν%#lU]"@~nD\['cC<2Y 0_jjo~>=h.-T?sJ a?y/zj)fSDtv[=sԐM?>A#+չ;X+Pۋ(KZa尡 %EZ#7mz?VM"Sfď b2XbLLS*ipNy / >3:"X:"4TD\JwE24/XZ{Q\xk7#@Pܿʼn]o)mao*}!U(Sxдb #E 1`(PL&kHf6]>I[DnSKU\o`1 :z^w !9m&|w O)}Y5hv_?SX eD__.E68-p9tR>#s6IIPr&FӒ̣x?+\(OwPY %`S8ϯcEJ{[ayɝeFzȃ BѡZvRO b =)0ֲ$7>O>bD1Y/0 P)רW3[0p7tְK2%FsȄsЭίV3݊s݃.v%F_WƃnZDɋ§ FAw//zR2G{քɣRbHݱ|tA%,^- xH1#*uG^ `\:QSDAjO`9@f6F3VfOh)@OߐIV I0K-$*pض/6L&F4l-jaLR3 XQ} YEjkj@Nb> 9!|ڮ2>]g H4m۫¦3>6ƿohOػT_3մ@\W];LufЬwLlEUZSWlR%SA/muNt!Lq2V:tc!琿M#qldo Cػ*؏hv$ :u4fldMC"` zfaC729]<8Y/Ujs6מ|'ϲϬm o[]@ҶzװH)~I ls0Mh,4E]^a1Z*ie\06 Y`9!dURǕ /+Z$❘"jz ȈM?&/0W- Yˀ+YƠ tucrͩWr#(s˙% !̄0_ˎ>.\H{+qЬf޲Oge)o7 W-Yl"pn{|X%gϸ7yH</(K#?O5>ZkQFOCnJ>X\Zo q9S E[ͩdPtל«lt!>l# /ܷm ?*Jq;dd֓H9ᄈZ-K+4)oAߘnsre<͔3Xbm|Zk1[fSBCKyMR&u?j({h2\u{y#r|Jv:EG}=؇@+lu!ͱ{ S?ZS Rs͗_ak H7Gǀ|z{ίד,ZZ| .h3qb~kŭ%)O-GK| >_IOlKe#7br(cL y,#UD):c[ 8wʨ:حЙ6uX3_Dn @XHA@W[0,?Mc[(+Ȥ=#"uC3rӴX| T,VUy˽_Gp}%Yk&2\22p8S"ϥA(Bp>lLG&yþe\GI%L2*7>M_9g]W)3r SPA0s}* ;^y ZF Y͝5e [zPQ 0woɁOG7i7N'CSYnhY\i?X?)(W\Tv&P1䑶٧%X;ⵗT=ս/-fhè$ڋ^qE4;vb,i k8d@2, gڿ`tKٓT1(Mz{:eJgy'pڜڣoSQAÍzěLn4$> vłǺo6+kAZ1_doCXڔ>}s-:bʾG@zI -iM| # pȸ$]#X.nYr_ "Zhl9g K O0?vN `>)Ŵc-K B+hFu q"6AY1rF2T:If Fg ߗFm]%"սXH{OQ3xQyg FQzrBmRPgiN˥/Ǝ Q,3<9'XG̃>E!Ne?o6e֪#X e?$)x WZ;ݛIC4n!n!T}{E0;9zڱY?؊*QT:-3UEe;HPg4'"ڙ7P"& UC#`;Xmea_;CgBEnyP>ի{=K_#sr /E) .0 oEpڬ11*eJ􀚦uYıQM*眫PohЀ1e0Le#b qN.?FofZ7YӡWX^r(q}Ҟ[5ҫAK&I˸Ox*qkL>9< okgɭl J2 CvFiS0殩4biԕo3.]_BWoӕ7 $,)fH ({,G RoQ#L&S}}u[V#@˓\UNÉy,1U7BlE(MFQ'QBi/#p]HDI9^,<5B 'ވ%ȥ# ײu&ʞHl\vkC ۻrcaxZsQ,gp2 #s;%))q;( lMb yfY) GxN ?wl ofuڹ&{ٸxZ'UiҜ{*0AFt/8 ! M -:Ɋz bPуCG#C=QF.-m&1|X) wHޛ9q)YO?WvP(2N*#PWUUw2~WUvӛ@oNml2H^;6k)}ErQwAtka%Aϝfuζ$tF*II褴mjBfc~4wtEV<4*դ* 3O*QQ$FGFΝ36g'0_Qsf3F-:L+R E a (_hpZP$]_Rh|HMē)OָrG̟PD nĝՖJ-T 3Mñ}xTj׫o$o^1LnF6KdH&5u,ëǹnҘ$;5Սidƥg\!Em5S T 1uBy\pj\aE~P8NJ8: a,gPaЬGtS;:?kB v/=Y3YNZjM5E\/1{Y;٠ 6o"ϘaxQF愸nnB%al,;LK_ :]EWN_>,L"EW#DH1c Dn;H^ǰQu=8Q+K#FDy]/I^z&%~euXDh+Xvɛ;H?~N7s9 tݜ_0ó@?%FPJK"4Lh5_і,&7,[0@Ns>T/=A5} M.i bB <1V6J=>,4u YN1S$c~8@>v%rX%:1nϻ{<(ZdνIOJTCxx2gPe`ioWù=ZޓR(,vfJLuAGyɗ3q=p)ԃ,OtPP,U'!xj/N4:}sPZFt HL9>HۮycdƓALu{Ϭl@C)z(bV2 3N^Cfg`,]LBμ)8gv $MFqvZ4$,\YԪo ޟlo!Q `m-"-ϞGYq)C/㜎=jiN0aRxya_P>F#jJ@ 3͐fd`J,pO&~uzkQf#"vWlaNTگGmo>av)ȸng)>ꖛB ԓ wLT0rRI~෻pZ}~v@wrٗ*#YoJemVQ1IfTImD4V=`"7B uK-쨢2"|ZRUz8dL&m]5\t83ٞ3zu3u$E:t\/FI5jeL*غX>7g+v Y[ShѰG?t:t"J sp|ai"jbfmDxؓ3zZ3.h_Cz*yGEmS@yŰ 1lݽI^u$wSe\b;녕5LkF 4R:.4&SQͽY'd<E4N0VUȚNF?՜L{ܶ0Tj@d0fc/'O'(6d\3 o/.۱T_.Z|gі+y„  YX`ᶏ-h(| #$oWlSsvc\JLM ,j&+[q1,NI-ws%x,([d^Ƈŭ[N6 bޑ~ÍGkkĂKsx}'mK@r2}[H9VWLݑ?;Uyڝ~7'u6eSNK&p"Ah0⠰ +3=`FYnLJ LT<;Nw܅ֱؒ[@Di"j ZqÖ!\B$jkE Rtx@]oս;ˁ壨xCm&m<JƠ8 r2~_NmqbI;<\2mt].+l/]_@R- n"UGGׄiոaHhPNy#~NX^aJgUA,|rFxh`MD hj}3KYUrvy|429"~RIN~FJi%\+\K"a2-q<3)q\LD 08aBzIz%o0^xq5$+㏑Sq-"E-G1B$5Et M-h$ʵ$\D+#GҾɨu6ICB"9!gaH'i(KJr0&Y5`<n@hnqs'b|iz[sJ)T햕xF |]eo>|֪NCd:}-UY#3>XVTQoDm [LV,HzkyRe{;@-]2Za$Q3s.%_p1BrvGCOѸ8?tu{5bNNO 7A)7)]FnVH൓M6 \Smz;AUu04*ԭٗ5hHiL1/HZZZba^uwFuǹLJV;!t2 3I? ElV0y?|B#M# +H]%U 4ջDm>L΄;n鈸fTtFX0uwYc  vPD.QSqS{c8й˟ߐYҊ@.T/;V/"/J {,̫>+rmW׎9`%V \-#)A 9EG*I[ :s v*XSjM#HƵ-t+|'a\azp̌rmFX09pؘE/X0N1 *#+'X,s I0Gib'1ۉ Dm~i>pT~NytE Qnby̳K64gΩ ÆCU:>"`m{^ed\vmm_3DzGqaxA [~_rkˌ'L ˎ]&![Qm:RCESHzb?L^0q/YA_~h-eV+$ܠJBkd{ , rN{ܙ5^sy9sn[ʟ"<6<UWjz%?u%kϭ! |V <4!0'm%y@@kA0;7P#]ߴd޸,/c,IP9qysþZ@#Րro @jK,ڧLΗ Iga;#0ȩkO.;B S3{)-qEm"wjkUoGDgh{XVGֻ@Ђee!K;iN46˴rI@ĎImr^^ O/u VWIJ;㹳M'u_2F5+dV܄ZOpJrB;mh |b6*)G6P8W116k:~/ )I\`aX3#-ۨF ̊&YV{UF-z=@?Њ,mMB?{i53 /X.y^H-Jkv6yUv E.?g_?$-#:ORa.etOlXG@TNaݛ^8&^& ع5(| PyNw-NY >b6ߛT~ 6̐ c_$*xb6 xn(vi8f+{㚪|qi/;SM@-&zn ^OGTS>n!'QAv+^̺K,it<.5cbU7;5)-壸ݝ(Ih93zk0qP)-9WSIV*F+N|z;Uc) W2Cd&辗'-uq>7h|Ze$xV46{\2B#^qN2gFsQV0K_0IY^qk*RͅhXw43\yLB[Bݕ>HQHk?q i+LV&K屑NRV GJwuhbAoQv3Yfi9Xvl Y)Lc?B-\@sa~nE7*VHP墻@gmT[![YXRL]qvlU.]fTl+{ˋNѮyo❏+S&7ujAxgt1%9R3s(^4 pJzۮ@(;C&x `s# _E*NMLejRSK`ҍf$i>$uFr(\",+۷a'%aUɿf@)dJN\=-X~yZ ]Lja)UR4 Uf|5u%8 (@<=ގ5 ϴ%l9WbA[?1yĵU;ȹr6CR +zBM|LΊb%=&!7TҨG ~X (IݿzWf+U;q( ]F(مC!kz l5 >'.3V3fVoj~y?{NZn@wliZuRBhor|V#;Rw1Jfy\]&lS S3Uݾv=%қ_ܖưo Bmll{ga Ond3Vt_0e,++ߘe9ʳ<0^իF𽀠u(֦9:R3QS[Ly:dCc5RHVHBHMp~R#v&ammލ4GMDhE 7ʕu\-{ttKB r65 J<- c w!)ZJ\Ո^# _/&G (N\u1y.ri+Ͷ1aF;:#lPHTMigz]W99c˙uҠiQDB+.ݝk'c@4@?_Aeki$w]pO42J!Fwl_ҷqh-욃JFb_WTg ;UV"$`#M:V02#cG .m,|%q[ ]쨗|R'4ِ 8PcXY3gW]]{W,ցd_oT~=\=ax9 !.1e BztgD7SJ{ʘ0Zb<AiP8~uoA [T ЕiPną֒)N!#46^;niE/6!2l^תa E4oؽSقJVZZc8a~m}#_B],$℆z`5ntR[^tUNyKmd_A誘eG=#z~`/"=dI6JڻBv)l5!P3F+s.:S)]0B!ƒw%,Kg,4}3<`Ks֗~iߎGyLݘI|% Wn=3b"Z\z`1iMӫҲH`e-,Pȷ)[}y1Т̨eʮa4΀ï4y[qWuuiSBv]5r֐ J]2zMRh4~Y8vס`8M[9TH\R&_d(s=wXM~1 (C˧^_s#8 qmGH N^U_)dP-K[qDJxRT|7 bּ/oRDXc6c$մ~ҥnÇG%>2 }ms̓n@u x\|Abú1dgr3ўd@sVoPj, (Ѥ_V(R^=U5=AQS;>Bx>0kUj6htf7gV]+x&=_V))24] 4>້>R;7( !8XA6 ͙.3CDk#2Qj~?ۙ)'&O3;Ɇ`<JsNbJ 45,mP0`}FY1d!\ ~D4L(8[,s(^DJc r0ԱSᵇ϶$4{p5$o+x#ܮ75<#e䍻b'4)@:󎺃Ѡ:͈,oZ/D'Jp32*E D ʗNE 7|k"lXs~Ҩ H=@= xv;T!+X# #V@g? bC:W7oF)a5Kh[Q.:˲X<] V.Xԥ/Yܡ~%۞J|hl7&xHYtL.Mk?FwrVĮ3 sJPsBS%.Xe^&lو;`5G௢O_G+ :U8*@ )JₒtY:wMWH!7u){=ψw!&܈l,2.}7d1\rnwf ŶbH0e 90gSGdGJ2*x\P&仾z/A%Q\N'l>95P3 Q:çG@=[[#vh1dLhfK71Ƃ##;A,31@yسf؁2zzemv\⻀^CȄ#j6|Q Kҁ4\o#ǭ I=Iuf۶d0 =eH/*Ls  70,wwALʂ17]k<6 U 6y$ ɠb_}-Vܨb;5̭XDH! P x}kd*Sq힟Ao!G},a_/6icBږG ev++!mT4L9Wm dU2SYНBO|:,QkO( |tܚi6វ`mTQݦx%u+vƛYpJXL) #5#7 UhVUMA1aPBKp:ބF|aP\}b|纺TY͋RM E߬ D-X o SOo:_>C/w#/!¸ˌ4y Z>jFEj3fXgD'5WE4 <#^!,aUltԄ(2;O`2vLTGjT2{с(M#edRĶvmK5ӂ!3c轮oِ~.@U3\#AtDcL$Zu0Mj+]AR=ΌY(;ba썈|/E25$;Cly#E%gIi 䨈@FEUfGcM?zuw~n >;M%\7: : Y!MlQAdžEέ}eS٦Haf5/@N=",ZWUhuD' @?|c{fv5aj1Ҷ#$2VZvS% e랆QCr\Ctbŭ& ƌ*?Bݬ & _[﹠c<ߗ0Cr-R3"GG=Y'SbgH\hQfbLSi/smB>-D g+_ +ݢ#ua}wS*,{ +:uLaF[@^ 3^o^IG:o.8F OYWP8,I! kQS}PIXE3^aW ϐssW1_5Xѩpa`%xG9X~'N@ A$]OۄgVpV 1r"fR yic%I/tɖf& M*RZԈ hjYBOڟ;? R˲'&S`m?/ @7%Mly,"\z$Xu#QgzH<+3oi? 0h o4f瓗!i'sW9h-EfW(zhݏy6/I9o\+6y:N tbb[aA@:YNiR=At"N1p\ H+9 ۜ tX>V-?\ARb,ziy{4^$SqPFfMZ}ײIQ>604>$*|=y:Am8aO:]]Wt )R֦h͡j3+_L(OPx2qQDJ^EKxC5e"Z}̱zqhO '1$.Hǂ2m^:or^,YBXmn(zhrR:Li0ۧ5Ooj^up U^$e I$*VLwRQko"8S&cL E|f?}t VH |Rg}ӭ<~yG&P0;iHR.#@z(9-8)FĻn2M3uIKp]WEh>K/Myt$[ŝ&f rG>>&@,&m}YehRWC.@4J敲:^(ƹʈ`ogȕciiU(YT8n9J'L2&$|ɾKZ:DgD0ֹ<*L~?ݦhl~{4zf̟NA nޕ"ɾ NamNhN ϱYpJ' c!ezk8U''OM[z|<(L=4(J3ߑZk'B(znm>RYXzO!˷t9`Ȱ͘&^s ̀VvH6zڅWGZ/]WOpҀPzwDRRPžsRcgԹF<8m~GT}~vp\$ЀS@I wQ:ckuשeĪ?khg7Ы`R MaiCQɛH%/WN9Anh+sY B,"QsBknӈ#7RUmXT #bR T) :N?ެy¾u2^gb_/4lrBQ $掅-)S:Ng=p)l7b:I!Ⱦ ~% g %L %nNl?LgN]U0-/+BR==5 ՘c5oӥOgWwMMfik`(B+_B~VVzG椑7G4+~J.6%0OQY |U\MpOwȼ[% -F{xź_V*!T _xτM=i\j3v!7eoJM#6`Z"66{4F❍e%Vg4wIBgPq4y.1U{ wK4!3Wfյ[%CzSXPC ;h * 4tInjJq ְ;c՝sKY]~q D v`$5NSck+npq{IVw:q!)jQ: LrWePX.F-2N;m=ؘ7%zsWuι* F~Ykf$9WL_\s< jr]47*&BNjoYE (n6Sq?Btf|J=FL;,p(Mbo NIӜ@Lx3. spPA}Ꞝpb`lvpyݙXLHHC^7Le;YDЄC?9F'ޯq8#%yN\v2P11 .g"h݄yZK<=ɺ.M9wܭ%#N=ӽTTw %H:>$OX\ڥO41wJVGQNM:#Z3կ2ZޔKc칇+_g=PHE?N<Ox^vV2HҍNksͼr CJmNN)}'tKV| o(omti*=׵pÂpqn7s Ϣŕu Q&񣅧'r V2`Bi坖H$}Pɜ*KcEH]N!g.&+ lں.rNQ*BPtN{¢1wKڹ ʜ9,PA>|?4t-d#m4bhR~ P G>gJU|@ݜK{%z [N@g>P^`f.Un/1UQ+ ^|X) /zE8wL4\vY!q4Mvf]9X[c'q=TXC ,/2` hHR-V3yڷaXw#:H>$8O'>-P?r|ϋZ gpK}$<HK$)`-ʀ1$ZZ ֔SDvG݋ XaL1FI as2&%ꆤ-=!K!]B|( j!{T)]٢ڈ^kyn s՛",J˧P8[Q'1mo=kԃEa: i@"͇ :[Ebڷ(u\bqX m8fmZ& -伉~YAJЊ/Hf-TWg:ޝmځzXgD-` IVy:wS1GoL^=yg[๶-M.DS T{7.[Fpxf6ʕhr"k.JwhA)(Unj\ #l/;um hXF'a[^Uye0ݥWxQ`/:zOAq1ı1H$[JHҟ p[|8 JFԒa0JYVo/sDIzr$bXQ )slQSd?Y>E;>؂8p1=Wh'SP]J"]a%5lԾdv1( % 0EO Oc{P5&:kQW"z}@'=an 0TNXaǙq }a '2y QOBu$,=tc㽨:X6hT15O%{HH y&ېHuoSHDߡL֐أpY`1wӑ'acA p%dؼ%آ43_} % UH0uZu…1ٳLJG]P`# ?__)t&HN9۳Mg# d= Uʦ˺\ױ AUgG44ߧ7V :9R<zGs{dbߣ< LE'^enk}y GցؠnQ_l=2.od';+a%(=韧`]0$#N9wVUYXeDu%Ya^oNhpg bLg3?ޛ^Ď!{OA\_.V@3u=}hOo8̮0 9xpOM#ك*[:;tJ|8* ~ESj+yU#-.ıW{Rw ڑٴC& WdvQg"jD`6UàyP1.@hܸ谰`r6? h%|[`Kq]9a%{xUFƕo̷TMGdur2u8DA)Hp}qةp^Ei }އnALA+#nȍCMꞾg5%|;TDMѧЖBSLZKɜ[gp>S(3c>RHIfWugUr7!n y@;Px>-`%x$|u/x40}:7}Sύ|4'…v{Q>4*- _\!us-= 2Wf֮1u(oQ&))z,]*O2ݭ,7 L`GƔ{hr4B$~;{b,5QjP g9sPe$ Eؔ%A>kdY·aJB[>Z5%}r,wh|.ÁQ@טGBoA+-Îci3AN/NR̺2Ht_X2"Til5cE s|OdӺ+9O:LF{Lg%wsle|"+iL&z k9zRux>쾩eQA(I#p .klKWE+G>?V0'Ac 8˯Ǫ;Ƀ]q:(< 9UAJ%>uu zʠ_V9ZѳzE'po]0$7#WAQk~󬃫TlE ^V9kIкN!NXFy 4G>+j&bE=PbFzwmI&==l8jV-*# qq EN꽈XWm~F~_TL;i1{J\m+ rT |_6m+*CHl$JU|bZes@<NP Lm3ٲ8S 3ɛ2dFm)k 4} -+89k)ϥ I^ ߖ?aY}TJΛ׋}U)$i<(E:otVݷrRS!Cwp i>;60u[| ޔfb[:Xxer$@@WZx!a8Ԡ4$Yun:[:]7]twD▄(5QHPIw?hQRpiJ^E~_ {P cy& eJV ?Ih~*[Qdbj|UrjLLJ c U=f=LT<xؚ><#b%';0dIoև]I /G*h+aAőzqP>NC v%V"G%ՠ,PM&`3|os]z",YΏPAClc&0K?$!V:z(WeF<ˏ6p!0m+dNVǪw'`*V@]f[I/3 Va4M-Fk`C+2M[XXOTUrfBڸ%M9=TθHȎQLdY/Ȓnj5Z/(tDIHͧ cj)T.h5&zrJힿ΋9IC@Ak贎Pz@-`$7VmsJ2T0Bah(W@phnMڗ*a]3|/TCus8q D049+[C jY*+rs>0q%G( f?ȾLMt΂T#//^X (v/BT6(g 58nb~/voX߯ ~ޘ0"}VQir7"uwqcM-`aܼb)rF SBHpq?U)LLt5ػ>8H0f~[<6^YfW"IA>[na]̇r^- +6s]Au &NA6²RCAkf ;V 7eRWS.a_zc+1:͝][CWѢ!z mN;# H=, P19;%C3ts֍)E 1 ,iM6]!d; uPm]GkI7δQt]Q]!RS49'^}rͰc,Ec,D7@axIx-::̑8u,՜5:f=~M.%z>`ބM2Lؐ,aC&h<ծ8@Zh=e9^8H:B(#`mb{xs'3? t(Qfd.l^qߞlf(fB)cM~SzS3h,D wE!cy(tQ$#ToxP}rd8z=xCbo!-F1ѝ>{4*m,/WY2M탵h-xqeK2ׇf7;{Iҁĵ*A˗#d`;8m]NWVB附J`㩂BTXN "ov($h?Ltٙ2vu3&jN^Z. @Q/s ldv,~ Zm" \`LQHnLz?nV(<@dG-Q͉{hj 14Q PNjJakD҈RЦ1_l v2NE4fS snA0.]lS4/LnGF3򚝁rc|@f %z^u_M*AݾT7|6!yցSoipZf4W%=C2|1T˴oԤe9)((6;S?;Nl4OuEO_¥6| ]Bd`U?j?Q7d6WCZw=BsTPgUZ؏] a$vlgl|;œWj#E֞!{hk)%Vbu)bG2x\!3ڻ,0oz}t*]MWS)Z76R m8rx{os}@g=ׂ);Z/= M]aj6>5Tgs a$vˑJV}~jLl-cܓ>)}=9X6d+1֙O?cg:\>p(;U1d- bš{K:YYxK՚U6Dܭ.T LMEbnHPZ+ *x.f2`uQ4DEp3­'DQ-p0Hwщv4;,秬n9!*$̯2͇o_6i΅TtEIvzD4@Qy_#XեRQ!v) Ȇ&v[לh/[Ltdv4n%9"wnNXPoIXM]Q%M ">?"V, cEsa`t#zr1|^1~Z~MlLV̿^5]rѝ:vjϚ-gbbXBc;X7~X$0&.5S4РsT!__`*Pk#r;ޗZ{mQ&(׷%REYk+Xd)kh>Arqơ_y9Cқy.\Ŧ4+P׹E6aR`lpsLPQ!\*èO b 3ne9WXwyn0O{%M]~Vf5)p3&V!_}6RW*e+Pغ@"v͚k[{mBu8- .$CH:QRN5I<`jMJ0gq* 'wn)" +pS/ ?!y $]۽CNk. .d2҃O5-9c~[1m}uUF& kn0xڲ[ǨGzg vvY9EkHeꗣ1NnEN. $X~eB`!̄JsF%HT.a} KVnc sS5{|tyg~\37_m1[4ܷj*lH p-\2[[>u( L<0X1#\cAgPc읙]gTXyj>Β?qv >]eQ6%8q&3MtA\2Gq'.Zi1Qu%vf-o`p'j,XRвv.]iD@%@-d-gVkt c7Hq}ZW4,ZgbFME~SYE[ ㆾؔ٤*<&/qV<2.Q*@S@`}~u Y9=Lo鮙zL=CCܾy<Ғt6Gd~c >8\K)Y11&mĕ@\m`-v+Vv;נw~*L\{;Ҭߌ&߫4#2 ?|٢HUуͿ#|}; 3r@up*|mhhm|nc֔o*鞚A:Sa4 AD˔7nP{r1E}qF?\bݯ蒌Cly]4#>\܂V)I}wEMI]EW<]ؾ _bhZ ggޖ+l}XfZ}pؚC_XYJ2*.Θ4 mq`# \8(_%Q9t2YZJ31ŒE4! ֝5HIFUHzԟ Z~ܘL3P>F7md1YNcڭuoZEy|m˕"2=ۯY~{Ժ;t7h=W$Lct}/(b1DLO«AޙHBh&~8)*GO:&6ucQb?b^r/>Yg%QX$q_ _AIIE6q}5~Ϥ$H"%{L.B.2rmd hD%^4ʍ|F!&Ɗ񹝂" MFMD(PVW}.ڗKXro, qﰒ_B{9SΤB|ZYD[z R*@g1T^Y%cܩsxKQN@:E*{IǪjۏivFdEǔ qy!kw#]NxM2A17ߟfPN`uTM+Y[(Pr[u s= 'lv:Qv/4bYejc#p&= 3D1@teHˣ?V?Q#2]iƍ:dXv[_R>q]Gk-FqW=5icѾO7g,OwǡPHlɂ e { ^=pET? `K&؃Iix+0Ac ]OK)-N`6{6X̟C!F:,M9غƔWl|&(rѯքID޿35P, eS w;*}uIZA#\aayu:1􉲙u#cAŨHfXG{ m t/]R󲀚\`UD( wwI+@aq6׹P`&QBRÎ*{G~K( ~$:tt׾iXHOe cnPuPqRPFdPA6~ݖ}ȓ.s2\$ʌRbRPd5r?Q*H%\ysVw DuI MT-jL$I.?j#)\e͸V nhV*(/ԩ,`7|0[m9Z[l88˗NߞVXg%zÞ:|g]3x#@3u8ZMlLB=rHGP 9k؀.Lֳ .Wιr._UK*KlDu–i} УxPAG2c`ew}7?};ME)+``g:]+5b-r/m< e\9*"9W"<< u=y6zd\|`;AZq=P0rrq+Z]Tά|o|r, [}4J-p \P0b8}ޑ 7v Kn@fsо3I " UI0 4Q>#[ H{owWxI88#R=Au"uF$@],&l ϔDqYݷZf~kb<0F r+ B{e Li.ػU 孼PvYp:N?3񠉘o$K-NtIВMq[" ­]j !,]ODq]|rM bӨ+zIQ^`W}%JX_Z-!~ [n0xc>>aD?.wf6ɣ^!$NB-z^r]IQtT {Kq1CVK@ BE0ز[_aP;Lholf7ǢB/XCh2v[$W>K;Nf.|Kk`԰h)8yA-^p*sy6~9ѫŞ_H vK|JqYb<঎0Q;N!Z }8HR:@ \?Tht E2r}{|/£sv 'K}zgr t?90@%thP2&MٲJ{*oBRuWsUY9gOQ8dDH6G6qFH\6zB9$iʛ/1ܘ^X PNQ# WYMf%\N)Lҝ6&)"zETjنXhv'Q:M^m>k ("6ÒNqw SFFMщ[`ˈZ"r4`RYSH7M M*N`<2E+axBY@|^0p:=%Xh߲ϜoB@a=fsq03teq܇:T]"5qI3(?N@7IV[)Sq$ZׁBvjIzK/zݯ{d3mo9њ7A7cP e胋ᅇ8?RY%OooX173>:_mzWL޽Q]hX;=Sߵ0c T6U?,G[u׃Kx^"U ^bI=I.],RU%ͣ$גOԠ"c}__^Ug$0rWҜcU/K$ 򚏙Ƙ18A_C96dVP/p!NQG>}C ě\&7DQf?=<< kCڵR]bZ Q>^ Me69 Sgs/jʃ({dt< KxJ;%7EzOP{B|9 v{@9 /I=m4~/Sh@f޾BVe=}ɈϼM\%<@9柹Cao{`e3mS]: KuOuTd&6b,auNK;']} ,}^="A9J9/O{bu"4YeERԛb P&I*éRj&:X'pO%RZZ{"NYٻ6#vs#5iCNnȩU6rk˥=we;wkSx@D)Ud} aX0"1Efq&?J bq V: `+R=TX"p<ҲbSYPYm@ \Aւd?7@ju{~ HgS}.kKՏ 5Tˋ~E`%*H>E6q߇6%3NteMXĚ"RBG:d,R\_6їC]$߽ǯdd@򔫈 ?gPx UYҡ}?~״&{ m[˂m J#IJ,f`1) X]zs3%]!BM9{y^xꍬk]`#t\xGU9CZBxq 7s6$;We*D匸&v4k`7;,$q*Bs>vs^w*jt-!xm(/gElQV0X1 070w B~Co(ٛ5cLv#@Vuv% /,YVAc~JS0EyQ:h2 TS|aQۿMٳԤXrtfp605< ?pV 7;@,Shm>Eĵ{]6\¦ 1~.|Y͐Z. N Is?U$`Z 镵T3fT !dNv>[2K';@36c6)c "4e;P'_ *}!'r@_=)Hrpóv>MIvH/ރښtxə`eBJ#\o7vG$9UӒAuU|X`ĖԷ3+uՊ ̃i7ʦk?qAI T %T.z\Z ҍ0`~ Mfu'+6bzjiFNr4fܪ="}6i3U W]2-fOp-B`b<1 6=;g(Ax޺ho",I63cvFhÞegJ"1B-2:~tcUĆԺz,;pӯĒ`]ACAO4uw5V7-(hTlGjB营P' HAtCAHB^^.ɕNH7ʬhAqv\f1?>l=l)eE4jae_Uqztބd3,RLnT=(ubث1cU+M r$߲нl0U*v3zG:{;u~Sa%{b!seZtV8NZp+,XAz?ph8DRvti\}O4!ܟX$VrnMÉ5x۰CK2/A؄䷳w;biqD/$ }ʚD9y& p_RmUH4ׅw2.P(&*G1kxeQEc -mHX0MF4gK,"nZrCb*_TGk8vS yKY1.":(hC(zc=%Y=cOePk5D~ X n'V̝wBE: ,(D7Nj_-0*A͛{P nga#Qs# EyX8Q9l0ofܣpF*<%vIj8f9He>=N}MNQ{:RX Bv~e3ڪ=ٚOG.9G#(_85jeHx9]t~οt-[0nug̛ 9U.N۪?0+ e4Xm&RH_Nxp)|6'x)Ow|K+?zzնvFEpFKQU߻KWRED!_Rz?eQt]΁-淽UjPOyJ,=JlF}}k܀  eS{J6㖷Ue)L̶)kVO02?q^)<N_ؿ86$C5GHȋQ`PJ;F%`DcQX+mIA3Ҟ.u Z-.s;[hgnd)]jڡIkYKf{UK% W 3/v5m( w alZԒAH_bА=~щO  Ô?0{|:\IP(+U"ل}n'_>4z {_iN~QC74ЫWRl:f{s+Fs jNAX^ MpՅFca^+-[Ȑ$&9?KRPCQ}\D uM>,\L|$@- bu|-A`*{GUkb@,pԉ''Z?Mpv|؉&~4leQb8sT)]UI͐HlM{_lAI?WZV7[70 ¨Csƀ,ۮ`ͭN+4QZLp@XLsq9IQk!Ԏ¿q1>v|+*!3UZ 6c8#\38W> 9# WQ5VhIJTv:F<3Aj"lrGTRZ6|BQ`_M_%.]'TlCٵ @yG?'1=B􁪠IrgA겊z֗G FC :Ί:?,ACU6s;tg˒vN^]V Q8a'w$B3FE@ G 0Z=Ni&z?ajgvŮ-+Lx-'Z~ˤϻ0xY-#qj5'fb5D+S&qUqGcfDdH0zJJ0/ jPk޷r dx_ ĦV DC7ZbˌSA;H(Iյr|(``}E,ghV->:WC| &J_xZKEJ~J4Y.^IwV:8 `垈;4hD" gwzwԆJ> ?2¡C{c%z$嘾da 6cN:'=>5þ4lң5Вڼb_IzT U*Vہs JdIzeKz ,U5Rv^Vwl=oEY Lr,S@a$mL)|dΑ}sk4gTK((igwm[@)]Zҏ/ Wϔ Z:t;ء/q< # .P{mqi{JE&LqŠDg⊐G ˓ ãGȜ e9Nn Ai{aqiC ?~@toR IC *4FtZ\CПKgXo@C$Plqa$#u3RҊ4 /?A #|M$fNax{:T~Z1Mᝄ8V?iaİ1 9r8fVPC!w%Θ,HGSzVQ7w/,YX׆K&zMvtlDG%:Iɱ3"~%g2:"~!!{CkL}7OTdi1 ؑdrq%-yY`إR)oL 1*=VZ@܁Ro i!/'kZ 3?pLY&T 6yMcS|1\ƤEaV'Nm0-_qxu$69cuH=c7$C!@ y\JHJ[ke[3Ym~Sv0"Jx*??٥e-ٟњ'=T' 2iœsw/,.cubBQ)Fl46rmYe%ޑJK`IyNn)K_Ū!w]LGy[",௦ٳQVω FjNۯ.eimY8H@.#ÚZ CRbᜤI<ƿbw {J / p5=S9eA:%HcJl 1Ðtf1AhN;5Y +;ݐ}ԭyqCz ࿊oWZ8Y1NE&&:a N/q4ܭqfyx6*jMh\;%k0ڄ$&uP.yJDRv 9,_W ,0`lY@\h#%he,_8#EƦMU=1Et"oP$\+*xtTD4: iV g5Ayi~ԝsy4O8ܴ N"L s͜OAH1]Np~֖uivT, 1uw-`BflA+!|ߞ.͆Sr uXF"uƏd 80z%&x\oxء"r$"F`'J1a>nϱxfM3uEXw#HRt綄eMݧm([e3>8&m~n pK-Kvy0)VYr#HUm5|IN͖)tޥ\\Y]X4]++8gփ@>Wc; UCnuÿg# G63-Js8U^w5di rV}@[s %;Imx\=;eXX9y`b9,:Tok%ʼnQcN13 m&۔ʻ];SD0L%O>֚$ bv1ٖvEyV 8PY%~jvuίŦtr?^oEloq'[Zm%?!_/XQ3!%>9z&uhpZyTA ^@0:%>\P; ?z]KIeB^$2$G|R cY,!F 6sF@|i&)]3}%^|pCS't \7@<8eO=tcE4s_ 5u9 OcQhiz7v) ?X?@G{Z K mЋ>|SJQ*1wb^6y#v\IFN';@¢v{_ib/ П:_8 [(^-aM.M[p6GO° pSw e r:0YobBrUWjR\[{ L`38?)>|[RM߆aP?e`] YGfFiWox X[.h9*Υp_ `)3Gc[x9Gh p*J[K"?jh1iYdcb=U$*>%\eNQ@Uv2&VqXL1=Py˹/Gfshc1.U̗ 8g玺 bA?pak9߰O-g U`f:`W&}u0ݍT}#w!1IHlIyR.JTnd^'@sd -8={f[5euX`ME'/M>ٱу+ \bhN7q?L$4Jl`.Yz&l8b[3❚zlÈ&dw}WD [M:s"9&/I*{kfhM*2Z "hadu6ME-@WEhd]cO$KEEؗ{4hg;|l/ | +plC=A祇Ϗ7|U^GGi-^ҤEmߍkKǪb"#ȋ~5Mh) ΙvMF˾BJ( }꼤>f yCs oV$ Y!^ng"1e LHkA|ɑk()-wx-%Ebhsp54$ PC?tZT{?I*w@b˩lԛᖋ_\)h2σNaR-*|qtM-CSjIJ%;Ԙ۶uZRZUjN չxɦ"+1LM`} 5\W|o't'AB@~`YcyxiAgt[h3g9+LfmEb|ײ ?o(=Z`Sfrj~N%"Ӄ`J+݇7ZgՋz75 s Yh' @%$gQAL/$*&`0,.+9e`M]N(>ְjw6yFnR`94;>x{`k3TL5p,O_q`[Ao;v^Xq*pmӨdoZ{cfD |>?"6[MLJe]SwrxKdu ]W{*Dw*4+EI݀FPT:N;Ygpy: XLfkl z |P065GL *`ML]8:1jjDT<ǭj8}84?)m{8&h}SZJxC-t luaz,DsD| BQu&~c0kB*lJN@xIOC4ٚ7x8*!-D30kL 9{9q{J f0;$J;((^6t0Rs#6AԌ(<2l+_qW|8VjWC<;*%-9yԪ]Ju@zFEBG_w#Xҝ;K27"?CV#CȌ~X3ͬyPwj7g$<2#9z)!_Ȇm鰭,Rטs:q'wkBwM+1Pk <(4&? <\gF=Ow)k^bMVGFvYKV!L双IL-w WR's}$?u>e%~Yg5V;[!jg"'.EZ5Ź~ Djϒb0ƙF|P)f*Ջ281y[KQ+ޡkmK& \b\:!W .gI ~/:jRr^dW(fQT{׆U)h54M[b^1z844 64]4*BrɄwF3Os0UTS='TE+>wZ_tx".vNqx?xcXdo.Q*W0t8۲:;.k;=H'UHh6Wf۹$g;$k*EψVntɶ(*;j͘\",d,LRv~ sM9E{'ȕlτFV 1 9h`6JCN+z9l$ޣ`/ 6'OL6G#Ȍ'էI'\* a_q:ի-ǐ:Z6EE (Vf웢?'%6gGsYx/Mv2MO`2Bf(vUi5toTet;ޱ6ߗ.ntMn !L%( ,\7c xcŐ td>h)Mߖ{쟂\@I lKzL{P 136J*ɼװIacqg 8{k adz~]!Bޗ{h.aɝ_`W@is|4D#tPO(b8$9]Wyq$ $ F&$Xi,G#F%xR1g]~޲tJe쒰2Z:!`2o #6b#5Uk|0K[`+!i"Yw- >ܤ_P[Hf /rez'{}S S5ZW1Tkk-p2͓tr^W*S:[Ss|\[ڧqp諻}=P6Vw jm6Ok\/{~ V>ΈS*ۙQ[Z4YtfͰ9KBg#/=]kJzF%v~ ٓF}Byܒwo֫Hc ,t]iVM_nk_Z83XS 7K]dp*bXfyǛO󬈊12xܘs5>KgzO~hcҝE_Pp qtBi7nv0:Xq]C在PiS őq5N-b4>-#e& ܐI3璆? ѫ-#yh)o893gɖC{JZ'$0GY$wJ=?K;wD|W*u%>TXl!Tf[(GmWbUej( kx !Xlk&a^.aIhC (#8†"ɓ)\BE{'c̡~cGUm-wLα^wmOC]\p]'&bwb[\1x[ սv3: ֽrAR^ױ}+CgO7 IAr$ÁN8^fu $w^˜CU#1w`=n@"sѪ/$M=dm%4vxE1{mhzo,~{~$Tjw➹Z2ׄ'' HhKY@煑?~CQUc9gjԬa*}8L4AL'8N=8{ 9?CO}bIp.M.ʑXxz|[TQ U]oF$*?o?ʻvb.g%,ٕ$@uDt-uVt/OVIOWw$z2itSӌw#dMQ:a0Rxޕn-]3Swԩ`5O'eԆ%!w4`RpkG4!(C&913NUds𘭘S7U*1݀rYjwTtQxOƤ&AϬv#TfŅ[)&$*M eeHRǍRxe+[Vh?1GFfЗd$pL?4@doIgP+&By9pO<0VUBX;NaORd& b`(7Hnwwdzu7!NPW´5G"J[/3Ě$qli3˻|.@V{ '|=0sf2s#{B⮸jUD~}JpFUb%KI4,y2 lUvt쏽#fU2> WQfXWkPeG'wnysu_}r5 ]/ ocK)iB?anY9x}VEgҿY;CýѺcY҄!xe.m_Ǿ6NJF]$=~nWYXye(P݊]m{' |fH/ٳI1'ZZ8 5eΆrn[ϛ}$\]/prшD> 5FX2ƝH ǐ%> D<ޒ[ *&O1lB:4^9=}DA0"2/&!#ÔvIWR:% ^VB%&5<xJ|&o+AWM,GmYpרڒRJV$)xjcPts$y$INzNZ)3:먣Ѝ3x<߳<"Ԗ3XW" q0; oh<]N-M$oZ=TPWILD<̶:YuIuPkhIq<@baU,ࢯw%ơ,%͓!𜓺oo8x5ةEx-_r ,-Al@.Llx3?x#X£.;rd8b• H_b/ U^K!h@V;XWHa\{5:kCf.|9duZd@z|6+օ&J\z+'ۛaɅ,=>/w&K+V aXt6xa%Dz%$ 몥?WkmzOKG;zI~>2d!T(Mie&+ @A/6Dh¸Zd<*RDH>3z$avb2KꌂG8&D5(76ՅkdΚy,ȏ=r -\-'M_6(24on4OOf 9oJ C6Y"c0*$$v7q& g9v-_}LC1dʼJ-v0uC+攻xqۧޛ -=)e/.Fh{`|Ii`r$֬E+]LB<6C T 3 ?0Z♎-D!a^M0u:>/5red1zFPi%l/-i]0}Ak;WFyk='3K[rMEHX`yR?xDz1ȅ(%-:a&$u(C'}S"{22!Rߞd*πGF?tKKHRJ50!@(/d)"0C>b͇Ir|kfϝ[!jnpfIF\R&9ϨL*ZífO 6_-:r'&j9FZ,:xu0Ec.%wc>ϯ572.u%y]5`FSwR+6h  a "IJT Z?8|o(]+M|{fgqFU`׈Ni/meZ':i HP+&$[.zHWꄕu@LBl{bݿnAC vMeO1 qǣY}y@|o@3pL~Xmp `a饢t W~4X#6p~`` gBg/9HjAqBz͡9@$ ,WCxF2y,#QGaEz5FIr~sܝ5 dyw<ʄ7{=8SmAOWov0|b]2Xs̃<#ěʯ@x%x2rlkTt fS>d`&-Qi*sĘtHj/W+# Ev!h'\QW9y#\TTQ~UkNO#EF*JGUݲ{@ʃ5 EрC*C|0i_x0gԝVļ5E ׎RM 'Um8Ztӈ!P} y~IUO_'ip~+S$]ɒ3/XQq)AY O[E+G)ʑ֛Bނ=|)V!AȈ1X& T# N%Z=oGxLԦt>gwnT3o df*x>LH8ρvKm8O+ySď. \]Fb<&'Vj^+ui#͐sU4\E*!=M"v{ɵĎH) HwH3Or{4ZCC8j.6Ĺ#`#eϲt: C)fxci6_JIh-՟^x`SQ :=A)O;bWkP3@8mL@lh'Ri5j_6ݙp^&Ʉ'"S1W'XL%̜u!˒Y)TNZu/ܞqHuv8k1GUi*1+:ݤb-|>oj3ˣ9fQ}Bݾrn˜%; V3k$EG4f3Ųj+r@tM%r|*͞ў5azzзɄ0D,D\>F:vi $:F2PR}uC섣|;?%&|e |ݠe We&E>s Ap{.pwh-*BÙ"$A̖ck(rG˛mqoFovlw%U^Zۋ";Ypw&-yhߕ S~t,8& FU_|=f4Gmx-i-BaͦVȆӘ=.b1jX P'Mvw(2(BX2Q"xU萅i`9y;l_S7]*gD@YVL7Ȯtvxӕ7="MAoZK~v{s3R U05\7R]@MX ^EggpXd䎫NU$ nٖsJOk}!7mր B&!%)Uxk4CEדa?RQQqNt g#?C5=!I?1mY~}>v6׆*:3lD|r`_MnPk8=[f8ς.}Dl5Wpb<'@ͣoV6k>2q&YV>"RJ1ϝ{"Id3dM>giBf(`J݊zN(=vǑ%5W$(æY}LE?\m` }H2-PKws|${i}E!K1y%l~;0: η8)X|A9 1Zq˦x>z.}]GoMF1=ĉ9mwfD+xޠ$H2HQws~%N!d$/"h#ىuHXDI,Q)vo(8fv~+cK $sI:T5yZ*U&JQD4QE<|ԥ[6х 35ޜKن*ȯG\h1Ȁ,nr lusɌ;K+Րy*1,n溟tͳoH W@DWo8 ^N-*i[2]ԛ´̢[NOօ{>-3Bj[| düw]Lm:Zec@33Lr!Iݱ 4E"<1]x+#-Pl ;D`/bia';"}H, MOH#-egb^xum5d1(e]ps*<ݨnܴĽeqgZ0mu¬Kd }R㙗QEss{I&4FM,ن:Lp>$'4c]:K/--]9fYA92%v2 oF4 F0Nx8 1FXe=!g$F[(5'bQ1~  VA]|a &JԿL'>B-UEt 42Cn.wA_(Gd7n#"1o$+^Jt[pk'(TF:AUeꭝjO}:ںWKsr *PEO:&~DJPhX}^\C);@Gŀ U5D.xowɾ YU/Y2OCgGx@p@A|1SpDg8Oaɫ& o-gШ*M!1CwΆC~@Lm\Ί/Mevj^ '] D(jweR gy|5oi[ ⨐?7kh ##qAeul64;ž5~qHq_,GiENcКgO|vYmfjHy|L1&8ZoX5mYKAmUr7Rs}fHq:7QȐd)a<5E/! ӊ4,jtx@Z(Q>b-e'UߋmUrQH{vuݣ8N|;n +vH[ үȈrw3IG'L(b@\A!$dCx?INYTUmYՒyՓ:(ߙzj~hIƌhaduSAZ#Vs_U*[/c-֌ɰ4-£i8_\=w;1,s!a̝zzmNɜ:#8RZ3׼8v KbeA|Ű9^̄4iJ[պ ]9(O'1T-˙Y$C3 #|JKxY3h+rBMbm?P1iq7iut:U8Lчkۥdk*Vû$}_-[_d31<Tدxwj׃|"$z&bllЪ˟|oF(4\6H+v{DDECr \t=2 N:\̷٘göf=mtB6n /r/(r(ayfYeM!؅J^_uGyjl{P}œ\IV13ޜs)^KmTM9 kWnRƃ}VzuQm'4F،c5*hĨ"1 Ey%k@}<3Ŋުb@銔cglYZqM]ԅ`jJHRAv$ް\~f2菅UР J[{s \9.=Jj:w.nv ?0#a~_-%@-|DUJ2!e )ɅߎrUf% [~ i7qy"/ -'gf.|)fQrHH)A T%wi)˫ٌOM2B4yD$Xy YY+jadvN }`ZwU3τ1bh%TN>$wKax+M 8:hSpCpy6k\:9~u mZN5+gqZԵ?« (p J%l@{cN%T]RhqP$2 b@M茺X#Vgm@z/WV߬9N_ܕ?3<uz_t@S.v  *Uh#zN 8oⶐp^±xύ>9a޶{2[%$`|)NJMRCYrոʺy~zOr$jIŪh!͹r J՛Hٱl"@rf -%ŤJ\G@?Nx(uj0%ƒU'lk?#lvU{`{;n1M5f4}(s3|ѤB%[~ Duωs8P @@A] x\(}a}c`صIq2% -]ў%Hm+cb(mWW4^W$Đ g38[s#z":pRd@o g*[љ/4(/QRUJp8$Gm nAkg*~FЅDqz^f!ܽ]:o~cG +h'aOΠ(HއF9 6N;72Z00c3uldOΡrϽ1gW* P!Dptՠ }=UE<i8 Íe^$hD>Oi <$`ȅe5T>o#}ixK! BD m2i:N؊t6DVI+ 934HeƢ)ZgǶr%R3E6At_Hs>CuJ'%kܔgAnnIAgLL#@^"0~65,d km k] O7prus U)$Uy^0~ dwk.*Œ4}X>#lºjU|CYLgc,LRۓ ;Ѣ %6,g6 CyOʥ1dd\x5z 1WURPe.sΛ3 T[1rBhVQ-!3¢ܬ:%,XG iD+%l<>Ѯ*I5Lun%KK~1-3[VoFh 5l&JWɠwO"բTꬲrLc{LljUn&᷊J*ne$pBhޖ6zA}@,yQuݙ =!4(2'BRǛh<}~Xjffz=yq>E,_H/(ΜS;0`,ٗ),5ݵ>WDss+O]̳%:s0OJ39pVl0ЉnX&3OUeV^ D#;^ YYMj}ͥEJS 4ϱ<d>!ۜ2<.7U\SP]nAhR""u:NPm'؎ B7#hPGqi#SGeq<`@Zy3EBI4Om=FR! sNoOscT;L 4+"͖Fz^uKچ\5l@nw܁6YQh^;?*c|6>s:!(tv開šY(Gu4;|/۟p1"SZY>^w,bM~n8]-oGtVnڀ^Y-NӐA  6;m"R5 ={U|+5L n:bA6^So ᒢ@q˴ t͚]+r |$&0WOHK|BuhLn-2ꑄ"^RS/{~U|{:.:'AN 9Lac/K ¾ԯWlSwQg-JMS~Dp=s]B"#6|:1䷹bo(V.KUvD+}q!}pAP >DbF^,aQf{ Gfq~`.QEOR,儞 s $ S<Ν*C#3h$~~9L޿b/`,AoԥATm73z_ѝ?p uaoZ~e!:|K&q]HG>{* AR^I:_l{ DыAer&=@wf 2H.OVjc$@qo]A묂ND5zs(϶l3VL}qv)0ڍ{ܺĿw'{ ^KQ,vrP7ʉ7ϱԖ4\c+v0AfIR$HO#ÿz]>՟۶qՐci)ѥ?]L:ݥmByZ~ml"'B9KPp {Uڽ:E:6cz?R e]Eujܣʯe /#cF pԤav-Q6fM⯯rqwjJtB.ֺٟTG̐~V1b{)RGZ#ciHlH!?(gÎa݉2MNi.C䎅6>wm@gpculnFO>%ِbOs9!^v ~.?bnd% CP$ CJ_~pn`|V)٢{hpJ{gnM^_R"+= $c5ĀTKT]9ӶZJXp%6N|bf[WUj-ؾtR^8ï2b*쇵}mP 1pخ<%.Ea~EVI6 DC4i2o1T}O "Vy 6OmC4OAzm(jtC~rx3AZ9+2f9#Fa) WBSaNXXӟ& N&Pc]B10[r!Tx aHˡ~ĭWF$pFk):ڜ%n1OFHx0]7X~Ua2JnH!+6e)Yhڢpe0>A>5?)cZ< sS{wI$&I9E*ˣ&H'*tP]ksΜBEpjo3偆'#F ?]I Kozʧ$W931J<_0L;4ٮ jlLXz6 6fKk@qՖ.5jWNLĻ]oxQZZ!_\iS /~V@NhvkX(a#‹wvGk8F֡ #I=$y8bݷF&] ͺJ"wAi@Il)Ժ3onI MS[mθaJo{/<˕+ouvZnT,Belsdfcњ`Ҡ `YC9 'g&Lv:=W[ۛudh c5XP7Wzp*T? t8齃˹u(d#p5bSF 4iE>p ێ?)5Kw4?a6F9KEؾ~vʷLc@}1 ~xMQy(R霩Fknv4Z1Ujl'Wa5 ĖԺ)6#i0alW4kT7~駝UG_=P\q4/ЃIQSKpK@i/JN~`tL!DQ2xrx 8/8}Dbkv^xBɢ`rR0NJKhARB5ڪa:Z_>k,m}Ws]@<+-asCmQ がg1Y%ȿ"-me8aL\擰)UrioPXG 6& E v% 8!wR3;_y :O1Pr\'thOba5-ь"i-07?\\0{8zgSi]N1p/Hc"֟FiNUV+ñ"kQ$'w?oLj0i14WiDzEdEp0v%@6)Gia9. O ;]}؟ ?W^\ Vl ᐸk3LǔWH;3$Sl~zɑ^4l{ Y;:?5&%qzבAu.OWl$\)n%kA3XX iϷF2Me87gcL2C=۴MԖ/\..YC0 Qx*vCzj?7oc`, Xaϊ;74q:V|~FW"lUr>S+BWuGZKt GQXDAOĵnE* 9e+Ok15P"jJc.Ԕܿ~-(kd=:s' ulٙuE\HTQ<1Q(83ڮp8/l{LOjykLcBޯ*emÂpg֜ۄ2^yHȟojh"1ife{c=@r&A?rI'E޹_.:%UImrvQEt`B*)V@ 8w| m/ v y#\& "OeσA4_7mD!W#,Z Ů:᜙ P?1?hI%hĔ hK4A8U:\4 \J4/a.73DSҕX r{-.qHƱ\jt^aU֩sZ. %AY9шT\kUF1@z xZA(2H՝α%W>2s;EmAozkW(1OfINx>AEJ,<*"cbiR{Hb[F.;ۉ^4f/~q1T-|6h}gGbŭEO+jw49u -"R== #LG)."\i#1w_%Y Yl$-mNryFZ&6v?a0{|7 Ǧ~\9kɼDO ĵ1)ۑ@=461nLyɆ39vazt"HxGi:&o3SIlWCJJ{|X7:·&WVr Eʛ$C0$H7҅/pn6g\'t{ E`2݃ī$}(>8Q7v|dl]z\㍁#1#V!Ρ&MqmҚjӵ@H/w?"9?^1xzGsr:?__&g&3bưS6 Nt.agzm$ǙAf@#Tn? v0(>;$j ; Y0_lVH8O7uJ/ڗW:=2;(6B@ ʄ ׄt7^݃}QWCҫo/˕SŬEu&mQZ0#^:WlРѭFAH\_"kS{ÆSbC4jfˆ`]ݠ'St£h*{[Ȇykvi# P`ϼ[ƺ+A7pmaU Jq~_ȶ-4*=KqjKGB$6AwJQx:Ź '!G`p c!ȓZEs#{⌁MIC7o, h!? ͡kgm/B"xp48tFv&E{2T}JrS/,Tw_nL_}e"Η9ree O Iy%LztgOk% ?vlkM9riЈ1Xf)[_cdPƆ]#U\fA|ê=u'.B_֜OVaȨ7 XhƑAf;,6,8?+g I1T[0;MB?љ6Jlb6ȡ8@1]qx'W~hDy{.ȴRw#R6%P{,u?SF:+/eMAN?!u̚'k7b'S/&?vr &3'[ݾfP(Mp9Ϫ/ԁt}ϲJ4R1pRmL;[&n~1]gzϑxډHbF|ݿ0C&~&pO R2} ;x%4{?~\!6A !^b%y[rɉgt d@XU(hZRw1*g)iͫ$?uk h*M\TgLh|%CGd8 )%i:6 |VI!O D3(kC:i4g;Ow*<ӝˆDbvٿ]cZ*kP}}4:A8^HP U4LsU{O 뷿bl@6FaC8X$ıl;]?Uok-0%=~>/Y5Ň'*wѫ6 oCtd%%SvsWZcVD:$#%"%tD+a,N;8&!n1pB~Ǐb|C߇Cj(/ҝAU@5S#2_X5@rPS,꺐 = lt O/xc֕_ at4 H>%󞞧ŁO6G[Y//P;k%bJ{egyC'ő8 F%\^wX6;/1@EB%<ȼ}8U`p=Dž Oh'8uBјxI룤䦃IEޠy$5shLn̍Kh?Nl4ډcA։kwFa9Ɗt+^ʩo&$0v~~c|ۛV9JXe+Hd͊UQfE^/ұl2O| W ʤ@3IN)Z+ğԎ@ddnܸV+KRBmVF_9\@[hښ/:N}75\3n£<cɏ{N@Zɽ|ǓҸJ@E~: 0Q2ߣջ {Q@}4y$KX.=`V~@A<$eHfŢɡy!OMϺ j~$si[ n)Oڭv Yjgwe%ĸ}7ZiСerEV%2geFdX|νw?uuE]Ġ峬%6"d,v(ࠕG hд=^ҷdr<ؓ6*駷Ȓ߯g7cG1~*j4I)BA;-FxN*K+O}}D `DjdMZZmSF=4|;'?np)6<#Ye^3BUW\?L '3X%Z^ V̯J1νVJ桪l!3QNn+!w՜h+n=I$p9xjV/0[߳TA.{gѲu8M@>TlTvh1P))T`m'x9lh }OUe19"*uǬ:KRg7P!nMn+b=y6ԢQV>5b@|Fg͝e,\(Rd`Q^BqXk;%7?|.̌Ԕ4ՂJ9)d+NHPH,zF;COf&Da\<PenU7BW)7 jSq @#ab(&'Vß^yS.6Su>N2j*@`]CH @f%}ءD!In̳L]1b4 725 ~x"ľm#_\d>1ǯl3$`L^CB`8Y3$6|/X[2e?}Z֙ݠ_\C5mOLcNU4D?PcF~2X'[Ut|PPV~!Y3QrZbtek,P^[^@ 9ٗad}KR"l}(TvL52:{N]=0B8v'%0.yv>r$ht"DIŽTgN*'|R, KfkьzM1')v)nL[5H98dQ^No#kJTbԆ_qc2;B?Y7Y!QA4p@.[ZVT>K'a'yvku&كpP wL9vh nw<'<"R83(@yi_V\Zh% }f,(y #Ż(oGP(g32c^k;yR$ t |1 .6#q:r3uoM`eonډ3 0Kv&xWxC9"CWSJBy{]Biv&؉_N y@6N" nD6ߊxr{sA-fLWԙ[TIbJg A0,o%k,Y2`*1xX³oVsm"4@XǚBf"1,Վbl"!0]\@r6-A?3=p]k ٍ^Ψp^QJ@4%94f7fTeCByYcTO]DZ~z v;w&r|^O` sA2%`RbpO?0ע<&ˋLنydK)fN_ OClh!_$O㤥K8Iɤ3XU*0ju<Ҁ PE1a~ʠ{q; lD.MP {BSrº]t;jBLK*4 I|2֚iqϻ]Xi[T} ) Rᄭ ^:$ἡ c^z7㑇?6-̽?q, x38@٧9vh44ʻ[5c1j}Dz;M>-jb`kՐȘ +#&4#gMoy@gO-G pU?\q?H2oE֢?3ch>uGQr,F-FSxW =cEX,O؎p ~Uγe+/V0wJP]Z|d7'CiL./o''wNA$u8fb"2d0:UF^W3@Rk6 A5-[ %>/dXP ue@{gS6D܁ZYgmɿj{A3N}{kQF;H9{rCYӊUUm%-2Oho$'[2dG% CS'HBBYQzɫx~P9815,#0򢚾J%CҘ]  P efH*}u fG JRG`OW%Ibؠ?տ4)TxB.Ұ+?6>^]mfM)"6̲4RQXp'>'ru- b2yVtupC)5jXс,gZKP R߲pRiTǕAOҬ*H0-4yѳ9CO)$OB6(R?W*F=%M1iG3Hp^YEB N(Bq%yPA(!RαE܅坬iocE_{L]P9:HbhmN"v_IkҰ*.?܅yEl4ur"q~P\cSm]Fe{3k>Uz%-|Y͒s:5 ]ߐD 2:"9AEGDuڝa~TWgP2 vr#X]wAw tk[WP&.)'~sh3_ F5SZ"2d+ #I_ψBF$$Nǡ;{$Z:v o0psyI6wybUr^0Z~q& X\VKÏRH$`v7jeyX/{1lG Q!n^`Ǯ7[ ؽqjޝ{)% `PBjb3a v_!й :T4JX{t@CZwj'?[0 󂭺θXw4E }26[$E`Y8Q*E!4*Ri8@3Z8\5q7tehӺiw>D^Sx6Ae{gR|xHim+)/ִ P 虲BT`'mN˲SM轨KMED,Spkq*Ez%Q|VV!tXlWղGp_)+H%[X"V"$ޝDXG+h.mwu9t]vD^-[ (gr'k"%QaR˷㇮l0.$cl>u3lVWfHq֒]E.X,_Ί7)h7K&&@Ƴ{toAPbյW %+X uN5'Ex'0)eD'9))$Dè$.YGt6ckȥ ?\[vTwe/z ]A9#7E~ePyָ"O~p}'N9r9ƉLsT=Xos+$9د]0Ψx Mt6U^L1w_jyZ/16L—|&?pf\qh!M+"ii r߷( 14oҌq"l|7"nր'C药3etSk* ȋLزʞzPaBc1a Ԓ$̞)c^bI3RGcs$\a!YwA+߱6;:*&)[vΨ"C|;Ry'%GjЀzmXH6kO#N#4XQ A`5U$sX5oRL8Ɓ4ֳ{7|0zT |g1,~ٙ8衉H|Y5+0daR~6 k #hd+K?"r @q{f-U0_|ɇcI6, *aIS|3Ӏ(uo:@YuiI;%]NN mRU o85%XLA(Q$n9"[M&)$,kZ5%LB 3`Ag¾/@-4 ~E.qC; HEjaO&YEav.3Dd[ x(Ct9cYfgmlHvD4vۿ*͘oP֝M򴪯j_݄}1}T@Ds|[6u*6wtPI;:V4ј=gNÐy/`.j,|}L3f+/incӹ rɻOBC8@H6Te4am)ڣ6>?/y|M2"Y` EBӨ*: 㑱\c JDsZ̪)f *̲Y S5\%ڇ3ffV|?ǮaI0:/I1+.I 9A썊Fdc q䣵ⷆo[=a] ګkC))! 1῝5͚n|:ɐz\O{و/ `*+%|?ᶡ?V'iEFfZOth\޺h.dKQwa&jMj|UZTϿSuqvp> t@> <9DC 8/(?X~oK Yiyn1^l1p\Zz#\*@zԃa0{8s(#0n1SCDl$ ' ~(ܿC-Fvb :%u5u%8ç0ҺئWe=ǂt<Ȇ'fUhjlo\?ct^u'f>6; I? ]S B(ڬD` Ŵ[uWӾ\yؒJ}ЗMSGuDksN?PWf$Ɍ;'N\ˣ^ś "Vo4,SRuȂ{ eGb>'I}gl+wM%8+x޳Wȝc͍$4hhǓ и/~^\Wls(1kR Tu.IS@Ȫ#]):Skgv/~|/B#ݾܖĨh }a:@}On -+- H-H Ja0mʩ`glXݝ(NA5 PA577 ZQdl<nV1we]Ǥ1 ^QI.tw7R" rtLÜ}MpN3: 8g~;Q`I/|,=!b2wK˦! Y X((UTQ_r_aag ~80uư:l3J63/j4v8}v.jR=Wm3B7n"1#15}CyS>B" :N)Tw@zZ9tvsT ~\B^VDq >|?AMmmK/V|H9%dfAl8]f/0^VSfAB{ WIԍ0DdYZA9Vތ7ʶf"z#7I謂ז^  *,Jg# E={1 ,լTY좧p9je][́!-qVߤ[i8V Jea:ض)UVWe`92\uDPǗ8{Dր3ne*5M)ǦzGf)$/3G*-iS`[F`C ,u @}Lwg|4 }H{p3:)Y (} (ֆk X]/ H M.x rWTTbALh6LJdebn"q=&fKrs&[t+9.TY?$U^I!$*1l^JB؎" ,DgבdiDD8]e$NhD s7CՔ\UQC(`U#h&˫@1(x`4H9lϹKO 89PO,^DA&_h;{!+ z6ݜ@N88PE܆Bmӵˎğ]p|Ʊ6-6o+sE~rlO6 *@JJ % OnKugRFQbW/ fCCNE !;REkH:x*XZ2U@2G3Q,Ƥ 32&]/=WDKRs64HDguqv^FaǦb7z,5R,w*۵ޜm.M)$op㜯{<rS-:;$K@ԟ=<,~){2G[d\,,bFE5n8Xjիpk|d 7Vc~ی11kUbmAQ}$%TزuՊG0 RA_e'lb3*uqMi)ZvR۪i61fpdm6y E!r>`ŧȞBލM]?y/crhɫFafػ`5϶)f?@hq_ϛ r烴ޟ>UQf d@ydwi9ߺ[%YGţ*WF<ƾ_݌=S5dX-MJv= )?&5jr1D*ô-@ٸk/}OmYWDnW,p ~c_QR[q;T;,Ygޏ5+z"8 b&b {$D4E|kcI0+)tAw !הЃ J~.yY4UVtaA)(U Ì+CiOe9^azSཱུn+'w. TZ{KZ&{}26?a2Û\ﶴΪc!L#jиҵLzٓ&*C2管ɮ5$kQEGw$rps m;}1T8{( Lgo·v<'l 4j87jkҋX9pP)~<<8}Wg>ʐLMMѻط&PovmZJ;έuCBA'B_aJ0  R];" _`/$O5`;D}n,Tt`@ir}a?Ybc=wc~ 5^xzD͸lm eA:ߟ2@wӉЇxb4h>q~!<:v49<zsֹ,8`D&&[äsП-@`wYG]K3iqNq\'TI*` Q˹hdb`Wy%>NLaK#?coUAMH/4,dhzTRq!Bg=eW@nkC|!X/#2iK{.~t79+XHh3%aSoT@=o'X},@1}TŸ .v^#ob?Ʀ* }Ք(W\A_^zK7Y}*>A7~'|D8fIv4fΞߢa]Bf4qil7݊^/ϾL_ ֗Ig)auer#0V^lPʮ޴Eё)[fE`(xщ_tdG ]?qѫRs㷞VIݯk@%g7T~`@`Kl%Cr R}m i lf8czS`k.&vK-Z"_U D($$E a⚒2nɋsl8YXu+oeȏ 0I&}`RW4Q*dY\ƥ0|4N&≯=BY}c8R"S .>vo.mQzGD tҢ*{o:3Jhkii@xOX,즷ڳ>r}b`b`$3]1ć ? v}!ccZL04J#C]8i`p; Uu;lOBN' (=NhJ1 eRT?z0r ^L7K%MoIsVg,<2 J mdr8}ym n4m5AR4EYS@%Q6WM;*rhTx:D§4']rH╗yTsUA:즺8r.Ɲ DfKYyXkPĢN^Bj˙w0Q| ]1J qW2R΅i֋aQ$\7cU^魹+ 5[%QdJ(*qUd9zl@Sb1 c0fO-&:A6_' cn{Z&# >='%2]yM6A bVtiӦccn w83\@5{;oY0v~J9m)P&bEBk'p MxjЌZ W h%PFo9[Щ#S dGiVQtB#( :{awz»cS+ ] u RzF“=e?iU\7E/bޡ-C2F DEj;͛9c6?S)$(T+4Eptǩ7M&ն 7F(fv`%>P41 =T~}#tyy4(jH ݟl8f34bڬ2nUs tO?XR8mdBJ/P<&dH4hy>)>A;ۼ6p2Q*jJv1WĢ!@8ǭ8bPt?I,v}XfjPq S:R3`,Ľ˯w=Bω(6 /5cq8? \ z6a 5h̒IZ$\B{ʻb KfT)hD^Ѿ-¡kyo{pRΕK#)`6Lz &$»,MN/cSXOU!ZQkؠ.֒00xO!'7Oo:.9zH](^{|Z+X\xH79;[_[q(O%9 jozq(A<C/pO )g8-m9#@;ў%Vg;ѕ|#/'r/R:kiL;泃7Q9ţ;AmH%j=p/1X9Io&Gcl^nQz<$2x}A:lG8f!g^8Dp_ v$&?] md艿]*%XRSƎI~HHVIQm >|׼!>5$9s܅%+vzX!~$)I.)|;+CQE,\#UPoxq wvܖس˷@ obmt]*$Hc7FjQ"'*2L-TYLKy!/qDMN#b3Ȑ o{R!C\]=:!+Iaþ|# {wqQ,i4` Hu'N{@Ӯxw[?).ϼ.s\Fc8xy7&PDHu '-m OO \=u[vZTN:>hXkq Ib3hvدwq%Oκhp"]OsM?;g4uݽtywcԷr&dq9/`r/F٬? %yk6fFMRiHe||-s3pDNow~€;oWEFYGdK)\ BJZDdO=&&C٫6A?YmoAhު>|(6UGfWb̑ 8sk4Bk˱Ra5lzIy}-vXw7u+ho>BQ?&ӏnC}2wn^nQ; Hn06?߼N=ln;{f,KżdHc1*~v52AO^eLq,6|{)I>glH뚋vUfqDIQ,MWVFOK@픞fgrOeF)`ig;ѯ`la#}m(}}8N< M{>]6'K/Jޣ)H5rTHAhs VTɸ V`)/q~CcĎ6.D#KX\׾![%i'"z֛`dnK Ku&c|~Ceq ڌtl; F2aH- Ħo?l3-z< ]R9 W@sA@UM^8N_"z7 YZ