wireplumber-0.4.9-150400.1.5 >  A bwzp9|%fPEĞwaa161iEږçY/cWk#Ůd)#=Z& iwP)e\ m"pH̴)؋y*3 1}Sw|d%Zb'*[AVwod/VlyBO7 hӏM]x=J_;ϱG8zu%P5&eZy&f[Fț 2a!0Yp0B yJ[ 4 Q9kחc1f45163a722376704232ad10bbdbd4c45ba1f937aaeba2ff1c66a9fecaaab08fca2c8507e0f59e858e9561a3137ded664b8995bSbwzp9| sth{;XX2dӢ@B<^n^?q~ !^iX S3j{*saJ( 裎ۻpt~.D^E[ӡ^N$`!qFWW~~.`e} #}ۙcSXKCLδ/HJIͿbaI6ǦWJ7Zs꽖(}aGPݿ A旄<+77ώā/u lB%zp s>pEp?`d  T@DPTm 'X NDN N |N N BN NNNNN 4##%(&+8&4#9&#:)N#=>?@FGNH8NIpNXY\8N]pN^K bc`defluNvw xNxNyz\Cwireplumber0.4.9150400.1.5Session / policy manager implementation for PipeWireWirePlumber is a modular session / policy manager for PipeWire and a GObject-based high-level library that wraps PipeWire's API, providing convenience for writing the daemon's modules as well as external tools for managing PipeWire.bwzs390zp35 @SUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Libraries/C and C++https://gitlab.freedesktop.org/pipewire/wireplumberlinuxs390x if [ -x /usr/bin/systemctl ]; then for service in wireplumber.service ; do if [ ! -e "/usr/lib/systemd/user/$service" ]; then mkdir -p /run/systemd/rpm/needs-user-preset touch "/run/systemd/rpm/needs-user-preset/$service" fi done fi if [ -x /usr/bin/systemctl ]; then for service in wireplumber.service ; do if [ -e "/run/systemd/rpm/needs-user-preset/$service" ]; then /usr/bin/systemctl --global preset "$service" || : rm "/run/systemd/rpm/needs-user-preset/$service" || : fi done fi if [ $1 -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --global disable wireplumber.service || : fiJI{IX88W(xzI YIx* _I {7JJWU+ 4/= .xRS)+5j Jf7/_ $큤AA큤A큤A큤A큤A큤AA큤A큤bwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzbwzb9Rbwzb9Rb9Rb9Rb9Rbwzb9Rb9Rbwzb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rbwzbwzbwzbwzbwzbwzbwzb9Rbwzb9Rb9Rb9Rb9Rbwzbwzb9Rb9Rb9Rb9Rbwzb9Rb9Rb9Rb9Rb9Rb9Rbwzb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9R062f7cddf55c8b31b44a8f9cb82600b9f65b56dad9243059b336748370f14fda15f6731be27875fd1f82f2ad4e0cde619f4165c37710d9f342e5623480ed45bd3669573db00374d7051da143eb64d243c15896bd51745c6c243bd3cddacc5f7eb5c35aaf0e1a994a32db28a1a9ee9479cb74227bb343a843190e9a55f0937367fe331238a6dad590f5552b2db83cc3493237c576b7dd6d3e6cc4744a38d4b963114efcbb4b1fe62aae83e0e4e9174d3b769f1e4f7f902b7810abca4e15dafb7b9b323ba1d382c779778777429cdff133e802d7fbb36aa3847cc6955084ec77859bff84c4434f9a33da7075682fdd9ceb237b46dc9183ce91f8e88430990f7ce43209eca68fddebfff9f5e14964aceef6799ee4414d0dc6ed9cfafd3a02ccdec099c8830fba85c0d3091ea54db8118c842bef3cffdcf7ced08e59dda1bbd8eacdceb61dabaac34d82082d12c074f93c6c6f67f96fc2257ec04f31afef6e323ca2ae227de8477e2e24967d85876cb921374ae870e0a84efec9ef440acfbb35606bd7f1ad4a3b6cbfc00dd31961b695256e2e84cb8199ac83e1b3768b535ec24eae720610c0c362eda4733447e2383ba79e69f0c2283e9dd9ddb62a097cdaab1211af22a4505416d3cba791647385cc43f196d48547ecd414bfa0c7d57b0dcb12c4951a16ccbd28c7b21f2e443fd9d39a850782e7c585ac1d5b3de2b31729f539ef096eb3b6063e99c65e5655be65c81c6c32c88b926a13cf2d2e8f49af2ec11b9f43085feb2d09c639cc2341c14d3dcb0c76893fdb391fcf954c8431a19a2f64d75dc08a6a5b558f5bef6eb6178212d25b8b61f13e577c1ef991ea080c11e7bcc5fddb115e00446bdddcbb262ba81041d2fa2221bc61c51c078d17f6e56c7187306fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1f6903dd65be95969992bca7ddd00ccf2fc4954dd9de4a825ebd6070723c33def1d8fde38ea4943ce2cbcde61896007336c12fafe1b7dead84b48bf7b2e14d1e51fadfd73146bbe037c350304bc0dcdf80b0364e1bbfc7c04a428ec886713ad386fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1d534cee0ef73e459cd352cece669a2ce07d6c16126bd0b414991b001b3cd534f6fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d153e4e5a5a145a782919cb1c0ed301ad0eced2efd9b8a39612319f399373abd22a5edfec18d440653b35e08da71b337f421e3a5a657ce2aeab328bf0634d784c97751a6c25d4ce8f7ff8bc58fd3166023d63ca069ae254fce756933d81b6e229485ea68b12b37391ae68a8cd435fdcd03ff90654dd489ace67abf1c5c0c07551b48b77db013045041a9edf3f24f6f6c36dd837ef8c6094b0ddd716314fb200080bd3ea44670e537d77573bcfb4caebbd1bf61990ebf02e87980a4dcdbf06223482b98fc754f212e645b631016fb9cbbe8897cf02581fe7ea43066023c1f9f21d86aceb48348bea88b994de6069e177222d4028a53d080cc849918c138894d90f2c7eed71aeeee7727568965aa41c83224f8e92cbbabb75eaf36221748f80c326303e6120f5d185c6e2d1162c6de7521a212b6d55a2b61f359855fb9c3f9e1b8402da9a21b5aaae3f5366b9a1fe762af09282c3b289870eebc547cdeeca7fae5806747c30e3388312866f61710ee54b471a6dc24e522732cefc12767ee98e483ad199d43c1d68b66e2f66a3cb0eca1c17f86d0c775a7357911b15fa24a60afb37d49d425280172a05ae53a7c383db96667efe93b22fc3e5721eff2f4dd187d677f4900d5515ce2c17a57847a057e797135f336321a4d0f4d1af73ba379287eaefde8cd25e6b0539c29e225682e73504e292fc97d4e68cf9c411e704bb105f7993018630168cab03768fbfdd6d06f0b5c88b7456029daa1961a93e900bdbaaa8da79dbfad40df6659d5c6cc88e04b58ce9afa46bed8368b7782f8a976da9852ff266fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1eb35fa774c80b2a70b063d0cdf1085a8e562ec8ef8d2dfddf73b39ab3c4d04054e1c77742a1eca3a8169f5054f99ea8641065fb9685f364dc88b6c9ea3ee2c688cfbbeca2965606607eaff573bdf5cf6a98006ff4b2ad4559d387184407750dbb3ee6f669f2459c8ac4fdde1907042052db108aad52fe2488b7a20a7aa7496a86d452c494688aa912dc1c1fb8cf49a3eec9eb254123d96f9636262fd602cc3280ad461e4e6ecacd1677cdb0057d80497a279fd954b34c202524d53a85eb2094b59f75323a6953ee26b197648b89e326a1e4d8a81c96c33478a3e03374d3bd698153ab2e82c324f7c5af472a9c4a6c7b64266b46f0814f7659b302fc582cb9d6fdcc3219b435d0b0590fcef3445398e5a28f5e9f212c0e0d535450384633b09e2ffa7b1aae664c00fdea6c6b56ac1556021953401299094fc6a5b27538665a19f6f6978a0bf169536f2e47b9b6e0e0b00593256ebda25bb492d072f9f7a00ee3e4f4ffce436ae2a2cb9ec726669b040a6a61dca7c2029d29b1ea2a217ead3cc118fe690b14f01e677445f190a32a631d5a5fda6f157e683e0ebf7e80515ab20fa48262c4768150dae37f84574bf7525fbe943d539581a8bf78e10cc2749ed7cd75d5ff90787376603758b305faf1ba5b8042b4a85dfcad4b27224c04ad4311748006e398bec38a5613793dd5915b99be797e2b69824ffac8ebc2bac7d419a720f48ffb96189caa7dfd8c1312a99898e655d6e19ed16048710f0be6436506985cbcaa38be5bab4dc6d3f01d2f1a7c86183b0f85abe93be9ea709a9ecd7c1406ded26810477203b754c469589bd6068757b1b1c714e0ef0de634850f3b634ed85d4482b98de0d39cbe557922d9486e5ac037464f549c5b1468a28d7bd83dde1a384d7bfbe34faf8c554e552af8f1e4433ed711f0219a62bba3b01ace342624e08dd707366f7500954333009b9642b1353c92644c516a6d1751613bde2e37183156f121122b238153efbb83c321cdf468ef12ef82150e22168508746a092a4bfe3d0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootwireplumber-0.4.9-150400.1.5.src.rpmlibwireplumber-module-default-nodes-api.so()(64bit)libwireplumber-module-default-nodes.so()(64bit)libwireplumber-module-default-profile.so()(64bit)libwireplumber-module-file-monitor-api.so()(64bit)libwireplumber-module-logind.so()(64bit)libwireplumber-module-lua-scripting.so()(64bit)libwireplumber-module-metadata.so()(64bit)libwireplumber-module-mixer-api.so()(64bit)libwireplumber-module-portal-permissionstore.so()(64bit)libwireplumber-module-reserve-device.so()(64bit)libwireplumber-module-si-audio-adapter.so()(64bit)libwireplumber-module-si-audio-endpoint.so()(64bit)libwireplumber-module-si-node.so()(64bit)libwireplumber-module-si-standard-link.so()(64bit)pipewire-session-managerwireplumberwireplumber(s390-64) @@@@@@@@@@@@@@@      (wireplumber-audio if pipewire-pulseaudio)/bin/sh/bin/sh/bin/sh/bin/shlibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libgio-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)liblua5.3.so.5()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2)(64bit)libpipewire-0.3.so.0()(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_209)(64bit)libwireplumber-0.4.so.0()(64bit)pipewirerpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rpmlib(RichDependencies)0.3.433.0.4-14.6.0-14.0-15.2-14.12.0-14.14.3bDF@bBb=b9@b)@bOb a@a@aa|aaaaaa)@aayaqV@an@an@aim@```@`s`>(`8_k_ܙ_@_E@_[f_@alarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comsor.alexei@meowr.rualarrosa@suse.comalarrosa@suse.comgmbr3@opensuse.orgalarrosa@suse.comalarrosa@suse.comsor.alexei@meowr.rualarrosa@suse.comfabian@ritter-vogt.dealarrosa@suse.combjorn.lie@gmail.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.combjorn.lie@gmail.combjorn.lie@gmail.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgalarrosa@suse.com- Add patch from upstream to fix no sound on reconnection of bluetooth device (glfo#pipewire/wireplumber#234): * 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch- Add patch from upstream to set locale in apps now that pw_init doesn't call it by itself anymore in pipewire 0.3.49: * 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch- Make the wireplumber-audio noarch as it just contains a lua config file.- Update to version 0.4.9: * Fixes: - restore-stream no longer crashes if properties for it are not present in the config (#190) - spa-json no longer crashes on non-x86 architectures - Fixed a potential crash in the bluetooth auto-switch module (#193) - Fixed a race condition that would cause Zoom desktop audio sharing to fail (#197) - Surround sound in some games is now exposed properly (pipewire#876) - Fixed a race condition that would cause the default source & sink to not be set at startup - policy-node now supports the 'target.object' key on streams and metadata - Multiple fixes in policy-node that make the logic in some cases behave more like PulseAudio (regarding nodes with the dont-reconnect property and regarding following the default source/sink) - Fixed a bug with parsing unquoted strings in spa-json * Misc: - The policy now supports configuring "persistent" device profiles. If a device is manually set to one of these profiles, then it will not be auto-switched to another profile automatically under any circumstances (#138, #204) - The device-activation module was re-written in lua - Brave, Edge, Vivaldi and Telegram were added in the bluetooth auto-switch applications list - ALSA nodes now use the PCM name to populate node.nick, which is useful at least on HDA cards using UCM, where all outputs (analog, hdmi, etc) are exposesd as nodes on a single profile - An icon name is now set on the properties of bluetooth devices - Drop patches already upstream: * 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch * 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch * 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch * 0003-si-audio-adapter-relax-format-parsing.patch - Update split-config-file.py script- Add patch from upstream to fix a crash on tty switch (glfo#pipewire/wireplumber#193): * 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch - Add patch from upstream to fix issues with PulseAudio support with PipeWire 0.3.48+ (glfo#pipewire/pipewire#2189): * 0003-si-audio-adapter-relax-format-parsing.patch - Some spec clean-up.- Add patch from upstream to fix va_list APIs for ppc64le and aarch64, where va_list is not a pointer (boo#1195818): * 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch - Add patch from upstream to fix a crash if config.properties is nil: * 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch- Update to version 0.4.8: * Highlights: - Added bluetooth profile auto-switching support. Bluetooth headsets will now automatically switch to the HSP/HFP profile when making a call and go back to the A2DP profile after the call ends (#90) - Added an option (enabled by default) to auto-switch to echo-cancel virtual device nodes when the echo-cancel module is loaded in pipewire-pulse, if there is no other configured default node * Fixes: - Fixed a regression that prevented nodes from being selected as default when using the pro-audio profile (#163) - Fixed a regression that caused encoded audio streams to stall (#178) - Fixed restoring bluetooth device profiles * Library: - A new WpSpaJson API was added as a front-end to spa-json. This is also exposed to Lua, so that Lua scripts can natively parse and write data in the spa-json format * Misc: - wpctl can now list the configured default sources and sinks and has a new command that allows clearing those configured defaults, so that wireplumber goes back to choosing the default nodes based on node priorities - The restore-stream script now has its own configuration file in main.lua.d/40-stream-defaults.lua and has independent options for restoring properties and target nodes - The restore-stream script now supports rule-based configuration to disable restoring volume properties and/or target nodes for specific streams, useful for applications that misbehave when we restore those (see #169) - policy-endpoint now assigns the "Default" role to any stream that does not have a role, so that it can be linked to a pre-configured endpoint - The route-settings-api module was dropped in favor of dealing with json natively in Lua, now that the API exists - Drop patch which is already upstream: * 0001-default-nodes-handle-nodes-without-Routes.patch - Update split-config-file.py script- Use the default lua instead of hardcoding 5.3- Update to version 0.4.7: * Fixed a regression in 0.4.6 that caused the selection of the default audio sources and sinks to be delayed until some event, which effectively caused losing audio output in many circumstances (glfo#pipewire/wireplumber#148, glfo#pipewire/wireplumber#150, glfo#pipewire/wireplumber#151, glfo#pipewire/wireplumber#153) * Fixed a regression in 0.4.6 that caused the echo-cancellation pipewire module (and possibly others) to not work * A default sink or source is now not selected if there is no available route for it (glfo#pipewire/wireplumber#145) * Fixed an issue where some clients would wait for a bit while seeking (glfo#pipewire/wireplumber#146) * Fixed audio capture in the endpoints-based policy * Fixed an issue that would cause certain lua scripts to error out with older configuration files (glfo#pipewire/wireplumber#158) - Drop patches already included upstream: * 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch * 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch - Add patch from upstream to fix selection of Pro Audio nodes as default nodes: * 0001-default-nodes-handle-nodes-without-Routes.patch- Reformat .changes file to limit lines to 67 chars when possible.- Update to version 0.4.6: * Fix a lot of race condition bugs that would cause strange crashes or many log messages being printed when streaming clients would connect and disconnect very fast. * Improve the logic for selecting a default target device. * Fix switching to headphones when the wired headphones are plugged in. * Fix an issue where "udevadm trigger" would break wireplumber. * Fix an issue where switching profiles of a device could kill client nodes. * Fix briefly switching output to a secondary device when switching device profiles (#85) * Fix "wpctl status" showing default device selections when dealing with module-loopback virtual sinks and sources. * WirePlumber now ignores hidden files from the config directory. * Fix an interoperability issue with jackdbus. * Fix an issue where pulseaudio tcp clients would not have permissions to connect to PipeWire. * Fix a crash in the journald logger with NULL debug messages. * Enable real-time priority for the bluetooth nodes to run in RT. * Make the default stream volume configurable. * Scripts are now also looked up in $XDG_CONFIG_HOME/wireplumber/scripts * Update documentation on configuring WirePlumber and fixed some more documentation issues. * Add support for using strings as log level selectors in WIREPLUMBER_DEBUG. - Drop patches merged upstream: * 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch * 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch - Add patch from upstream to fix a pulse client hanging issue: * 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch - Add patch from upstream to fix an issue with libpipewire-module-echo-cancel: * 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch- Remove many build dependencies which aren't really needed- Use %autosetup, apply patches unconditionally - Hard depend on wireplumber-audio if pipewire-pulseaudio is installed- Supplements: (pipewire-pulseaudio and wireplumber) so everyone having those two packages already installed automatically get wireplumber-audio pulled in.- Quiet setup of sources, no need to see the package untared. - Disable tests for ppc64 for now like we do for i586.- Split the configuration to separate the audio initialization to a new wireplumber-audio subpackage. This way, if that package is not installed, pipewire doesn't open the audio devices, thus not entering a race-condition with pulseaudio but still allowing to manage v4l2 devices and sharing the screen in wayland, for example (boo#1188516).- Add patches from upstream to fix wireplumber breaking when udevadm trigger is run: * 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch - And another patch to fix an issue where there is only 1 sink available and the card profile is toggeled between pro and stereo: * 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch- Update to version 0.4.5: * Fixes: - Fixed a crash that could happen after a node linking error (glfo#pipewire/wireplumber#76) - Fixed a bug that would cause capture streams to link to monitor ports of loopback nodes instead of linking to their capture ports - Fixed a needless wait that would happen on applications using the pipewire ALSA plugin (glfo#pipewire/wireplumber#92) - Fixed an issue that would cause endless rescan loops in policy-node and could potentially also cause other strange behaviors in case pavucontrol or another monitoring utility was open while the policy was rescanning (glfo#pipewire/wireplumber#77) - Fixed the endpoints-based policy that broke in recent versions and improved its codebase to share more code and be more in-line with policy-node - The semicolon character is now escaped properly in state files (glfo#pipewire/wireplumber#82) - When a player requests encoded audio passthrough, the policy now prefers linking to a device that supports that instead of trying to link to the default device and potentially failing (glfo#pipewire/wireplumber#75) - Miscellaneous robustness fixes in policy-node * API: - Added WpFactory, a binding for pw_factory proxies. This allows object managers to query factories that are loaded in the pipewire daemon - The file-monitor-api plugin can now watch files for changes in addition to directories - Remove patches already included by upstream: * 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch * 0002-policy-node-enforce-the-direction-of-the-target-when-linking-by-node-name.patch * 0001-add-missing-break-in-best-route-selection-logic.patch- Add patch from upstream to fix a problem saving the default route: * 0001-add-missing-break-in-best-route-selection-logic.patch - Add patch to let wireplumber build in Leap 15.3/SLE-15-SP3 which only have meson 0.54: * reduce-meson-required-version.patch- Add %post/%pre/... sections to enable the user service automatically- Add patch from upstream to fix selection of capture ports instead of monitor ports: * 0002-policy-node-enforce-the-direction-of-the-target-when-linking-by-node-name.patch- Add patch from upstream to fix a crash when there's a link error (glfo#pipewire/wireplumber#76): * 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch- Update to version 0.4.4: * Highlights: - Implemented linking nodes in passthrough mode, which enables encoded iec958 / dsd audio passthrough - Streams are now sent an error if it was not possible to link them to a target (#63) - When linking nodes where at least one of them has an unpositioned channel layout, the other one is not reconfigured to match the channel layout; it is instead linked with a best effort port matching logic - Output route switches automatically to the latest one that has become available (#69) - Policy now respects the 'node.exclusive' and 'node.passive' properties - Many other minor policy fixes for a smoother desktop usage experience * API: - Fixed an issue with the LocalModule() constructor not accepting nil as well as the properties table properly - Added WpClient.send_error(), WpSpaPod.fixate() and - WpSpaPod.filter() (both in C and Lua) * Misc: - Bumped meson version requirement to 0.56 to be able to use meson.project_{source,build}_root() and ease integration with pipewire's build system as a subproject - wireplumber.service is now an alias to pipewire-session-manager.service - Loading the logind module no longer fails if it was not found on the system; there is only a message printed in the output - The logind module can now be compiled with elogind (#71) - Improvements in wp-uninstalled.sh, mostly to ease its integration with pipewire's build system when wireplumber is build as a subproject - The format of audio nodes is now selected using the same algorithm as in media-session - Fixed a nasty segfault that appeared in 0.4.3 due to a typo (#72) - Fixed a re-entrancy issue in the wplua runtime (#73) - Update to version 0.4.3: * Fixes: - Implemented logind integration to start the bluez monitor only on the WirePlumber instance that is running on the active seat; this fixes a bunch of startup warnings and the disappearance of HSP/HFP nodes after login (#54) - WirePlumber is now launched with GIO_USE_VFS=local to avoid strange D-Bus interference when the user session is restarted, which previously resulted in WirePlumber being terminated with SIGTERM and never recovering (#48) - WirePlumber now survives a restart of the D-Bus service, reconnecting to the bus and reclaiming the bus services that it needs (#55) - Implemented route-settings metadata, which fixes storing volume for the "System Sounds" in GNOME (#51) - Monitor sources can now be selected as the default source (#60) - Refactored some policy logic to allow linking to monitors; the policy now also respects "stream.capture.sink" property of streams which declares that the stream wants to be linked to a monitor (#66) - Policy now cleans up 'target.node' metadata so that streams get to follow the default source/sink again after the default was changed to match the stream's currently configured target (#65) - Fixed configuring virtual sources (#57) - Device monitors now do not crash if a SPA plugin is missing; instead, they print a warning to help users identify what they need to install (!214) - Fixed certain "proxy activation failed" warnings (#44) - iec958 codec configuration is now saved and restored properly (!228) - Fixed some logging issues with the latest version of pipewire (!227, !232) - Policy now respects the "node.link-group" property, which fixes issues with filter-chain and other virtual sources & sinks (#47) - Access policy now grants full permissions to flatpak "Manager" apps (#59) * Policy: - Added support for 'no-dsp' mode, which allows streaming audio using the format of the device instead of the standard float 32-bit planar format (!225) * Library: - WpImplMetadata is now implemented using pw_impl_metadata instead of using its own implementation (#52) - Added support for custom object property IDs in WpSpaPod (#53) * Misc: - Added a script to load the libcamera monitor (!231) - Added option to disable building unit tests (!209) - WirePlumber will now fail to start with a warning if pipewire-media-session is also running in the system (#56) - The bluez monitor configuration was updated to match the latest one in pipewire-media-session (!224) - Update to version 0.4.2: * Highlights: - Requires PipeWire 0.3.32 or later at runtime - Configuration files are now installed in $PREFIX/share/wireplumber, along with scripts, following the paradigm of PipeWire - State files are now stored in $XDG_STATE_HOME instead of $XDG_CONFIG_HOME - Added new file-monitor-api module, which allows Lua scripts to watch the filesystem for changes, using inotify - Added monitor for MIDI devices - Added a system-lua-version meson option that allows distributors to choose which Lua version to build against (auto, 5.3 or 5.4) - wpipc has been removed and split out to a separate project, https://git.automotivelinux.org/src/pipewire-ic-ipc/ * Library: - A new WpImplModule class has been added; this allows loading a PipeWire module in the WirePlumber process space, keeping a handle that can be used to unload that module later. This is useful for loading filters, network sources/sinks, etc... - State files can now store keys that contain certain GKeyFile-reserved characters, such as [, ], = and space; this fixes storing stream volume state for streams using PipeWire's ALSA compatibility PCM plugin - WpProperties now uses a boxed WpPropertiesItem type in its iterators so that these iterators can be used with g-i bindings - Added API to lookup configuration and script files from multiple places in the filesystem * Lua: - A LocalModule API has been added to reflect the functionality offered by WpImplModule in C - The Node API now has a complete set of methods to reflect the methods of WpNode - Added Port.get_direction() - Added not-equals to the possible constraint verbs - Debug.dump_table now sorts keys before printing the table * Misc: - Tests no longer accidentally create files in $HOME; all transient files that are used for testing are now created in the build directory, except for sockets which are created in /tmp due to the 108-character limitation in socket paths - Tests that require optional SPA plugins are now skipped if those SPA plugins are not installed - Added a nice summary output at the end of meson configuration - Documented the Lua ObjectManager / Interest / Constraint APIs - Fixed some memory leaks- Remove the Conflicts: pipewire-session-manager. There's no problem in having both installed at the same time, they just can't run at the same time.- Add `Provides: pipewire-session-manager` so wireplumber is recognized as a pipewire session manager implementation. - Add `Conflicts: pipewire-session-manager` so no other session manager is installed at the same time.- Update to version 0.4.1: * Highlights: + WirePlumber now supports Lua 5.4. You may compile it either with Lua 5.3 or 5.4, without any changes in behavior. The internal Lua subproject has also been upgraded to Lua 5.4, so any builds with -Dsystem-lua=false will use Lua 5.4 by default * Fixes: + Fixed filtering of pw_metadata objects, which broke with PipeWire 0.3.31 + Fixed a potential livelock condition in si-audio-adapter/endpoint where the code would wait forever for a node's ports to appear in the graph + Fixed granting access to camera device nodes in flatpak clients connecting through the camera portal + Fixed a lot of issues found by the coverity static analyzer + Fixed certain race conditions in the wpipc library + Fixed compilation with GCC older than v8.1 * Scripts: + Added a policy script that matches nodes to specific devices based on the "media.role" of the nodes and the "device.intended-roles" of the devices * Build system: + Bumped GLib requirement to 2.62, as the code was already using 2.62 API + Added support for building WirePlumber as a PipeWire subproject + Doxygen version requirement has been relaxed to accept v1.8 + The CI now also verifies that the build works on Ubuntu 20.04 LTS and tries multiple builds with different build options- Update to version 0.4.0: * release 0.4.0 * create-item: handle all kinds of Audio/Video & Stream nodes * si-standard-link: treat endpoints as devices when linking stream<->endpoint * config: document the duck.level policy property * scripts: change debug level for some messages * lua: improve the object:activate() callback to report errors * wplua: add a wplua_checkclosure() helper function * Revert "tests: enable G_SLICE=debug-blocks in all tests" * meson: add '--keep-debuginfo=yes' to the valgrind command line * pipewire-object: change params-changed signal to take a string param name * tests: enable G_SLICE=debug-blocks in all tests * meson: use environment() objects to define env for tests * meson: add a test setup to run tests under valgrind * daemon/wpexec: standardize exit codes based on sysexits.h * daemon: replace the exit_message with direct message printouts * wpexec: force the log level to be at least 1 and use fprintf() for local errors * daemon: exit with 0 both in case of a signal and in case of disconnection * tests: si-standard-link: remove unneeded core syncs * tests: common: make sure no events are pending before destroying core * lib: add struct paddings to be able to maintain ABI compatibility * docs: set breathe_default_members to get struct members to show up in the docs * docs: remove :project: annotations for breathe * pw-object-mixin: ignore set param on already destroyed objects * proxy: destroy pw_proxy if bind_error is called * restore-stream: implement storing/restoring of target.node metadata * lua: implement metadata:set() * lua: fix refcounting of metadata iterator * wplua: fix memleak when converting GVariant to Lua * m-default-nodes-api: free default nodes when disabling plugin * m-default-nodes: free default nodes when disabling plugin * global-proxy: fix leak when getting global properties * spa-pod: check if pod is valid before _parser_can_collect * lua: remove hack around WpObjectInterest since we can _ref() it now * object-interest: remove unused _copy() method * default-routes: use a constraint to check if device.name is present * default-routes: fix storing dev_info * scripts: initial restore-stream implementation * object-manager: small doc fix * object-manager: support declaring interest on all properties of globals * object-interest: enrich _matches_full() to be able to check all constraints * si-adapter: handle autoconnect property * si-adapter: handle dont-remix streams * tests: store temporary WpState files in the build directory * state: remove support for groups and propagate save errors * state: don't stat() before creating the dir or removing the state file * policy: don't crash if some node properties are not set * pipewire-object: fix memory leaks when getting properties * m-default-profiles: finalize parent when plugin is destroyed * si-adapter: take ownership of format argument * endpoint: free media_class when disposing WpImplEndpoint * pipewire-object: take ownership of param argument * monitors: sanitize device names like media-session does * object: advance pending transitions if activation fails * modules: remove the old m-default-routes * m-device-activation: don't set device routes * default-routes: re-implement the default-routes module in lua * docs: Write gtk-doc comments for constant variables * docs: include wp.h in gir sources * docs: Add brief descriptions to all functions * policy: destroy node if defined target was not found and reconnect is false * global-proxy: make sure registry is valid before requesting destroy * lua: don't crash if an iterator is NULL * lua: allow the Log api to debug boxed objects (useful for pods) * lua: fix PipewireObject api: s/set_params/set_param/ and cleanup * lua: add WpState bindings * object: use weakref when advancing current transition * object: use destroy notify to keep self alive while advancing transitions * docs: make progress on lua api documentation * policy-{node,endpoint-client}: do not crash if media.class is nil * meson: add reference to bugfix * config: disable role-based endpoints in the default configuration * tests: si-audio-adapter: test is.device property * m-si-standard-link: fix number of links check * tests: si-standard-link: fix racy test * meson: force the gir target to depend on wp-gtkdoc.h * docs: tidy up most documents and try to update the information in them * docs: use the default sidebar color to make the version easier to read * docs: show version number on the sidebar * release 0.3.96 * Makefile: use wp-uninstalled.sh to implement the run target * gitignore: remove obsolete entry * editorconfig: remove obsolete entry and add python script rules * LICENSE: update copyright years * docs: convert NEWS to rst and add it in the generated docs * docs: update installing-wireplumber page * ci: bump distribution tag date to the actual branch merge day * gir: fix generate_gir() * docs: convert lua api docs to pure rst * docs: fix gobject-introspection data generation * ci: update fdo template, fedora image and dependencies for docs * docs: improve the home page and toc; use README.rst as a base; add badges * docs: fix C API documentation to work nicely with doxygen & sphinx * docs: meson: rebuild docs when Doxyfile.in changes * docs: setup sphinx to use the graphviz extension * docs: improve the visual appearence of the generated html and cleanup * docs: reorganize .rst files and add tables of contents for the APIs * meson: refactor docs + gi build system * docs: build gobject introspection from xml files generated by Doxygen * ci: replace hotdoc with Doxygen, Sphinx and Breathe tools * docs: Add Lua API documentation * docs: api: Replace hotdoc specific commands with Doxygen specific commands * docs: Replace hotdoc with Doxygen & Sphinx to generate documentation * pipewire-object-mixin: fix memleak in GList * policy-endpoint-device: wait until previous links are activated * m-si-standard-link: remove unused manage.lifetime configuration property * tests: enable si-standard-link test and port it to new API * wplua: ref closure before invalidating it * wpctl: fix iterator cleanup * endpoint: remove wp_endpoint_create_link() * scripts: remove static-sessions * wp: remove WpSession and WpEndpointLink * policy: don't link endpoints on startup * m-default-nodes: check if node is valid before returning bound id * policy: reevaluate all linkables if one linkable was removed * m-default-routes: log error message when failed to get current routes * m-default-profile: log error message when failed to get current profile * m-mixer-api: make sure the enum param iterator is valid * pipewire-object-mixin: make sure enum params task is only triggered once * modules: steal the format_task before returning it * systemd: Add conflicts with pipewire-media-session * proxy: don't accept NULL pw_proxy in set_pw_proxy API * m-device-activation: use sync API to enum available profiles * m-default-routes: use sync API to enum available routes * m-default-profile: use sync API to enum available profiles * global-proxy: delay object creation until bound feature is requested * alsa-monitor: activate BOUND feature in JACK device * tests: proxy: add a test for enum_params errors * proxy: relax proxy error warning messages * pw-object-mixin: watch for proxy errors during enum_params * proxy: add a "bind" watch, to watch for proxy errors while binding/exporting * proxy: add error signal * policy: fix removing of item links when linkable is removed * tests: spa-pod: fix int64 constant to work on all architectures * global-proxy: destroy the global when proxy is destroyed * global-proxy: inherit from WpProxy when declaring class * spa-pod: respect the SPA size for long and int APIs * si-standard-link: configure the format in WpSiAdapters before linking * modules: implement WpSiAdapter in si-audio-adapter and si-audio-endpoint * si-interfaces: add WpSiAdapter interface to set and get session item fortmat * session-item: add _get_property API * si-audio-adapter: remove unneeded 'preferred.n.channels' property * si-standard-link: make sure create_links creates at least 1 link * modules: remove role and priority properties from si-audio-adapter and si-node * si-interfaces: rename WpSiPortInfo to WpSiLinkable * scripts: cleaned and improved policy scripts * create-item.lua: always enable monitor ports by default * modules: remove 'monitor' port context from si-audio-adapter and si-node * release 0.3.95 * meson: depend on pipewire 0.3.26 * config: bluez: update to match media-session's bluez-monitor.conf * lua: rename Plugin() to Plugin.find() * session-item: remove undefined API * wp: remove WpSessionBin * wp: rename debug.{h,c} to log.{h,c} * config: disable ipc module by default and move it to the main instance * wpipc: place sockets in the same runtime directory as pipewire * m-ipc: cleanup server using g_clear_pointer() for consistency and safety * wpipc: remove socket files after shutdown of the server * meson: generate and install pkg-config file for wpipc * meson: find threads_dep early and also use it in the wpipc-client * wpipc: use proper api & so versions * meson: replace join_paths() with operator / * meson: remove audiofade pipewire branch check * meson: make wpipc optional and disabled by default * policy-node: accept node names or paths in a stream's node.target property * policy-endpoint-client-links.lua: consider 'suspend.playback' metadata * modules: add ipc module * lib: add wpipc library * config: unify config and config-split * systemd: add templated systemd unit files * policy-endpoint: implement volume ducking * m-mixer-api: track monitorVolumes and allow modifying them * access: add a more generic "default" access policy script * config: add an example of split-instance configuration * Add a wp-uninstalled.sh script for easily running programs uninstalled * lua: remove the ability to specify spa_libs in the lua config * daemon: init export core in the daemon and share it with modules * lua: change the "wireplumber.interactive" property to "wireplumber.daemon" * daemon: Use a pipewire-style config file to load initial configuration * core: use log.level from the pw_context * log: factor out the log level configuration into wp_log_level_set() * audio-endpoint: configure adapter for null sink with monitor.channel-volumes * impl-node: implement WpPipewireObject * device: debug and enhance spa device event handling * config: policy: improve the endpoints & roles example config * policy-endpoint-client: remove handling of move & follow and endpoint priorities * meson: bump version to 0.3.70 * m-mixer-api: allow calling the action signals even when the plugin is not enabled * m-default-nodes-api: remove reduntant call to g_clear_object * wplua: store closures only with a weak reference * examples: add example script to get the default sink's volume * scripts: add policy for links between clients and endpoints * lua: add WpObject get_active/supported_features() bindings * lua: add g_get_real/monotonic_time() bindings * si-audio-endpoint: give better descriptions to endpoints and their null sinks * static-endpoints: avoid capturing session item reference in the activate closure * policy: export endpoints, do not export endpoint links * wpctl: handle endpoints nicely and enable volume controls on them * tools: split wireplumber script execution mode to a separate wpexec tool * tools: move under the 'src' directory * src: scripts: rename policy-endpoint.lua to policy-endpoint-client.lua * m-audio-endpoint: remove target property * static-endpoints.lua: don't export endpoints, only activate them * m-mixer-api: add configurable support for the cubic volume scale * wpctl: use mixer & default-nodes API modules * m-mixer-api: also add channel-independent volume for ease of use * wpctl: remove obsolete default node/endpoint key macros * m-mixer-api: fix getting volume info from nodes that don't have volumeBase & step * lua: add a Debug.dump_table() utility function * m-default-nodes-api: load all information before declaring the plugin as "enabled" * lua: add a Core.require_api() utility function * modules: add module-mixer-api * src: config: do not create endpoints by default * src: scripts: add policy-endpoint.lua script * policy-node.lua: do not handle items with media role if endpoints exist * policy-node.lua: clean up findTarget function * src: scripts: add static-endpoints.lua script * modules: remove unneeded si-audio-convert module * src: config: rename session-item support to default-policy * create-item.lua: only create items for client and device nodes * policy-item.lua: only handle si-audio-adapter and si-nodes links * src: scripts: remove unneeded policy-endpoint.lua * m-lua-scripting: add object manager get_n_objects API * si-audio-endpoint: deactivate node when disabling active feature * m-si-audio-endpoint: fix port configuration and target linking * m-si-audio-endpoint: make target property optional * tests: si-standard-link: sync core before finishing * si-standard-link: call parent class finalize once finalized * m-si-standard-link: properly set in item port context when configuring * policy-node.lua: fix param name typo when finding target * policy-node: properly remove links between apps and capture devices * endpoint: remove useless pw_proxy_destroyed handlers * registry: fix issues with dangling WpGlobal objects causing assertion failures * modules: use dots instead of dashes for session item properties * wpctl: status: print nodes, ports, links grouped more nicely * registry: fix odd assertion failures that occured from time to time * policy-node.lua: support config.move and config.follow * m-si-audio-adapter: abort activation if node feature ports is no longer enabled * m-si-standard-link: make sure in/out items are valid before activating * wpctl: fix setting default nodes * m-default-nodes: restore configured values on the metadata at startup * policy-node: use default-nodes-api plugin * modules: add new module-default-nodes-api * m-default-nodes: move common code to a new header * m-default-nodes: add properties to control storage method and interval * modules: rename default-metadata to default-nodes and enable it always in the config * m-default-metadata: remove default endpoints, follow upstream logic * policy-node.lua: fix type mismatch when comparing session item Ids * lua: s/Feature.Object.ALL/Features.ALL/ * bluez config: update based on the latest media-session config * m-default-metadata: add support for default audio nodes * wpctl: list nodes and allow setting default nodes * modules: remove endpoint impl on si-node, si-audio-convert and si-audio-adapter * tests: si-standard-link: use new si-audio-endpoint * modules: add si-audio-endpoint session item * src: scripts: add policy-node.lua to link port info session items * src: config: rename endpoint-support to session-item-support * modules: remove si-monitor module * src: scripts: add create-item.lua and remove create-endpoint.lua * m-si-standard-link: set out-item-id and in-item-id properties * session-item: add id property * m-si-audio-adapter: ensure ports are available before enabling active * m-lua-scripting: add get_associated_proxy session item Lua API * si-interfaces: make WpSiLink work with WpSiPortInfo instead of WpSiEndpoint * si-interfaces: rename WpSiEndpointAcquisition to WpSiAcquisition * m-si-standard-link: use a weak reference for in and out endpoints * m-si-standard-link: fix in-endpoint check when configuring * wplua: sort properties after transfering them from lua * properties: add wp_properties_sort() * monitor-alsa: add api.alsa.card.* properties on nodes * bluez5: autoconnect bluetooth stream nodes * object: deactivate only the features that were previously active * bluez5: use api.bluez5.connection-info * m-si-convert: rename to si-audio-convert * m-si-adapter: rename to si-audio-adapter * tests: session-item: add registration test * object-interest: add support for session item properties * session-item: add _register and _remove API * session-item: refactor and inherit from WpObject * session-bin: remove unused wp_session_bin_new API * lib: make WpImplEndpoint and WpImplEndpointLink public * m-si-adapter: rename algorithms to audio-utils * m-si-monitor-endpoint: rename to si-monitor * m-si-simple-node-endpoint: rename to si-node * lib: remove WpEndpointStream API * wp_init: set PIPEWIRE_DEBUG * spa-device: do not assert if the activation transition fails * m-default-routes: return if default routes for a device are not found * m-default-routes: relax some warning logs to debug * m-lua-script: add object_deactivate API * m-lua-script: add closure for object_activate API * object: add wp_object_activate_closure API * ci: use 'disabled' instead of 'false' when configuring pipewire * m-lua-scripting: add WpSessionBin add API * lib: remove WpConfiguration * lib: documentation fixes * lua/api: add Link() constructor * module-default-routes: store/restore route properties * module-device-activation: apply default route on each new device * modules: add module-default-routes for storing/restoring routes * lua/api: default Constraint type always to pw-global * object-interest: remove type checks * lua/api: simplify & improve session_item_configure * lua/api: make the type optional when declaring Interest as a function argument * lua/api: improve getting optional Interest arguments- Update to version 0.3.60+git.20210301.6c2bfea: * scripts: policy-endpoints: add move and follow options * m-lua-scripting: add get_n_streams endpoint API * m-lua-scripting: add lookup session API * examples: add bt-profile-switch example * lua/pod: don't crash on parsing objects with unknown keys, just ignore them- Update to version 0.3.60+git.20210225.9f50117: * lib: remove module.{c,h} * meson: fix glib version requirement checks * systemd: use the older version of the systemd pkgconfig variables * systemd: remove RuntimeDirectory from the system service * daemon: add systemd unit files * m-lua-scripting/pod: retrieve Ids in Array & Choice as strings, if possible * m-lua-scripting/pod: s/id_type/object_id/ as commented on !125 * m-lua-scripting: add support for choices when creating object pods * m-lua-scripting: refactor array and choice pod constructors to accept Id names * m-lua-scripting: allow constructing pod Ids with the Id name * m-lua-scripting: set id_type field when parsing pod objects * m-lua-scripting: set pod_type and value_type fieds when parsing non-primitive pods * m-lua-scripting: start indices from 1 when parsing pods * test-endpoint: fix failure with pipewire master * config: split flatpak access configuration * scripts/access: update access scripts to call update_permissions() cleanly * lua/api: fix client update_permissions() * examples: interactive.lua: add a shebang and update running instructions * lua: enable loading scripts with a shebang * lua/api: log using a debug category unique for the calling script file * lua/api: ensure the function name in the debug output is non-null * monitor-alsa: fix node description on strange embedded devices * suspend-node: honor "session.suspend-timeout-seconds" * monitors: sanitize node descriptions too * wplua: table_to_properties: use luaL_tolstring to do string conversions * config: bluez-monitor: add hfp_hf in the supported roles comment * m-lua-scripting: add WpPipewireObject api * config: move loading of all audio support modules in 90-enable-audio-all * config: split configuration for endpoints support in config.lua.d * monitors: drop the monitor- prefix from the filenames and s/bluez5/bluez/ * config: make the monitor properties & rules available in global tables * config: load reserve-device only if alsa.reserve is true * monitor-bluez: fix source priority assignment * monitors: sanitize node names to match media-session's behavior * wplua: gvariant_to_lua: convert dictionary keys to integers if possible * monitor-alsa: sync logic, properties and configuration with media-session * wplua: improve GVariant array conversion * wplua: improve gvariant <-> lua conversion functions * wplua: remove VARDICT handling in gvariant->lua conversion * config: mimick media-session's v4l2-monitor.conf * monitor-v4l2: copy properties and rules logic from media-session * config: immitate media-session's bluez-monitor.conf * monitor-bluez: copy all properties and the rules functionality from media-session * lua/config: load split config files in alphanumeric order * tests/lua: test monitor configuration rules code * lua/api: add wp_object_interest_matches() binding * object-interest: allow matching against WpProperties objects * scripts: add portal access script * scripts: add flatpak access lua script * wplua: handle more GVariant cases * m-lua-scripting: add WpClient LUA api * Revert "meson: relax meson version dependency when building with system lua" * meson: relax meson version dependency when building with system lua * lua/pod: optimize push_primitive_values() * tests/wplua: set WIREPLUMBER_CONFIG_DIR to an invalid directory * lua/pod: simplify spa_pod_object_new() * lua/pod: optimize lookups in primitive_lua_type and fix some mistakes * lua/pod: lookup the object type and values table only once when constructing objects * lua/pod: convert Id object fields to strings, if possible * rename all foo_iterate APIs to foo_new_iterator * m-lua-scripting/pod: push pod constructors using luaL_newlib instead of manually * modules: remove m-node-suspension * m-lua-scripting/api: fix om:lookup() to return nil when no object was found * scripts: add suspend-node.lua to replace m-node-suspension * wplua: fix enum <-> lua conversion * create-endpoint.lua: fix some issues * create-endpoint.lua: fix indentation * node: change send_command() to take a string * tests: wplua: add pod.lua script to validate pod API * tests: wplua: add a script tester to validate lua scripts * m-lua-scripting: add WpSpaPod api * wplua: fix vtables lookup in boxed __index function * examples: add an example interactive lua script * m-lua-scripting/api: add wp_object_manager_iterate_filtered() * proxy: add a method to query the interface type * daemon: add a mode to execute lua scripts from the command line * m-lua-scripting/api: add WpCore bindings * m-lua-scripting/api: fix access to core in session_item_new() * meson: bump version * meson: remove C++ support, there's no C++ code anymore * monitor-alsa: simplify reserve-device connection logic * monitor-alsa: receive script configuration from config.lua * scripts: add static-sessions.lua * m-lua-scripting/api: add WpImplSession bindings * m-lua-scripting: pass component arguments to scripts * wplua: pass SANDBOX_CONFIG as a script argument * wplua: allow exchanging arguments and results with scripts * m-lua-scripting: use wplua_table_to_asv() instead of custom function * wplua: add GVariant dictionary conversion functions * wptoml: remove, it's not used anymore * daemon: refactor * m-lua-scripting: fixes * wp: add wp_get_data_dir() * src: move scripts to their own directory, install in $prefix/share/ * object-interest: add a NOT_EQUALS verb * m-lua-scripting: allow queuing-in scripts without the plugin being activated * m-lua-scripting: refactor as a WpComponentLoader * wplua: allow loading relative paths from wplua_load_path() * wplua: add g_autoptr support to lua_State * wplua: add flags to modify the sandbox behavior * wp: export functions to get the module & config dirs * lib: introduce WpComponentLoader and remove WpModule * plugin: inherit from WpObject * modules: remove modules that are obsoleted by the lua scripts * modules: actually delete module-dbus-reservation.c * monitor-alsa: add device reservation logic * spa-device: add an "object-removed" signal * lua: add wp_plugin_find binding * modules: delete the old dbus-reservation module * modules: implement a new reserve-device module * plugin: add a method to find plugins easily * conf: create-endpoint.lua: make sure endpoints always have a valid name * conf: create-endpoint.lua: use node id as key in session_items table * meson: add 'system-lua' project option to toggle the bundled lua * conf: disable legacy endpoint creation module and replace it with lua script * m-lua-scripting: add session item lua API * session-item: add export API with closure * session-item: add activate API with closure * docs: update daemon/running.md * m-lua-scripting: fix reference count in object manager's lookup API * object-interest: add _ref and _unref APIs * config: enable lua scripts, disable legacy modules * lua: fix some nasty memory leaks * meson: require pipewire 0.3.20 * spa-device: handle DeviceEvent and configure node props * m-lua-scripting: do stop the lua engine on deactivate() * main: drop WpConfiguration reference early * plugin: debug activation & deactivation * wplua: object: unset GValues used when calling action signals * config: add lua-based device monitors * m-lua-scripting: add bindings required for device monitors * impl-node: derive from WpProxy * spa-device: derive from WpProxy and manage child objects internally * m-default-metadata: handle default nodes * config: rename desktop profile to desktop-ep * spa-pod: add the ability to specify Id properties as strings * spa-type: refactor * m-lua-scripting: handle default endpoints from the metadata * m-config-policy: handle default endpoints from the metadata * modules: replace session-settings with default-metadata * wpctl: implement set-default using the metadata API * meson: fix lua dependency on Arch Linux * metadata: refactor API to quickly find a specific value * state: use GKeyFile API to keep state in disk * wp: remove initialization of wireplumber types * session: remove default-endpoint-changed signal * spa-type: fix param profile's last Id * config: implement the functionality of config-policy in Lua * m-lua-scripting: expose session, endpoint, endpoint-link APIs * wplua: expose table to/from properties conversion functions * object, pw-obj-mixin: fix warnings * config: disable audio sink "streams"; they fail on latest pipewire * Fix compiler warnings that appear with the warning flags enabled * meson: enable compiler flags for warnings, if supported * modules: implement module-lua-scripting * wplua: use only the basename of the files for debug/error messages * wplua: use the error handler also when loading chunks * wplua: implement __tostring for GObject * wplua: use the registry to store vtables & closures * wplua: remove TypeClass, push constructors as ClassName_new * wplua: allow checking for a specific GType with isobject/isboxed * configuration: convert file paths from relative to absolute if necessary * configuration: implement grouping files in subdirectories * wplua: add proper GError domain & error codes * wplua: implement sandboxing of scripts * wplua: convert WpProperties to table and vice versa * wplua: new simple engine to integrate GObject with Lua * meson: add dependency on lua 5.3 * tools: port wpctl to the new APIs * tests: endpoint: re-enable the params unit test * lib: delete WpProps * pw-object-mixin: refactor, implement param caching and features for impl objects * iterator: add version field in the methods struct * meson: bump project & API versions * spa-pod: make the wrap functions public, remove private.h and sort out the rest * private: further cleanup of private.h, sort out header includes * session-item: move wp_session_item_set_parent() to the public header * defs: add a new WP_PRIVATE_API function annotation * iterator: make private stuff public, cleanup private.h further * lib: move WpImplEndpoint* header parts to private/impl-endpoint.h * m-metadata: add callback for wp_object_activate() * src: port daemon to the new APIs * modules: port modules and their tests to the new proxy APIs * object-manager: recursively store requested features on children * impl-endpoint{,-stream}: disable FEATURE_PROPS temporarily * tests: fix library unit tests * lib: refactor WpProxy * lib: add new proxy-interfaces: interfaces for the refactored WpProxy class * lib/private: move the registry & global APIs to a separate header * lib: add new WpObject base class- Disable testrun for 32bit arches, upstream do not care for them, so we can not expect fixed tests any time soon.- Update to version 0.3.0+37: * m-endpoint-creation: remove undefined API * m-endpoint-creation: remove unnused variable in Bluez5 endpoint creation * m-device-activation: use profile from default-profile module if loaded * modules: add module to store device profiles each time they change * lib: add new WpState API to save and load data from files * m-monitor: add use-acp flag * modules: refactor dbus reservation * plugin: add name property * wpctl: add set-profile option * transition: stop and return error if cancelled by the GCancellable- Update to version 0.3.0+27: * device: set parent type to GObject in WpSpaDevice structure- Update to version 0.3.0+26: * m-endpoint-creation: add bluez5 endpoint creation for bluetooth devices * m-config-endpoint: refactor and rename to endpoint-creation * modules: add bluez5 endpoint session item * modules: add fake stream session item * m-si-adapter: use the adapter's name as stream name * m-si-adapter: set the configured flag when configuration was successful * m-config-policy: set the stream name to the media role propery by default- Update to version 0.3.0+19: * Implement PW_TYPE_INTERFACE_Metadata * metadata: fix more coding style issues * metadata: improve implementation * metadata: remove WP_METADATA_FEATURES_STANDARD and fix copyright years * module-metadata: s/settings/plugin/ * modules: rename metadata module to just 'module-metadata' * tests: fix permissions check failure with latest pipewire * tests: implement a WpMetadata unit test - Drop use-system-cpptoml.patch: fixed upstream.- Initial version of wireplumber 0.3.0/bin/sh/bin/sh/bin/sh/bin/shs390zp35 1651997361  !"#$%&'()*+,/0123456789:;<=>?@ABCDEFGHIJKLMNOP0.4.9-150400.1.50.4.9-150400.1.5  wireplumberwpctlwpexecwireplumber.servicewireplumber@.servicewireplumber-0.4libwireplumber-module-default-nodes-api.solibwireplumber-module-default-nodes.solibwireplumber-module-default-profile.solibwireplumber-module-file-monitor-api.solibwireplumber-module-logind.solibwireplumber-module-lua-scripting.solibwireplumber-module-metadata.solibwireplumber-module-mixer-api.solibwireplumber-module-portal-permissionstore.solibwireplumber-module-reserve-device.solibwireplumber-module-si-audio-adapter.solibwireplumber-module-si-audio-endpoint.solibwireplumber-module-si-node.solibwireplumber-module-si-standard-link.sowireplumberbluetooth.confbluetooth.lua.d00-functions.lua30-bluez-monitor.lua50-bluez-config.lua90-enable-all.luacommon00-functions.luamain.confmain.lua.d00-functions.lua20-default-access.lua30-alsa-monitor.lua30-libcamera-monitor.lua30-v4l2-monitor.lua40-device-defaults.lua40-stream-defaults.lua50-alsa-config.lua50-default-access-config.lua50-libcamera-config.lua50-v4l2-config.lua90-0-enable-metadata.lua90-1-default-access-policy.lua90-2-2-enable-v4l2.lua90-3-track-user-choices-devices.lua90-4-track-user-choices-streams.lua90-5-link-nodes-by-roles.lua90-6-suspend-idle-nodes.luapolicy.confpolicy.lua.d00-functions.lua10-default-policy.lua50-endpoints-config.lua90-enable-all.luascriptsaccessaccess-default.luaaccess-portal.luacreate-item.luaintended-roles.luamonitorsalsa-midi.luaalsa.luabluez.lualibcamera.luav4l2.luapolicy-bluetooth.luapolicy-device-profile.luapolicy-device-routes.luapolicy-endpoint-client-links.luapolicy-endpoint-client.luapolicy-endpoint-device.luapolicy-node.luarestore-stream.luastatic-endpoints.luasuspend-node.luawireplumber.conf/usr/bin//usr/lib/systemd/user//usr/lib64//usr/lib64/wireplumber-0.4//usr/share//usr/share/wireplumber//usr/share/wireplumber/bluetooth.lua.d//usr/share/wireplumber/common//usr/share/wireplumber/main.lua.d//usr/share/wireplumber/policy.lua.d//usr/share/wireplumber/scripts//usr/share/wireplumber/scripts/access//usr/share/wireplumber/scripts/monitors/-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:SLE-15-SP4:GA/standard/b88f7a924b8ff3a9e352e7bcef69fc01-wireplumbercpioxz5s390x-suse-linux ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=862c28daebc2f46bda22004e3c74a3d6df88fa04, for GNU/Linux 3.2.0, strippedELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=d9a0dfeb64bd79dfd3c0bdbe3b0539cc5ad65ed4, for GNU/Linux 3.2.0, strippedELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=19acf2d014d645d8a319bcb8bd02186915dee0c4, for GNU/Linux 3.2.0, strippedASCII textdirectoryELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=d953946b83ffbc88ee7bf89eee1df933da572819, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f9629051394d789faaaa72e462f632f24de676e9, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=61d047c1d49be18dd7d2f6e92129ce195ee1b6f3, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=ec25e572889ecb5822fb13310a2c007d9e9c519b, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f38caa119f9c12a8a73a4b069b34674237f4d561, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=260a9e853ae52635cf239e67c202511e48bf2c57, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=6a8144542fc394ae7c9a5aa5db68ff805a2a8b02, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=16d4c64f8dd31284bee6521ed8387ac6df085c20, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=b6d4c522607e0200e1eef4faea718ca23b8d9571, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3f5c04fd155aaab081250f3bffa8930ca86775ea, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=8e6cb85b6436269e5d698117d92b2b497c39cde2, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=42e05286ca72d6dbdf87d158b93f000c6e60b848, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=98cfb983475d0ab86c9b101b80e02f37049d9de2, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=644c5e45d44668cad40a98eb02dee7f3d1129f46, strippedASCII text, with no line terminatorsUTF-8 Unicode text")1;DKT\dnv~   RRRRR R RRRRRR R RRRRR R RPRRRR R RPRRRR R RPRRRR R RPRRRR R R RPRRRRR R R RRPRRRR R R R RPRRRR R RPRRRRR R RRPRRRR R R RP RRRR R R RP R RRRRR R R RP R RRRR R RP R RRRR R RP R RRRR R R޼Osx׬"utf-8a832094133c2e2ba17105d8cb26c60952b46d4a8ccfabdbf5aece9d883738919?7zXZ !t/З] crv9w!Yl5i')E%yGO߈٣O-we*sD='&Rt $EXB *iCO?SDecF%v&tLRt#RL/b9 ?\QWHEZp&>xyޥ"o! ~ݾd"39@;PjԌ:1Ljt}bl̐s; 5f ^uQտ`Kdd #z+~܇!TԜωa8!In䛽Hx 6~@$?Bdr+K鎷u0jkVSX`))dz,ֵ6.4ŎK22ف/0A9+I T@ 50&9\2"t\~IaY#Έq " &DT.]PqEoJ4 a 9 )7G縷]U0i hZp׬wWU & jUץʪk^ژ"x}@R.I8[df=¡ Msrqn8B/ծ1=̍eBV~dW:|)ӎ~L #Dh[Ʈ"y r0Q|( |]8sZ(.&ZV9qzGDX~Iv I0ι]Wλ*|Jɐbb+x_>r?(n TY/o. lFqԱ=㵧۟z]sZgȌbZ?a7?)Ͻ随5pˈ?mHi0a>ir²vCXO-gHefwk-~h }oUKSVb̡:+ᕈaP4u# *I\PZ h7tp4o*o-^3\LW07m Ne~fr)%Ǭǥ@}G1?؉Sk!$(09W]N1x: ("V5D~a2 J i +8 ;  v_~E7h_\&$"H🰡j u 3k ~5Hw?U]Wi@%b?Oܑ2qY9LVzi%wG 9Y pT~l-ZS|aGTEsr62xn.X\LS[+JH9g^c/+z*a.sl[~9ҏs11ת7sAh0YI@b>46^bѠELHRޜF!sceߍ_Q-IȚ|>~u_ jR?2 T WpUXۣs]E̎׭{!0DuP45O3[AG:4GSuΛSU}}>@gYՎ_Sm6H~rM3UCse:p_"jiY=Î+fS=R vAY˪Rh~ZMy]">[a铎*ᚳ:O4u1/c ~{'.gõ?7" D +u1722qW/:.TNUϴ"~˓xdɶxH|X ƧlW3KӘ|U,C`@*4NGthv`A$3Uqa:QΰWѱfPbYYyeJo(V5&j9g0cWFRGyOu!! cN.) Tȿ9e6靣6vė"j\hIĻmMx+O'0p;޶˅8fN, &c.#חsy| F|S+'Q~-9/ڸ)D/lxPZo$h.x^j`b„b ev7w03gZ1Qӑ-5/|`UOasX l]oEu%ܤOLent!gJݱ~ӝ:^X^/ Yl"\@fBvLKmIH= ( SK`_k)_N.)#@Ż:w ޳cB<1no(QW57x{1.9|$b \U?HleoV}~w좶2~`h, 87kuE;UZ??+i){g Ykg< !N3Z?qSS\\femUn SD`&p%Q(t)e 6Pڜ$fi}kMv-~nH^%AnE|18t-̹3:zvI6uq/@|{nI\zEJ>uKlRV KBtbl;Q.Bcd_yl_4{ 2f&W ^Sޚ9'- ҕ{`~##lq^;Lh:v. NIGYx A{Ї5hDpRVȚWǃ4bpHZ"[Zr^uyV2GQ)c=W2=-M1L/A>qr|^fk>?B 'Op)~e(JꑉsP]ω?5PUe^c5;F#fKJYS^=PKhȿrgaQ:!,9ǸX#{q4I5]r":jc*L;i?8 &pߐN3xF4؟ wڿ!5pKͥ![/ ܙ0 xg59}CZGm؛m|oT_y{\V6[k r|}\A L3ˡp~qv_^d ]QNc˵ECw:- T!$Ś%Qa1AiUV'wZ/C|]E Qp}mqNN2d:Ȣ7yݰ!/{ոsL(E.'Z|ù~oc;lÕ+CI+鞿( bF{f7J&(s㰻<7qAiZ-OYhL4W⣄\>۷d:Ņޤ Pc61[cVY^]L0(dX\pR1ShM̤SCIUoH(<5zy+,-jjx;Ʃ,Ѝ q\\D:dj-'U D"B,IwRVt20Q_XXɨ^Mp${;w/)'eL%D{ w6G-"ޢֺ'.z}ǟu-A Q'y8$trO5z;?R_7Ugl@m>ݨyn%F~h&OixѝΥlvj["]BS(\/(^rnËwP­:T:e KNԍ?̦'PxΡL_K堕-ԥgq  ڂk%!A6ca4p&c2 ᛎр bxyIc"Y92 #}˕ oJ*4 Bz۾iMxէ( b%QAuw*dY\ZpkI~?BWh&ÚfvCUp8 8᭻w7u+_~WFȾm' hNȱ6\~7\pÐuѥ5.adĖ&(H^Hz*?aȵ ;%y,E#ʀv>گDMͤ<A"/B2nPOJI8 $k/X]~}N eMѰI)ZtcR $q4@-pݓVHz{p#=>k fVO,sK*+x^4{9zOaH}#ZIG.F ˆVhObmR,ַncv #{]e.HnYȂ>F i:;CU8(nɹ~ wm!j'<䧿n;™UZVPꂍ@xԝUu;SLdBz#(4_6tů_Uk5HCc*8mLWr^o>9g!؏}Ձlcu?7VFdڳNk,aͩK.}cC{ x+2*>f2OQKxUZXm\ۧѳK|ϟvT!{Uo"- fJL#fmLxh/|uϋ3%ŕT)&SfPd{zSȽ>?7@G>ϠVѷ Xmh15sB"h7]"_rSZ֝Y%ˇ )rH 1xgwp+ !7 +Dɞ7q6)Qkax+^+h:FŞN er"baK:(t>xHcV7 lGw l*A)}hTȺw[k>X=4kҋԄ*#1=E~e*G%J_^Lf 6#2" W{l]}G,]s6&3G0یh$@A)pU/-7YbHѫttRTD *1Th+ H"4S6bp @1#L<k)zhM ^1 ݿ _>hŦTRdLQOBw2a T/ ~kei+}K2NDqƠ=/.lۦrH29<6,$pPD@q?a\s~1؝Ӣ3:~4]f=?,DzfiUuq+Y%6R! K#%tcW L "`}Gnp!LgRg$b\e~1 ҕ>}W3-W ^ T^Mgp4ukIJenG-h-6S;ω^Ҿ/⮇ˮdw#WCf԰?7{Tn;NTPNxy/Ihnd=ډ(`X;- &^u&1[Inڤl! 9{ɕFB.?}!d΅xq93b.P*qf"3Y3"S692`od\$o]m|: S=6& d߬׫v ;S^*A󃡾 lz9aigCPqZfM ~i^to,FUR* `ɞ# z[#c*rQt$ V ЧzϷx#i2Zy*Sr3!ILvp'`/~ џ@ %jWxa$6q??iH 7's 4m ik9A1تP:Ler-L.? VL1[V>G8.jj33Z]? ~g"0l%ĸ>0S8mX,FtKQ,{~fUBαq Զ`|4B 07{3bhy: dH[ hRŖ!w'_ͨK,j7lZ j2`su096]#UA]aӪA?R;J c᠅cN/ca\2ӦTQ$mvׇ1q vLppJ.~KF8a\ KbD0zNqX]VsXTj<i#J!sE(D!nqjVSڥu oP2 1kMHSUл%*!g[3z(yasFfָSbeG15_6:.F&<+O(اbO;hJwpfޟJF2F+~S I*]Vrw2D [7JVz#(>7s 5Y~S\4Daf…1oo|@hLg6c&@@EfN[Yqk[:LAGXniē40e{zaETĚ(3"t㷝^'E 7Z+Ss:k|=?P#Ccz;"H/Sz뽲(Q'/'4@S^,zP"-GWHvY, 4C?=.n B Iu+5,k]/rMN>dTG=`,P(N_"-ٵ)HmQJ`Cf0`[ua);VU@4HwrY4rxF58rhs Ne)ˎP)?8 6((y™zlxOp Hp=`y rgls2 6 ջ^Xӄ1,/ϸ>jh@,p|4sw**q9 $}4,e0xkoO5Do[OX0m7vCg¾rEqc~\)1%b(BڋN0Olxoanђ {/@77`؈+l/KHoM&DI;^"B&ԋow2 -QR|n`}c15c#^K.. M "SJKMe2$.3‹s_{?1=rSUB/9gJٸ2u.lL/ pOƗԪoFm$ "(#p]HWX!)U!R| %+i,jfL{uA>X:@gi:ڱ}E77C=#G֔#uzr>Oq+HFnҠ^Mn\^2ᰊ D_HHlzd>ƩJr0G+&y@὿G mOQ+t3)7Tx:e(*^0^ײp'ꘂ7?&d0XK[?FxΞYvhEs2lb5eY%ߺ 7*HoAkD~t?(^JfE_ԂFGܰX.o׸: ̍ .Sݕm.MsmijѲ>8sې.ɦyfFi_e44 |(w)Vy=pΩN7q3[瓣:{b}qd%'LV1=T0\Wq*ED0~gp%ݍ?H2_y y@ϵfxU2Nů<9mj,wBm- PZ2HHZ6@vȍ9><Bp>6Zn'ꢝ NbPÖKO5E5ƐՈN=7.Mڬ7H߹iK"* 4! v QIMD\r1>~8cutc.Qken QV^oO{OG@yZB5$Ɉ8.u|oxjHCl3$6 i_#Q'di> 击J.Ro%#IZDc6> G%ܷ 隣L:?C,A.V# F?ikc7RĆ*UX:=Zci%vC U3\W5M?MC/$Gs#(V jX.$piF)ާԀSlӾ,XwR"նRn /mkוATG'Ϣna]~l΁IR@Z{į gz(hِVP%x'HUZɑbqMKCFs^cq3&uO_z?6ۭ <8C:X; 4oF|fyL䮋vte(wSӲ9fM3eԻƥanSw[ ]ѰtuBɻRD۪OQQ2eA$=nMp\a͈V Q>gMFK`R@64%6 #}_"Ɨ%b{c0vUKF # & .XU`JU DAci.e(~;Ga1þsJc/w蘆[:+ 0*[+" LhDiFIDG$]ghHPҧ|q_:bVe7SH1&&l*;7~i'Miʃ1JdT?U[,/Vv]X9nT4dÛfHw$ Yi >3k(5b Vxph˶XZ1ݿaWHk?rp,9z{pӕ64ߓaO?7|X $ V L~>!GK&w/ JhD'S>پH>RѾ\{Zg7/(=p`i7t_!v1YޙG_XB.>zcxY"I(*Uq.yFo=%VY (a~_wqZ\H(WpwKቃHi<;,ZN@@sǚ~=g@-haX+kРhbFv -dHk^BbJvҠ`* yYnJCޞ/>ichsiC^Pͬ|]y~'0au6WδJwh2=N'xJ:ʂMSY 6(m˯DN;DMuɞVֶ΅w$IzqϒDr2%W/~- ;}#ՕGyFI|g.|Y WeOIđ{#5e;T!tUg,ז{uv^4ٿâl36!lX2dҩ)h_{ߙ-魟3 zg/sVIۧEz3,x5T> x;ņ/@1FIqי`ڿ*g6pzP>K)`Y!v[uRo8'p;Tl[!P:HC)<&v#,LpϜ-_6[#[=0Nݫ _n0˝Yr:,aܜI^Ӳ\ _Sb"lڸJr ڊQ"i]Cdf+3T٤8Om}Es'5:`{m?7BDɀD e"}P~0FScԅS)7q(J5.Irod'D0G{xR,ٹb9*FXϛ>k %°D[CS܉˦uȳ\ww.Cܰ߻{^O}@n {< M([)y>[R c`Ɋ܂8ٽ3 6ިSEO yOgFZ2K *㾔L7q>:\ m`'ɮ ;>qN`MQhޕ(^^l"oxx*Mj m_m0qs%3 eGsb[6b,pNVs5"\b[BDg[[k1O+@ }f;?xi͍ 叆z[7e^:_ܺ졄Fj;n6?a 9Xh "*^)ɪIZ^CU#͆# ̈́?[gN y7 Nef/y$򱠿_Zˑk~&"fI8l^M ]ҎL}u oZlc.pd3b$/C[mI-Gjk1 KNr}Tc4.lFvX_l )bE An2|)E%rюy~93^O㽵xe_vot "|ԏjE[|j~FOWG*p+|,OS0q ht;23c4K d"PX=txp|`c麧T+jњttɪo&LKa(P+ TqIXaBL-dp^?y}F u5's䤉cH'`;lqf pTvnL \#"(X[FDqG*<@d,nEgUW84/W0OY9LF"SuDKB /wMDaD5S}eĽw^&bh.ך,}"r.A:J7?f_ EvlUp͕y_8@ҟkm"pqaI J&ȈQ^qd>LeT9}_qg(jB!. N;w5 VKH&tE"]5X5t G$K7\,n&:ruÔd[o>G}/7Ͽ䊑 OZNE[x0 Ma#jfC02zRniSpN T eh0/ެة3Ӱw)v.:!wdt+~G Ks0ḇ>CHsUk@gg9^ ML* sK Ǡn,.gUNdy($騫_a@ XCGBs!RW!_n6G(@n4umi'[+4!e&QM(9Gp5ωM bc^" 2?,XlIњC'ԧL;GgH_sbQ]79cĀvb[;_c;Q AR4yUܺk 5PΟ?0 𩬋 򅠑3huZr@j/$Q:-/~ bJ:X 3QTKEdpVFHg :Q=vdɾ4Jma|.IDnBW|ơ gՏE[aQPtKj F@e|&E'40{끨ZVBq%{=Zpz֡J_ @(ſ(!4_VTF= dgG"r9 &=amj`~e3"s< oWRϮ&:„9ƽDw!}UJ)WA4vJjkr'-GS8n:J/2Z6dSK/ۉl:IXѲ[sI،p̂XycяeaaQAT̡R}HX9MM1bMv4NrVs5"̴#D4 G$d(wwKRt%P@'ɣM*9&F]9߷4 [QWt9X pi uh`6 $e٩Ll o cdn< np&&g_|EM#!q|/D:WௌTh-=)' M0՘tZt,-£7tO|+wkóżu{ (^EIp-g39BcB6mZ: <՜i?rYH_y\$A}MRWrB 'Rjhd&j?AK  _M$tV5r;XNmf'6ឮ*Aݳ?QW31ʌ|ʗ݃?"o3K7}]XuAs'6Cjgap?.MzΊZDV89^6S:xxS0\)F;{/L0ZpiGQ= 7ߐI5͒b1ZN>6>]Qڅp:sj>N[LKks<蝟ȀIE|6@iRDF3'De$/7=P'̮.gɃ[D7~ijrFvA$^s,]$լ&44MH&nŝM=2b""rN==f b jAЭHL ÍW"QRR`%(k>hTjf9$)PVV]3Ic8LAf9{!*R*_Oh;r ~'n@I-e?t]L z мA0{x} !SQƋM+ٯ(Ebtj(囿L,Ԩ(b=3qXƝ#cƔaXvood(֑~BG`o>0聝PYz9 ўr DPףZ⊬d 5 ,FqOzQ?CL[R1`o\ArCXa!D|˜ݜQ"|h ?&$e^!mCxE/AƏ֔Ta7";e*|=km8`~./Z5DToY_cz%i*l,Xj |M (L7n;jN`ψFH^;$ůjZ'|+N)~V)k;e<}n?S_,;y`5W3}e13ŽO;?v; ײl4IX5!7ØQv(i*Fq8ϊ"JSk.\'_9'?D~],< 1vR&V6rGG'j TF4)rS׈ RTwͪӍu7*LLķkԺɦL-aoQbg5tB~J3ƒ0= JB ed <'k$ZOAK+2Zor9ZrT.m!+r{{':vKS;saD8Ƃf?kXLRؐB*zR@2JGuݭIn::1%Mɷ(p?C?z_㺞 ٬QA3se&H~Nh:.@`9Qج %L x=[-Zi05̬C%܍\`)26)˼q^yUl:PB[#9N; .䙌K{OyO] KMF++H( _ t یdŌH0u1 p|Q`1tI5vrc,ϾMr)4yjRd) nA" A&z<%ghDi)IL԰1%70iq|qZV-UQsрML n}:?G{J`H"Lg.t*>xM.\ 2%v%?*>[?/  ĩo,.ݵv£JWFc@{VIlzL_ȓuV[*\f*W;EUj; KĦDFҮbzm~*#SG1tv[7pyBZ&,7\T":fќve!P cz xt0Y僳cz`A}zndwI+-\1rс!lxz'HT ) ~#)49|WaEJD;2ue%C J䫦<nnեٝ4rU=@ {ha(! FdNy1b2gՉ ~qazُqQ%B:+[v43ۢ5@\흇2dvm$ C-H0֣_|X^CtosP;HW||zahym}r:[E׻Vsf3ղۉ%&w$iuTF>ֹ<+/b?=v͵P*oP-H@^J\641-ωB&'{;Ф<>%) `+ ]M-AxC壝_͔qEˎ@/Y-x!KӺ*8 ’<& etjd݇݅gvh2Ͽ(aExAOMO V: }i pCx/kl%=gd̖ΉR6 )wB)+cXe)=5sCMm"{sL>mWWEp6{K~03;zj(uvB :dVp Yۋ.ih_yhwm7pYtHƛy\?_`$B5|Ԍ`J*AYg򢯍nL;aBq䙈:xMFJm^pž1L2DA bv{J[淩 mV6I=ľ"FEM 4_  ! ^<LA\L5$jbpCD$4嚆h/A:lԿHژ(S b'72Ho\Ò+⚹g,Qw_^'҂B8:HrH34oJ!{Yĝ`[X|QVDaKkG2@NZ2}It< {כU v. ĺ]z;_-YUb xP` 43  xETRCZp+:t#?u,6 KӼɠlJx;(Ӧ+,ܬ;fvE ;vR܍mevYn;V8ko{C'^͉qayC@%.gٌKV;vxWx.5;a>B_PVoL,_[M>Nws+ڋmkn=-#/;_i_? >ZV'4u# E[6a\'Z&}g#J>B5Z%wޮM(K_]h˛ѾDusE=bazfy"BbN[Fg ;C#kUiPVĮQ^8e=85J ձYr~Q64];ڪK,7dADk=Ka@SmzA* Ώua$sEx{X{s+q1V& 1kT4ܪDJE&MYtpXݤRw!XDR}Ӫ4Z 6g]~viY̶h)Kr6LK楪M{i$CJk QS V ݼT(@4YbSyEjX^2`U Ғki8t'$wPO..f`TDFSg9w쌹QĭjgS72]gX'[K>6ϰ.pkmt`3%ۨU͊n: wII-*o\H@(sK:ʥZ2e)v0 -W$ы-5%4zUpˣ69|؉yN.Q%T ^_&i"d<w$ E:epUq6SߊZlEÞ n[T!ll-W|sAJ'A-qNb pp_Oi!{j,% KmD|yX'qR%,xw1WIG1|ƣE7qhh,׿gs:g`IT.i/{,pņjJagq+}R.ݏՠJsL`&U,ϹjuOVuTU\ݲY[S4 I`Hmdv9H8(ߌ0P{VsDYpj]l3oɚ]M`GBPt F >wAh 20>fI3);ٛưS 9DVn(?/<Tz|U^XnVdvFTDA~R#&5ؼܷ) CJ!Pzåk? cw5molr_sesQdG]H'/TQXrc8W{L˥Y fН+{ Kå[j^)ERSħ|QRS*΀3(d_#ztAc뉬io|s2FgƊWS4k׳8M9Q?j $x,| }#j_%kFsF$c@b3NHxDEkSۣGy[` La'RIclkCX߮p #ުx^5 `tPD@eӯk33f=vƊ sfCqoH6 #rDngcްkCZJr mkb3:n8VMM^:Tͫ)꣭Bš1shth` bܴ>7I5\ԚYұCbY,?Hvm KAν;&.lV܇fyä5ZccMa. 풎EaGfzE*X,H"]un pAlۙfvfeP:ru [[mc]#:YxHV ewOʨ9UP#`h@v چa,R+^BE! )v]8O];21:G Ȝqp8^fҳ[`cu.ΐF%C` rZܼK@7颏6 T|v jiL.429w@ۮ1"C -eWu(3X>ZȱugD3B \Ű!d|eՔ;y!X_{ƪL@^]_Ր@ԏ0+Ȓ3 Kj%CϚҎ ;rp Sk T~vPY`؞PU5zG()oYqZ TKnL|H+4fqjʨ3ɀ;{x}zoV~皁["ʝh^[Pħ. l 9YfT`boq6~} e1hǭVXex15DQ~^#+m%?>VB_nkis6 P2}S!hG4i:$)\fmJKjҘr%IJԍ{nKoS=\2.7.Sk~i^x>;t&n3i>hkȪ:\6"XaUb8"2PvlDɋpeZ ~z&_A28#L8x5lGif@ uRcJWOg>tJ8W5I3CZQ،PCq1P 4S( 5?"~a$V[Q>+,[JU"<#&U&pek-o #~a,.H\H6F3F#QK'ZB09G eEG k= Ko 5FI7EW f!M]rTsjb|M'*`P\S4:**2}dDh,x3]ʐahjt @Z@;b Ea rTpifso嫛hN7GM[(MKCZ)5@=wgwhM1II-biص]C`௙a/T䛊r/]l.ޟGPd+=KcxXbFMFa,e&>i mWBh67Aض~]2#CB̶(ClѫxJ9E#:I0yk8/׈JW`1#qrTG+8فv4.Òh7jU@n,ζB:IaUcRzvO",!4p~EBl?ȥNOz3^iq 剅 f} +)Lx{SvƁUؔ,tU^t &M}*dfqSw a=bP^)i<]CQ111V3NT @5"-{iWsTȿX+T^9=^C #umV>ʗz}w*8sWӔ\)$]3p+W%k( ?J֨Z[a\)ngp]4kae7a;iEܔ8j):w1381j8trG~M/:&%S,|Ž,:~|ae]Q˱O`е60R+g~JJ*b %Iw7F&e{=0k&Chd[/iB ٰsLƞCOc REGc Sy[HLI<~ӓNXQYU2*8ϧg:5O'I%/(Q"xmVx871lahL>#Ni?pTAXc&8V8`i7ש1 3cM[gUvKquv B,t*x"`˔gKO-`y@]i-lLmt1ŸL.n/_HG=Y1,KaڞCcBپAuF4-D2ȫiQ([z"_m&:W˲+}[]̱P-dRcD>6j;D 9OH?(aTIJ<^`$%PuJI[a7*.c+"I% TG#'*I 8މx& {o <&8I:g]28ϙ¯BUȶ;P$.AX8?}+z:=>lӃ`]z!jv^fڟoue^ J}:b.6=YIąZaH|Wi!+4d  #WFe*]AsV;_<~ 0;s9EGP$U]4ZlWl0K%mK?tףuO%),ԡ@&O3u;9HB{0esڕ~#.S$1[q>ƌ@|蜬`$&MzǸ#1EBpٴqA\UjQu -5IktfMQuLwsfGg6M"G}XXG5MNA )5ANBJ L†zŗ^h\8 ޜH_֗cm:M2.r"r"`F|0!_=>Fl00EMxLz5IgϕrfBO v)aE:a15p>a$c]9D"v8¸bfqQY0#hZÓٵ1;# HbTDP!ߨL;K;6=9-ݥTmY-=M 82"N\Kw`/徯跀7B`/L1^Kqڈ]3^(v&Ev7la/;4$d${?/)KH _+Jn+,jr9$6Te2ٷ[ gqZA5  |鈳-p+P ^0b+\&bʋ?N\x 凊'UW曞!4ˋe1XrnR5^[uBeh.`yP,~N7ͩYxi*rsKX:dPz?hӖ^Eyz #{A{xxhtSv0ԣUi=GĜ;8*Ak\[/4ɋՔ- 5ɳb>~(0ڬ>ezT('j^G]þБJEIOdRkyگ_1hKyȏ~D/qUk/⪻"~G?Á"di *fD<1hvǗw91AWF:Hrin:N6Lxa`PbY!O>-O/?e1s M1P;b:[ e = 3߬?%#=H ShF`%XoG.mep !{)%&rzH?%y4(`=jsxڪWNʵ:NNVAs~˽:5I.+Ea4]S: {eaȪi"K#A#~ =餓OJLp.# #Dw[ (-l";/p3{}M/17.նv5q5/; W+ R1[(9[(M)`D@COmvM1 U-Oh(9ۈ[ 2v3XyY3vûrnA}1>|b`t#^ ~[ u©YR.«LM*mՇ}CʛHAId61}zi%Sעg~]}ֺ̊0v.R :T*(f#XZZ!I* (>hմyXaGi]U567GlWxI0sK'z/HqQu6A4GAﯽTP %O!K?P" OPmho(}߫Nh0c 1{Ctĥ> Ƀ檈/XD.18Y}3pr7 b,>ZphǦSyGLn`tG]ߏزÞP_ ~JKWn14y⠜'5+C "vP ^V%C16A,y+vfc|3a8=Ʃ9lهI!5H\o56?=>^O]md?Oxxfkc7˘ϙڧUFfK =ݵdlq*j(iRӏx~ U +Qd㭭v*;\WWM|L–Be4R/X a1KJ64%=D9]0#­JEzS$ ';nФIG `&v:g.uAeB%ԠABGSڋ<ݷN~m bb)$>CK@39)^ 2CPvusE'EZG+^$Fegk'EFNC11HBt.*hy+'$H`2 \3MQK泩ity-k{_Bw3Rz}pp}pd]F&T'ѕc^B~mjb9DJʳ3$\>g N^k(Q͟_mC:ϫ*5Q% cwD $^DIfF^20%[X"(9?$8;BVp6ܝ LUyLIΫa\)q_q\y2aU _qeD/ی1Y3%P(ϱԠ1/CoBxVCo%@UŗX ZGxiB~z,5_>BĹfr V=6yʲebRaG܍\!Q4{x8NU/TDJҋ;Wƌ5YNJN6>ݮ`+yɻ="K8pHs7w:^. ;5#5CkN;sz 0Wt>P tov ;g hc/h;zikP"o,BǨcs3AMΆQ21fؼ7^y\Slv:nIqWO0xmx9OvpBS Z>`^)THO#t1"+ a( 1ދ%xSЅt9p7Ym wVX9lڏ~.NQ&nx_`. oDm [ ̷zϯ;czޅ XnjCS9߳YWOh @׷r <"U\z! ɦM}%`{rhaXASU74P,kp^o.."ɥ#Ys=T];lʎ`׊C39tS"H{g^X Xӥ# MS+a'G{|PiM)y; mU0z9jW]ꅱ![,M0@>'2aݹ^&zCṏwD8%gEMmHyBQqyR'|$﩮[OseI0w.}b`Ԗxx7{#%jo4~{v6L5M>Yr(oܚmzOTT7{7!$2Ɏ;699m,K"˓nO%!bj4gk{Xj52sv4fdBjjN3j%BxȪU9w>6 uLWp$sݒY6 8{dz"0]r_`/CπS& j'gmJmQ2Yl ߌTiRUxjpsȨCxGŋU?(-%6?:+q?9풐XjZB)1p )FlLx=ͮ^W۫բlp[̺W&I?ءU0wyunJ|ID>dݔ{2Ȳ)ڽ>pvP O4(ˉg̠*`>D> x{,5{ut0@%BYvfw8ܥV7wwjؠ(,|,ILpe;Y UyB'f!%b>,ʼ$NLKktDHM`im֥Ҷ A'lPsQ3dGC6Sv< xd(دІo74w*W<-˚l_Qw'V:B1S/t[1˰2/c au 3L 녞 u]x#U΋e;>[hͮ+4ũZ}p/5GOO* Q6{̶蟝WQ% ޲z8~1Zᣁ40 -uCMn9:] e+T pldY%e"Ga䩥FJd?]XYΆEe$.Q -Ay%iY{e5X;~ `Iq;TH͡ ݟH9>7@ ?aƩ1F S-3v 'fZtC2>f9BfxisT_^;ALQANjmq %<[?yİ aytr$pcu}SE@LH'RlriO߶a {La"H :H f.*p9xYSPp?()]ZYk@ZF:'ĩBbc?tf˾uɈ4wmbUZOӭwI}_69^ό)  dk,-N2Y/w*Q`B<Ƹ{L4}Nkz' 3Y/Oi\vvV38fn;Q7F]ttIDkPs&l_1_$etE@~ Fwt T1D=9&%TĚYFPz/ a_koh(; lL$,yDHekCD{ۇ5>{j㵁/PLTiV!3~[a2!/Z;5gR?|f(@P4 sƓ>AGX愍[ U5A{r7h `"q [O s܍$[%HVd9pByv"Џ8U@сvjkY/‘`kO!U1|_,ya'lܐ-рY>׃"aV&ӞkKF5s{r֘ T䏜[W>"Yѽ}*(Iuܦw6 4GgxIn8I.IhZ))S0Chqt& lnAT 0V}? KMfXl v9G22=kym37`k\lemD%4D + ,tN5V7) #!iBb<{^>L b]tdMJoFzj|~JN٢zV{?ډyًmBe8j -hifP3J ` ZG9]ο|yKnV1q6Z<#wV=4A~ E%E"7=;BFujbiIzGR%>]\/aU|GiMDLAkJ3G',/u 1aHK\oCb+<(nf/N~a*UIpzL-g?]Ozɀ"c K$m_6ԓ''IGfY/y76Mo͖GM[oN^>юJlLԱ8 fErY\(zmvCzb.!3Ew4bڀC>@_nd>Vx]?%;װI v{zMNhCRշz';>"TP3>e:yLʼn"g?GEQ \'&bugΚuB6-KhB:w]F wfh\(B)F}&SsF*jA:JJ|EJZ-dp u}_g;k@_E{Ӏ?S dfs@~4Fs2tC60[ZG)G5 tUQJ!3k }j0>|!marEc ZA耶 Q)]I!&_P~cPCLR/"5 ASD7}\hrke2?cN!'%MZX,'.Ȍ~`&bdX6^`5,TY0La _#DiN3j5\6__! ${Dq䈖H:A5Mcb%[HW}g0~fq&g2 zkWGgrg:FlT̝dd!g`',zGNGu_*(eP߰- j8=syI2rCTO?,2.4N仱ФHbiFߎ~0 kYgȥ*˩7-&6RR36i<΋'bn-SbzZp\fu$ .qI} 7nC @[ۋ[@V\LZ]HB%d{_d+kľ88j!_I*Z ~>i's%hj1n!ΰƶ.w!C.M"A`A LM@h,bL Ѓ>3junFi@M{"NTxTP77Zbx.`m<8ne.I"JDgeP+^{AO?m'I\Ӂr]_e>ъLex[۸}T L!(*1](`\j"B$+˸)MWWjVdMZU_AjzP@5y aY3A5 L"JL9jr'i,Pǩ)(47/C؏L bfw&e*2tf3 )o~>*7WxP"M!G99h7wE`ac(eɛ%}JQ38y"MB mѲ8׹pz[==B/ U/a% *A|%DΌ\, tRyFaT_$bڝaJGB?3vPq@3#9X= njaf s 7N]֬XGꑽ]u(gwpEIÏCv{&۷:{Z~耼 .xG8]+֭|׵gM+MrZdya㺉 Ln B1[_ wHy"WbgtuK5~3[- EӀT*κ';:Q&u?WkG-JqPTȾ?yg'5VeM-2i1K)WGae 1m"T}>%+‘HhSraw7L"&bBbmgԝs9ܽOjY~i&Wa.Ԟ_YG1ʧٮ[hᆝU'^`}N6M}*fsR`W #)dtI>?(]`W]z(+. :JxxDjU5|fIY|4:omawu? (6:_ 0Q\O+*R;}Zkɑ\H|tpx9wgv1w1vɌNЛ-w˄Z_kҏW2KpT,W\3h#"Z9=6GW]4WeWQ}YUӿ-;'OT!iM,DŷH@3yV!AR*Sfm.el}1' Wʣd9j|2')I~RN>^ _P* ZmCQA/H:T9Zp1sZE3n3y_fS]u=oB܇/]7[¦eKeaM&,h,RLң: Uh Y"4oub3rMlx|Aa3Meo#G$Tovʊ hƚ>آ&->,Q 3ӭG.jzp5h0?$wd}ˍ bҌvx@8sQ̹0 k*λsA>2tUR7Cy4uŰ9:'|MJ er6R 2^ ^ym8+0R!!La'sϙylǁFAfpKݛ>@ʙG)r %E*t iMU(/ y@Lע~B[ S) ӥ*keRqiTqU˥ƙӉ{҉+ٺHU"93Ũ\b/xi0;Lu{X'K~hvLX؏]璧ǜ1|Ȼ7? kB]6EH$ r1!̥ uhezs13.Ԝ˖/p-eʏ2ȱ6$q(nL*$$SlNq\-]˷^~Bܾ?]Oa uVu2/!l{?&aƒ#'Ln]1:øxgPJeߠ'Ŏ^0 ( _b\EĹ8ȇr=6 [݋FX < lH QK0 kQ$kDюA0hG =?"cx?w[,Dn&2zeɌTнG1BSRaU`4.qє#煷f[\ ܿc+ i3h@+*Ś~6 !'@ڍ+L{ sn0&,(i\C-J?]e#hD޸:ڡNΨtdyGqEOAYlb>9Ю_uĘasokؚ_ZyPPA[9Vxi$f]7śd fw dD5՗&W}z ׅ֗i^=2BNf0!_j}bS0}l]i g@nw%y re wp#Edyf\=c%~ ,{kg03K(n294V `TB:1{GDr̴E[dDc5pW٫A 3H e4[b`:#Z۩/8'tEvi*35 9]$ϥXO?'1"XK勹l{ה ˲XGB"IwWN^0>gC`+u΋]b5BIDQY6A $7HfGJF9ڰn/ ޮw>d#Az Hpo]_&o)Z>ҁJH{Bd)r8aqcM#t@R7]l!P촁 aTj `F|<|JfXxf A6JF68S]0dVLu:I,VvsW5 ZNVbR <-(1`EVeZs/h^ .r<K /THT2Oa$(kBil|J&鵂#m{s|R}m,U@;G',>h汱л.5(g4SNLƂDw ^g6 7jާ:)Ru;qpg7So[SK9ŵ O >*3rJ5#x7`GPudR n W/& f,ә["0Uf\G3eeP/+ E#\$kSgW(Z ZghgT u㾐o h)"YU&}N),)ؼvva3' O(> #SgRq$+PAeLCҒ*K$\ u&C\\ ˓ (eF~xL,I U*bAy{~\ cHn%"`J59r@ Br empZxs]_^\Ɇ-Q?1MO3a㾋(/nvl4 @y4eBU7JɆ|RztͻD%C/Fj5C?cU\|҉c45Gl|1ܫ7Hpoq5qż,ˤ+5cQ[D! 6zҗ gHc}y}N*~6ofViM١\ͅ@ :g*2bO9LJ,~ߥvIU0M?ؿ"/EiluVbt}Ex%nms_۳%&Ыp)647WBNHu$+)𧔅J#qK 7b"b9}iCOܜb:f5khT;tNԑ'L9+Qo"h ̸r3^)YCmxhLMv.Hޤ1j|d6K7t,'1cFrr8O81$t#Ʌ86ޮ8ܰr9`"0Ͼ4%t7zҗڤŐ3њkş$#P21սjˊ.Q]}!"Oeqq׋YP-ʬџ`Cx uB-jBy :ZEY;4Q,vɱ`G[:w9} ݚ%rtc'l5T.(G:)QNLSJf},bAj,y);ȶ8T9ؒkJ  I堪1(9Eew.JA {Xة)גkdBМW;CK9)BǺjy ^ \1n`(cRtH1z'gL^,{YJǨf/<_V}s&c;='1JI. :rwOZCC'Hɴm? e0-a@i /]鱍F1F"m%}o<h~G)*8,d%lYk '_ʰ}EPxre< ybYNs:Oߜ2)DFcwTLu^&uc{ܚo(P{EQbnޔ==%­1c P&쵑A`yCkywK*[~F1z׭A2>kpt}J0,q=l_w I%x@0|s |EAʢJT/,f&T/w(y.rۨ7 Iه;Gg改ljNzH@@]g*ÉٜrT`Z8t-&o5w5LJHWp[tA4 *iM% 줁oh_xlxkaxW&Tik'v ^D& '#bF(E~% _,;N;6@{Mrv"(V^~`_wA/vS:l|z8>S˸dӵU$^ Nt>$F.Im i LVڞr]a)͉f*YD%^5\TWs6Ôo*q7yD!$#,sھ7ŸJ 0R00dtH8*uۜ}P:~; |zƹYib4k)>O;Ld43'ԕgq7Kzp#DwL}Y_unں @dD#Ud&`sYK FV1;yF&G (dW}1qYMޫG8O(w{wHϥow8 =.蕡n*ڐc94k4{dF^%}t,|Q6|jZ( )@IJ5cd.( W<ҳ,+M:%j_Z&:a7:x5zt\: ZxXJt2gi7u*N{Ud +ö҅%8̭l'z7}|"ip5]/iZt04 dxŔYfm8Y' xt_vɆx R'>JJ!˲$I쑾S,0Ud3L3gдFMWldZsWpd 'b̮J1gl7\΂.{bSC.Al,!-p㊔H Wx&00{JWT Mf&xՉ3LnN\LC{xvDfR翭=v'g\mΊְiSŶV+@!ϦpbG{ wrڶz`*M){N!;HLwI^:~nPz!R$Y WnoŰcqalm4$򽅙S~gtz96M\<$EX8u'9tv!b RwS.RcǷc$_>\:Da|ܓ3; DOo~c6son A}zajhF0ژ˻8c鹣jX,L>b.!b* 2#&3ąD2 eWFs%6Ð0)73} *~Y-EɊcD.q ەcקK/}Y"2͜C5D h?wQC ޝ^\ tiI6/h2gJ.0햫V7DnN6v`sBc*>0MqʽJGEkCG&`:9J WkLMy~oͤYgh:\4,p7pe+^J|y4#B6'khП1ܴeooiW:r_w&2mfO"Oݎ~ .G)T:醲M rAJ]AUKnAG+JBW |IF0e-9kNj5`*!U4س '-.hc-Y,{3mnw(|Ja+EȖ&P%s@pnLp`qWmw'q+yx_8`o迢_X#idVw%W&w+NBpF!ߍP77Sm_uaZad]D9 5J4GWбw\Հ.h@Ih/ntX ـkhy``tqo쭶L 8,} )-6^Rmk]6& ]urMq{pHq g[-g,JF&*1 3 ̪$խ;N{WWzSa^<;'Dr)[(T'cH3Q3N.!w#z4l5&/x+HwZggBOdo:D7Nr%H$TNDtOҌN߮$B\ij]7@]yw,X;$/8fݫc "7ogĶv%-Rp7@Ioj-|Qp!S w @L1vې/$b*Z3~APDsՆ$I][EwAiT=K==qmwN̓њP ~R}3  zlN )VʠI$>n. DXϸ?Hs|3ey@e64t;a" 7ɞwy%UOjy!^M]@2MM_ޞJg)^WйfM-څp按"AH2BX;|Xm< ATD\(SMw&:u^y+H+G&GF!%}1V C^a>hCH,fߝAyh h`W$B-cv vtb+yyq[1ےj>JH/Οyk¥>/ oGtºD)𕼢~U:jPƱe+7U4^UO2LKoΔL;I.y51^ ?١/ &6*Ѽ=?8O2H]rO&-x@;Oܭo+ Q-GQ><yG?]XW6JhL?PmF-tAee~߄ק3zY BKyJ7tƁs:VQ8D~ِJT9eL]9'XN-yLwT4N+,KgpN{GYBp#!13$uB)FeZ!aG0{P$fv1)E*n@R{iQ5#Kܯ)цINiW6cNcy2] h𧬏w~tڕ/+߳ Z?:H Tq")<6KᤛohD%I#+! ^K 5|թv(Iusv$ۄyqQЫsR<- {ڏ- mmrbzڡu$wQ{2 dMwփW}]W,Yy5@~%tg#re-bKh@p #h0n`KAM50`[R-ur 7CWۜM`bH3zú嚱 Wfؾ"K4HDNUU"ё5 &&L(QecVnm8z5SpH"FMh”-P@yOIHW\]rqwڠg#k %p%='Xt+6@88p&`!CNVi RзjY|~$b]YZ|E4f'ګ[rmSqvU-` '7x(~q.Z hr-Q yy|g!dM?"8+M#umYHA~NH5} s-ai'UpDll|juVz-&5/D"p[6ĸqܦ Y3Zjkmp?m=} ҖnhrEʑ%jGP.dm"F CWv~0ؙH介f*@scR[jHS' 7ռCjNT=ٯ|zo;"Sz` GYU~':gWtNdd3bGCd9<> jFq֬9vڽ˔ j){X r(x0aΚb dQ>dX8/C]$Ֆ8~!]|yjģf1$ x3NLEx = h k2cPpX#)QcϏEir!r7ZǮO|W Ѫnq.g}BynDq!Pnn6- FDNM^4s1(yЈLB'67Le:5FvYYSJ{!кy,U&=Swkǂu<_ԣ>\̛|+ KqX|yAE0}-Ihl~]d0$scĺ%^‘ ?>΄hS~8t(6S]gkؾ^2S0|^qs28mbw Ikt3u h<!2lxa?q/'R@ߚ`c77 dgY4.KĪI8&ڵh Nr!v&,07Ap{l[&'F]+Ws..*{qȝĹ f%TU8*QN3J7+$Ajn"#Fr3T!aS9Si%+5G7Pi/i+n;a"7`h`ɒ~$=ݶg1o@؎`-vOBa%/v(?LXq'nMc+T"CU_/eU:/ۖFWmx(_ˤm<>j:8aVQy}9EˏUZ뎠L1Gī@bǜK|^?ʊi@>V$7nW Ɋ;*`?GJ Tv}`n77d-Eay 1-Ut@fN,1YgjrS4>tS^F*mn@;-,8rE hŪ#fn'~Z9aaE4&TBgFPoLm΂tG9#dWųN kG8:7]F;/#x32-Ό<\0Gj2]#!#d S~$@Y7"o?GOw7 iÿdKKR1kBRr4$! u̵[~] ƇjM`*WeϾ]N87vR zhp^{|]&3*66u'[ 幓2H:r FIPtI2y,7 厵pW f6bD 9Uk8FfrV{K6_ 3z;^82FYEja)2ll.LT a_s7Q* j& /,W%D/"jǂJvf<ќ|<>4S3ijFZ޲(PB\W;{!3U Oh{IR.N+2y~bUe) Sl}W_\s h/<>Ѐv@d2>،څ /NW4w5T\V`iG'w+8sߪ*(a||0q9XuVUƁpvN#BuXh!x.+G!T{o~@L.Q D2ޔZʮ}MDط}1#|MpW{Zf^C둙&aEedTp&( !'j,]?7DۂLgSnq+cxiO['tIs,Gzbצ +rZ49@mVDl\_-0BZ @fT{pЌtu,䫬t,T&hn"n@1?SZh`ꟘiSxEc ȕAp^/xްC"O`s/lm4 !Rf80cp_񙧿@Q~cTs54,@gԥbϗA=`rRWg?C8a#U5nQc-KXn]lu ʘk9ݒ*#RɿT FDi0P1J*.  }cXOF8pLʼnyiʽhLxrBsC6҈d{Teb4iH35}qIZN#M0&!)h@z^kHL]x1gAthwۭ73/[{DzgR$(uS}`/QRhXl1&i'Xˈ鹲|erLb2_jwHζSB>d֣Ǔ )+-aN] 節W5<¬D|r9 y:O (S2#w۪u߰qp5 5{vK+}Үmڑ"R./rj5rru(vgjZc P#=PIMǃ};)K"a$Ե`xV8QKwz[Q41ܡ9zb4䅁7v͐A80<zNGL"]^܋GAT>/Fn$mC|g6?$:WQ˳^UxB=aAȟ,J}U*C}kRd@ٰ:̧(ܮzᶯxd /n@GaA1ڄSbYqx,Ab^I3\8k{r"6X'COCCT%;PeY V'+ה3k'@ƖY !㤛DJwR_Է+'U~  ID *ZƀIR]{ShŖ@6AWFt\>|?BqOG%Û[̼]"Ҵ,q{jgg]mZ&&jG܈؍;vJOGG^0#3|%G^ < kyLNd0qbbȑѝ βde pؓlQ9D7(u Ldr߷cciz+`GE[sڎ|7z3VZ{iBS JZ3u9wX19.0ӐsT%6y C٠Vi`'(ũWUG.!ܮP:58ɚZNK'Z)qJM%c鎘?u!MŞqomgDl.DL@kAS{GW(P?>YN{Ro* L5YpZN׳ȚϗM2 b]&tٌУNjк*˳'k>[R_}U('ʮ*2.8xEȡ3t+ Zp{<T1rܸц>kpj E[;Oo6]OۛU$gxC]+}Z&&PԻ!r![愗DAz@Uxh:DwbM! Da[kF]3~ש{F5U֤1w[:lw q,fL3Ol3&\ΔD,f9n{<3>qYmQbС틃|^>T!Jno}zuEv!sLQ2FԎSF̍8HOFa r1ibL]XxddMGǷQ}P!"sEc,4-gМƄvrP w)zP 0' 3kpd0 9 2anORy2}ȌTIIGx;è9!o#vNZq3mmsvWG7a j-hI\h&M)?D\Ω]Ͱ%2Y}Fum%ەļgqP XGUFOZ(3D"R)z1(HKA|ʀh.D3!p GMh :qٗ(c2k절qBH󟟌ЈO>p;]+n' ۰2t:Y5WUx}|XlnrLȽ*Biv/ÿh6E#BV1YmMBtޞ%?9pzO$b/\{xaj=rIH85z݌5naWm7Bs>2k/*K{}{nV*h:J60+}Ӽ% iތ r&8ִGZ-)-2ZI̾x{4ۛX-͇i9l2 ,A8ȕ5ŀrDAbCzv={] vy8*nz(w[%ī\[.ފƌJEu4Tj}(\eDEj^TkO(j%Ky᲼[2 vOo3G6$vb<~O1L%P20.%~ .ډ0K Y{39ZI4[(1{y6Y@E2{*\29ByyN6o]gyb݆A*:uIϦ^I .,$}VF eB+GWZu9w~/b~k6Xo4N%p]*TnXGSRw2W{ c_^<yaffD`z$5࢝ pEId?6@ ~b-i(9s>|a&tʉ*Zڂ u~^LQA]RAZ0,x~:R!9RPD=K: A*HjdOjT׾|yEn}VV 7q0jȡ4R\ Q njG ʄjsZ~[gu?fnh~1$A>_W 8Aq3\Q}. 3 m̽2h5vCy(':N̓wցU^K.oپv?)+Rx~3h!FKay݈պd!_l\aԢm`1ʰ*1lL֯և N8i@htn .>H],` *[kG/'7DF ѾYpi=bXS =ς~wD5*g3\;ҝjD$030=KgG"AfR s>e@*utjYnyQ B HmKAWn / )}^œGClƵ)!]'GExnYgm.3d[$(%HH9eq0]&!cB6E ?U욛o!"V;Y[0$&ҩ\!F>T8Rl .*R8+i*6]/cUM?6okY>ߝ$eӰD[1߬SnB:;?ݗ9yc^mDp))QQI*3[pA^Fj;6HTÂ61VD#ɹ9֏ 6mVs&GJ$h}Nܵ9epc)Xp' :أwInC#}5*O!@d#=v?+HDg~%SD=\yb$fy>,ZZr087~paMM|I ?r$FxsHURUND~;0+ afZ}-+0 $ |@dU#̯9KS|ͷuT8 Bx&&Ɯ=`@T2;(|<*yrȷЂn|!8,D)ay3Q Ё/L ;VrM`:#z[٬5/) )'#Z mM&ZP- ]PS Z*Jq5m.x+J$lrl]16wIiz"Rڛ.bGyu!_+HqQnx)@ ]e],Yg8kj[Z/Y;׿ϮO)e,`,zT2:#;XEgKZ1Rje_g:޻KC3L.&s{;pH՗$NJN36C*_Zcsi|TcLNц 3QR,S5ͮILVhfU~xސN3#9^MgjsX1Z*NA*բl@l~fI)qh/Dp-sqMϝ;U H2(hF h :.|G$ Wn霼*n>d+ğ;ڶB_^Dn^gT׫c~ъ蠋`C{FyiDn ," SMfHbzKh3pp)v[Nk4:jɢwfx)wiN8k5sjj`A8-$&B2Y6Vk-ۨHlȊl:!t9˴rR*7dTlx&RTZ1 E>hP(ldz +Sg#J}GXQkffF~{۶ա&r ;Jp3*H /ux-ӰϮs@cb]k@ۯ:|ؔ/l9a8i^Wz,c+uMXAԠq<ѠKBMb)nBYI"7ՓR}<#V"7kQ&B]"Jx|{1Q8HG5r,vxZI Ę+kQP#aKI} 6-S=x\*lBh# 3ځ:\"cxZ%IRݍniVHe1Y.0pՀ*6I. }ȑGЯ9C-l];DǕ{*?eT#΀M>P XK Rt |A36t?k bN1BOє|I> ~uge26~HIp2[@9gL. مDʹK4d6(D `6qtA\m\;bH+Q#,/n}8}|Tz3oXhA?-8i|T} (!=2 ,Z:Y>2q v[bb2h& L׃2DqŰ/LF{#Ӻn[0*kl `+W'-B@T?]Gz|{hg37pfl$Hiw,"'|1jgzW9/c,uo nc֋鐄Gv1Kl|jO&ewFB';sVph2DF@AhBD 4b "k 7M5tU gUgt?X9)J/އ-$@ّޯRT0gmOOE=t;HhD}ˮ8A^AohXED\SܴCpLA|7Δ 70m ?*)ZܾL]|HhlEB+ F nk[ (D'¡jp "X?ԚJr3idH،R @+P[aOȗ`[u.ii֝\Y;5mQ;wg F tgnVL,AƳw#<+eMn* Ô1` 4` ԯwoUQ˝:uSBJ4G_xb /d8%PKt:O]{y㈓-dS6(޵Bs鱲r&7+ h2p?V^Xy*0BD, yв>(\Nmָf~ڧI5TX_ADrn #n J$l|{'οlbZyI4 䧠no!1xLIEeq#KӋOuVa=YMtbN,c f]vݮL' (abtSJ4AX2I?!#USU%U'^RjI7+Մ Q3nI%Q*_E=}]hV6:llD*Oghx%UwMY+FEvbWjxߴ+^a^T'½_.ہm1O9*tZSU ]JYoY ̪~*+9|eBst xv>9*GtÁÑ=9+Kў-Xv<ղJ)սFCُ\MoәŒs%=,}ȣIf(\)نxF` D—x}CU,)]jՉ}Y9 }Fݾ+$  gԳWu GァrUP&jo:Go`Țzz\0:I{6͟n$9'c4MjIVE(Ҳf(_9** cbg )\oҦ ({iHv{ !@'G"aR*h&5K`teE (Ƥ׬]_yMX0/ ?4jjϛڢ='|kSS9WBE%E[- -#k~|}S[f[ 褫= ,kvD|i*`&~s2l8L5vܐDhݡ$|v.:ӈ)Pxl:7 ~,N %{- C%K];ߦJ ^?QܗyuLC[7o!@D͟n =ʫtaF2KG߶:lHz=8roAUJ|8YhI8}@NG Tn\ס3t0.@!SõQvd-J, Js;[*[o(F+4Z:ex-ŝ)`K{X+shzݱ5#R</O+oΕdm&?* Ɇ;,RI5fgwm.2+nM /L;(xC1ıV}3#ifK8#Y>AqY7O117Xo;ܭ^8@壇sR0W ${:d#k_DbF" 4u% dJ~8*SxUQqvӐ$ՙ+*'s #;QP?279Z6K<"NOMzc 5}>4{Oh=u嵋BbP/9F>m?0c|L7|vIwMo >mxhe a?ϺQ0UhV4q\J纲܈$4ϯP"%cJ"tSn1*zZ$"DfU 70"I&Ia6A^Ø{쑔DNs)=y|牉w uT=Hw _{I'3\E,-ܛE$u7DU&C6pgT!\kx; %2'Jf(*fabվLMTyM* Ǹ%fٯ9? Cpg'^>G|"򍸽1V! ] i䓵ƥ-@3ֺمQ]ʽfh,ҽ̆W'ojP r?i/q _۲cBn"uΙ4;UINF;qҷU/ح\ܬaB@Snq!]E yд볗X6!@?UjY"aOGc%a/˿+#u$̽ѤqBƹ,JJ 5R%FԴ_DrFZ>fH?O2`ޢj+FCCErbsE$(-;`3?˥Flw˩͔w;QaDeڜ4ȗ(qk!=?_: lꆒqFWXÚ6 w?FRTWpn}y VG5Ǡ; y .=c+Yy(e7KKSCڪ'ƀ] C34ew-9pz=]&Wl(* $.S+%Vxq;:;hZګ7 >x"(GU(Zir|B9I%u1kō'**vR'EI: Yp0}ZkH3OHCF%Vu)B$,Jzm]nѓ̆ p&0T%olH(] M"u+e*Jx>t. C7]^H%GSI }CSݮ3F\=6kA׿'#y[.bς,mUΟ)1~GՑ,lqhao'uL9A4 ce# ~~;-_$[;c!A'Pu!WK9x#|x֙^lU!ρA![;}Vк.iVMJUĮA'F[j63t7sIlޭv9QaLp=@c3<ݬ%6iY2G4mh;d;uɒkc^G=W-+=<L(7yb\3Cy\0yG8xgW%UvvS ngLN 9FujQxIfEok@F~Ё,*$k2V.솄o}sC(̤~yT9 QE?j}<]3`w׺.򑰋pN&`֭h?Yƪ\ʇ%h(C'`fPu YwRjս|9~>u@ed.ޣ x,/T$A]w,!1Cexb^̍fpQ)>ÿD-3*SP ngeV( 5g9XJ`9b8!C%&x o7Kz.F~L5t톐>n;.tCpTNZûhKtX贳RC+p \I`ϊ+5!f*&5>F6>.=*\ _^rYysJ`u5ǍWt`ӂ K%,9/5Wx iA )juNeA$tk)JHʯ@Q\a3+lx |C]a¦W͈7MCL^y50yGs}1_ҕ+M}ө#g۩_OvVrlRz\ ,]̕F oJWa Kv\Y`N7 ߂4"A3> Î*R,R FwU>*0k7$ êx[XYHgS,hݰi5K2*Oj;hwUU`.Qٞ3FQ礵&3Ɔ )-t_Gf}ZƊеXҪX b)BPB#Z[Ox3r-8T\?OHXb(nU%as.>Ż/t|KPZߦήpnр,ilA㇎TiAFx\DY695 FZ*ŭsILp,$  z~!<`2?JxaD'qTnĠBȖ\ #4b.\ ?mA9Otz)(&e\Q+LŠ5g#vfcϏǥ[U0I'D@J,' ܝJ1*T\Jϝ$w=R(]:h&"_ZmѓeKs҂˜J[rh)M4;ptfDue㵌k}C'H.BF"YMiBI+8Zr"#`1٘UD`tF8P;B9Fڈb;|Y{_}Hu oI}T$њG$U rM~81xR{7˩4exItE Z~ƇV9()@d4,CȬZ Ib:+-Lz(ggSx pHB7^eH2 UΫ/Ұ N Yh?C oA pw\ )sЪ0*shYHTb׌[mzN,]ߐ9E@Z`qrm(bUxLq3\: 웶8ay0xh\( hQ%l 0{qkNe Kr2cLn 4 nPq#'5YvLP^+޼eH.Qr9'M(:p) ~gN))NGk؉Lӣ߶r!Az&]~FjtFZ|p[S0߳ɹ.$&Ū| ;5OUk1B=ς1w\,l<[4=0W”CUdMPљsk &h/?ؚŽvʳ}z#8K<{ ,,rFv=|0bMoy ̉N0rМPE(C0 y<]ǨG捁5&~KcC21!,0xW)yB~._9`b8};' PyM,[7ܱXnJ ^WfOaPz݃o q>U#riGǽ 6jRۢ40lLwQIU f@ R,vV.8!f2#7)O?'0Qohp~FECX&Y~}kq]~(mw\RK[#t?.G-vCz"bUCu?(E/a}Q3\35rYeܿO[Yڻ J2!RB;x9氶h(Gv j;Np\HwlђuЗ]qI9\ӏRGE$' & Ⱦ3<bbA^bjΞxa(t.REט]r=$\䰌V-*W+zFe.%ED+!<{n_t6iKTZU+#>Hq ֗) }Z]-rFɈw _%|@mkCFr.㞞`͘.=5:-;\_XY-S_a.\lFPQU W,2I[A kN?ݒsg?IN<;KqK=~, `,Rs"՚eE J,\!}g 3_ZJv]9OvïɘnVRndsӭg0 r? JqsJ9`%M-UPK%e1:05C =w1VV,H\;EyjL;{ iտ2AKra%> q7#2/_„8Ipb{:ekaK>Wͅzt1iSkI֙ϴo\+I}xAD3C~6X N>p7D6`f^mu/23}|ă QeE:CS={Z׳1j6೏0a8 :*0*Oy #1nf *xHGבT+t|6p-_j-+^cǨͨ7CX\=oc%@DsƓMjJް@|ɝ!d\[4m>ՎZ9e~MNۉ@l3"LMAm@Y^ ff3`jJȯ&,0ZXYyFa qXfGQQU@sE6X*Pb9?j(\vC=hKSsS;.$% ACV+C'f7 USi 9W$]*N:rf;LvL9"6!N&M,pVQ8Z`:f7}UuP2{h#WO$M3 배ϙ3D-79-Qt#ZoCz8,Q kLZPZp5od5 cH2yHltEb 6Q IG2l86`KڱہB }:V%cͽ`^^-'^1w.*շkdPٜ*pRAFQj Zʎ'0)ɪ,ě_Ò9i z8-~0Ո1ymb!ijPPEVx`5INzpŭ1mػF`OygA2o $n28m@/l??njMD=cźR I'hj'Ayl }5ge횉Lg 8(d>%ϽY h Ե}e vx\a*OD2%>|#ٗNSU7P?1t vW%BsZ8lb '  8]D?#k`±inW?#uP1X31Cwj1Wnw1wz#N6e b71@@-,<gdj l} f10qi~"QBe_ V+Zte tKQ*W.p #q!Owf-.S} n6 󓎺D8Tl]' z2Y!f"qE_۾,WrCBZuOl.{ ?mNUG"Ci:/IWlp*jG}Qo2:1Z9s1n&]Av8"$wC~ =쭥LY=S1wv9' ZD0_e<t0>rs7Z各!mu~,K\qO(83;KHJ/w|ܒ!ƀ05D#AoBiVjs* @/9^F%YncTxuKtaB9aRo!魼9JYB`ܶ]fuВ]&M٭HrqIZSs-E5uM݌y0Q}wy6}f 5jْ!^$h @P,]0 f1/iMFr:"ܲ4J_y%f5>4qT§|*LnHbm׏~Е "7ge'A7~ 9 4@ 筫HnlP]^713;em@O>ǒK @H%9+xEZ@r !tv&N9bz c (?vkDc:.} )KMhRkD۱T!T2ؿiӱA:J\_C2:GaDT7dz&|u)?Rco DT%vCwMt G &+RI/4GY98G89?3`&Ev^X^4_;ʚSV \ůXd7 *Hֽ5+%!w+l5fJ4;"#\0:is6Y|Pd'Jztv;m9 e[ݭԂJR燛bbE&Kao'e=ъm/k*P5rT 7UStr5̦㎽őio4OP,]t|UDrNxkQV_H&-]BxD\Ζ/ZsE;Z~##ZUHJ,*si].8[޺F;|H 7 V4_eBp5n`dp8bunuHDսB10.SofsOzan(_LeAuOz_8FU=fQ$奠*$J%~g{0%ZW xq^JPc,\}gB*M"Ƽ:[ʟˢ5$,QA[`TIl$S {/>6${NunN܍˄|(>!OhBE .'"!?>fjQ/6D"%0&ˣLdN2HP2_. r>M%"8~r? M'՜PDGl꛳qYrQ{16B)?zM|^5Q=+znn,`2,n+HƞN-DXZ햿U] zy dQϤ U+ :)(w#I?dGtqI*6R|Q>ɦ *v^1kﷻg+j¦ǭdt AsH|m}?plg*r^1/[AM{X YGgz4;n/(/۸qʹvZt --kvn6ujI*| ]s p*F曇4霪 *랤K_ǎAIMSo4.lj?2oc(%8C~"V>mFQMuͪś磽yٵ?xbJ; _&orWeɔ2؀\~R 3}(qӉ%3?/) Q-h8ƒ 9d@̀ M_ |92:|'MX`Hp[eN Zj9˼&V-!+PfIt̶sIIO}v(;fNnf l>t{x"X:ùn{]g^NH&-c~Lmp16OCuU!^9ІF㨐}2R]kh!TfzŹK} cBXP9՟CīҬ薑r27s]s8$9@::P*EǒCd[Yf.+(qdMG|ph1vq$i,%B9ihsKqs}WA͌j_PY3 -[B79dX;/: -Aɇ86;3m;Ȩm<鏳S [io}PkoP\x/[dC禑7KFű{Ĝc:'8/ſݤZK<-hxAԼjcwSبgrfƩE_$>*x}Ϗ@%O ZAkjiܴ*,P[XQ?j]Se喍;qZ{}SZo.M'll:@RKN9hKȨfvO#̿0:ֈ ~/V@t(lVTQ礫aGEhtARcAIf".S'\@_i䘵h^~r.cYEeTnٯ7Bցz -Vzl7j\ U ^޳VsR&Tm͆H48U꬀6iRRwr6,w7'[2Tg g8%i;؝W y/1a-$6*R'8\.YXFUK* 9sKI:}Pv0rr;WI95f>eS!a&GXZZN-,-eIػkIkm"^5=V|7Re'E0[PA} *ܰR%4Yļx1K,t-#h]1~m--Sn|g)t57 j[ } Sl`YѪ|̓ɞؖufSl9yjl9JN2Zq@־yz9myIALF_^R˽ddޔsc=O`.\ m6~cm|=J'y]Bb$Ȅ]} u. }G~P*0Cw@ 0saU6=]T3V:,{:Ӫ}!H݋5;1X+*>pI,\f5ckƑD,/S" ϙ|[l<j}5}ـ 9Yʜ郲nD^Dh2uOz!`(Ҥ?)杴/GgLI,cKs}M4آ#{Ce]3J1V^؇4zȹ2p A+ $pQPdnX/D([j|vhm)&)H\ Ui3g6ۖ\&7]`ĂY($}W?慒~?Xػ{#tM,4!lrri^h+I綌[̅#n{q䧽UJ%ۼLWI\rT'J|lj `$$CQt"$8Älq q0H)פr 琲-7򴟦U:x*SoOM ^۹  TJg_23Ux7 x(!TV~ 9?`b%\.(im\; ,:dt^acimY]Ep/݈G;Dž,|[ֳ q |>~1 bGc2їDQH #ZWʲn=:u$ x`@j܄>cjyL kz -c^QRBnurѲ4,s)1\)%KQeMsWJO n z&ZsTôYdg6!u}{8y+OщTt-8wBM5>pǙL'(N Ӏ"Z0,/xDϓu"0֤\8,ލN{7P W=$*ׄnaVw[q(sF:On<_&Xuekh?|mA BPP_^CuX~1 C½.9!R:FbLf3G4U.[qL\荹ϱ/F;™B T6D.y7e}@1evf́_= tj@i7XT7pIkXV\_14mb/a#mUсc*)jclaۖxhQݛ"I+ >ޛOr\=rhr_pv2AofN:c9"_3Y1]¤nlz]^ <"Nk) \ $EkωAqF]{c] M0/Y3x)+yrt <#C:|~1 JT /p`2h~KѥtV &řrȅ4joFHF4'J !mADN`7Qa׆@EMthƌv{m%8`?."im;P< :icuԸbDijF@:"ߨM5?x41FaxUbË4 (K~ETUp*aLvTJbUٷjUv^oEYug|tJ@T !ӊ .dMW*bj\(?NɨvrA 'l!σׅPIA1oY_rSM5KaʞkȬ#9:$6P|]yWg^ I]GɅ= SR\lQRaE{MepĨyb:Am`q18 ?'>R\fqf Yo'.{0XdMEV-Y:)7.|؄XE[h22<P~ y4,t(Xkz'd=R\EOX1>ϲ#M3Rwf {<ұZSj.̉qiץLt)Y;qNc×7Q~<4KV5K=U\Uox^ ob>d [,& vTa`1]-F[Rh-]>>ΐ [޾ rModD 5Ʌ+w qfkkcb7uI}sH`Ըu>*+ ;TLtsVbuTNycKFh.KmfA`-e{C:# ?˖o \=@qrrmzO &!ra6LƟ;ޅ "n\mr#JQ:Y0Ӽj(H\p;7 S[J*9q:צ.As[ O=8}afz+LWu9bO"I,A͒ k *n QBX£SŸ(.Oqǂ"=Bj:VW˓\)P_p>7_ e:`Qrrw BܕP:E򞶖 3qB# Ef7ǔf|28 bví>rU[gzb_Y ʁg\َc<U&|G/_B?55g@LUAzzs<{\R8rzR ЃtVh-!E:OyhJś;TTK⌾E?<w$k$z'o *J:M䍗-$O`[H4&1i\h|Bwc`m \_0 #9k&Lwc<ʗ˚I<?z߬oamuAgo21ʢ?%n|J1ix⎘򘈸lHrJ?[AJ(JŨgD۲Ҋ1(/y2ۿso"F"s>§S*e,$J)E5MwlF+TބGu )Qx< >wx>:ßCP0E~>љ:NWnPԴSZ+''㥝oFK *= w=F}mώ~Gح'%A NM6Y$ {9O0*DZ`z3l9-xVnh~DvBլ>b(SN<ɐ {֬!Cll@<shs|azn!?̊$b-`]h #TL6$O'1t$-,Ib2Җ8*WS y:A?mꇜZ lɃGR(:jPAZO9<ÊMw'\DDT4\\VХu0paq^+N&r3P@ H hhnbKohؗ.g6b-陈kZkA4zL8F%cM4߫38!C=i<~LWI׷y`RV=0I?;<ں7:PS`Ћ"_bխ_fmP2:Ȉńgi^5eemt/0.UG6A}yaOpǹhߤ$I;',_?ߏRwbq"]9aIIq"Y3LiʍG%ka2{"=0&DL3cfC_ivF)Mb籷:NaglɆrΌ?1k֝gבa4?^ 8pȜTƟA@hL5~˔)q*ohU:`4q NhݣA='Yv~&_2E1hܪ.Ww/} j^Y$R{Ms/DVub%$A FF3rbE7P'񔪏V~Ty%h(H5rH2a>XS~^!v̊H g$Ӕ ݗ҄hV♡ $KWQS=J[n4MЈO7w3/iB`b^Kj?sn_1 =i-!^ 7~'! B 95G k~N :\$i$~''6'z(YihlTjkZOx+]7xpZhhC1'SZ%R߶efF@dhwh#{e3ۧ-gV4|e yQ:>Megly:*1Sqγ9[• .jT jc˱<9faGpݠ+1*-q޳N5huQb.ˊ(Sd9!eɃ1[VǶ0"ؿmcE+{;ks+|m ۩ ]:M®del8@Qc%? Oy>q*id}F Oہ\vnQqDɲ ";<t 6<CDUT [C\7{ ZDq}31-⦗ N`~L^1͒[ce)]'n=<ȸlK@qe9O dV r&u=^~Ԋ  q ^=mMˍ_@OdUo ɘh [|;'pTlo␸haV7Wd/EIZCT};(#􍇰 vz<:g7/ .1T^~[`/v+*L5؃f%%8I2sy~Z*ڏ %o7?9Kg{-9 km Mڛ7dm<{V?lI)Xnm_sj=n5q)KmڍOC&o=lezA-r / Ses7\ctM1~ C5ߥ-r"6i=Nbf"T+E3Ȩ"%Aq@dzV ]ur^vBOäCO7l׀#kOo[o9iUAx!ˆHQMRhb5L׋)5s(Z*~C_8':u۝j%h\9GKN?_bf\D uN n#".1slHSKܫ6DB9ns|rɰ|[n|%9q*9]}ym"E0Ɲ N{_QͺTG- 2EWG1H*5JT~_], dG}#eDQ˕lA-%=b nc+UNᱏK<3giO_TfV>W#ZkZ@-r"~%D羽; ٵ -SvYPWI.͗鷭Wfq(z;T3w./.d9E18B IboZ~/Zm/~ 䁊E,,ZG_|Vj*jEML<,/.w=R;;>W*zJ+i bǃ_*~I(٧׀D?@0S{5iתnᛖfkƝc}G=^A5q!I',0N tCB*jEWZ V)ޮLeRD<$+,>&g^_׶[8}nCh+~9}023 o<-+l_bFlRGuk۲]"$Rl'wĉ^lڤu- n_U DR1a]ki)SJQ*QͦAN, Gh'"ڇhRﮩ&+Q/ gd?;6EPX1<3c!vY|mjCF-POu9&CsΣ awhfz.5wƍC%DMLb XqŎy_bhHnIp䉻x^ʥcz2Y{IEK"n|%tQK_0eX0 fkzw6t6l(7WcU#^U/r$Ud{%Hw=6<"?(eM{ϟm-XUlK[k`KyDj&ʃJ ܟwi/'$ɨ[,hIJk(4yno:a+j!9BaV̇rBB_,Mҏ$ʠVB5 }! 0 R 8+`M\⑪L8* WQ *N DA@.@?Q2K*r °qcqp?$ax)5ɻo;}BwibѱSV5q;um*h3^#1 W: _9쿅;Cz$֚T83SB62v$KdOV̦0!4ܽ.5re8 ;Ke^x-d]D$f/{1`j:>&4z iԓ_ $^|& *Ϗ`s9x谖102lXyvmQC:z{WKձ$#G&c;ĺD5 rQT.sz+ٺj#jAB3NHD`DS(:d '5> [ N RD^ڹk Q en|'mk$ LX }§ pl}RnzwOrri@vhe ltߟ>)BF@@@g-ُx2WDwG/_mh50 6W=P $Ϟ`AxtHS:r: n)02ڒ nt _|]# > p)8àyveΉSYD"}-۴^$B|1c5kBG\ESsQ[twӼXR.{Zߑӎ%')@*>r4S 7Ƭ. T9v9lp},l奫Vץ6v>}ĀkK! )AUo&,0y&ć&qE&i[dp&18,@&`TODIY~;3;yW:'1EI#r'-MUlMэ?u  7ܡVV;VAH\Q0\/R#q)W[-Y\N[DE74?X;YKL,β2" 3Jgιhvh˅Op"B2pcV*`7h`d9fJ{ (= ?'~@5,E8VW kn偼Y<װZGl';rҬc P +| !aT;VgID]Т5>Wb4!'xlkNo{}^\mDQbedAB@O^J$9RFtH'&{&L#F[ߙ}K . 6oG}n0#F屟 9ڒt:sfyJpZ{ڥ{`kZC*=me GVhEC2,X$iY+1@+#I:aT QIK_In\,tc $^]:`DJ%ma)L_,!P*5| tA`I24к%e=xlcKZ}pA'jo-z C_vsCxT^ۈ}J $̧Y!ܳI:(__S7zL@W1wի縂2 FsP۴B2AhL>'G#L`SYo]c yU,gUcfᷓek}k1E.4}'.eQGMq 7E+H;S` r bD^7z^ӹMh Suab_8ùɌb!^"\RD,TZWΜq"6A}(ep0zdTb&݀ی:܄z@KV'y!ԓ awxW}#fN%R8Qz@ qQ6Q|_65 ^|Cb ho>*6#|Hn5k#s6|*X*d3D'!#g"8{g-"ː`1Y@jky8.FocÝLE&&d xj)~ fY<8F1.4P@B+ax8 DDU%m9vGbLO \yǘu4)t91lD҃(x?ٶ&}},DG̑{Bji oZ^H"3. .}%H^IVAm7a]w-3=IJPhBm2>hˈX rc5MЗIr@HQw" Q5z _USK=X3q̸,iax27ދ~?*2 av1L=>jǤ@cˍ.pMLF2c%pIh>QP.E>CZ/jXh[ 픠޴ǫݍ>D˒P({?ğ$WA'wx0RwB}` x2:T+TK\Ms)7=LM91FVA;j\Kw1 <,Ԇ^94rdl;1: A4 i:=ugxb EwIiim!@})| @$"Հh~!M# T mY[9$wgUNd DD!le(?jR"@zlH;rVMav >}gM[;bZ;Ile\8)=\I4GC顐(MU \MDK!޽Bqa"!ktyut!_LH8r 8-)u)U+h#o 羡ȧ/TN8,%L/_?%- 6pu`cG#0_FcpUPWǀ֪WU8QX 7ZnhWb+$$*X ^Mﰏw-d mx]X.D7,;܊ %Rң݊&Y%nCNAwo2vi^orɝ~(37E;iq!09n;@)T/"&$8wR #qxiM)^]`=\ÖI>; ;J"Ӹ4ɽ1GS^] BY,7(Ӓ0cɩ`tDzP8Bprd){$4ŃZm#g˨8OU,HƊ/]&đW2pDhKWo|@ $zoOa d'ܢgng+tJx %Ԥ!Sz޽^ 7BݱXO9})EM$=b,&`Mۦe,򫆡,̶+2ru2l3{Ԕ?Tؔw-o%W9]ړև'p(4!Лiս==b3IЎ~ȍ&Hv8/%$}tNqmTsLHyfYyoˇk<N!M94 ёڀ\bZޔfXt/ RK?YbaէLbKlX0Sx-oe~c m!.ޚQa0J󏩪D_'m {r( :'*@(8}1ii3BG'i蒩ž=m)_I?`\>8 s\9rr-c!>o- nBȒ)K3=L eK(v-) 8{HLP6iU GtӲߢطJ/uwg!_sS p`6T;MYGIՎ'f"NqRqqX0精D[na`d`!ϸ"v m 6Q>^z?mE~l 李Tݞvz5 ےv6˃ BvKke6 zفjW ؏pr w)ȾU#pm٧)@(@>PQl1e?ɒD\.iX2J߮ "ǘ?(9E"矨U%,4  e4 pN5FG"T( Ra;!㪎U8Y,IdbA1J1|iV <6_ۆٞ+{ƈ'U̝Ê#\1 z贩P)vZJq$ e+FI䓕&(QC;29ڞ{$Meo6K IHvDd{Lc[X?`|ꛍB05zҟkhd16=X1u{ٽ'tU 'dlwMɐ`ohd>fO+ b'iK@E#qVΑUbƽ_-mHnj_u]2rnR^R =E)ZR?T`v9\'`z/i5Ւb&47ǙHsDsU>ށt'E# j`s.+<>DZ4L(bfJd{_D {i^a$Ք9{+tW&-,No :Gzl\_k`5 vZ {PCqkyEҝȎ5:z'Qb.I& S_x;.eb4_<'~˪hn]wDo+HS~zkk4CAI">й:{#HXݐʵ.Z\ZAN^cB1b:&2j[?rg2u=сrp5T Y"HΝf'unz'` ޻@޴~hsUDkҁ@m,! YVCC`gQE֤ri"/p6Ă _{+&ئx̴p':P(,.c悟9F'Ԥ5Aj>^JmM2KKZs  s2 sEbV.%ͤ5(* }^0 DPZ`dsћRJ]MK3o$7>\Pu*DMYnB%k@YŜ+L"W{zZ= mɐ=S3]WuC2.m׈+d14m0>Qo_%nGiMgN$ui-Q0m$! /rԼ@W#O^˘)VVM)W2^p8z*Y[(@Ү&pZ<'z/Q$~Zcc'Zz<og˅C7hSd JH$nf)Vʓ*<ϑssx4Ci:,hJ>Th ;Ķ@XRvCv%\˲L}Lccy| 0v4~%+6,ӓS9=hrfC6`@d}q~;|Q [ж-Q6a`X20r}+%ETa' 4pvoO`zO%{ՍdpOXijr<[6zrɞ F`_O=uqkJ,ڌXܚ܊? KhD;p宥\h$xj2s~@lN7Y $:P2.`iD۫%iۥ8R6PDcY/,<6'L|&}AIhVd?+Vc wOQgUk@7q!{L|U'oeIf O:Uxζ,ٛTB,wyn2t!y $|vpD [ 6}7l!,)?ӺAWP&8H!?tl?w>7ɪ9+?HOjw2E2~i+&Per9?2mvVWT9RJwrD8?owx R&2D:S7e$'ܲYXY@8I%\Ƀd%0.!jZJgIODkVt PaטiH.$᡾vqvhZ΍ṗ噼`] PvH&<ǯܫܑoG?!B0ޫlR=?UPKT9FE;AށyB}Sһ|7S8&P t{!0.+0ɫdt .doʙeJ%"'vi({)f[V+Ed":HUnsʠ?e3X."e'-B;䩘$$r\c.6 \N9[nwqyT٠7OW1D..,$rpII\W5Iw`Y9sK۵^]BVS MCh铺@ĐdjB(Տ Q. OF[`՜2qMWCfd-X {) zft6 @5_ 0䨛ط%7wAyLc׌IȘ~>d=ֵY|yhfjdJu}vQ+.;,Œ8P' _-'K:_(}t\4) ɡ O-v_'O#tOL G5# $ǕIaS^—W|W|*T}jf , ux"b>]Bג >.Pe<#vm@< {zF?S4SƤ]<|yq7@Ç\lr= ~UN!4M0",($±4x&?$Łl"2j3`pls )ŞW0u ҖnUēVpÑ@RGgQ3\4T̎ %qXyAԖ/,RxN@sR)G84xϹ\x1 sjXw+Hni,vdzu![P*o~Q)2,q lm&@t4f #b^7C|̣f鼚,7HA >ZN9';*KXRjs.B*WK|e!<&3hj֜7TQ0nFtC$/=֋uP|͇r'//, 7@xd&axS3nȚED(Y%$Hˋl0ɭpuz >]'QZ|DWH?<QX;X`<M ZԼ1 }J:npKhϓbp(Z AkoH9 ;+FU>0 wt 1m "AbH6Uw|mff`&~d8c beZ [|nNz 9TKo{ C  ؔPVn_zx4eŦc9-hot62kjYd$HfjʑǍ>nq3#ѩ+QOmߛ=/ =p(NvI']Xw̋" tޯ<& pT%"18e>1tQ:{ڠv Amuڑu &}ܾ.EM<1d56!C#R4仰zU6w.P,.DQhg$ۏ j"ep ίn.<nkQMdoe6;SFCܢ.\Nl].v2Y' ;zMJy7p2aZ:E^P}&ܞuq[֧1~:`իWY@fZ6"RRD 4ItqK˘@STߎhʄ͊L= <HRvGӥƥYZIkJ;42WBQndyY_5#igm`i܍]Ô5 pI_8tME쑉08lpfwv`-"C|IdRsDt@PAPԂ^YqN2rw*v^|DI<#qK'0b p#xif|ٛ8 yp9F$u2P%JLw;,:niOV-skop*969-H_u9#!݆N$ylh]whnR(+uM>54Lf*ssxJSqo o^/e3>12%E+4[BO g!R+a#7}NbQ)W𬟡R'\xU3&Ř}!Q(醙U[^<< @eHG4|>u~=,/XCuﭗVV0HhrE,r2=|trN6s39 1uǓK!+fGmlt_Pjfcn{hF VHgEE/@أ,@z!bBwEnDǰA;?0O"Ƃvq0Uǎ,DԤc!W&:ڠ%wbxQ=;l(?i .x@ԍҏsʕ"z6-T*mom7ї,ҹz)k'1 ci_oG˺?56:]EWI\TR@uca9S: c>J:5y MH.N~PfVB2+SUX`nG `D[ֹ)n>;=nXr B(1hƋVGZbwęGpܨ&\U]U2,Sb=< 42ŁaCM:irx"bЩU2@ 9 ե6t .sz퐨@>u'$Ou-^ qq}9~>7ks*3T r]{j˱"̶s3SH-03ovUpb%(B8„Q#oxbԛ\Sr`[1F5σM6p M.f r9T!0jCFCś"X mv[6,D?XϦDinð4GGNb}~&+ 4YZv9 _%\kn<8llXLy9ٛ 9tnUڒ΅Ѯ͌6o' &2}*%vMvdpeZ$M1ی݈,C77/.0ܺa*:榖oH)g9v`1t0!եVU4T ]e9CZ(k5g}Ƒny#D źX)EN68Ȥ#|w#se#PwZ㱀[…bםqZ\K98hnc<{`&~UBu-OM~ 0 bxh3g;wG?HԖĶ1tg[@^&YTB}QS5em0GpՏ@>wA}Nj|7aą>O rE4WPe-O)Ȍc^2K6QY0Gˆ 2)ɎP_-'|3g;H٪<L@en dIy:#*yᣙ8\=˗Ckظι[FBxoL1p˖Ua_JzaSh+f {f˾/хU,SaqC͵1LIfDCYL寢x)Ma׌gu#P4lF t15!YVUBq܌.EEDl$ `'*mnpd_<=c *Jl=jz?NCgcׯ2סOgruwɷi$U/?C^~e"sإ7y& s4"(* 4 JOΚ>4WMI7z4SF AK |ey7k u[QGRset=s.oU[RǬSO1yAJYo2O?r灰L#Y>Ub-ztby x1,9ěne ɪuPzRɸɀŁa&]E)M/h:I3QXpPl$?!)իZiwq -LMz50rA0AHۈ>&yĽK k ]@s!ij㝞8QfӮ6!Mdğ7$z s>UjTg/bʍf%!CLf,PUuZЗ)1,:+şٲM}`Ӊ>HSY8V"63c/;U!|惌V LFOpg12ـA-߰d~\\2 EPD~Q&S\=qU!qtSZhˠ4.ϝ>,̡ jKSv c]&\`LxntcEpQ1m0{C}1冹x|ʹ BeY:0/4r(\7`;ބ5οPZTLA be^ذIaB:wS8 (̘zs.< X4?h]V~_J_2 [5ZԭU,MATݐa#DR`ۿ{G'=1A7䈥v,0vrnBz`ZMŞ-Ghkiv>넎>+esc ׍XtEiGDCtUEd2W 7\7߭B*vѥ%01U%J2'9!zHމX#[HW,ݵi0d7|G-!\~ Mxds*HJB^շ2ҨzX/&BkfڲΟkf*M3k- t/gn2|b{u}S6S݋O' 8B 66H;mŠBl8KΜW``|/H"hH5!-hWg!k+Bg *#Yrowޛ K򦌘i j Tt/A7}̶7b0 LÂrC_6Yf~(glBoqxnx=x9)J \>.2(5^=YqybAX(v1p5Jz1"9b*qKX/D5P(?H Ƅcfl&Bz:Eeғ.XKFYX:X5<*+*K== x\xVJrΨ :;{_M`۪2aٶG]yà_JtD'+'L2my;0{I^^Q0~G2{zez W1܅0/Ba@YHb1ǚ=Ŵٿ`e,qBR^?0-yh1sq%=ۀjz:SmWB)u̹%+1_-[;Տv申@S / /t(̪ pS2XAtyz[BPh=`ńPǪ]H+Mnӎdyc%5,@sDP(m`w5c=E!CBE ͰJqkRAm>@Y퍹ϫT~wT%*vOf@(ٵ`T z<t3 ޸Zɣ .A%uߛ5sBZݪ4* ۴ʉ댵YE~N祤kH;䛰;$\Ti($S.6pa-QemfXQ=RԚz9qfw;V5k;nG4 P&jio @\'*y=Ft(ݯ\LVxuSbAI8/~Qx18NӔ9wSw~qN x#r>Zq_R'}[J%b؜7蹣tb;>%JgZu4 r\ǵuZH 8sa97!&AX({=? ÊBHͯ9Go /1?C=Na^r}i^Y - 槙?h.Ht2:@ [Cg>+E:|*$-kYD C ]>؊WjYoFRAiHLxȊr7}b(7M]lK}ibRjF%翼 N3H>מc$-ge!Q 0,PZ/- %D6U+iAp氃$LR]sU2|R/;2qř+mn'C蘆 7V<;vE~!a+a7#čj`FlS="AqZbKkAH *h^Gu[٧6”Z-kx(C:)@}=49<24]Si@ jΰE^r,(fwZeĄJVBC[k~QIA0D5T7ĽQH T*E.{- rq\Z^cd+;'%= f#CMlSJu@p .IWvO HB2 F|0. t^ev׌a>'Kx}>ELzb7h̓&|QeTYtM}|Wi[Ðm 'K9  o~eO`k#0.dߖl[,^2cD~rw|5E=cꊐf1z@yz$a(v>U*D1ߨgKӞT`ȏb!Οee[^^=O0eGRqHՂ^?P)H Tsn#M^`vo}3iBҩh/(00剮2Q\ hd^'ڊֳo?ǃ¤Lš^Dth2<ixFa;2Ey(?ܾfL:"7zn4mhLnMrO;xd!N8Qoٰ'ܽPo$GZQA'װ$ד&NN:B%h?ț=U=tRbIx%tb1=asږ0^Ō$[xm9Pd|ead +)w`AaW'؋iY,h:xCٿYFe:nE3ee^tP9^.eMיMg7l>@DFc}75.ҸLD@JhT[uUc9tr׺XMWKD?H-B <;M @fIb`?-Y +,=m;1VX%h K]7y."ހ{*^-O< 4#^ cHh2Od ^GSwPCTcª gsa#fG$ @Dxs N"${%RViwiOiCo- |(YAk`'VUc4r:#J3ffT(G /!dï<)ˮ H?t9Pv3$H:֛q=+协8 !)Xz Gx: d^1T/W߃zqצq`bJhTcIGgl[\W{˳=2&jn׬~!tV 0JZi1w4Sţ^6S|]ZpGg2WRB[oZڪc{ފ# ?gC"k58)\ql]\|`vs#b?P3yp5o-]!?&C@h v?ɚʉ1̓=zyHb>c6 KaGSqVb}w,«JJ̹YZ)-ME0SK6MDQULmh z*η^wZ;kLJv5=᭳qOxDt,Ig4APkΗ_6XSSaq4MiKVB$ +kCɸ.A[ R>.\Fdxe֊H\A29Y0\)u۹;IF<ϸ`9L۰f~{dfؚj &ۗZ:]?q _k\yDmξR.3%ʹYMUWT2uoE-'ġ*}u_D8޶yrf|cR`>4#u mYPQEH8Ұ@|H34 @)q 1z;q(.xLD&~֜؊\QS=KW.[UgMڰs2mPJuk.1;gupwm,1i4z3 W !{DBtܬV7MEw7EFLc[Q,&J_ӭG|66 B5&p98+]qӂ'pg pyrPpM2Պ*ʥ*HlѲA~*\2m9܍'`P]̧v*a0J/PmxdxYyUG}f@#HI#Ns ze4o}ĪZhO C-XVN TX݊L|GO;#f@b?;P/B! !1kZfo3,6 cH} ĭǠyPH4m^xzu7y ͖M1t<[N@,Y:1zwַAZ&˭[ŕQ7o}ro0v.KP~oC9 D^DyȃY̳u#߯Эײ[hUY8"- 4klAq1ESb [ךAdהUz Bxy"0Y O2̔/u- ;jk~J+Ҫ>Kk̋ceeCC v\-sk{R(} SD]*fί$l. I-Bw7-.y3őfMD$4p 콂eV"˦ ,T2Bt"\AEj œ&3s/W4%.k:3rc2}}\CJwt c-kxXΑlA-MT2-&h{w$-@;/\&f0FɘõWPYOg>0؀6nF}~ p2%^SmbZ }Y]` EgZ> ;ѕd^j3T4!(v.CO!~SpK2/~F>UF:΢9o-Wߖö,Uk6dK0.|-9bsìmr<~n`VzӢR ){fg2 ay*^Lz_F .{h/ʐL4TUb[S%ʧ=hޯ!_Xȿ10m7#utߒ_RFMx#R7!HeQm 5{UBtYlm>3nkٝ}b}u0fP JN>.RIU~c 7?cAQ'@LcŇ WCH;+`'3.TGkMYȩ#oOķO϶]?ߴ8N;G'_ <6A8֟{Z@3u!<ט]_'\%c+HYF9@S5ZlLxj!}@ִ#U2alvmq0.֔9!1!T߻fi hk{'ؽ ѱ ؆Dz~/^Qa8F2?B4h$ZE5b @l77 ZzeAg!xMF}3eqky-Ta8pH„47 +_-11|ޱCwQ17l~-cgTkڞi.z"S9_u^Fw>bN93jw.ޏ1}CjP^^ o⠇7EuwzMRѧm p>}҄Y [SB!d].~\RNNtow$"|n./!#pp(.Zxsh3B|qק[JO,cDpC:k%5ɏ>8VH^,r2ri7qX}AkH2[hG0@xg&#<)S4ON Q,Y\Ġ` >жA~:;9C>yH[(;$e*oC1-̈́HtEhJTG1¥'Ÿ5!$5k<_j~#'S!avʮl|2 m8쁌8oj7*x7$6"cLZT1i,-=RNv!t,0^"ix>r:/BM#q1ʋPr {Fo[Ea9mlMjxa,e/i%JKp(_?7 -3qhN0%bBU}LYc4YbɱI!ߌ%eb@ _ Z1 !0va JcB-GvL+p}l t+:`Ņ`kY SymQ/= 8]>P={o%$Efp!yynپ9HG<|Rd&YM龞 Zs ^O2,!FM1r.M|vL>ڍ91ffʖ]dF/aLW9*+мӵث,46a9 ,| |<͌[ D/YMD({Adц qN% Pg+^Kc1/ Ҭs:hF&f6&EaǣTH~$>G=Ӎ$:ͶU1 #ZL"`\_S=0Y[ꟘWJVzZ+!!_OmEe>o+ a|g>(괧X.8`Eί"XԴR$lbG$B01ZTh:`#~)@WFJ3@VĬ(2=%Uik}.7f/j~'ՔONo1wvAMQDKU]WKTztniyv|u.|? b(ۍ4l_~脁pDXO`P EXȫ˅d5=cq'R3PH%ƷWpm6j)f7QfkFzgjy`ڞ* 9qŵ>2BL;xarT/`HȄ.Px0<9%L2:L͍$'CcDa2,k5pp F@OoEɧGt BlpR>L.cEBq ,wXxZ,GPD@y>LgsWI΄?A`å%j멁J2ݑQ =;pH5 gtv[gv~n[Mmn`λ .Rqb)-S <*~% #]Dez>f/5kT` 5)>cnUM]2wYI?R33[uۆQKH3 5Zy0r( 1swȸbͷS* 2Bqͣvv@G_Nܗ#W?<y҉4{p7BkIgm73*g?2@ܛx&S&bcF\(WL(?6#`X*2l/'m[ ; !)\yw]#vSWS(e [ʘ1` ʶ{WLp҃G"]kZkLJ^Ǖ5h>h}eo*PvA͂@d\SBp2%}D7.m!yQ>a)b)/+W$3BD&¹S+b{5ih)~5ckL sBDİumɒE f Һ%#>_]pq5[#qyB9C2C7HX/.Y{kxm]TEXl.֐mf>!io`rrˊu-IF$*AV:9آ7,N";Bą*+G} K+ ͛@crJuq PJSRuiU=ûP$$$sp(&3ɼd[qpCCQr [4'IY4Ւ4x2f@l' ʬΔB*B6_xט(!e TA&I 04<>392qp\DƂDRdss/(3H0g,%ٞbd;&m-&f@eLk ')6%0:!*ъd]qzS֟nJ# w @ϿG`J\42L}O-`*/3C 6Zf} ҨS(,Eo[sBo(2C6臿 c d8hxz7Yrltx{HwiM4ɜn'aY$e6bgQ N[O/z?.,DF}pgoN/YQau1WeYUݓMEcuZ =~C )xIJ<'I2]B[U&o&;&|? 2sXfPLBJ"W?hQu!^ˆ\!?b/w? =B@% i}YkIF]O3 S% /5+<46[8[] #q`\s>.O;n>{[]q&|>N-h, nbTs-POQa6}9Q]_[76&A'~lI9IC<կ 0p?~AeEdXpѩ|2e}fYeW˾Di >+# 89ȫEIـ !WNhz4쥨3V+  Ӄy>SWYA m^ru4P4c{+-ɋ3*˰-4|-@814ȷ{w_ǂ.9 "&6Eɂ4<4LVO@_B+¹2v^/xYNwM?| 9<S"֦ aNojvC"=dl#%W 뱁ɓn`nry-sQf19 X>".P;b zLUs szYMb$ߛ1"jHfL)Y6UcIOMdaxTW6o Cv8dd`$#Z)(E/%vTTPC23(7"\FđA'V4 Rz3h}n1\_ .uzP|ù|(!l_U2RMPMٳ'̔Ŀ2.aC"FAf+yE1"7*)pL7s67}yv2~DT?âx]QPMa5lHFȍ\r| st/n]oA^=̷Cs)|=\aȏd8c7feVߴ` + r/>y2_."7C';!@Q'9/9N~UYw:hQo_v`&| ( ^y JS'i+MbYk(4k̔G%j0(8rvk0Z45OI:^}hnF"equ9'@񥋷^ʶK1*={^d %iqOEiew'_2u ALTdu2 VSL2(яFtե:JTY}KR+zeE)f_~,]š NdL^NNbK rK'\q9.I͕_s ,. =?"ĵa רte _iƵ"4Y\J5 qQ佦*pj0$t JqC %wM5:֓&1:;,D#!&V(D~'U8QMՠX޷(j Z4@ neyh=m[fMkT *ξ [:dVt3p'nJk2jFHؑJU 2b@@ ]fMVoݘVka\/~]AݥJD1[1ʂ`2 ~a>00"/ U;hd?>TpiWP^(U\q)\E+Տ(#M=?}ۊ+DT#Bv;>AzppBKT$D1S*ϩ274R alg.{Eg@.(%ttܬ^'~Ep겍X5!Ge *zSd\ӤYc:[0:KRZdB_2uyMpƣԃ`uDȄ&޶N;ueVrAJ06%c%n?Ft+eQVYkcAEͪ'a@ 3D-h!DOXwYRh]ŗ4&/Eh _u}J5Uwȶy794DIPx6ZLM_=OPTXpPEi0 0޵FaoqWw ؘmM+o Ö|x3y m 2{NhqҧY)f_5tiJʷ٦aDQN4 h ,=˛-ԫ+rg Q!"9e !UFsP%ʉ͑8%Q̨$|,ē&lۋ}r lmqO@Eb^/HBw6@'},j0Vq:l-ZV(h,X,s+7r|wylA2h GXDUkzLަd JIl=*3{*ug5cub V \핾Jq/_5ׂ sD Y- &,`}ŧޞ'Fp݊ci$MJ*pίTU-wۙWA{3Y\u0'<]EըuiN$i ڰr-#p!֋&sXY? ?\\c/G{g 6u·5YA,U>vu7c吞fѾxl@~)9jԜ@rk&L:g_ӝXp "<'Xcm &e|\ͣ>ljEϯ*3=.Sk2/BZ>(К8܈z>߶( |CD []xK ic#)mdžm7^nTx0 :)k*gq3?USùT[2 *3?=ZIhTں8 9r 14ա({d =lJSGgѵvF+|!VXl` XsM XMp 8s!D Qc%P]=AU0 n<(.¦.Ԉep;&`tᔎ|3 ̼븙b^hEzkT;[[ŲɇH01SDubҦVD,hVd3m,oi]F DG|yځ ,ӄcϭ>exCFk_)X"Cׇ뾞۬qNԧ@:_P{FOV_2%ÂbRo=ie!_E y+Ȇn0P(G(& j tI6xxgtp;Z'1VT!]>vmJ"os hϨʱH7;f4laڽ`;P'B֎TB_I\d9c)pn^9|1\0?$=>U|'r1A0T-bf?Ɜ~T}@$1CX*1ת-V/\a9ws3UL6S2Mi~?}ʪQJaW!a4pSompe&ق l DW5$j'4uCo$6|Rv( 84jiYuJwv4h~L]Yëk`brXinF:LI A/"B֜(9w+*2h07Hl*H)B^v7O)e65nU.2.3\Y.~4/5+[PӬ' [=4}: kL@$OJ NItg< "(>*axdQG0oD=Og.WtO2o19b'ŰIwh0êDaL+7וXBHĸ”ۗfg^ }~սׂCq'n_S^~1n +{RH 9[`\x(x`Xu>¿>׈Y5=X?pYPUˎdzܬ1EEӠB╵[MsO<֜e<%3*n7JfG$FkPò 3%[ ⫂ "G7+4Ȭ"Ɏ'7g$NLpʆ/V.Imax@܍V>/k8Žvsd>`D= UKhX90Kqԕn M_;b_T; YI%8:KYmKg .G"yO'j6jg^bgl6͗ ޯH}LyG)B69c𔒄ꨴ3H[r>gglڴK0 y!wt!N)nd hQ_LV ^_4=.m:7<Xm*Owqfys#At\.9'Q4@kUxfՒ z><=ـӚƭ^ m'L$9m4Y?XoN|OJugqR(gs/U5 kNjt"W}LSw "rwTt%B f@_aT':)z]z qk#Q*BE?/t-eVG$Ɛd w Ȩiz9P+;w^ugHX#G :6||p8[=lhУXq9"Fvnۧ\Wu\2)BeWIV5?jOp;~&a%bPh#H wh5 }{' epl}70 tW&شI+J_է-d c}2zmraZf߁tⰋfsTti(t\\V!T:]mAs6gBG@(ᜏw?uMkɫ@f]oߠHU" &c,+8Ackd dICĬIGt9^JSiQ,-hqCRTwZcrO(VϼR7.J_#zT̔6hŗ?0Y]esb&\SW3 =Oryl4m𥠓"*N ̼~c[ޑąbQ-_`GhS.<7E-Y>d%N5n, ;aX?{Kd* ku$w7ه^X 2 9}tXeJ Vw~gZU" ^r(Gp.'iv>,@xOh`'qP}È!\S[7`ܖŦR(v#8xiMY_Ox DDa?:nrӆ1i,/n#)V7u ZݸWehhQsT" -ȫ'a}=vxq7>O ԥwwgGpV٭k^f"埱1ƅuJAru(fcE.ҹ)Yv M_VMBtaj/<s̻}N0Be5ui"mqa!>Jew><'K14 ĆOlY2i}3tjAmǁ< (ve"xX@ަW"b)uޢD$W+#:^<Ɏ"-![r1W2=BMzQxa*}=]N( E 5l49#}!"l?UYBuFźu]= !t"rP,'0n`6EJրJ)Tj’0NJVZsG!JC05>tE\;k=0]WYfB'B^cqnrtQ`γPWn>_,# t hZOէlgE_N;ao+e)9j&8rBߞe%se%6JEy  (&bAE#ԶߨzѳJU`J484<Zv0NI4RFH.<$SL }F-Xx  ùm2:C.xPrﯝż "1G͖eoh0'wj]%9qܼг(2bp|p>ֹbs=®ޕnt  pe<&I~DGؤ>AbcdtgU-Kۈ?łzZxM=0XO>5<{T& g~Ppo9Ӗ#tiu~[L ̽TtAҔB\P} 3=Xz|նdeɤ@+8ĞkB+kAy֜E5Rѥ#+ n@#B}l͙sZ7C97?`]J =Q?=r VcIP>(-amEg2Sd7!?`,M#I3yJE"]˄WiwZ9LrRI]u3A'6S9/G'9>N/&ΝBSŌ\J^/9L: ؜|L[Onj\'>$.P3ΜhxBA&'䒓eCPQZ8=ÿ`{TF`Tofv}tݴG(yq1Q$l)w-n5{=kb,:[]=hɧ0sď:/#TѩY1n_%znH4q+xv"WqX%SM,u"h{&ˮ.^gۧ=ckIVJZ0>-V(zgϘ5\$7 =eyt*3yC*do@UQGL't::7׈ߓ\PJ6Tg/@vpXvExYI sh$N#. f*N*LXZDKP9k<Gk)9$:) -ʈaa|L SUuVa;*)-><)& a,AWs>^Qn*[@hvTfԔKӄ[ Ao^ˑv0 `'¸@iO8KM_YdE g{,Ivw.g2¼aR+Y8ʥYx_~%oS9ש|VkV<2lMS,l>2ID'gp@ZÛ ?,cW>S#H,*lމS_FX6v^9 %BO-9iJnH3:Us!D߂Cd(o@9IeSm=7<<*¢umE'I| Y*FHm܅wy4ˬ('W|aTZ8}!k*NHwF`# ?4[Ge>+EyPMPQ n(-O1bnG;ፑٻDVk\o@PrR0LoG-ܑ̂"HDR2m7-MvInF!e ^E0{kzq<$Sn£ʙO '8ɀ(bȞD7M};TDe f="%RfS߂pBKRY6hPEux!oԲ@nFnOv-p'hO w{F9o#g^f/3sC1{ްH4"iV^e~aR}a$sHL8m8jR~ϊ%[>h%9*`JFMv{>UTxN]*a֌2c+!3cVF`Duć(g\3O5"VPcL1y.v+9)(00dؠc6:H >p}[!*Rluy!`| ~eJbB0쟊n2x5fSŇ8F"fizZP'}7R#:YokѠ'd톬7&-wHpF1[$1HFV_`NZ,:Ub30Vɉee&$ #6NU+um .3ۨ\Q5`N*`򓓚m@DKtm L!NNZhN.}Gb#[Ia?}7N\v۪&sxnmj܆WD˔[EOah P>J0J4֌3cMMng Y2ScH];DQڃ%w 4i74'np2 +kKbt7T=.=^0ge[LtLhwsUp9QgԪƗLc1a`u\afrֳf;-{<: xMD]{H"mMJn+y@]xp"&*HӔ گSN3Ӧ6ǽCUkBP$ZFӝ{0=.QcYޮ Rx*?A66Wzf@1ϛׅQt :/ݯKX(`C;5kh_d5jË1LA϶:c^@ΌC<3x}?GGLm1LϭٿarK 7m.94~Dvrq=ڛ0 Y!l4qTA;#8x gC|.Q%NOzF["SS"+!<aX9ey R b& W;%UV8%{Q{4zxC]UA(|"pwPllBt L-Ҫ|LlG [+E_[3LyPM9*ğHAghF۟~:O|ܩ<ۙ/9k ɂz3fS i$5U}nqːuq655|MHGk.c'N17DI_qѲY8K9eb^sE%9WcM2̲6w%qjGj[:ιd'z'K^Ax}-mJ̏! F)o@oa\}߄d11uWLppcTb2-qhD+?KH,5jΠ9:X@u}Iwqe6 GwB"C*ny?-oغFy,D6\9,T^:Q\݄|РRڏVA[ Ww,ORS|E89;Ħg>orn،Q7>Jz`P0p#x (`_t3iY /(^r-3%(e82 vc=!V#Zj6uɯ8q{zrm&6؈"ygRJk&VxkK tlRK}yT8 GQ]w{22ƻ hl/5UӨAm=cȴ\p&%`(>򠒂ވ>?6z_[T6ln iG^ǬQh R Ԟ'$'4G`e߷Q}.Kv|,bU9e%6c;UJ@H%G6|J؅E!:~'ܵ9"z_s_`1>/6<~1\hB)ԗq#2YSdGޟ2J) )X(2 v թZ|J7ϭMts0*FP7<I%HDj^e2X=ɔlQj?KfDbi2q Ũ;a 푊.JB=S@dR 4,^3} Uv9в ]dbxfF84_ɉ%$F-K_ #%&RQ`LI>ӗ K&hbdN屡?_P7݀aɐKKt z&e1*X w@Cc0TVȼdcb^']y1ʴz +lɔL.jyoA w'XӞ&,kozAS&XfɆnOG*fUT?ҞXҌZvYR,Ҵ4oxEfq/]TaIAw,;3tBVVb|lҦb_UqK0+zb̐7/K C6]XwעԐ꘳?6/J8hDx >mTVvAR}AC:5 ʍoϭ,7 -=7(pժqɔ'CPE: %pa52dNsZ…Z`Nw^U\9N>%@Mxc56gƙY/A戔/^Js9JQyOg~,j&0(Mh궐$XyAqEBFȗ:]vhR56 A\T Wel >7 8\2F9&y`xJTdNh-2A}3Q1SL(2pR 7q xt>o*wHK=`$%50v(C,OܮJ=5nߺ6_NngzRᱹG]FD47UI-(# j&~&!xvyt>+@*6ԧtRp8So}]([sFqJ*b!_,Y3I);hMDq]}xy/}'Ӓ8k0W@+tD̉=7bfvPQM%>=+j(}gq'K\ȏQ'0U$!OC||bRf–R1Wol=6> l6{hv2Yp2zhrkuŗ/FG:T7LQ(-KE[{R22 2Y g/ǦJ/){|Ҭ.d[s^ {O/~+ 'Yjd1͹7U.% ty1-oy3O7UT5?VX@h>tK&9ԟW]FV\!XF< *=;By zugZ[!zƳ.3X':w+o3gBnDڂlik?p0hFsвC.'0ĉ1*n% ?@y=r|y7LW?' a1pu#T*LLy|ihŕヺcٕ 3hpSN{gC\*1,[P!f ܘ 6=S3Ѓg/{O?"w.PSYg;'Y74o]+q{U1Yo9. 7&PRSQcqY[>&:ļx&yMRcM]*ӪŒsΩ*Dz@X]hpM=*oWHsFaXxixH*T~~ceZͪy`r !yq\wX9~OcdH(a%)yc+/VPUBf>͖vmG-hPYw;h2s=1Q7V @)L_Yl^)2gm(+s$нuim^Cd}[ c!e]7܁x,bݽs/?`DῘZ;,(** _l+NA1" ewB-2fp7r?ulI! >.r/ &Uh5(jDxgn;vyϖoI*}KSWz{\<mv3'kʎ2E8=ZrT][gim a;s߽EKNEv嶄ZRܟɚLܩ W-Yq"Nu ((H@ME$Ƿ{ѕФA:fIMd,)r{۹j#ĵo;6cn~,_[3_OS>Rbd) td9O,E[?6"㼉Ku9X_ 9 vHe x G6YHGRc > ^nkjG(*M=DѵI) B{(xa$9Cisj3j|rk~Te}lcC)y4\/XbPa^h`œ&ghcg)Z9a5YX:ם$s 5"+'$)'ߖ&bꕢ-Jrè :w>NSǟ GOp'.YƯq]~<,&ݣx*PI؛Q-l+:cX:䮸7m"5Kׂ4@UK-58R{=ĸKU|գQ"y!aЁ:?(5#AQ$uW1˿o}L*Oto<%J`A]]K "9@tN8+Hj;"00HT͑qf'.φvnExgkQ,^SF[O9$܊Tgni`F@`bG4A/*/8U;c\K}уp頙_=]q{-c>OqhhSݠbTܑ p,dO?[2*YgӮ_Zf n}Kיə`|hdD&tɅ 6FJ\1lԾQg:"9zqEImH#> \M@WaUIk,LLΊ7Vy8h_̕WtRyO#*Y^f.^_}F8SBUģxdyTLAz059> qw9\N5g Tc D;+fk!0GX9,[j%Ƽ4+I&jN-YU * @olH҅ jlyh=gDyd+6~Omutʽ/g9?E75ڌQgPst4-:lm%;Ve@cD>ӋTWTO6&JymUіYN./yB3TZ  Ⱂe[ xJi5Ff:YtiS:}w @am'fpJ_9p__./I7%1Qޕ >c,Tr2= i܏I{wq&E8(ve8W|'Vn]5w6Q1cz֗K w:rkU XcQp SlowFSfigX:U+c1%۷]ZXh*eKJ\zGRX r,Eb6VE"pPd>,wfڇ!R,UQOL0*'Ck|zF~]&+` +ID*cB &'> 1ť/y=x+vliM$XbvȏM=4 XyjlSJ _]t'ěN )ma٘~:->Nr(@? Z澍U$0/qu_3 ͕ӜkCc"Nc:5 \Kp >%^8~?c2a6PF^iJ.N9&^XOwU4dK 殨Lw֝Χ΀$N- pG O OgxT`Ug ?tf=9F'l,&h1HiyZ+R+`egeX;0{~Uf'd[n6oD0ۅzJ꟰ ů΀nŐzũ˕ȨZY!`Rذ1Te+t3|G?QTPlH<; ,ǜԌSnwP\QHxܡe.(%ٝmC* ƨuBh>&SLdFaܔ"rZeܔ+}_ (D$0 R*F BGGi:!PWr}!j8dM׻5n!]r/֥(b yi(W~nk PśI㎠HwmDEJ<˜um&G8HjRR l-vQ`nXt-c _̸Lh1y*DR  B#|߀E=X%btio?G/-$by$JqpB@-500 ٌۆJؽ,h5 =I1l# w4yAM$bx_%9XCGBHot|/>>nAW:)M G'>+\n˷2ٷVMC/I.4|UbۜNh,I6d(:p?S QqgK-2(|Fi#D>@)5&)8b4w+4Ag3Ww 3#$=E% @ FwX!Ux}GjN}A(,iurϯ +s=}r?-6^lq9ns1 ğlTm=jpohnߚY5k^CB%1~oCrʻTdBĖZ舁}5H_hew4vH8bxNf,K,ޢxgM9"^S4)z9ͪ@Y^N-h["=GĎ9X7y[[3it6E/nl s FMTg]fyL|Ҹi?wh`! 8".P $p.Ku*:p<xu0NeV@-Hrisf4P]t phA0m& Ykx[aMM h+(ii'ZW(H"T* z{Ln(\LvЫY57Nz|>C7ͷ"9}ͥ;{G{ 8sS̒ 7qN|kRqH|WnjX .*G/yWt$VL>YbȨ^SJAp8lU]YDrؽIyї\߅O}<8 u8r3hU;N;WʧֆEqj\{vZWF_IX{n.R-7U2j|&~pR֜0\ʎ^o%3U#ILޒ+_*XX\o4 D2lS_c4; k"CP;=g˪lL!9|7Kќ78f̓mtŠ'Ñ,wmV#Irk_n6xoˎÀ#r`&٢&/4xX}'DžcǍ DAt^DoԱ/ =|b ojx9xgc )g36=,3(h)ȆZF9o9.ud7̍bɢhEqȐÈkEށIy{0eC63b{P]?n,-9g韵&ڜTOX)rG -UgL?a?`" (!}F!9G}Ґ(l}~6{Wq6Flt ecFɿ>^5jz4nrr$ܰ=Y\ Z޲n_au"qW,,*W9Rbd"XPMb|w:J z 3%ԅntfݺrjdf;#L$U@ XG^ZCX2DOSn4hlYDFx0%W妮AC3 K;ʍt'p7%|9xAGܓxSҧ&$L%'w[D[NWH 8@1 c,Jmzh-WoUp{=O )cS$1ul7Ј76L6'O(d OXSh2]8kC2$V"aFw9_t8&r*EI)Ow:e! ,SngFөrO31Qk ^zٓϨHVņSdUG~W~WGSX%-"8kE\g}W.Sc7=Ť~ͻLc?^W?ԲXOٌX E47sYF&CHV#aC̃Z7HzU D]Hf@t8%E'%&yL{z8(-}-NoA. f15ZŎƆ_ֿ/9]tl&D|<1N9T>tۈnudmFHK}%0Ӓ0~(aVu89Z#4k _M @.7uml:npz͢Ál#pr)Uj64w"͂XxRj]j } eN"L쉸O 2ryHf{lG<ü] l`AXR̦dhh^ƭ Wrͪ p؎x<ǭ{oXl$r"0r꩓RQ(ځrw3,`B&ZE**M]vKt:r?uhlƟfԔ)@,m^FG0K 9Tk+P1, M?8_~y/rؠnbNjcВMLhc,/rX%n0G3Y@pĈ)#l=P{]rVWՔxA;6R; R@g_ &S#{C%44 zΊu 8$fDn(9WɎ V,[֗y@of?ŚX[i&ozb4 mȀMlaxG2Zx%hYˬj!5!p \fy!^ixTJo~k|Z | Ov l[>@I>6A*ݼgXQSI⢩Ѫ_qa=N[N[wt%N!I!!,Åp4{AUFsc{t{e{ru>C]Ҙ'j`.PqVXw >y.FnwxlATpl7~,+6&(QU3:]m{R2nW%lr$ gV>ƥ;= 9*U[;(Ê3Q.гBV{ORn]R{CgJhP{`RxZR9#Pܾl۞D4qq<ޏHg&93=.efb?X5TGgvo:,fTq= _I'm {/$MpX)7}>]1 I0f9A&Bt ,BtM\$&;}]n\\ArE6*RIzJr:ߖ.b}?$Žc{bK A O`W i&bң ߲wYJvIqrM:^eOY~ܯ2=@rV5NFh=4&OWCd+\@8%_rbo!(^:CXԧv LuJzÂs{w2gea3WkТD !2.쪦';Yu4Qa/~gI/f8\Z>nٰ^XԎheV+7d28LA3m-6*fq.ܲu2*_I*اl cw]OڰV^>/SG`N'Xq'f D˯X4Pb34~fs pZFrP )<Ǎ2—,U,Bcd4:Ap&uk*cPz!t /`,$iBCuݗSL=]UPklhch$oWYbO)Ԩʰg`D5+ݿ җoe{EA}]qd)#de c6y{Ȉ4CB= kLBM(jLZ;A޲qItko0ʖs8I2 wɼ [H#VN6 xj:;hV42]VKƋz 0[L~``"+c'c*,-urF}`bҏ]Ўx=զE7uNCm7 ʙDz7'A&z0SǯPvCs@xvl0sNpՉhM}b^93R%qrI+؇ٰt4auGI)S@Wʮ [Yv> %)1Cg";&tl1>NI*a3yѲ W  xByT /WLkڊ| 7 a0X1*ik+?ē& .0Sf|[+'CwTΒ^5r0ZW:-c>'܌ue\~)iI ͛bc/ Aג7IzaR \k) }W54X}e5ی ESи)1Bn_I"1m4k6\fwvIγU2䬋=ĪVBBtYTFTS>29ìL~+c`VZ,Wz{+Ar҉h"|5B?/p럐C?jXanUإq$eOW]6 OclKCE#'=FĻ-zƛ*[~M[ū~ՃX]7pP'#f+D4m=SȬWhv/\G*Ep̄݇UӚق=FV.R :mҦ)>tT{&ʨA؝0&huj O-SIJ]MCd [wZd~8`C1C'Y<29] 拷YX? 1Ă2|$)^.$zI'61Ul |]Ϣ<y֢Lop0gg<@LE;tl2?k $R8:wYujcaTVC<-+&fI" 'hHd[w5vA"x2M%,\@7.@n)^й̴R4kj zaywGjO^GSN됏`KaFy䱐4^ZjL7jlpy>TuN9Pna8d:lN0dh|WÿvhG+`, 8o[q[cxzJVz3A8PhZPh_]3! ဨɎXVWN]awŤFڃ䞟t( ͮ^e7SufJζqSВ Z+֝o r)g2qR?6п_t<5OT߄(M"\\wcص`EgR\X4Zq epI <^jbrH?Ǎ @.˦?bmֿ_ f切PzumT@&bP.w=-62 O!+3,RV#éMd0U{V칹bЭ$ޮ; _eݮ]8rZ2udT_{^' RV*j-F2ў7 S7R]}dU`E@.km e!&LL<[@ZʳѡdNn9Mg;6eDod^/DMʛ!dtA*@տd>-+BR*iEȺ ojƈs6'Bb:C0aAњrZ{ÕyN:r Mi5%a['^ڑoJm1ڐ\[DP]CHm緬IvĬ@|u6q̘YlQ~T]ˑG޳]| QTQ 21tv!qQ?;uKlXiks uW{D̍s>xMr@^8uS}sy_ɂF+ʾvǺY6#?wW(6s TUd%=h0X>;ɪFߒ|-V)Ҋ֨N`YJuAw0opu-3{ץMa+n؛$$m YG t(]aN?]p4/#o]&Hyd׫F3%CڋZf-\4@5ز浲1^9mXڅ5~,r?ı&R13!vlUq@ +[G:.,ksP"5Z=4:k{[/ ;F3NzK$~]aڏ_9K X@#vW NBj~Lx7}tQXͪJ;ja3޻wC[{c@@GX%I@UB/eHǡ* ]ٰ XөdeHy@E` #k 3v42߽8oW'hdpy7MhPl>M${sD L@j&6wËgg\wMC7d3S_mQ`gȝO0pt$c.axwRjjY7B~ aAos{7 fJp[B:]D΁tueLوk&1kp\.>H+֑7NDpru&X\ZORў!L\g{x6Rg\+[nςfQ~vLqxsyh*T:Qwy53rfZsM:G?u0>_1Ku$㻡$=-h Sץf+mȻѿm?hGt!0K8$$'n3>+W1ꝶ YZ