gegl-devel-0.4.34-150400.3.5.2<>,8e|kDp9|Mើ=^+!}Z#9; 2Ŝi-I7 }Ѳ?53X5'1/ٸSXPӟ;7Bk .l{hK>ˋ8n&i"xiƫz.GlM+Z/W:W(p K%@6Kqc|FN?S־{_Zֆ%ш` bCQ__%Ulݷt),EgO`6fS6Pxa$cB#>>?td  ! [@DPTm  `` L`  ` ` ` \`` `""`$@$$& (&h8&p,9' ,:*,FG`H`I`XtY\`]<`^> b@cdhemfplru`v w`xH`yz$(.pCgegl-devel0.4.34150400.3.5.2Development files for the GEGL "Generic Graphics Library"GEGL provides infratructure 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.e|kDh02-armsrv1SUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-later AND LGPL-3.0-or-laterhttps://www.suse.com/Development/Libraries/C and C++http://gegl.org/linuxaarch64  D)x& - U 1W`d^9CO I +O y! >T :f|E }C&  pM! M   P  X 3 06 = ` ]A큤A큤A큤A큤A큤AA큤e|k.asasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasase|k ase|k.asasasasasasasase|k.asasasasasasasasasasasase|k.asasasasasasasasasasasasasasasasasase|k.asasasase|k.e|k e|k e|ke|k.e|k.e|k e|kc96016188f1aec01b387735b817dd4de1a26e1215d1ff155b23754b5973646550dc2e28a1dd72b24990044c08939b55a97996d745bc1471720808252b67c607dbf8265e01da9a2ecf3e628aa72941865032bbe6cd67370fddafb853baeb52fd75e853608c3ba761cc6d12f926a41b7a115b792156d8ec7750f2ac5e079dd8802427f2ca8918ea67d04b9e9bfa74ffafdba6ccbd2c5c6af49da55291361e6802231bf78d982b468d5272ae2f29aeeca772952947e5a0b591f84d5071f97c568af4a82d6ecdb07970b7f11e66b360b6fbd1829d6a3dbd8507d391ddc2ffeb7e42d97c38ad9a390e0bbe700341c225f76b30030ac9cf31c130a77558d52fde3ce8d043546869a5f5df387d628c6a340eb3a23d3df7d9eb0f8ad9fa5001a0f241de29f9bbb5495a91821a1a60822daf4e435363016d24229824417d1facc6ecbd1a021fcdc067c26cefa3e0bd3c76bb69f90cc1ff8c66a6bd3b1b0897ab50ff511200fbd68937f25d02fcea113931bb1c03d07f58a0f845c3ff83e511c7639cc2dbb66a17fb82b5022b5dc6c08259094385496dfc2c54705065a56ca02fface0b68f2ce802ce3421a72b0dd6b8f783f4e15976805c79ac9a351080029557a025cf0d4e3634cc58bbc9976ba916821ecf4301d0d30e635060986000f5b39fa421a495528b556679e6518592221419b571746af13e8b9e4424c69944fc488cba35f1645c88ab76de90d41f0c2d3411696cb09da14a14aba016f9c32c8e03fa418f365f2cd1526b34af337e915599243af293537323ac679301834c1013459dade8e73daba3bcd981eb285a7681dd609c1de82904075d6493c3c2ee7bb8ea3400eded9b5f3623e1402a56cee09575e26716141f0ee45bbb0990b8efd8d157da919ef82ef79d76e88964c3ffee59e96605ec4184ef34867396851b71065eab9db897157a3f28540bb82dbccf55fdd1ca0876963c9082d9a6c774b4f8a09fa183754566cdcf8eaa5e6d0fc74c85b705c9da8ab87fed53dd4dfbdcf9a47b751e623f655c20a47638324446ff2efc4a372cc857fc80fa5cc058e07711af70b717ed9bcd3c2f6df41730f6d67f6ff9897433a8e56f143747b18c7eb801b8cc46a87124308613948ccce19d1017c403fed3344efa4a353b398f605d3457c99c6ce7bacbd863a4451ae8f43477d671556135eadd4e609081bcbac7b6d1ce5eee2020cd70060937e8eeba936f2d14da5f36609eeebeecc0c264191168846cf94ff10fba506dbc185de98f8af13b2e3e9526e421e0b9487b7f119a3a4f118e4be69d8ce07dad7e0525b877b9b697e71a8e89db9991c2722741b7683b471d4509f1877bafc4f5cfd4e92060d7f276b6d88454485d907ec03cdf6cc7e61902f9526f6eb6a2791852a99d4f7d8cf34cf7e670e5400b58350d7ade0098878fee3b3af51473b781610236cb51f68b71650440c3a74a4b68189a674aa9a304a634ac06c1edbfc75ddfca4af50ac90f63ac14b07368c0b3618ab7c1c1622c0f6992e5cf03362442cc4ac0b524fe72c37553d5444df37ca4ab0fcc9e62c17bdf3889bef0dc8710afd431b4925b26da9b1ed09212c193715c8c6e413c772a79019625e5858e0ef5a5fae491f2f8ee1828966fb0240a14723c48444a3130037f169a4630d63c082f2802c4e9cc7ba937c0fcdc25b45653781dc2506b897aecfb720c6f8f75b1d89bbfa5a69ab64317664da716fc330f31a9d0176dc4f7bf65fb2b2b97e9f59ec6bd1daa70046e4006755fe5268e64a7aabf16050cb800846bdfd1783562c8794bb777bdd4e0721e5929e57bb690b053c26e2ccfc2efa48967b967dbf37885eb50ae115695073ee0352ebb15eb671409c0b55d3847155ec110a16a01bb229bf93cdbbe3f38fb9bdf05ca63a95197db6d98133de9f660c5f79f1d12cac98e8578a49362e52117ff63b54629b0fb5f918de7ea5a23ba86649ad5309ff2e53449b17c9b4a2fac0fea50a7f4c0938328987e4f26e3842e9a8eb34b05ad3af4f5edf6b98059ce02afe0c755f2f0b6d9aebbf435ee7e937d43f93e618ee89a620a60845ce2e06d215120e53dd61ae683b8d974281ada1d21e1955ba87f701bb3c7c5bf728de780fa5ad87295451231f2e8a18b36d7a665e36f27e11e7d1f6a21301871cd5c3cbcb4f1573e2bffce0bad7f9e602ab06a6b64ae21a094ababdd62ad997ac4993dee3f8be5d8bbe833fad189d674dc6c7d41185ff5b7c4d7855aa1288a4a76d653291ef7ce92d1fb5ddfc298a11aae0d348859a2322574f7f634d716cfc6c97e0b3d994ac88837e2850fe0366eb15a6ce4503d07c487ef86039814e5bf8f0c8a8fd9004e53adb4adef2e40fb79338bb80b0a1971ed80af09f574eb2a0bbd29fdec095a77c124efa667d903ebcf633f397cb9ef401c1e7488ab4ab1c8fca1be4e680c16a7719f44744c3caaf34857eead2a49977887ca8e7393a10ccbf40646710d4cdb0d0e02aa12fa26f047484ea79808a9247f77f86980ce120aae719f6d192e464fd1bbf631c6e439e674a3d8dbac8d61f09cb2de9eef5bdebceb8b845964f38c7abc9dce2bcdaa07c24ecf700321322e17cf0cbb5cb62f277aa968e39ae9722ce2e6e4a03b14fe616bbd8e643491fd87c8a87321c82586d54bbdb665a00c6dc466f57a98dc4939fc2423ff17ecb4f0698e8d5c73d906e7d32e07b3b7144fe253eb0b107410e2a40a64908f853b6f5786c48c07add851a408da3c279dc0bbbdffeeddf92d535a687fb5b89c061d6da57c80f6c5393cdddd53bb3ff969295b2eb703b97fb0dfd867a454bf0ca20e69d728e576c96471d567f037b25d69908fe680f134f2d752502ed4c91f70fcd4f329338998dab2111c3be9b9e659ae59a8d4690f33aee2457031e1f911b18713e79f7612f6de6968d8744f5f3ca5cb03fb69e39d08383cb7e59e8cfe0ff3298117dcb1465474c6c6d1078e4788a07079e19e45ea170831d7ccf9221117836f155418758d158452b5b6df2e4e1f434f62d6be2e65d43e99c72305b2951b4d13f1fc309c9775ed80d29c3606998af97381b67c491ea205b55efd61bc92ba3f5e67505c5faad5eacdcb36b1c9cada9b747118570f110049b372afbba3868d0123aef1df477174e0094e478a11281e34f8f9250c35c4d28178d05ef9f4dbe8468863f7513b903944aa4cc1fd77f4eace605a9055751e17369f5840aa032f0909489713fd8e07f44edce2c5e6f5803bb1458e5559dec293d0a9e9f2f912fe359d934b5bfe353bcde71aaa5fbdd336e9d4253e972642aaf42e089ce486a664e369cd4c35bc627c3d6135df7bca4e914b22c1628e18f34a6c55169546f7d9157b134fb2a144e9de932db4e50a5c7a5ff6a385c6b3351e844d777735bd7e807e084dbb1c4c9b507e7b6fa0a8ba016d661bac8763b1c0fde3d95dcfd0f475e133b10cb413ac58d6255220d9d9dfca947117ab485a871c0ec3d117c52a4827897c0026c4fb7c6ecf19bc9372481315e700927e66028733ba0f2e148af8386407d80c039ecd3e2b40c943cd986be129c1889ae1265c40ec02173df04e3d9d31058e0a47440cc95b6692bed8d05dd7296153659bf77ced806bebb6e43e4f7f834f7612f93885225108c2c226c894a9b12f098a0b551dcc127f1aae1ac8885dc3d8443db6cdb5c19c53985b4461a5c00bd0a8c723addaf776e938f10a9d6c6d54ec94505658ff133f990917896a08045a3c3a755c9a609cf3b45ac5bc8d8116e010f3fcc71c23e513f47c7a6fb1cc11982f5322b2aff1ef7fbd9b0d5ad1c0a05f585f00bb02c36169ff661608c24cb63dbda266e87205675b9e22d022908f947495ebef671dce53e01b43a7ca33dc792673e64153f04769934c401e30144521ed3150d9654ca5e09cd7568b53d0119d2b322339aac389a7b94a649ed3331a21e929a43a321421f8a1513e34fb52be7ea95c81eb1acf999e2043734780libgegl-0.4.so.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgegl-0.4.34-150400.3.5.2.src.rpmgegl-develgegl-devel(aarch-64)pkgconfig(gegl-0.4)pkgconfig(gegl-sc-0.4)@@ @@ @ @ @ @ @     /usr/bin/pkg-configlibgegl-0_4-0pkgconfig(babl)pkgconfig(gegl-0.4)pkgconfig(gio-2.0)pkgconfig(gio-unix-2.0)pkgconfig(glib-2.0)pkgconfig(gmodule-2.0)pkgconfig(gobject-2.0)pkgconfig(json-glib-1.0)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)typelib-1_0-Gegl-0_40.4.340.1.782.44.02.44.02.44.02.44.02.44.01.0.03.0.4-14.6.0-14.0-15.2-10.4.344.14.3e@aay?@aY@aUaE`v@`a@`]_@_i@_16^^S^9\]@]@]@]v>]F]Ew@\@\+@[<@[~[>@Z@ZZ@ZZ@Zy@Z3@ZZ@Z@Z@ZZhu@ZX@XW)@V_TKpgajdos@suse.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- added patches [jsc#PED-6351] build with new libraw + gegl-new-libraw.patch- Update to version 0.4.34: + 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 libgd2h02-armsrv1 1702652740  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`0.4.34-150400.3.5.20.4.34-150400.3.5.20.4.340.4.34 gegl-0.4gegl-apply.hgegl-audio-fragment.hgegl-buffer-backend.hgegl-buffer-enums.hgegl-buffer-iterator.hgegl-buffer-matrix2.hgegl-buffer-swap.hgegl-buffer.hgegl-color.hgegl-cpuaccel.hgegl-curve.hgegl-debug.hgegl-enums.hgegl-graph-debug.hgegl-init.hgegl-lookup.hgegl-math.hgegl-matrix.hgegl-memory.hgegl-metadata.hgegl-metadatahash.hgegl-metadatastore.hgegl-node.hgegl-op.hgegl-operations-util.hgegl-parallel.hgegl-paramspecs.hgegl-path.hgegl-plugin.hgegl-processor.hgegl-random.hgegl-rectangle.hgegl-scratch.hgegl-tile-backend.hgegl-tile-handler.hgegl-tile-source.hgegl-tile.hgegl-types.hgegl-utils.hgegl-version.hgegl.hnpddeformation.hgraphics.hlattice_cut.hnpd.hnpd_common.hnpd_debug.hnpd_gegl.hnpd_math.hopenclcl.hcl_d3d10.hcl_ext.hcl_gl.hcl_gl_ext.hcl_platform.hgegl-cl-color.hgegl-cl-init.hgegl-cl-random.hgegl-cl-types.hgegl-cl.hopencl.hoperationgegl-extension-handler.hgegl-operation-area-filter.hgegl-operation-composer.hgegl-operation-composer3.hgegl-operation-context.hgegl-operation-filter.hgegl-operation-handlers.hgegl-operation-meta-json.hgegl-operation-meta.hgegl-operation-point-composer.hgegl-operation-point-composer3.hgegl-operation-point-filter.hgegl-operation-point-render.hgegl-operation-property-keys.hgegl-operation-sink.hgegl-operation-source.hgegl-operation-temporal.hgegl-operation.hscsc-common.hsc-context.hsc-outline.hsc-sample.hlibgegl-0.4.sogegl-0.4.pcgegl-sc-0.4.pcGegl-0.4.girvalavapigegl-0.4.depsgegl-0.4.vapi/usr/include//usr/include/gegl-0.4//usr/include/gegl-0.4/npd//usr/include/gegl-0.4/opencl//usr/include/gegl-0.4/operation//usr/include/gegl-0.4/sc//usr/lib64//usr/lib64/pkgconfig//usr/share/gir-1.0//usr/share//usr/share/vala//usr/share/vala/vapi/-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:30992/SUSE_SLE-15-SP4_Update/70c68127cb588db9a0d9533646716b86-gegl.SUSE_SLE-15-SP4_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, UTF-8 Unicode textC source, ASCII textC++ source, ASCII textC source, ASCII text, with very long linespkgconfig fileXML 1.0 document, UTF-8 Unicode textASCII text PRRRRR RRRPRRRRR RRRRseYutf-8dd3550ac69c0f09505d3a7d7e2841c9889ae5969b494ff6cad6f3846a97567e4? 7zXZ !t/zB]"k%j`lOLĥMI$_ϋiXFxč̓^,jN9D& @L|¿ J3QbF"fWV DܡV"pWW-"c,, 8>\ {*) %ȓN F#6 4A>Peg xp@jg +S&k>kCo主>؏aI.1}z" o6rdn3 7\1 \LU'VF̐{.J-MLjF⼐?23 mb(&5Ev.FS 6#ld#:PzM;q 4z yx^,j0g^Mb5#kdC?swp0cCS/H(у3x5WXi i߱LxG~yPnBNvzgv=7E}&GWQRLDG*LP/*fRZsYT^$,Qqj]SZ`2)sotDYǽfڏѾ8.H!iRie L=6xL4Xӵ܃l/W 96iehq -1+O/kfQ,J.-(LFp%ZLթwgݻ&~܃n"rs*iG}4Sa# #Ʌ}I9վmB^_;]ݛkļ&S '*X=JĠ7G5KW&@S'lcUC9C-U"{oK-E eYT 7Pw, `Gdafe_BiFg7KS't^1 ;5!cmOR8Te2ox`uo7 ^/NL[ \VQRU0Iuø'h~T aӕ_To=D Σ1`k;9[àZRT,le748$_؉b QSn6J %9%W=z4jG0*_[`F#\(G#jB<`iЩ攲[CXӔ=|B3͑rmZ@p,,U;Xo!#C1]EL"6 %3uݚS}9cklm5_-5 ?rH)~)5 r>dXٽUآE}dB yw f6 "y"c! 2T={_QΝ9YExpds x|8H+B Ov/]ɘxK,9"'вt-i?#! A+$3hs]Hw$N 'mpI2U?WPƉZ[Q,YO6縕qaHhkhb:=#\65Q#A :lMbQO2aHCQWj2 D$2dY:ZrLt%5m]K E0{{maK'| Drn(*U f)bVFʑ~V]hR^c0?~p7ҁVp8GX9oIrD5ɒb0]o`펢vݣTH  R.N\g9pHᣭ w>x Ksh#]ygF`#HUhy vm&ZsQmW&. q"kbҚ~"=Bjm27bWNkY)ېޯkwk ڬu|#F5E!6T)+W@}\k;{iUύ9w&ǙUCt7ﯚHڍ'viY]&~= 2,wócVe?IJv&K <#`<t?~a~Y]Mxb5mw`5*ݰl;"Ok*fᚴչsW4n0[HyAZcgp;s3꧂^ -n5h1Le~4v:´"wZ 'EEZ6ф6+zF*e/iB}h{~ - ermFXoXH ` pss,7!8BoeF 32+}-'J Zq1|(&#Ҍiq(>D# e/mz H8?Gv}m1 [aH>_zm^K49}- KU[fL^gAx#oT9ǵ2_v=ڟ; }?uNo|;s/`g(:*9f=FODø,š̝!xB`A7USHȍ,Lٸ8=8ܕeGb [(M0W<9WggZ'K4|-*zt=llԕY<|{M韟ƚ3Q0=Sou+z=o:oMdKZʟt<!D@Bw@E+d#@OUFyE_O+6WipMd'L!䈎  1p6O|v"ჯP ի8zWe|Ëz2v;AaQ Pw2%Ǹ3M>dˢdqTD4Dq?iv?WB[Y}Qi,t/R*/z ,3PUUdIcdGvA.ZlVYd H ds49vY[0iRPGW4&s9c8ײg쿤.oYSQtx {َ;as6~"F>D"sM8 #ۑkAt++W _\qB0…צ#Y~R.EdzFiFBqE13TCy9ztOL IE؁<~mOZ(2E6;6Q}xob{$ FUʬСF<$\K١do,f9Z68GtxmE٢Jk>B/fIo-NPY!'~ǝw'V i&̈́Z\~}z,,&nVzmMWx\cEwR޶~E~/oyLrk rIZ",_t@GQ2H uz?"BxhQm#T[K!w!r48K{*=P͋bm5O*Wɱ>FQL.'wGB}]OnZlAgXe)LĮ~ #O&vxn i$K`Og͛)& bŻm8Ì̬}ҲKhhK#Eg8g+kZRF92:;KmdꢪD k_#f_Z̜ ]‰IGAH[ V: ZIJbځEc^-W DI$8Y\A@g5(=,#hӟX'zoz5rep:7bF1ml3TD +tQ#MzXl:E-*3JI`&GDTg .o8Rl.xIbCQُS^F~}.nb=C{x!0(r`&ɉ˗BĞMW)XPkS~# HK3n۱HZ )9}MeA8Vd?<)R[y{EI(?eǵ0\<-osE's˭dm'|ΞЀwRC r|]WPg܆`f&"*@'d *+{`$4kBNC QhGH3̪_>0AR ,D 8y\͡En)aH>!sEvokXЎFSAY# xd<kcyW58w}#9ԠIkrXv`)UчCm o IN v,#j|@>4ˉW6=}8Gʑ8%Pt>Y"^E8_4?/5`рu"`1&]} vsF KQ0Wxis.M\+:[D9/ o 9*5$lHٶn,i*q.E!#ޣ Nq< jX(4>袎wx:BQeAvzu7}"^/t,FUg|L 6i-^i#hϏ(Y;_#3^Ue=A7w=iTLtGLT3Y*C]%xfsSR]̜>: ݘT:(;LV-AM^=$193rO"(EAU ~6Dehqb~/pb94?H-ǎuK 8qZ1e hsO[ Fr4tbv O+\W6[Ս4ܯQ|؜W9ӛ֟7(5C`!W|Mxcw | _g$lp!QϵbITj  O$T J: 1UJyH9蟯JRJλ6~ҌX3 @ urQDUՁ˵GmaL=䈴D&? >ƉF/\% T^|Q&ߋ2M"m8ykmk@Ot-V`c( #|k^1B:=+`$<]st6 O)L0fz-7ʈ{Bљ-]CuQ#T2z~sSk.kU:ek\ݨf? ;lWo9^.c::`(u~8W:W5࡟d^X,ԌD;Jg M+>J9%ZmZ\*:{ Z !feA(%X+q2K,ߌ_>u4@b÷ÆhyVY&/F,@%t|unLKu4*uE*}5J-bZLW<8z5jםtnw w]a6 +AE@2p|>(*pTn[vI&lƘgBD.lݛjΚ^c_e3@ZPQ94RmjXP _5o66} d#K{Zp}c 6˶Q>5fd5l8e.?wʹs&fmL>s: ļ5K=cy?t[:t[m#*ՁuGp2ZGd)]H2 xMa}Yu=LBf1[ds Z[~ 3.Km@ q+ԩt*ӨBQk6ySeP.(˺_W 0Oo+OeKx]vچ#UĄMwTEU]y UWṮQ&I1č<ߍǗxhPV:yxu 4}qΎLQᤙyImSxYa AK_bxeWS3;tCE+RXXE@X[:0tfxP»{p07P5٩2P#{>.rGľxy]V젖( 0 h`]h Anc!1W8y'(Y9,4%ã²I<މ ؞+.؝o 1g!2:.ϹW"U3CM0D7mSlMhN+g6շ~]mw^m^ڰvyV"k?r'D}唌#j}RK'b\"y|oG=-%nN3Om<5$3jh YgĮUʉAņ^yzp^nb*&,{EU u+i8@X+ZǿW\$Xf{i2%te+Iq1T[RFFfLEm`l҈em,Ǚ%ڄ!߸dOp8z6GҼA[{8-v4/rdMjyD Sd?@O*LgKO j&¯#} h:*Eóc`c 4tRJa1N Ӈ YN;(q{|PbTSav3]"F#.V j ؀=xIK7 (?8)>uA睃\0yH=S>3p8Ӊ Om\2I^gO =-=.Nj,+٩Mm珋Ye.cU,jEmFG%I0Zh'.-YLIwc cMWHoOqA9}kcj$,$Y 6AC:b}wz}aCQܬ{آAy8[CH!NGsҘ@A©5ݨ~ztT Y '7aaN=RX( ^lv0Cja&Q- |XRSNݞt"|QX`~:W)#FZ-?i OXMf?p=Kejy\VdĐd-KGJ'9q1!&s!*Sȴ`ȏ}-D3jF}ʚshwhkT#g?(TÀrL%/mI [$W(jkR3#!*r4U X\[Y54U9ժᏁ2JLÿtWVCƇMIDer's>!?ޜ|Awa,^iGi{.S&6_y$<Gf)-3 Ip| `"~[Pح p`b" (y`0y][/aBo Tw@@CkZ+B!4 Rv>7N4_h)v c0"U>ULGGeTAt>T={-B, >mӏIFm3Ы⩡|Vɥ<ޖ+-Ыxz-dʼnqaBъH,opCH[yd{r^DE2Vq4} cqӠr] 0 'k')WigJE24aٖ%ˮqF޻[KN뫃 PEm" G(SHx^ے ufpSٱ|fWcLJ ]n$Дk鐹+ ,,rp- N6EX*YeK3!egj.ä *{6p[%.}V{#^,źED2q'DWj3:{&~daRX/>(rhC6DIvDj&;j sI[5{o&xY=SN3u/vK3K| t=PKWap&>?{tbT` Q\.yQT''M`] , [д6M)RpnHqesTH[uwdw˜̭F9.2T+*N-Izj)E ݍ7<Y:>-.!EV3S)f0-"|Bz f6hzC FOZ ԉ3i mQ="$, )zK^A"R_BޣL(7ڇw>u ,ql& XwvT{Ϡyk?8v@eΓ #tETggtd\y8"zC r.?m~Y!dՅyu flQr9XVճ STv~uWa^AN* `T}[Lc 3X>+HY핱9Z_.Qb:ETp+K6V߆7,GK& _`a̐׸IY>z + HSj3ڡGZ+# |6)ėbc аHwʃCa RFqIIs;p|ע*N#N_y 82߳*,_,*t=?W; VQ 6T&3Nj\pb &t*)+iIJ.*IxܐҖ[⦡YJlrLRd]F>Y,t^uR+ @z`^i"άT1V>޵EXNfO>,j$ Շ˓j|IVw&`v˖ڠzNYYtN5"c: ـD Ttw؉tZӰ"AS5ᦴܻJ/kMc}RދYs"T >oPh_˒tɀ-)$hA}y;(=,@/GZ8DDF9,dRV$8`/?gM׫! Q<UB!<䥿J0D.:xbE &Y7/Pc c[1 CjS֝l|X61fSqov8q{,-tˑ-ԉy\Yɂ7;3('jwڏ0vsPܬ qr1V}y%2Vv]}3,QDl'=Uڃ9k`{C3 1kH]Uo"Tn*HϝFl ǒm'TAἰptui&jZmt0p<׸uYK:[=Onвq__-5YظGG7pg,) YƐlk4r(&J ő'!&YѓM ֚T~M@chL%K7lFe' \/|o~0&ѻ:76a* lW}Eu4'I_>E=r/bZ\ӯcK,E_=\H~+4#dNqQS J]#TWv 4ڍofǼdWN\WRo8ܧB=II?̥{ qڏIv6C3.RB!k*T*gAX(g3ESCK_7+m3JHyL[C<UX(.ݧpCYYpq k6E|ؔ(%w6/m6Qo-Kb6'T󚷢*3ppE˺j{L-GBɵc]ضEtVDo>Q.Tq ]҆MyH7CܫxY;FiT&;Ȓa256G49lKB_3p_ٍd&QIpK7蚣ku)r5&a+]ՠ5 Ad4(2CF) g64\0i99D;\81:=K)2=VMI.T*pe;EDXDbyaVLa'jBQi'юyCܧ}6REu 7O<,}CW2^g&",9,Pe&t?ՊK*q:z|5BjF2mmf=դ מ2rpWr!iUrc̦aGE=JH8gDi>X5 c`z# O:09> tMoOŘ' + DϾ4`zOݽos _1|:- |ejb0nO(Kew fģ:ė W:j9_S=_)38ĺxddN'"/V p?d~<@Eܷ-^]% QO\ ڊ{;z+n<;R2s@]L9K*?hi,/nnC["\iu䦜CJ_xD+ʁrNZPxP.P&Y+Ώx~ :?7u!ҒRU¡81I@ zScPA Vf[HxWD8uDR^;DF7M63HT`3_c/k7v^2?ZqE iU Jm%qv^BSTrVw{~21.gD ћ<_{ڇLe]_06$d#$[3n6#H-ANK:ickܥ ,N U_< $ɿ+U{6綕StXE1aEͧO 6hKJ6nORޠ|64%  J ]՟CM[ f{EӮ;Ŷ_%P@t;Fˡ.r\.3%ku?SSz)1UrsiƠGOS6BRM&Ay-c͏.z.t]9lftZ!h44DԵ>6!ݫ7EoS5%W蔰 'y.hᗣp79 r+, 9ctdmKF/ ɮ$ҡ/fE-JeϪr&6-EVd:F&Ë&GF[qHsА"Hy[a`gm( @Zm&Ӫ61pɘ$Э6~A H5OuN9L,:Say֒ [7Q/,oZ_jn](C󜉄|N[l8#;^YPnDlnq\IaCVMȯmZ5&35\/2Z(0l|uu7jPԆlx[.;r Oj8X8=j'7 IhuCz̐>NɰR#Pu zȋ:4͟,#Wı1G<~B@b*Vd tcƽ@ /w,w= +_DQp{N9䃺gI,QX%e\a by3`Խ9KtHX;S@թK NQ@uPڽ+s~>0RN&%Si 曌o⵴Pq_-/ sEkTNGOP+&o›URw%^^=c0M^FFe!?5l YiVe{M6۴?a~(@#P S6jB ԽyM-~0uT5QQpQ8Ti;Cg)cyדC I-=gz.I)OzjԂ<]:n/[=2e b>g@X?6ۻnϙHPnw^dl*j=MunrO x򉟘1Mȥ]rHV9\{^vї۲%Q%Gfd aRw9QGa _:Xr|8 X&Y*qޔVR,<_ o~AeCECN3&N>xYEtrEn =_ۃ"p`$t|8Ia<~(;4`v6C,"4W|v8R6J1q 2.#qBڡR&N KW!@^B^2.>?5}4 ORp1jJWGSgeWu".23.,bUz *d4锦ƒ@`kU5B_zX U9Dd}{^ TOi)WyxSk8?C}%[{IN}a6H%3ÊB4^.8-&&9," Ư*sĄbF:WqG9PrgcOx>p *c `? ǥ7q3E#Fj0seŘaRg FvGLP!#zصLY } zh5j{<_a#9"YzI-:PȣTZLv]!Z.,U& oV3 Np|Lx:Kv}@V;=S!\~B%*i‚e$kD>HY'K $8H|*h#Ck>|0]ԕO͍&m!vK,|مftlZ}QU0ϭ\(C_5h 7nvR= LD5^vaT?/wv& WnmA16BS)"qNw!=8J ߐ0S C!aD3Wq4JKp'hwMs SS ILK8 uT{ "%c_vVh(ӵHvv8#|XRH(u.,J xB'grՈp9(K޲cL۶4@Poi&Yo8OW)i\Ipg U)`5*Kk$bM|-I'11Ms29⹨fOVbYk?PB̎W('%A\+Vd82EbW`7D-t  U!pvq T0q#w -cOV,$rHz'مxhS gξ!T9fEhc1?JG?sY^c龰| ˵ M+.zŐ:,1y߸;C}a՜~7r !t TZ eP|eT3q~EB ՙ] ,c`%: $@*@.r[Ⱑ&FG+9ϝg102di:1qk``vlOơ6_"Μ # *˻2ͧ'Yi[ Ch2JJhm^tlBf)j4hQSQ&}%Q^\>K@`8ZK]Ӎd\ 6hL MJ *!A[/8劋QSD q /vzK1vhiw"1^qO2r&˺%Ρ) FBcDB?}AՊJ_珏Md,A_$¤_tC':gH.j5& ]4;IX7P)VnOQ硹F$%9Mc&T6;qIF I,ZLzpdRMm[J4>Mw\TI}55!E(lLp7Ѕ/"Bx@NwR7ktLE큗FQCaCc=(XI-bdafG-#Ll h `];4qr>TT3y 9dqO9Uzf=' a.b0C$Aߥ ٲXڍ:KP?^%p4wp%Ug_JyhMdE[^2,JlZ%jY lb1j9T (W$̯p60_H6F*~l$S釟zR̛#DDp:Al1 [wDev[|IAz`XrdPuG9b^`3\l7vd1-.P5~!tM SYc')) ZReCV}m7og4aÌ$y\|{;0*JP37ʝ7C9MV]ȃFT([>zJ{vmW{"ƴ?k>+ƲgT|2OB؉6 Ղw`Pl8L'>1#(iJUǤ1 a X>1t7:4 >Q A-Ta^$B9q)uM數fcr'rGffKulHLjǫKdS`>§YGi>ކ AZ*!X< \\Tiz=LM߇7UYbB>jedKLMkS |"Zc_8= r"I#'fQ+AçEpTKJE+>v[r}$ OEm+]tҨ fd8%ɿ}9 $Q}7(QNO&6kب\>Q/zwmqw`:-H4Dq:,e sRɼT1¡bB'Y`{؁A2Dw%୿W# AZѮ4*vx }cP>L२sG5+X m4r92b찳Ik7x ZNrXLk+2;D2h"i23n^A ,\'}q9 =]2ieXb5$"yJz+R/BId1l2>Q4$Y[+Yà*sIUd4?7ԜR;_ÅZRSy䠳QݦV='M PeGp6g?W3bLeXS<ʰ~2zݚ$C.xC 쟤Ybm3'(>m ErQ W^,X*+( HD^zJӅ .՝dk^k{]ײG. ʢ# QhllA8Ƣ HP.mElܘ()׼8n^ϔRr9iD]{;&53_ r$Z#jboiZW84ƫNV魯<4hYTo! :wn.(qD$-*:bm%L]2)'Tޟ>qCdRkۙSYѻS^U@/dDTx;JNӪE[Qx7;3!zv` *#'~{H(T\Hi)Hh|DA[s3Ėo[^e, CQ2Zs1cWH @̶ssuŏ@bsf8`uѧ+%ApC(EC-fhڲl,pS93@wҽ]BRgiZ-R~׺yj3n-[ u3Y?2>?`~K(_-;B3ytvz̽[r!2B;vZZnHX57]i>cQ_)ֽ\FJ=]9VuUI=Dh:g!7thnOz h2^ڑn9va4koFeԯ Ka[B3VP%~N6[v;ǖZ@3hgWB*N/!cC(o3BtSagL,&q١1-*x@z+CVU\B3}87[ڼ}U 2U:E΂4[*=œLO|KZqD~}%\X<4$AT_F:6=R[ם@{B597FP1l'ϒmOQKmT'7y 4h9OKP! K*-+$vl}p,8smS@}tm 8sn۲8azm4r7u.c8/iNOI&1%-!.pƩ r!<=Ћ;ETme[ؙw8WO ^K7),ĥԙN_V繠z }@ ݚRrb9 l֕ڢ m4*~ʏ'xD-pӞO?Rď&96fzO ҳɰs{ړ *M@wy+h!X ݬEƿłR"gwbm@iiݼ9M )зwQ.5X?tj tPAB1倃mO,?%}pm^r`+W7]IdF]Yd-#Ÿ GJ-T)Р2tѷ0J+5T'y z>ݎ [ 9(unJT6*^\A |ќ1άj4"WB2m=] =:BlGg}!e\Y¡)贐ɯpNJBk>mN bͽi.棝4.K2PQa)$R;"C_i%[YUy/>Ŏ4EOqDu2N^URݗuD,}qRc0rzvD$ @Lr>wxdߔ 7HZv'qo ~ lqI [9I8UST}ȅ qg+L,Q|kcTkJ}; $.D80pqDdtu< w_6L"v=cyg;>2Y 6rp!CbBx] "kn Q/M*5 cmHgqw(eٌ '͂s: ݬ>k.iZH CpȞ oq'RU`/ quW_?ւ8][r9 vE{}qji"f`ψ# M $Nڎں%jx/~yf`Fq0:*%X<[CV4u;D:uE~ĪV6mLe/wtѲ9c7bl G@SM6HB3|Sh1EC-Dh1Q80o\/YE|wO& =:Gf3zeoXe LnS$vs0Q+5G)=ɓ&+|֎^LOַGHXxTLcNzןy)vv7wR-ZHsVI-ZtTW5X4,EFa2`$-"Р_2*1`TIqnh~?'﹦6 !7wC0a\qM O'c+9e韕ܨqo /1mߠúa(ZE:AjYۺۜKBZ7;"_y.xaK N m ZNT6%:OUP_[~k5TqKZ]zPX(l+_)eɄhߵ *Ir,stָO 3ÏP t#O Qٞ+Ugxn<>qt3i$+#KQh=~JR~by\n[+ '#t(-xsڢ@-ԍ?]!v<IlA{\ZV˅/l)9_Ck/L_-o#cUޯҊjb0.Z:igd0 a ;J^lF6x %O7p2qE(;Nl-MLfb0/ cʭ;TP.B%W i)+Lz'Z :}\@P ʸWvJ;uE" `~IpW/ O#Y슘*qE1@wãV- N+@LM(}苖|mb`H*HJpxZ-M+oH 1_Jc; ᰶl[htP*8iӿr@Z7aO6;#w Fu$T5fZ'yq\ax0K\ڗYB[19sg|$-!Dd@K$7ǘhHT=kyFA\ N؛(Ίya&:'u^R8cg?qɷ)kg,* UAf+QB:VMOZ#/@|+p)sXQ&~)|K^)Ṛf]x8eO%i [VMt:df{'!{gB V L@|79ukv1.&š JQMԾG@T7RG3 E3'Ƃ*SA!AeTIc*J-⩯ 'hQ^edï+~F-@9hnt~,!?5X`7.QVQu&H 5|ڼF\h* /`+i~cG| (|nwi)HSkޛ|FOt,+M 0%xteLI[F9N [H @e9psnX0,-Y`M "@35ےٚiΧ* @U<&8ֲ x̹2/ZѺ{ێ,յn}=WՉ&Нupˬp׸v2͞{ۑ!:T>u..u>("MH#Xtr̨,G/l; bWKXau)A 9Ɯ:X$ ){AV~pjl]hj,u-:{$TQ$iW>_-~>ta"g-&`wE~bdK^)bixDY P՘ڞ݂dmCmxo kPa//<9b\_Bݺ`lS'CG\/\u I3q<^DQypDޑm״ǍonYF!^qo}wclfNޥTIF{[ '؜׵҇'Er/ٟ WQ[\orپtX2 |Mgk@P^s'V4ݒk7~Lv†WȆ"Yg;|$tͳO0»1 >yYܤ"0^4h )*{8i &DSoA|S_SS9DuT1FKF纃3_cC'/ޥmvBڊú1ڕ{Էطw['X_~EtGCX*?Cfbq#lTW>G 0δ<8<SXm ^hvs´MV_o՛&1B̠MaDQ+Da,jwix;CAjyW||['5akihS)bu;c=~ U9P!ބAs7ުz.\W[;Hxja_}jһ̰UWFضW y\S^31kgt E)Ύ;ٴ) rHmnr$ i4^Gܻؕ a$<]xB L> Nv\ӂ^LхQWQbYGMQ"F9G@4"x 1Vo_+yRy49]")@)$w 6p0ʪuo_)YpoF]b/XͤRX K2o0ڍ :h5߂>ZAy1\]V`WT6zi4PK2|z0 ݚW;Pr^*w(<r0,dpfU5 cUEvd}&Vs;9ph~.JkrwRlG7Gp7f[}!c`Q {F79a8$ۨ!spg2qɑL3%8fgT ޤ(˔| s5#4sqshE90o; $=k *c]&w]'jV ns Fawߙņ|,)a֑wHIGٗx蒲 *]sYw0'UVL7HWAwsqGe+Yy8x#8mWʞhL} Ԩ$J .cxe]VC)5ή^_-g]w-& A?s?\#S=F_GAscI4xiĜ| 4I!gEu8E@L_Gip4P;-Pf#?) d`sUsȺ2|;5'vN#8P=\+Rn~%xMQӑJ)DtM4 LRtWJDvO K:Ɔi5r~*Q s@XM43cGz*[\h EU"X!W\oa'Ə*E-b +ϑJ{">T{xDݵ"R$S`3uet#3ڻZ,nڭ[bIB.dZLjږ[ /9%w\YeF)~su3bCTkA}$ɆRJ(66"p'L &Z',:i-Jݒ&0_\sjb11hĜ(pc,oK_)}D8"nHp\w?-( 4|r? LM>o;Uj@X/B$&?ruLTI*[Qi !m YZ