gegl-0_4-0.4.46-150600.4.3.1<>,<i6p9|X>~vH״X4"|ScŘkHTF|;@$?d   8 ,0Ij S$S S pS S S dSSOSS \ G!G)G(* 8*79*7:/07>3@BFQGhSHSISXTYd\S]S^bc‰de flu$Svp;w,SxxSy<zCgegl-0_40.4.46150600.4.3.1Generic Graphics LibraryGEGL provides infrastructure to do demand based cached non destructive image editing on larger than RAM buffers. Through babl, it provides support for a wide range of color models and pixel storage formats for input and output.i6s390zp34>NSUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-later AND LGPL-3.0-or-laterhttps://www.suse.com/System/Librarieshttp://gegl.org/linuxs390x'' hXw[1)-0w>GgH WG'G7wG77wgGGH0ggG7G'''GWw:wW8W'GGw``vx o %NE 2A큤큤AA큤큤큤i6i6i6doi6i6i6i6i6i6i6i6i6i6i6i6doi6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6i6dodododododododododododododododododododododododo652cb713b7e5f651b1871ccdc739c5730c0b889b3e5d6c5ea0d701b06ab812c0dcc946df0b6e4547a42e83b3335f17d3442fb75d6831dd52db3927161b35f3962098928ef96e790f99c2bc8ebf76ebfd16ba05ef131fe6734f45ea0bf41ba685da17208ddf76bccf8fa81c55ecbcb1d6bf60c799ed06e9241de5bb374833d2f022c074c2b880b91e382ea737649bb7bfa3f30c5ba682aa4f3a7f149b14716c668ba9f45a4bd1c1c93055592029831c70aa6fb2fb17f8f708434ae8324453b36fb7fadcfc63c0bdb6ed3a3a55d134bb78f0650667a114145437555a3edc85fe08d45cc7f30665b77e423cd25b80b617bad51a7d0ede684028a4deb3b22957446b761aa502196af17fb81089da88fe0040ec39e339b218edbf741dad37aed05384d277cb53b61eda84e04062da038e069eac50f20155b3109f9d245f0cd6535e6a10f274f3ddbc745eec80a53c3793293c9d9ef9f2b36d4a2f1e51ac61f504437ab259d95e614212411718635eac1791edac1b14828f49f2a295160679e999e456f5c6b532a694639f7e6613d9c1b6f9c2b9d6928fd044cd543f867be47640a046dadc5a2c587ec906d65839e5b35108afebd19261c095220e20a5524fad9db448946b014babf47a53c243baccb2a612d278b500d3d41db4bc9298c9213f441a597cccd499f0ab2d0625f98f28d2d35e2248f76a956711965eeddf961fefbc0c2ac0c5827a7d81987e7bdb5cba9fc8aab7a16b7be67f4e549c231026287d4ee6b68ff544b19a92abe7bec9278f68ed85edf3cf8594fa116175e677548b2dbeec0e05b0b1727c52b0fa9aeb7f486bfb83e6a26726f4d5b110ce2e176bac8e6b72046964673be263e21fc781c51b91832fd36f8ed048aa24d531a2c208ce6e9352100e78debf488740245898293642741038564d13c16006b6c4b0d1a41e43dd7bb7384a801caeea8009e0c79458e07f01d203ff666aca5d00fbbc90311b82e330967b7c1dfa4198453cec32c5e002f5038cf0027baee40baabaff600582765826588ea4cc354734f343fc403bbeda5082d8343f83e7b50fec8be1f30a26b3ce44a5746d021c1e38ac4997a9be681d25bec0c0c798219ab00c62fb068d1c23e051b0218ff2716cda8242f0050bb7aa3d6449a1e845f1e839fe789a8b32ca989a2f437d5edd347c56a72f104ec8449edf1c4b436e741c07f4e9dbad4e969e8eb8844ca62f6b055d809097561207847e624b4affe989b67772c89adb814415ae84ed81dd1e9a3d8eef10e0220352cc3df75b54880296da6a2b5ec56f87bd61b9594265f898da33fe546baaff2c6667cc0f15bd68aca5c31c9cc8c078809ef8f480c46637287b1f4a875e9998464fed18550cec33d5d64015f248405847ba6b588cdccbccf4c32bb661a602d47319567d5ae49ece4b6017c2606b51231c13671da81ad3a6d01d311f1616e690312d4bc9e0951fc3f56f3fcb046272d6ba121a0dd39fe00f9234ed9e0c56f125e3365cd925d57d5f53a9f5039be7f99ffa4186378790dc75c464acdf748582c6be1f106f6187d6a3a983f2c66981a9a78c5c21b9e23f55973e97ba0c70a51ce394ca2f368657321f96d639e6968e6a685998db672f2e689681f8ab42c04727cd5a56ec403d50c17b1bae93013761479457c6cb756dfa12b4bb13a41077a94956a037c245fad17f847b743f60c5d60150f786b6a01aa3d5c737199560d3b3f94a61255e77be46b36d514e24023e18410050fdd90f5085a10e6bee09a1404cbf1b33d5364c50602108b12920ba3753961579397d4ba30c88712479dcbaec6bd2b85e5e345897bb3fe85f55229cf021d573f81cf28f8bd1efe0a83b15182a825b0bdc581fa3fb3d83616c65e9fcbfc3515ff450308883037c30a1cb719f3f85bb78428322a0ae9cd7da51efacac085160034d4be10de9c71da34ccddef98655e1a6cc225b1bea46b888d1bc96212589c6e80fee416d8910aafa3b2050bd7e87bc1372c53e09df4cdaf7d5dea72beddcc9de832df5759111a977ed0a92fd4fcc131e2f21e90271012dc711731be94057bf9b319d31be2c93d01bcf64aeb7db9cf9ccdcc55aa21de73f1810f8003112e8414ca1167823478875f9b7bc6e76e7f8cfde3e47327553807eb9eab96f94064daf852269d77d924957bf03167a4fdf3b7f4f2f44157256624d3f106e54243ca29c45c3bdc0b774bd159e0e31c5e9aac7836eff7421e8f9de76dcd79e17ef0c97c0d4d3e97fb0a1b0df2e586b67e0281b83e7f51789ed4fe3660e6d0ed205dbf26161a748e765795bee83d4f3bd4bcec526373d5081e50b1151e4e2d7b9e7a6936454a1a66ff6e5fa34f1209e23bd457d3b50c3a5598fddcfdf97eae8b7b3439ec5d3a25d0e56d856c78bbda37151641dcc0bb74e82804b97b6bae52733bced9a4da5d25fff09ffe59d6431fc2abee2f4f3f99b69c850337eb6cad5a376f5b0e85f836b6e86b5c5555bcd7a84d927e85d39e02810d4e50a088600b1e1a1ff6357393e3c6f8231b139aa5d91407e196757fe8a4d325a99e9cbf88e1cbc480739bde8fcd0723c8905782884602123b2ad39e22450cd62c76867f2bcb6528e96ae437447dd98a2ef46a473c054c684ce39b6bd521367bf09fbdef68defcfc5efc57c2b26e93f916052710ac054c684ce39b6bd521367bf09fbdef68defcfc5efc57c2b26e93f916052710af3fe6aea528dd1e87c7ffc15fdf756589a162a6e9ebeed505e30ba7cbdf8be5b32eac671a4d6a15b7ef9466044bb929e9a256ac52537e7ce17357dc981e7bb5d2dfea7af2725c18f3962a2ccecf56e8bb78cc7ed8579d1dc6ac5c9de43ff15757443fb90506050370b326863b948534d608be197b5bf7680ab14a6b10a371a3cc89b7c0a2582f56c1313e6ffbb830136649f92997bcdb39cbf99d783b9046cc1c054c684ce39b6bd521367bf09fbdef68defcfc5efc57c2b26e93f916052710ac89b7c0a2582f56c1313e6ffbb830136649f92997bcdb39cbf99d783b9046cc1f3fe6aea528dd1e87c7ffc15fdf756589a162a6e9ebeed505e30ba7cbdf8be5b350a63286b506caecd2aac0c6508d25a93df31a7a3724f9e44084ffcf5656f0832eac671a4d6a15b7ef9466044bb929e9a256ac52537e7ce17357dc981e7bb5dc054c684ce39b6bd521367bf09fbdef68defcfc5efc57c2b26e93f916052710a1dcfba69c6f1a929e8958324e5d73c4cfad3c768869eee559ec5c1a28f7bfa5669c90d88c3555bebd5976b99eb0fe796ff0bc4e77307afbff9321b185b3107812dfea7af2725c18f3962a2ccecf56e8bb78cc7ed8579d1dc6ac5c9de43ff15757bdcb5dbc6affdb2efaf60d8507fe0643ccc00d9775859d4d995974ab00773230d6f93c9673459d8021a420946a21804ca1f269ab938b56cb0c1ef2c1b6d248a0e98cd9a5d0384301901615287b75ff16758b67719a93aad332b29e5c5099e67a9931c3335e31195219a341a42b2e9c8e9187b19afcec0ba0a99e9e248aa7ead7d3a903eb349d203ea1ca9cfac1cf538130d7079c577ac178ed1d0b303c6797c09a7375de97d9d99ff7500f2029fc8cf4b79ee818d4cb674ccff81971b88d41erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgegl-0.4.46-150600.4.3.1.src.rpmgegl-0_4gegl-0_4(s390-64)libgegl-npd-0.4.so()(64bit)libgegl-sc-0.4.so()(64bit)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibIlmImf-2_2.so.23()(64bit)libSDL2-2.0.so.0()(64bit)libSDL2-2.0.so.0(SUSE_2.0.5)(64bit)libavcodec.so.58.134()(64bit)libavcodec.so.58.134(LIBAVCODEC_58)(64bit)libavformat.so.58.76()(64bit)libavformat.so.58.76(LIBAVFORMAT_58)(64bit)libavutil.so.56.70()(64bit)libavutil.so.56.70(LIBAVUTIL_56)(64bit)libbabl-0.1.so.0()(64bit)libbabl-0.1.so.0(V0_1_0)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.11)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libcairo.so.2()(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgdk_pixbuf-2.0.so.0()(64bit)libgegl-0.4.so.0()(64bit)libgegl-npd-0.4.so()(64bit)libgegl-sc-0.4.so()(64bit)libgio-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgmodule-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libgomp.so.1()(64bit)libgomp.so.1(GOMP_4.0)(64bit)libgomp.so.1(OMP_1.0)(64bit)libjpeg.so.8()(64bit)libjpeg.so.8(LIBJPEG_8.0)(64bit)libjson-glib-1.0.so.0()(64bit)libjson-glib-1.0.so.0(libjson-glib-1.0.so.0)(64bit)liblcms2.so.2()(64bit)liblensfun.so.1()(64bit)libluajit-5.1.so.2()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2)(64bit)libm.so.6(GLIBC_2.27)(64bit)libm.so.6(GLIBC_2.29)(64bit)libm.so.6(GLIBC_2.35)(64bit)libpango-1.0.so.0()(64bit)libpangocairo-1.0.so.0()(64bit)libpng16.so.16()(64bit)libpng16.so.16(PNG16_0)(64bit)libpoppler-glib.so.8()(64bit)libraw.so.23()(64bit)librsvg-2.so.2()(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libswscale.so.5.9()(64bit)libswscale.so.5.9(LIBSWSCALE_5)(64bit)libtiff.so.6()(64bit)libtiff.so.6(LIBTIFF_4.0)(64bit)libumfpack.so.5()(64bit)libwebp.so.7()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3i@eԔ@d}d%ydcc~ @c|b?b?bk@b aay?@aY@aUaE`v@`a@`]_@_i@_16^^S^9\]@]@]@]v>]F]Ew@\@\+@[<@[~[>@Z@ZZ@ZZ@Zy@Z3@ZZ@Z@Z@ZZhu@ZX@XW)@V_TKqzhao@suse.comalarrosa@suse.commantarimay@pm.meinfo@paolostivanin.combjorn.lie@gmail.comdimstar@opensuse.orgmrueckert@suse.depvorel@suse.czbjorn.lie@gmail.cominfo@paolostivanin.comjengelh@inai.deinfo@paolostivanin.commrueckert@suse.demgorse@suse.commrueckert@suse.demgorse@suse.commrueckert@suse.depgajdos@suse.cominfo@paolostivanin.comdimstar@opensuse.orgbjorn.lie@gmail.comguillaume.gardet@opensuse.orgbjorn.lie@gmail.cominfo@paolostivanin.cominfo@paolostivanin.combjorn.lie@gmail.comecsos@opensuse.orgbjorn.lie@gmail.commrueckert@suse.demvetter@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.debjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comfcrozat@suse.combjorn.lie@gmail.combjorn.lie@gmail.comluc14n0@linuxmail.orgplinnell@opensuse.orgbjorn.lie@gmail.comjengelh@inai.dedimstar@opensuse.orgpgajdos@suse.comdimstar@opensuse.orgzaitor@opensuse.orgolaf@aepfle.deidonmez@suse.comi@marguerite.su- Add 0e68b747.patch: Backport 0e68b747 from upstream, Fix HDR file parsing Heap-based buffer overflow caused remote code execution vulnerability. (CVE-2025-10921, ZDI-CAN-27803, bsc#1250496)- Replace BuildRequires libSDL2-devel with pkgconfig(sdl2) which fixes building in SLE where both libSDL2-devel and a newer SDL2-devel packages are available.- Update to version 0.4.46: + Operations: - local-threshold: new operation that does neighborhood aware and optionallyantialiased thresholding of an image. - chamfer: new operation in workshop that useis distance-transform and emboss or LinuxBeaver’s research into modeling different bevels with combinations of blurs. - ff-load,ff-save: clean up of deprecated API, builds with ffmpeg-6.0 but ff-save hasn’t been made to work with this release of ffmpeg yet. + Updated vendored libraries: - ctx and libnsgif have been updated from upstream. + Build: - Depend on meson 0.55.0 - Various cleanups including re-enabling of deprecation warnings. - make ctx be an internal library.- Update to version 0.4.44: + This release fixes a crashing bug what is umasked by GLib 2.75.3 and newer. Never-allocated data were being passed to g_slice_free, in GeglBuffer’s handling of copy-on-write tiles. + ctx: Updated vendored library from upstream.- Update to version 0.4.42: + Operations: - raw-load: add conditional support for 0.21.0 API. - rgb-clib: improved ui-ranges. - perlin, mosiac, c2g, long-shadow: small cleanups. - gif-load: update vendored dependency, including code updates. + Build: Keeping up with babl. - Drop 133.patch: Fixed upstream. - Add boolean pkgconfig(babl-0.1) BuildRequires following upstream changes.- Add 133.patch: Fix build against libraw 0.21.0.- luajit was disabled for riscv64 ppc64 ppc64le, patch it here accordingly (boo#1205102)- Update to version 0.4.40: + Operations: - newsprint: do not drop alpha channel in RGB modes. + Core: - fixes for legacy build, still supporting building latest GEGL for stable GIMP with old babl (not recommended if distros can have recent enough meson). - avoiding possible multi thread race in babl garbage collection,- Update BuildRequires to reflect it now does work with ffmpeg5.- Update to version 0.4.38: + Operations: - denoise-dct: a NEW denoising operation which decomposes the input buffer to sliding overlapping patches, calculates the DCT denoising in each patch, and then aggregates the denoised patches to the output buffer averaging the overlapped pixels. - ff-load and ff-save: big cleanup API cleanup, now ffmpeg-5.0 compatible. - gif-load: updated to latest upstream libnsgif version. - slic: progress reporting and improved parameter handling. - vector-fill: updated to latest upstream ctx version. - oilify: clamp inputs to avoid nan in output. - gegl:load fix possible double free. - rgbe-write: plug leaks in error paths. + Core: Fixes of some potential NULL dereferences on custom dataformats for malformed inputs.- Update BuildRequires to reflect it does not work with ffmpeg5.- Update to version 0.4.36: + The primary addition in this release is SIMD dispatch, buffer access functions get built for x86-64 v2 and v3 microarchitecture levels as well as ARM neon. The same applies to core operations where we have .so bundles for the variants as well as a generic build. + Operations: The npd operation fixed with multiple threads.- Update to version 0.4.34 (CVE-2021-45463): + Operations: - magick-load: use g_spawn_async instead of system to run the image magick convert fallback - preventing shell expansion on non-escaped/filtered paths in constructed commandline. - ripple: avoid a possible division by zero. + Build: - Explicit dependency specification in meson for generated CL files. - ctx has been moved to be part of gegl-common.so nearer to the operations using it avoiding polluting the GEGL library symbol table with the ctx symbols.- Re-enable luajit for ppc64, ppc64le, and s390x. We now have support on those platforms, for now at least.- disable docs until the upstream bug is solved https://gitlab.gnome.org/GNOME/gegl/-/issues/294#note_1281553- Also disable luajit on ppc64le and s390x. Package is unavailable.- Update to version 0.4.32: + Docs/testing: - Fixes and improvements to the test system ands it integration for comparing/keeping track of hashes of operation output by John Marshall including and overhaul of reference compositions and hashes, improving development as well as documentation. + Operations: - distance-transform: - openexr: fix build with newer OpenEXR 3 - negative-darkroom: contrast boost and illuminant adjustment parameter, reworked emulsion dye model, UI improvements, more black and white paper presets. - fill-path: 32bit float RGB and CMYK color processing, using ctx as renderer. + Core: - Fixing of leaks and dead code removal in json op handling, branch hints in buffer tile handling. - drop patch gegl-openexr3.patch: Fix upstream- added patches fix https://gitlab.gnome.org/GNOME/gegl/-/issues/284 + gegl-openexr3.patch- Update to version 0.4.30: + New Operations: - negative-darkroom: This operation is for artists who use hybrid workflow technique of analog photography. After scanning a developed negative, this operation is used to invert the scan to create a positive image by simulating the light behaviour of darkroom enlarger and common photographic papers. + Operations: - jpg-load,png-load,tiff-load: show ICC relatd problems as warnings. - rgbe-load : fix handling of exponent=0 in RLE encoded files. - color-reduction : Added blue-noise modes, the patents are expired for some years already, also added fix to levels parameters; enabling bi-level. - fattal02 : ensure gaussian pyramid has at least one level. - paint-select (in workshop): multi-level banded graphcut, sub-region rather than full buffer rcomputations and other improvements. - Drop 93.patch- Add 93.patch: fix build with glib 2.67.3.- Update to version 0.4.28: + Core: Infrastructure to opt out of listing ops with unmet runtime dependencies. + Build: Set vapi metadata better under meson. Make graphviz' dot library is a run-time not build time dependency. + Operations: - gegl:convert-space and gegl:cast-space operations fixed, and added to build. - icc:load new operation that treats .icc files as images, permitting loading a space into the graph from file. + Workshop: New operation paint-select for an foreground select tool in development. - Add disabled pkgconfig(maxflow) BuildRequires: New dependency.- Fix build on aarch64 by pre-loading libgomp.so.1 to avoid: "load error: /usr/lib64/libgomp.so.1: cannot allocate memory in static TLS block"- Update to version 0.4.26: + Core: Allow unsetting of property keys on paramspecs. + Operations: - perlin-noise: use a local random generator, avoiding resetting the global one. - transform: decrease epsilon for affine-detection, and round some affine matrices to be exact.- Update to version 0.4.24 + Build: - CI creation and caching of container images for build + Buffer: - Fixed integer overflow in u32 bilinear blit scaler. - Changed cubic interpolation to be a bit softer, reducing induced moire seen in issue #167 - Gracefully fail when running out of swap space + Operations: - Meta-operations now have an additional vfunc, update(), which gets invoked on property changes - crop: with no parameters set, infer rectangle to crop from graph. - crop: cropping rectangle can be implied from graph. - hue-chroma: avoid modifying hue/chroma of neutrals - dropshadow: added option for shadow growing - median-blur: accept negative radius values - rgb-clip: add parameters for specifying clipping ranges - vignette: new shapes, horizontal and vertical. - imgcmp: make max-diff property conform to gobject standard. - save-pixbuf: use a GObject for consumer read instead of pointer property. - gegl-graph: add a gegl-chain tutorial as default script. - border-align: place a buffer within the borders of another one. - pack: joins two buffers into one, with optional gap. - bloom: adds a glow around highlights. - piecewise-blend: uses a grayscale map as index into array of buffers used as LUT. - variable-blur: uses piecewise-blend piecewise-blend and gaussian blur to approximate blurs with per-pixel blur radius. - focus-blur: a vignetting blur, using variable-blur. - reset-origin: moves upper left of extent to 0,0 - band-tune: parametric band equalizer for tuning frequency bands of image.- Update to version 0.4.22: + Build: - Updates to python gobject introspection tests, and made them able to look up babl typelib. - Build pdf:load again; missing since meson migration. - Fix OpenCL include file generation to work in non-utf8 locales. + Operations: matting-{global,levin}: fix crash when bounding boxes of input and aux differ.- Update to version 0.4.20: + Build: Improvements and refinements of meson builds and CI. Fixing major issues for OSX and win32. + Buffer: - Pass O_BINARY where relevant on windows, fixing crashes occuring when swap is used. - Avoid 32bit overflows in computations for gegl_buffer_set and gegl_buffer_get. + Core: - Avoid running more thread jobs than there are pixels to process. - Faster teardown of buffer caches when bounding box shrinks. - Only do in-place processing if ROI fits in input abyss. + Operations: - Improved edge handling for gegl:distance-transform. - gegl:crop removed workaround for incorrect in-place handling. - Drop gegl-0.4.18_allow_unknown_arch.patch: Fixed upstream. - No longer recommend -lang: supplements are in use.- Add BuildRequires: pkgconfig(libavutil) >= 55.92.100- Drop unneeded libtool BuildRequires. - Drop optional cmake BuildRequires. - Add pkgconfig(pygobject-3.0) BuildRequires: Build python-gobject bindings support.- Update to version 0.4.18 + Build - Drop autotools, GEGL is now using meson, most things are working again now - documentation/website build is a work in progress, many issues have been fixed, more a sure to surface with this first meson only release following the babl one. + Core - Support ui labels and descriptions for aux pads of ops. - Guard against uint32_t overflows in memory computations, improved memory usage stat on FreeBSD. - Added support for hygon dhyana architecture. - Added gegl_try_malloc and use it to allocate storage for tiles. - gegl-stats gained active- and assigned-threads members. + Buffer - New API for aligning to regular tile grid, gegl_rectangle_align[_to_buffer] - added gegl_rectangle_xor - gegl_buffer_create_sub_bufer now always returns a new object. - Improved tile compression, more accurate accounting and avoidiance when it is determinetal. - gegl_buffer_save : store BablSpace - take into consideration concurrent use of different tile sizes in gegl_tile_alloc - Fast path for gegl_buffer_copy is entirely in abyss. - Improved api misuse handling in gegl_buffer_set|get - Improved consistency of results when doing COW of abyss. - Improved Gobject Intospection annotations. - Use a binary tree for tile swap, improving tile removal speed. - Avoid gegl_buffer_set avoid set_pixel fast path if level>0 + Operations - Dynamic computation of per-operation thread cost, making GEGL fully use available cores on more operations. - new operations: bayer-matrix, linear-sinusoid, color-assimilation-grid, normal-map. - new operations in workshop: boxblur, alpha-inpaint - pass-through for infinite planes for: apply-lens, polar-coordinates, whirl-pinch, convolution-matrix, maze, cartoon, waterpixels, tile, distance-transform, spherize, tile-paper, dither, mantiuk06, reinhard05, fattal02, fractal-trace, motion-blur-zoom, motion-blur-circular, wind, little-planet, mirrors, cubism and long-shdow. - improved property ranges/meta-data or copyright for: motion-blur-zoom, edge-neon, cartoon, photocopy, softglow, oilify, bump-map, remap, - convolution: fix source-buffer offsets of filtered-out components, avoiding excessive shifting. - jpg-save: force grayscale if incoming buffer is grayscale - sdl-display: port to SDL2 - gamma: handle negative input values - apply-lens; enable auto threading - matting-global: disable auto threading, allocate less temporay memory. - maze: reimplemented without recursion - newsprint: added black pullout and per colorant pattern and period parameters, enable threading. - saturation: add a colormodel property which permits operating in RGB instead of CIE Lab, enabling hue preserving saturation changes. - exr-load/exr-save: only use associated alpha with EXR files - ff-load: fix audio track decoding for pure audio files - c2g: fixed initialization data race and out of bounds array access when threaded. - color-enhance: fixed a buffer leak - perlin-noise: fix initialization race - domain-transform: faster nop for edge-preservation=1.0, support BablSpace - oilify: support specifying mask-radius with aux buffer - linear-gradient, readial-gradient: use colors in correct order. - pixelize: avoid potential glitches - weighted-blend: harmonize opencl implementation with C - edge-neon: performane improvements + GEGL UI - gcut video editor ui has been removed, all its functionality is latent in the new media browser/manipulator/viewer UI. - Permit start/end times for playlist items, enabling use of folder as EDL. - Add ability loop currently shown media element. - Nearest neighbor decoding; for realtime playback of HD video content. - Frame-cache for rendered video frames (with associated PCM data) - Drag and drop from file-managers to collection view. - switch to meson based build - add buildrequires for tools to build documentation: asciidocs, gtk-doc, ruby - switch from lua to luajit - no lua support anymore on ppc64 due to missing luajit - enable workshop modules - new BuildRequires pkgconfig(lensfun) - added gegl-0.4.18_allow_unknown_arch.patch: the old code in the configure.ac also did fallthrough. restore that behavior. - drop patches no longer needed: 0001-Extend-configure-checks-with-checks-for-SDL2.patch 0002-Port-sdl-display-to-SDL2.patch 0003-Port-sdl-draw-example-to-SDL2.patch fix_doc_installation.patch- bsc#1144344: Remove JPEG2000 support due to planned removal of jasper, drop pkgconfig(jasper) BuildRequires.- Port sdl-display operation to SDL2: glgo#GNOME/gegl!184. + 0001-Extend-configure-checks-with-checks-for-SDL2.patch + 0002-Port-sdl-display-to-SDL2.patch + 0003-Port-sdl-draw-example-to-SDL2.patch - Add autoconf BuildRequires and pass autogen.sh call. - Replace SDL-devel with libSDL2-devel BuildRequires: Build SDL2 support.- Remove unused build dependencies: - graphviz-gd is checked for, but unused: glgo#GNOME/gegl!182. - gtk-doc generation is disabled, i.e. unused. - enscript just regenerates bundled files, add fix_doc_installation.patch to avoid the need for this.- Update to version 0.4.16: + Buffer: - Swapped behavior of cubic interpolation from cubic to mithcell coefficients, leading to crisper results in all uses of the cubic sampler. - Use a custom allocator for tile data which aligns data and groups allocations in blocks - improving performance on windows by keeping more slack allocation memory in-process. On linux the opposite was needed and is achieved by using the GNU extension malloc_trim which permits forcing invokation of the glibc malloc/free allocators garbage collection function. - Permit tiles to be unreffed after GEGL shut-down without crash, which is likely when using bindings to dynamic languages. - Improved deadlock prevention in gegl_buffer_copy() when using copy on write. + Core: - Platform specific build fixes for both win32 and OSX. - Avoid in-place processing for cached nodes. - Indentation consitency improvements. - Permit more detailed specifying/overriding of OpenCL device through the GEGL_USE_OPENCL environment variable. - New call gegl_update_anim_time for applying the animation curves of properties. + Build: Added gitlab continuous integration. + Operations: - Use indirect buffer inputs on main thread during multi-processed processing for point-filters/composers and tranform base classes. - Smaller required/invalided ROI for map-absolute/relative when using nearest neighbor. - tiff-save and jpg-save fixed dimensions when buffer saved has non-zero origin. - Added missing descriptions of properties for cubism, mosaic, tile-paper, color, mantiuk06 and vignette operations. - ff-load fix some of the deprecation warnings. - ff-save avoid crashing if audio or video codec fails to initialize. - cache, parent class changed - it is no longer a point operations, also speed up processing and permit copy on write handling of tiles. - opacity and invert - crash for 8bpc buffers, reimplemented logic for (non-)associated alpha OpenCL kernel selection. + Tools: Drop direct dependency on exiv2 - we now only transiently depend on it through the gexiv2 abstraction. + commandline tool/gui: - Store per image editing chains in .gegl folder instead of sidecars. - Set window title, permit interaction with opened .lui documents, fixed playback of audio for opened videos - it now works; if the video is decoding, scaling and display is fast enough to leave spare cycles. - Support for nearest neighbor scaling of imagry; aiding video playback without dropping audio frames. - Custom collection order and per-file key-value metadata. - Drop explicit pkgconfig(exiv2) BuildRequires following upstream changes.- Update to version 0.4.14: + Core: - New Scratch allocator for short lived buffers. - Removed unneeded buffer copies in some processing code paths in GeglNode and GeglProcessor. - Add gegl_babl_variant API for getting variations on an existing pixel-format/encoding. - Expose gegl_node_is_graph(). + GeglBuffer: - Compression of tile data. - Handle dynamically changing swap dir. - Improvements to mipmap damage propagation. - Fixes to threading race conditions. - Low-level tile handling more adapted to buffers creating from existing linear data. - New iterator API is now the default, GEGL_BUFFER_ITERATOR2_API is no longer needed. - CMYK/grayscale handling for scaled blits, code paths in samplers, serialization. - New default tile-cache size, 50% of RAM. - Initialize the first OpenCL device with IMAGE support. - Added gegl_parallell_ from gimp_parallell_ API to distribute processing for multiple cores. + Operations: - crop, added aux-pad - if connected the incoming bounding box determines the crop size. - Input-format specific processing for performance in watershed-transform and invert ops. CMYK handling in jpg-load/save, tiff-load/save, gaussian-blur, opacity, most composing and blending operations, text, vector-stroke, path, and transform operations. - Improved or fixed mipmap preview rendering of emboss, linear-gradient and radial-gradient. - Better ui strings/range/defaults for: distort/waves and dropshadow, value-propagate. - gaussian-blur: fix mistake in implementation of IIR Young blur 1d, which caused non circular halos. - New operation: pdf-load with build dependency on poppler-glib. - Added offset properties to pixelize filter. - New ops in workshop: voroni diagram, Grey Color Removal, spyrograph. - Handle mipmap rendering for linear-gradient and radial-gradient. + UI: - The existing microraptor-gui (immediate mode touch UI+CSS with cairo) image viewer that can be built as part of the gegl binary has been revisted, a graph/property editor has been added, and migration/extension to lua has begun for parts of the code. - WARNING: many parts of the UI is of exploratory proof of concept/alpha quality but are released since the code is part of the GEGL repository and important development tools both for creating and testing new GEGL operations as well as GEGL itself. - Some screenshots showing some the process towards the state and capabilties of the UI in this release can be seen at https://www.patreon.com/posts/24123574 - To build with this UI the following dependencies also need to be satisifed, for now this is not intended to be packaged by distributions yet. . libluajit-dev . lua-lgi (debian package name) upstream: . mmm https://github.com/hodefoting/mmm . mrg https://github.com/hodefoting/mrg + Features: - folder view. - resolution independent UI. - touch oriented navigation. - GIF / video playback. - PDF pagination. - goats that expose performance and capabilty issues in GEGL. - efficient (though not sandboxed) thumbnailing. - embedded simple commandline. - graph editor. - zoomable. - automatic, consistent graph layout. - autogenerated property-inspector ui. - visualization of color model/bitdepth through styling of edges. - live-extendable with lua code for per-operation canvas UI. - Add pkgconfig(poppler-glib) BuildRequires: New dependency.- Update to version 0.4.12: + GeglBuffer: Fix fix of scaled blitting, the fix from last release introduced scaling artifacts for all formats that are non-8bit. - Changes from version 0.4.10: + GeglBuffer: - Fix integer overflow issues for u32 blit scaling code paths. - Reduced memory clearing overhead for temporary buffers during blit. - Round alpha component during u8 bilinear/box filtering. - gegl_buffer_dup now matches source buffer abyss, shift and tile-size more closely. - Added GEGL_TILE_COPY command for backends, for more efficient buffer duplication/copies. - New GeglBufferIterator API. - Move type-generic scaling algorithms to GeglBuffer folder, move opencl integration bits out of buffer. + Operations: - gif-load: new operation for decoding GIF images/animations, with frame delay exposed as an out-property. - exr-save: do not hard-code a version name space. - long-shadow: add 'Fading (fixed length)' style with a new user-defined 'Midpoint' parameter. - maniuk06: use double precision, permitting to work on larger images. - watershed-transform: improved description. - unsharp-mask: permit std-dev radius of up to 1500px (from 300). - Updated all operations to use new iterator API.- Update to version 0.4.8: + Core/GeglBuffer: Fixes to races during buffer/tile storage destruction, improve swap usage for stored empty tiles. + Operations - motion-blur-circular - improve/clarify property ui - median-blur - added abyss-policy property - long-shadow - new operation - little-planet - adapt reference composition - Changes from version 0.4.6: + Up until now GEGL has been using a color space corresponding to scRGB as an unbounded device independent/possibly scene-referred HDR color space - with a similar approach to to how ACEScg works but with a worse set of RGB primaries. babl formats, represented by a pointer and a corresponding encoding/format string have been used to specify the specific encoding of pixel values. The encoding including component order, data type and TRC encoding. Where "RGBA float" means 32bit float data and "R'G'B' u8" the ' indicates non-linear, and thus this is sRGB. "RaGaBaA half" gives premultiplied linear half data. Other encodings and conversions are also provided through these formats including "CIE Lab float" and "HSV float". + As a color management workflow for scene-referred imaging the above could be sufficient, but GIMP needs data in the 0.0-1.0 range for some display referred blending modes to work properly. As a consequence of this recognized short-coming GIMP has been passing the pixels of for instance ProPhoto "R'G'B'A float" off as "R'G'B'A float" and linear ProPhoto "RGBA float" as "RGBA float" this works for single operations, but falls apart when the colors are converted to CIE Lab. This is the good enough state where the other benefits of having a stable release powered by GEGL outweighed not being entirely correct. + Since babl 0.1.32 of october 2017, all babl formats have an associated unchangable space associated with them, and since then GeglBuffer has worked correctly with it - since GeglBuffers use of babl API did not change. GIMP is already using these parts of babl for ICC matrix based conversions since using babl for ICC profile transforms is an order of magnitude faster than using the lcms2 library. It took time to come up with the above scheme of integrating arbitrary primaries and curves for spaces with babl in a maintainable manner, and it has taken until the last month to come up with a full plan for the rest of GEGL to be aware of and handling arbirary parametric ICC v2/v4 based color spaces for operations; without limiting the ability to extend and use the code for a wide range of scenarios. + A space can be constructed from a preferenced name/specification, loaded/saved from ICC matrix profiles or constructed and serialized to whitepoint + rgb chromaticities / xyz matrix. More recently an additional trc mark has been added '~', giving this vocabulary for RGB formats, in addition to variants with alpha and pre-multiplied alpha variants of the same: - "RGB" linear primaries from space, linear data - "R'G'B'" non-linear primaries from space, TRCs from space - "R~G~B~" perceptual primaries from space, sRGB TRC + When creating device independent CIE based spaces they also get passed a space, this means that we can convert CIE Lab to RGB float, keeping track of which space / ICC profile the data correspond to. + GEGL operations now construct their desired encodings of formats by taking the space of buffers on input pads into account. By default, for composers "input" wins over "aux" to determine ops space. If an operation is not ported, data will be converted to sRGB on input and sRGB will come out of the node. + Buffer loaders PNG, JPG, TIFF and EXR generate custom spaces based on ICC profiles/primaries. The corresponding savers saves color space information. A new save handler for the .icc extension, acts like an image storer but only saves the ICC profile of the buffer it gets on input. + With no additional operations inserted, this now means that GEGL graphs operate on linear / non-linear variants of the color space used in the input images without conversion. The new operations gegl:cast-space and gegl:convert-space provide means of overriding this behavior, see the new section about color management in the gegl-chain syntax documentation at http://gegl.org/gegl-chain.html + Initial work has started on making GIMP also use of and propagate color space information along with encoding in babl formats, changes which also will be integrated in the 2.10 branch. + Other changes to operations: vignette: fixes to gamma property + New operations: - cast-space: assign/override color space - convert-space: convert to a different color space - litte-planet: stereographic-mapping split out of the panorama-projection + New operation in workshop: acrs-rrt: ACES RRT based HDR to SDR proof/preview point-filter tonemapping op.- Update to version 0.4.4: + Core: - Point filters with need for format conversion of input are now parallel. - Added swap-reading, swap-writing, swap-read-total and swap-write-total properties to GeglStats. + Buffer: - Trim tile-cache when shrinking. - Added reading locks to tiles further improving concurrent access tolerance of GeglBuffer. + Operations: - threshold: operating format changed from linear to perceptual. - unsharp-mask: add rename standard-deviation and scale properties to 'Radius' and 'Amount', add 'Threshold' property. - recursive-transform now supports applying multiple transformations simultanously. - Fixed integer overflow due to logic error in pixelize. - New operation: gegl:abs which negates negative values. - New operation in workshop: selective-hue-saturation.- Update to version 0.4.2: + Build: Abort early if autoreconf fails, remove unused bits, default to -Ofast as CFLAGS. + GeglBuffer: - Improve concurrency for trimming and destruction of tile caches. Improve cache invalidation during partial mipmap regeneration. - Do new cheap clones of buffers with new internal gegl-buffer backed tile-backend. - Do not keep cached sampler in buffer it makes cache invalidation hard, and for performance/threading it is better to create ones own samplers anyways. The old API still exists, though parts of it is now deprecated. The single special case where gegl_buffer_sample remains somewhat performant is with the NEAREST sampler, for all other samplers creating a caching sampler is better. + Operations: - operation: add GeglOperationAreaFilter::get_abyss_policy() vfunc Copyright notice improvements to spherize, color-overlay. ff-save: implement defines handling compilation with ffmpeg 2.3-2.7, 4.0 compat. - Improved multi-threaded performance of panorama-projection and other transformation operations through optimizations in buffer and base-classes. - Drop gegl-port-ffmpeg4.patch: Fixed upstream.- Add gegl-port-ffmpeg4.patch: Fix build with ffmpeg4 (bgo#795625).- Add baselibs.conf, build 32-bit support.- Update to version 0.4.0: + GEGL 0.4.x is a stable release series of GEGL to have a stable API and ABI to go with GIMP-2.10. When the need arises to break API or ABI compatibility the 0.4.x series will get its own branch and unstable API experiments and development, 0.5.x will happen in master. For now though master will track the 0.4.x series. + Core: Change GeglParamSpecSeed from int to uint to match the value range of GeglRandom's seed. + Operations: - Ripple fixed remaining issues needed to remove legacy GIMP plug-in in GIMP. - Spherize, requrise transform and color-overlay moved out of workshop. - Ppm-load ported to GIO. - Rename subpackages following upstreams soname bump.- Do not buildrequires lensfun-devel, it would be only used when building workshop, if Makefile was really compiling relevant code.- Explicitly version pkgconfig(libavcodec), pkgconfig(libavformat) and pkgconfig(libswscale) BuildRequires to less than the symbol versions provided by ffmpeg4 branch until upstream catches up. Currently provided by new ffmpeg3 compatability package.- Update to version 0.3.34 (CVE-2018-10114): + Core: Change GeglParamSpecSeed from int to uint to match the value range of GeglRandom's seed. + Operations: Limit allocations in ppm-load to 2GB (CVE-2018-10114). - Changes from version 0.3.32: + Operations: - panorama-projection: added reverse transform, which permits using GIMP for retouching zenith, nadir or other arbitrary gaze directions in equirectangular, also known as 360x180 panoramas. - Added abyss-policy to base class for scale ops, making it possible to achieve hard edges on rescaled buffers. + GeglBuffer: - Improved performance and correctness, avoid incorrectly gamma/ungamma correcting alpha in u8 formats, for a tiny 2-3% performance boost. - Keep track of valid/invalid areas on smaller granularity than tiles in mipmap. - Various micro-optimizations in display paths, with minuscle performance impact.- Add cairo and glib-2.0 BuildRequires to avoid implicit dependencies.- Update to version 0.3.30: + GeglBuffer: - gegl_buffer_get now treats the final argument; - All scaling is now done on linear data, making future results of mipmap computations more valid as well as providing correct results for scaled down thumbnails in user interfaces; - The scaling code paths has also been instrumented and optimized for performance; - Improvements to logic switching to boxfiltering behavior and improve cubic samplers box filtering by using a linear sampler and a nearest sampler for the boxfiltering for the linear sampler; - gegl_buffer_copy gegl_buffer_clear and gegl_buffer_set color now only emit a single changed signal on the buffer. + Operations: - c2g and stress have gained the ability to toggle the influence of the shadow neighborhood or not, the new default is to not improve shadow detail; yielding a bit more natural renditions; - color-to-alpha now contains improvements from experiment in workshop which is gone; - Fixed crashes in median-blur. + Transform ops: Only rasterize inside the transformed polygon, saving cpu; + New ops: Mean-curvature blur. + News ops in workshop: color-overlay, enlarge, inpaint, domain-\ transform, recursive=transform. - Now minimum build requirement for GIMP 2.10.0- Update to version 0.3.28: + New stable branch, long packaged as gegl-unstable in openSUSE, changes far to many to list, please see NEWS packaged in docs sub-package. - Lots of BuildRequires, Requires and sub-package changes. - Drop upstream fixed patches: + gegl-UF_long.patch. + gegl-lua52.patch. + gegl-0.2.0-CVE-2012-4433.patch. + gegl-ruby19.patch. + gegl-0.2.0-linker-flags.patch- Fix SRPM group. Update descriptions. Remove idempotent %if..%endif around %package.- Modernize spec-file by calling spec-cleaner- require liberation-fonts instead of liberation2-fonts, it is dead [bsc#1077375] [rh#856239]- Replace liberation-fonts BuildRequires with liberation2-fonts: the new set works as well.- Fix CVE-2012-4433 (bsc#789835): + Add gegl-0.2.0-CVE-2012-4433.patch: Fix buffer overflow in and add plausibility checks to ppm-load op.- Use pkgconfig instead of libffmpeg-devel- Add gegl-0.2.0-linker-flags.patch to add -lm to linker flags.- fix build for factory * add patch: gegl-UF_long.patch * newer suitesparse abandoned UF_long in favor for SuiteSparse_long - fix build for graphics repo * ugly fix, multiple provides of gd by gd and gd-tools from libgd2/sbin/ldconfig/sbin/ldconfigs390zp34 1765190052  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS0.4.46-150600.4.3.10.4.46-150600.4.3.1gegl-0.4average.soblend-reflect.sodropshadow2.jsonexr-load.soexr-save.soff-load.soff-save.sogegl-common-cxx.sogegl-common-gpl3.sogegl-common.sogegl-core.sogegl-generated.sogegl-workshop.sogif-load.sogluas.sogrey2.jsonjpg-load.sojpg-save.solcms-from-profile.solens-correct.soline-profile.somatting-levin.sonegation.sonpd.sonpy-save.sopath.sopdf-load.sopixbuf-load.sopixbuf-save.sopng-load.sopng-save.soppm-load.soppm-save.soraw-load.sorgbe-load.sorgbe-save.sosdl2-display.soseamless-clone-compose.soseamless-clone.sosoft-burn.sosoft-dodge.sosubtractive.sosvg-load.sotext.sotiff-load.sotiff-save.sotransformops.sov4l.sov4l2.sovector-fill.sovector-stroke.sovoroni_diagram.sowebp-load.sowebp-save.solibgegl-npd-0.4.solibgegl-sc-0.4.sogegl-0.4luacairo.luacairo_h.luagegl_box-blur.luagegl_c2g.luagegl_crop.luagegl_edge-neon.luagegl_fill-path.luagegl_gaussian-blur.luagegl_linear-gradient.luagegl_median-blur.luagegl_radial-gradient.luagegl_rectangle.luagegl_rotate.luagegl_snn-mean.luagegl_stress.luagegl_translate.luagegl_unsharp-mask.luagegl_vector-stroke.luainit.luamime.luamrg.luamrl.luapreferences.luaviewer.lua/usr/lib64//usr/lib64/gegl-0.4//usr/share//usr/share/gegl-0.4//usr/share/gegl-0.4/lua/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:41865/SUSE_SLE-15-SP6_Update/e8af69e7feee8dc4e23182fc3dc782d1-gegl.SUSE_SLE-15-SP6_Updatedrpmxz5s390x-suse-linux  !"#$%&'()*+,-./01234567889:directoryELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e79590bb327f9f1f37e3a0d744cbed7cacf0df63, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=63bdafb1c622c68dda40cffa5da3bc8d2d2c7d7d, strippedASCII textELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c3267c1fcf08d951115de17b09879653a161135a, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=bc10d76aaebc30448e9e650d81589b3b48bd4034, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e3a80b9b928fffea8539766880b96d1fba396915, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c11a641eee89022a502bb96d9c9fa375a7ee1caa, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=60e8064332bd4b21b1598cdd9f7dce2927ac4b8e, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=24bf0c11ce454429aaa330fc03fdd12c2940b0a3, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=43b907e93af950c80a83a02e8351b7568efd5f77, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=2b277a1aedc89e8933c1f737c7859085f639a374, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=367194851f83e67066ccb418991069d8b79cbf21, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=820c961038f424246ee50ce6f12ff0723904a1de, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=81856838d6b1e18fcc6547f2ed3a8da14f8e4981, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=92392cc43025b23fc55399967f7b2ccb2fb6f890, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3df5572fa943273f445ea1d0217cd49aed8ac8d0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=0ed31a6c88d2c258ec9586e5ff75745d4bc5674c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3299e7a094cedad1038613918d7eeaaf3f4c5b46, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=5db94a96cb34dd5543dc3f231840caed15c1c504, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=8d8e01416d04caf9446e6cf62991d3481b6aa440, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=7ab49dde56accfa92706fd15e2fa4262a3efd36f, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e3904ec6d153453caa51eef093706d61a716608a, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c74317e57d85b95e64640bda660e4a8f7819c160, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=ca376ee411147330f3c759f8519267985cc75881, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=654b58cac4d1577b3bd7db1a6e62951e163337a4, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=24bc26572d5b3d988fd991a8df770cacd264daa4, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=4d399e4d204c6192076f43e041a54d97d88ba4ad, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=03bdcdb6328332d6f3e4f406106b7498e6107342, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=adb2c077996b1c1951358f7904fe83c83295acde, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e34f3d158f3de038763cc4a35c4efe25d37c3e72, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=fe39bbe11996ebab53f7f42a84c8488120c8cbed, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=da1cf0380579dffb68cfe41ca6413c6bfc7ab0ac, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=8415b7ef8e1b732d2dfad4e73c1ef53727aac5d3, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=6d9aea43fc53355c8fa75117e2aeea3cdc66ba34, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=1928eec5bc4f0f393cb832fa1faaa3bdc0666016, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=9fe0965177cb62c47630773e8603ae6d9ae3f972, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=35534f067893e6cbe9af631f9edbe32369a528dc, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f72ad1936c921363eeb4a32641c2f44d73cdb45e, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=071e159cb7cadf79cd504addc4e2eb10b6f97993, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=847a321bcadad73d29ca28c183b96162e999fb7f, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=744bb6ae565b8c4db11c975b4b1dd0aac22b83d5, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=fca5b0289c0bcf956789b89136063695f900ba84, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f06196c3d6713e94d36789c466bcfa6a9e83924d, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=08baaf839a372bb3ed5f1e7501a1bb2c0fcd2d1d, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e9df01e34394c924f9048a396bca31285e264511, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=85bdec4f9d47b0127eaf456822e24014f1ce04f8, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=537cb10b76dd0108141c28f2c2f9330f0c01c67a, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=b5c700aa06b7bdf9075ede5d0ad52745acfbb93b, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=5ac5b15f793926f714f0382210ca2fd8dbd1c342, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f22259329ee651694916a12da35f50c052e7ba3c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=d66152fc0be5062a8b8ae24acde7a7abb3e80074, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=b2f34264279ddea108034fc8accf6a746b4e29f1, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=36b12b6befce0faff3e1ca17f3a55320b4144e29, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=ea0860570571ca986325b7966de7994b2a93e824, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=30a4fe3e3246b307cceacfa4bc65b90856fa982b, strippedC source, ASCII textC source, UTF-8 Unicode textUTF-8 Unicode text.?O\iy '0=LU]fq| %0        R RRRR R R"R R RRRR R R"R RR RRRR;R:RR R"R RR9RR RRRRR RRRRR RRR R"R RRR R=R R>RRRR RR RR R"R RRR R=R RRRR R.R0R/RR R R"R-R RRR R1R0R.R/RR R R"R-R RRR$R%R R1R0R.R/RR R R"R-R#R RRRR R)RR R R!R(RR"R RRR R.R/RR R R"R-R RRRR R.R/RR R R"R-R RRR RR RR"R R R RRRR R R"R,R R RRR'RR RR"R R&R R.R RRR'RR RR"R R-R&R RRR RR R"R R*R RRR1R RR R R"R+R-R RRR RR RR R"R RRR R.R/RR R"R R-RAR R RRRR R R"R R RRRRR R"R R RRR RR RR"R R RRR RR R"R RR RRR RR RR"R R6RR R RRRR R"R RR RRR RR R"R RR RRRRR R5RR RR"R R4R R.R5RRRRR RR RR"R R-R4R RRR RR RR"R R R RRRR R"R R RRR RR R"R R7R R.RRRR RR R"R R-R R.RRRR RR R"R R-R RRRR RR R"R RR RRRR R"R RRR RRR R R"R R RRRR R R"R R RRRR R R"R R RRRR R R"R RRR RR RR"R R8RR RRR RR R"R R3R2RR RRR R@RR RR"R R?R RRR@R RR RR"R R?R R.RRR RR R R"R-R R RRRRR R"R R R RRRRRR R R"R R RRRRRR R"R R RRR RR R"R RR RRR RR R R"R RRR RR RR"R RBR RRR RR RR"R RBR PR0R.RRR RR R R-R PRRR0R.R RR R"R R-R *ovg-I4}utf-80495866690900b33d08ae7504eba2a9efe70cb8e1e19e7d504cb9054637c77f4?7zXZ !t/gI]"k%{Jl ;Y7jݛTuJT`/GṬu%&vl!HC־lsvƫ[I"}Twn?G`\E}Ԟ rlx;˶.J%#;.׶f٪O~RAOFY D!eS6;s!DR#kL=~ˬ"O=/k@Ьô D8jal# ]:;ը_6\5v< Z !PXV7{ ry*G%V t2~1XNF6Evִh#] !"@0 O!D#>/9aW `zXaM>ĉ"2<%VzEÃɱPB+[oɩ n6,Tjsq)%=n#< [ NZ?p-a+JQ3l5;*enWvgW3+hYRow3M4 YfuP3NC\v]0yܸ=#|wVDf+g~ϻ-e4P\هy!cI=#M-ܶiT <-պmUe7bPA vFLa#S >K둫[rdc ș/0\łZ\5(1+Q-rg;]`Wǵ+S^pVǠ {hz~@VF\G)RP9!uC<}z{I;v ,m'ɬʩj'|"$ڨ id<6Hy4)Uyma74 z@M/Vn1 ]Q(#z"Zzn 2C[چ'Y8¾(&Z:mt-U.8FXAAd|( g8z*X4WRS&~T2˕Zќz `w&7Oug߻&dufڑRst 6rʀ.EfVn3~Q&ӆ?4d%Yf[ϩ᎚I/~H_'BoGaVБ@̠ӊPz&+fx0{"rv@AU{[t=ǃà'uXr @~&u8k7`"S" 2UV\TU6Pd:JmD`Ζ,Wo]qZJ} x52Bop>8J\+ޅL[!M$ 9jv#ڐM'jn=-[3:9ȗ_%]ZmqT`j0%a( 5  ij %3T#14XxS93)* yN˓A}9ߴ ECLES6;_a&8qoɖ@t)!]4n9UeuY^kAmE-"@YA>m|eHGa;o2_Y?tgW8ovpa~+Xt o?(>L] 0X 8ˏdZk^Dy\20X^X̧ -ȕE @E8`"cHeo10xgr f'GҺ\2]WT;աOйѵ-@C<Ȥho/.AXw@ٮ= -Coa[IZ?0Y.V7I/m>-B T;НE2EbT0ؑǗH-w})NFrg yTwn^^cz\^N2)}b6xH`QOh3ʯ޴F͋5sq~HK輺WꞟTZE$tkQ>Ϡ?<5K"v 1Q4<,Uo,&1͎Q85l!G%qhdXU'o&Gd uB20v.J d08 RYGb ph301-8+FbpE+IHܳ:q)@VG/ HfQ4hW퀥V1,/jz|"f~B0, \3 m$.бg#9a8pIOѕd EpԎF ϔJ>$uё+x#50]E< xsvʔ:{0-H=@?m?~tIX8G!+؋%aZZvKBCV#~N2)5#;lT+hw.-OY߼N }I LD`##|0ɇAI^7nrs,8c5)| zP-OZB B@,V'ɷ=Aɀ-ȞEiCw,o`R$v FeX>K_6!ZmT}*E"i̕$8F0 *gP]'l%%'nI#Sd9 P?3[DӥK CV# ]?[Kn`(mU7J(#z%%b1agj} XaVYL yF--oZ@k$~ဘꍣ 싸AbiPue; nĈe+xxcTDfL-ү=6TS]h}3<n2UOnC'Qhd(Ze&r%?(9 r]IA0gfLFؽ\/SǏ`^02 ;,z [4#6).pۆHM2JyՇ*LF3 MB#HCz9n(N/VkcBYe2u ?x0s.P~+3$ԛPA8aM T? .gɳx߮Ϝy4Ǧ&lE7"{ZbF,A,0>WʖgiM")qM@Jes'u d<~@;,SDT$b/R8G:'Omf GaUNJx\r5OJ&;3B P [Γ ׄ|t"[RH"k^^< V::}"lq*Ո> lSӏt~iz$9I4SRpEWBNXy&5m­SV8^XiK[2kL}aDƥ.jr$_sR s kۘiJd0́>7JVQl3`rAĄ3D1b5M!v"P 矃)GMwv"nr]kTHFhFښ2tr+&B0ÌnFe0.fޏX=;ֱ*w^~acFbAƊDGQ}W4̼~j KEL}ǕOOH,0t*lz\t1{/1md5ቡ#m&5>ef,wʣIl C pӉ/i.{ D}-d`#:JedHT@ KɨX!:I{-^|0fR`YWg?EpPt} C G+=I}E3*$:)F}()~P,]z$b2 Cggε>lqQ Jo³W;/FZP6?S̺NZf sIq0,~Enc%UpXup ikޒ;O+T6^v.zi' \G a(_E /s~BQÐ] 095q_rB;O#RZ76`cOKK:F7i-m8L3.S QޱYQ »AD!BDp4&Wuҽ,TQ HNғ&ؔt_y?AR&%d)!0k̚9Ա-g܂'k+|Fq̖S8sԮ$A{3/!XJ ;u.az|\Fo{]ʵ"1i~DߙT:xf\ E~H&+1G!JfV_8Mth乸?nH Hx4( փj9$?.kݷgD0tɣAb/ Yk*u}~}tﲙ2` y'ͦjNlT6/odH%)l7U9#øZ^Gw%/ (17/h^bh>I&47(cAv8a:)Cם"l6>$ sq#P -iMY fߕk*MޘCB*eo)glVVK\־#j`v%dt"Ԡ3iBa .+ن? 6\1 ._n+9JMD,]^F߇z< ؎QCb˥꾣Jvq[&P}5@J7aGYļuAQRp!Pu{ȵ/ ,کbԇGA 1q6YS>&l#"֪r8NVS]Oe7[kLP vv%U)IOoηCɵbh u`Tz?ķ&@Uv CX@委K*1d`HKLڂit}@&%sDHfׁu/䊫C2xP SfuF.9'듃-.ioX%<]|%M{c>H*X\0dv Bŏ1s){iՁB -݃u]XdPԠL)YpOsA1)x]$Ԩ5I#w['O^g؄JYP>)ƕ*!·Ycj]t:Yaq4Q+豭޴G1+L{k@F$s6e;W吮P(=KXAmn٤D8l {M6ˇ6F ':>/6]V ʀqr[6PW嶃8X!ko{)zwZ6Lxd.&:W"VRsGJ+Ox_$G z}n6pJO<DGJ*=`b<. 8Y~PDTVw&&C9Unڤ.`DI嫖vk`r F뺪9撤8-ѻ _blY'ϊ 8lQY[S1x?w 4m@Gv=r'*S %ۏ@d83\ݷS, 8f(uK='*@s>&MEiT8غX~+;m/4=^#g*CB"g\𢡧\l D"b-(lg;M-A(h p|O7{5:Ba/#2?Txp.'<`bۜ^%n7]Y&҃Xʔn?X5Bxhx]֓!ҭ>3 Ask #liܳ%sؖV89U_0aԤfWQDLիfWԫ`V0T114hΥM`_>->'I 1o^'s,cvh_ϓWZMN"v@P"a l`𙅉~eGm5`]]iCC :Z]Voݴ.WV`5pN0#IgEDQHw s]o"h]>p-{";IqQ2#2QNቼK*3s3)~l+EV-3O)>`Fi(5Q)hUgh] p[Fo9a[a1Ӡ$yh KfAO7f'i4X,wACl ;@@'d3Ԫ.]M+biT$*` YzK-bĜpV+Q鎕vS&=Cx#c#×̓VGWtDYmN7\2* N: 0X1o}i%1%cF|'TgTh3qΆ$LAOI~Yʋ:^ceq`٣~+  2WϏ7ѥB6]Ӥb>%&V8ywѾu0p,- 9k딺 /^ mIsewi{`R{zXX5( pc+H2$\ w=Dk1љo6%?`&I9. f jXeBԕ5݋M^(+[!*0.AOSb8O2EcxB%@薝{RMYop9278MO~CRz0vyUhkzws(z:h01s܇c%!^'mr?%B)mk{گ)BP?(*gCX$cVOfGe5qۆCi6"F@i El 8&*e"8w(o*ϼVӅҸt_hY*5'񶕧acTNgKu庡!L{rj@Q&>gr'GӁTF>pض(v/(`ۧMS49;CWO_:F{YPOU ƲD"ХH|d+˟o]t ByQ¾UsF`ܸi4'45n=@@}/ELQ8jJNJ31DǾiB{5wxٴ4P9g! uv+ƀe!3JQ}/!]ƫUgg$ pB.rHF56.`y8{ Z_HAf><\oJ?Gɕn#m(ܗF`skTdvOFLH -7HJ5rM؜f!Kt09WúAoV(_MH'L;0EIaҎ*"lXOZ߲3DO6cR u}CP753Z2!vX\."!7۞VPvs'?`l1k>W?H3NNhRULb5 Rl޵ץ" >\_ `J߷$juLFtH2L[84NDaC2fN:op2S+Gh>ġ3 I}?%wg%|ciMIB/<@o:Tk~m44-P9*v7`uhm-+N5eɖU{IknxiVI~ }S4oR~#HPp¿܁Y쥄:vk]-o2V{ʂrO,,)%*ZbuC7HXn UF2 /X uw/5#~CA8}ÒYb$$&2N7Ef5iK \C=zO1j]nr6òB?JrIEdwVc"3cPI|y$ȴ:xKێ 5w/^#AF$jk\ ssJ.VR"Wvr5 _wVF볠1N*NHdZU3G+ǯ3)fḷ+Cb>hOH GJϳlxo:Q(&2.=Af-h^(qJa8aXRo˜wIpAF^H+'hlDFHP3fId.#\ |zʝ n\"|ʒ7ؚFq9阮c }JSM;c 4R J !NW# dD2~cXzeFaJ'ymkGY4x7LGwRMf+(7atJ|Az>Dvy)%)+L [\L=AOQV>K+2O ~sDzߩyGVKE=cy湭AfFw."Ʉ2`^W^F+P;6{Ƅd,$V3ZU:o;YE^{EX&vUV@'ߺ?ucYcGd^͊UW'^,`0Ye5BkDg>۝qQRk2_rk)9ㅽ0N(T\I- 65mw5_v;Ii17ȱ*dO>VOjvW( _<+{3s_O1n]<u̝&=䘪92` FĀ,jc~qtA6=_'wMνל7d@4M|rQ ?NP\Ŏxbq3`tU]EPa8zDIQps)I{E4{dBAZ@""{).K%X{[@*$\v5&A?1=X8&(FgjXZd*@`Lze Nktщf |K)aл6AJՎ!pG7YS״8 T"uHo*FHɆ#mn< NsBn/j. ٙEpUX;0xNQI]YPor!!ɽLyФ!_)Ʃ dQ"E 8k0UHFTvE&ſ]'A[|Զ[/?SiM+XMz(TҴ{~^ TceI I _mKXE2b11VO+0dɔ۫ rOyY /]kRgZ%{|>X7y(Źi}m(1TFmvxiTľO,iA%VdZ~YܞǢP!6=b㠑fWH(3jUr࣮=?B#ﴔX`4Da-7is;Y]N+ 1xEZ^Ic܂}Os Z/k!2K sjS5Sx>s}%ҥkM4POSx p}nw}Ǡ:\LQPcK.̸S$=.gvtV6*SBxIƺWr {O0FEȭ0cR861jȘMbu4:~aIz`Ԯ革} @!&+N 8R~qt\dܹ7K" K_|SpJ >\cX3Hcp3&%󡯱sG4ol\愶$mLLr+72DL5s#wz\f"?X ]4A3,=`U+fڣؠ9<9"6̵6:@Xyք :KCZ">'3 ,,ա?'%[zǀu! qaGQ|IO=:o+vzScj;ѻqyab' `%C}s;g| W\Lqc^o E}%HiT x/ǣg4/Gչ40_gC?/}+#yM7LySd['ͣC̔!tWƂ N[/dɉ4ps!y(>g^ۙ>ۥ%ʃo?f/)V6xY:Q !Nz l[}bUwao%·*>b4"[fH4DTC @(Bcyr}3a>X# W^yUf ૻvj6@Ҧ'jti-^rZ 5}uV 4UVpgx 5eRutwƗLتS~*ן}EF0t"oFJx`;Y;jz =IXǭdaߑ`z33#l,lFqƷ/tPCixDk>}P)oW"w$H\ 1["yJ'lG `=Y`\&]Cz(}(뿜PS ٤7ɋ-gTh~6jKi2[sPi29V9S 4QnGK+OG?:(NfY 9<,UDq-Bιv[R@\w٣WZX4GTEOX/JbIz=J P>0 9u9yˡ@[W=# ZpS^ŏO_V'!]A:6euHqϦyV;Lϕy_! Qݪ=- ɹ\::\Zh$bOKx-eABBwNh"kKS #>bk; S as_ȡEܘM3ɸq#aLE dʓXnrtlۍލrzUw]瞹cp D/#~4YZW'x"sI##>I _ϷS;C;xw@71S']QykQ,?mr{S`,٢_;7*L.ZuY;PK4𻚲A d-(j<5T0z Ñ)+1V;}ߠI J:j } ?>Wp=F,AG4o rތ3]ğU^uww"R%)*g%ֻ̒]G(k(Fl5ʡ(֯cs6`921{ĸ=&#&eSVG.Za΢R)#JFg;DA% {X`hB>_% 37%Y,Qd5V</& !Z58eDS?l4kfvW=٨O%"ȜUaW\(K ~ *-FJ'^),I1Y40`4*:Zb wD5ƻTm>R0 pV`y>L ZW!H7iѳzv^;L55!Gnd9㈑2/9r-́H%|xx;r68ш#vA٤E$ZC6N`Ey+} R@)7 P*B,7a|ʮ>_KV U9T3ҹڼqB@]P.0Hq,:t+H{LcF1~+oQnPaװ{Q0CdFBURû|+ix][ϞĈbEAAz#تE= o&]7m>(+ɈIqMqe )gqs\*QD2eϗ[Q:ZO6|Lƍ\JX39ݧsap0 : y"Hge#(JL$<4K'E323ZkWe?TQZ|K*.tPJ pƲ8iCv3ܬg8zOlf9D#. B7f=<+X]wUOK7$ )8сZ5l_Q݄$@8H}~q VMS;ד˼Mih7$ypa,d NOgl&F۵g*j\x#q~NC1/m|rKyl3VSPF ,|f9HN(cWЍd/>.rvC#è$<ôO&]rY mobt+.sIU Vy҃ uju1+yǶfXI7?X2m6~>.QAOD[23xmuxMܾ8Jr{N)ضC V~ lBFli~`E.]6GX lg4A릯OQN<ɂǢA|fy8rk959/+ÿ⧸GOOv~蒊8gm"O^=Z0vTAi(u8E<Ȳ4X7]rasȺDoե4eZCN0 k%'Rb~9#=E^qWHN3ۿ/7g; wԉXhNՂݮwZ@ 9k9RDc;G&ʰI5q4*Z7$\\)7u{@qbwK6O[RU~`yAt 4 65H$d»/>!e6ᇀ!8̍߹#q`DB>Ѽ1k8u`$.ݓA0*U<$K3װA.1hyQwqg7cC/̜Xaeiy+Inu F$dbcӶ_G:֟A-=%#PrL=yLဆ}Vrc4=1σEKi0 iG'Ar#DR|[7}mr^6ۿ 1YFf9)O 7  Ψ_bDK?!YfE'nh z}GǏZ`9 --H0xrXj-XҢ !/EC"2=B*Qɏ}8 ^|6ڔI$_:MfRFBT*_E~͵V/*ueLR@-t-PF괖Q1=^ʿD&Iȕ3Z ;['LH rNK[h\ܶs/<*3 fQxn~K_6JLSpːޛ"Y)'1Ghگ^qi qI|+FwU?WGcUվ'-ZrND4s8|1țL@t/E] { FE.)5 x1q7Z5z5~weD;07 SNȌxT3_hl *2G2V0A8[2^%(:Oz\=勓,#1>U\jve ?eWrjZxJ@ v&8 Y9m!N>TT.GyJ,[؜fy_!W 0qxPJ#nd'%Z9δ'LTWiƘ aԏwAdd4h @Pd%;RҔ!HQrO$7zq 4=0HCSby=`y;|[٭O8Fh0\rGb[7*0]CA4YUn'^JTގ8,5>m- h-uS?k{ndA)Nl!7}O`hQAeFȒR b ]eI go,)&O({#P2*@A7Z8x2Zìt:8qG m7N@%K\ݤ`S|4?e[eMrݒB5Jy6qn]s#;F1<|yHEFV;DUExh0IM5tBؤ#/mX3 Czwb4{WL5 tQ _v'Ț6ЅtoyW}a|M'Z1 ✯MK;LCc>?'EEۇ&+"4|_kiZl]v7V^8Fw(穕lsK WRt!`6{zl~z5V1;>M#+UT$'kU~Yf?ru*+6 _>%R Orj6oP% ۥjz4ʙ LDd#N;hrYXg;|'hܹ#1 Œ˶3 YZ