wireplumber-0.4.9-150400.3.3.2 >  A c \ep9|˘{De;x7tZ.S<|w~ @q+ r߸z`Հٓ|*eHwƝfͤ!\n W_DPpu!ᓞ%#Ζ} b,bHYJ4l*RӍM7D1>'r22з?e(kƼ~=޽ffb_V3y5p.cEu{TVd@kC?d32373a97547324e231f58da230486e5f7fe156826e58b352cec33e6bc0feabc14ab511fb52be3238a942368f92baebcb5fff03dXc \ep9|Lm ̦vΟՑfP2+cBߋ^5ǣ/*DMk.Dg3JBVi̝`X/(/} 04qz 5D.w9|a1:؍5f68u&Rn*xs/u1I춽]X:(ȋ'~~~.%ڋQzF֋ Fܐ)6Ui[&E-i{wةYw:3:Mط XL4SJ6(ú|Қs>pK?d ! V@DTXq -hN N  <N  N  N N N$N N"0"XN#&p&(() 8)($9)$:,X$=>?@ FG0NHhNINXY4\lN]N^ bcdef"l$u8Nvpw$Nx\NyozP`dlpt|Cwireplumber0.4.9150400.3.3.2Session / 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.c \Dibs-power9-13@ySUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Libraries/C and C++https://gitlab.freedesktop.org/pipewire/wireplumberlinuxppc64le 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 the pipewire.socket user unit is not enabled and the workaround # for boo#1186561 has never been executed, we need to execute it now if [ ! -L /etc/systemd/user/pipewire.service.wants/wireplumber.service \ -a ! -f /var/lib/pipewire/wireplumber_post_workaround \ -a -x /usr/bin/systemctl ]; then for service in wireplumber.service ; do /usr/bin/systemctl --global preset "$service" || : done mkdir -p /var/lib/pipewire cat << EOF > /var/lib/pipewire/wireplumber_post_workaround # The existence of this file means that the wireplumber user services were # enabled at least once. Please don't remove this file as that would # make the services to be enabled again in the next package update. # # Check the following bugs for more information: # https://bugzilla.opensuse.org/show_bug.cgi?id=1200485 EOF fi if [ $1 -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --global disable wireplumber.service || : fi  0    08P 8    P h _I {7JJWU+ 4/= .xRS)+5j Jf7/_ $큤AA큤A큤A큤A큤A큤AA큤A큤c \9c \9c \9c \/c \/c \9c \9c \9c \9c \9c \9c \9c \9c \9c \9c \9c \9c \9c \9c \9c \8b9Rc \8b9Rb9Rb9Rb9Rc \8b9Rb9Rc \8b9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rc \+c \+c \+c \+c \+c \+c \+b9Rc \8b9Rb9Rb9Rb9Rc \8c \8b9Rb9Rb9Rb9Rc \8b9Rb9Rb9Rb9Rb9Rb9Rc \+b9Rb9Rb9Rb9Rb9Rb9Rb9Rb9Rb9R98472755d376c4b796c032428d58cd53894582b5142c0390c347ef918941fcdb622dbd5560a790500a1a0f4d4947758408d1e1f71f6a67e6082ad21404086689680dff7a47a007a81248621d60195129fbe04eae2723895173c30d4b8fd00d80b5c35aaf0e1a994a32db28a1a9ee9479cb74227bb343a843190e9a55f0937367fe331238a6dad590f5552b2db83cc3493237c576b7dd6d3e6cc4744a38d4b963e6b61217ba26a94d47296607ba3f638d5a1be66cf35ebc0750b90176f69261516be9133b0b46aef3375a08e2d8130c546c01d899ccb5431f0dbd098f4489ab7a1bcd457fe0043bf91595f5c601ba6e6aa2999fa0e12bb91d041d040f79c2e4dc96cddcf0cdd8b020ea9d0e9264899bb5e96804831a14b9ac0d263824e698624aded33c0b761eb02672a7707443f839cc60a5c001ce726bdf0c644e2ac9c0c5713bfb26f47b66b65e82bb46ff51f2384c9ec615af6f3065b3a6ac5f057fca6917c124bca0a2d86caa2698940ca249278730aa6f858d2352bac9e7c851a491f817b86455f6eee86afd8085164f2bf8c5a664a0eadd22247ad954357c6681e0a5566e98abc2fdd5ff2088f98a2539b4c147550595f071a2d94a100d3a80a271a7a42ac1a49099c74731616db13c6b7c5956cb7c63a39d0be5bec8daf5e72c6a5b4700e35408dfb716309c595cb23ff25267aa4342f949521336dabd137a325694b59713755cdad0fbb4741130132d4b29874405dd2804e5739df1317a6de49e382ccd3672446092cd6dc97a0639b6da7c9493e67422f085d354bfa0341641fb0f7f38b491e3dee93b02c7ae0e8e5e1cf42392be6c968d94bd8372bc53d2c9085ea6fddb115e00446bdddcbb262ba81041d2fa2221bc61c51c078d17f6e56c7187306fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1f6903dd65be95969992bca7ddd00ccf2fc4954dd9de4a825ebd6070723c33def1d8fde38ea4943ce2cbcde61896007336c12fafe1b7dead84b48bf7b2e14d1e51fadfd73146bbe037c350304bc0dcdf80b0364e1bbfc7c04a428ec886713ad386fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1d534cee0ef73e459cd352cece669a2ce07d6c16126bd0b414991b001b3cd534f6fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d153e4e5a5a145a782919cb1c0ed301ad0eced2efd9b8a39612319f399373abd22a5edfec18d440653b35e08da71b337f421e3a5a657ce2aeab328bf0634d784c97751a6c25d4ce8f7ff8bc58fd3166023d63ca069ae254fce756933d81b6e229485ea68b12b37391ae68a8cd435fdcd03ff90654dd489ace67abf1c5c0c07551b48b77db013045041a9edf3f24f6f6c36dd837ef8c6094b0ddd716314fb200080bd3ea44670e537d77573bcfb4caebbd1bf61990ebf02e87980a4dcdbf06223482b98fc754f212e645b631016fb9cbbe8897cf02581fe7ea43066023c1f9f21d86aceb48348bea88b994de6069e177222d4028a53d080cc849918c138894d90f2c7eed71aeeee7727568965aa41c83224f8e92cbbabb75eaf36221748f80c326303e6120f5d185c6e2d1162c6de7521a212b6d55a2b61f359855fb9c3f9e1b8402da9a21b5aaae3f5366b9a1fe762af09282c3b289870eebc547cdeeca7fae5806747c30e3388312866f61710ee54b471a6dc24e522732cefc12767ee98e483ad199d43c1d68b66e2f66a3cb0eca1c17f86d0c775a7357911b15fa24a60afb37d49d425280172a05ae53a7c383db96667efe93b22fc3e5721eff2f4dd187d677f4900d5515ce2c17a57847a057e797135f336321a4d0f4d1af73ba379287eaefde8cd25e6b0539c29e225682e73504e292fc97d4e68cf9c411e704bb105f7993018630168cab03768fbfdd6d06f0b5c88b7456029daa1961a93e900bdbaaa8da79dbfad40df6659d5c6cc88e04b58ce9afa46bed8368b7782f8a976da9852ff266fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1eb35fa774c80b2a70b063d0cdf1085a8e562ec8ef8d2dfddf73b39ab3c4d04054e1c77742a1eca3a8169f5054f99ea8641065fb9685f364dc88b6c9ea3ee2c688cfbbeca2965606607eaff573bdf5cf6a98006ff4b2ad4559d387184407750dbb3ee6f669f2459c8ac4fdde1907042052db108aad52fe2488b7a20a7aa7496a86d452c494688aa912dc1c1fb8cf49a3eec9eb254123d96f9636262fd602cc3280ad461e4e6ecacd1677cdb0057d80497a279fd954b34c202524d53a85eb2094b59f75323a6953ee26b197648b89e326a1e4d8a81c96c33478a3e03374d3bd698153ab2e82c324f7c5af472a9c4a6c7b64266b46f0814f7659b302fc582cb9d6fdcc3219b435d0b0590fcef3445398e5a28f5e9f212c0e0d535450384633b09e2ffa7b1aae664c00fdea6c6b56ac1556021953401299094fc6a5b27538665a19f6f6978a0bf169536f2e47b9b6e0e0b00593256ebda25bb492d072f9f7a00ee3e4f4ffce436ae2a2cb9ec726669b040a6a61dca7c2029d29b1ea2a217ead3cc118fe690b14f01e677445f190a32a631d5a5fda6f157e683e0ebf7e80515ab20fa48262c4768150dae37f84574bf7525fbe943d539581a8bf78e10cc2749ed7cd75d5ff90787376603758b305faf1ba5b8042b4a85dfcad4b27224c04ad4311748006e398bec38a5613793dd5915b99be797e2b69824ffac8ebc2bac7d419a720f48ffb96189caa7dfd8c1312a99898e655d6e19ed16048710f0be6436506985cbcaa38be5bab4dc6d3f01d2f1a7c86183b0f85abe93be9ea709a9ecd7c1406ded26810477203b754c469589bd6068757b1b1c714e0ef0de634850f3b634ed85d4482b98de0d39cbe557922d9486e5ac037464f549c5b1468a28d7bd83dde1a384d7bfbe34faf8c554e552af8f1e4433ed711f0219a62bba3b01ace342624e08dd707366f7500954333009b9642b1353c92644c516a6d1751613bde2e37183156f121122b238153efbb83c321cdf468ef12ef82150e22168508746a092a4bfe3d0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootwireplumber-0.4.9-150400.3.3.2.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(ppc-64) @@@@@@@@@@@@      (wireplumber-audio if pipewire-pulseaudio)/bin/sh/bin/sh/bin/sh/bin/shlibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(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.17)(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.3bbDF@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.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- Work around the bug in systemd scripts that didn't set the default enable state for the wireplumber user service when installing wireplumber. The bug (boo#1200485) was fixed but that's only for new installations while this workaround will fix current installations (boo#1202008).- 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/shibs-power9-13 1663065156  !"#$%&'()*+,/0123456789:;<=>?@ABCDEFGHIJKLMNOP0.4.9-150400.3.3.20.4.9-150400.3.3.2  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:Maintenance:25464/SUSE_SLE-15-SP4_Update/1a3d49fc29ee13c2edb530af749cb665-wireplumber.SUSE_SLE-15-SP4_Updatecpioxz5ppc64le-suse-linux ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=bdd3b230fe15d569d04512058cd4bb8be5b2a7a5, for GNU/Linux 3.10.0, strippedELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=e011ca484ce9d3bbafe5dc015a8508695ff96956, for GNU/Linux 3.10.0, strippedELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=6854f79cad6f8ee7c27deb7c7556ad12dc37eeda, for GNU/Linux 3.10.0, strippedASCII textdirectoryELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=c446a2790915f66ca3c2a0d302631fb2dda49ab0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=731876995bfcfad3f3e33df4837e3b97c672889e, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=93a98ef9bb490a96f5225ac845d495d3cc08b5ef, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=8dd2d0abd8fb1ff46578dd22fd49564ab80a8ead, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=73f5bdd4b39e532fb4dccdbca0426c119e0a9090, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=eb085674cd39505c9fc5346d6c54eeb5c0da5597, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=d924f824c703e48942c730e5fba1b354153d7c4b, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=9f7202625e12186c95a50aab3a775a456d2e15f1, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=b88b3b338dd2f1fd481d2273a7822d50d720f914, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=2bdc4cda5e75ef6504996171b0d353a734e497f5, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=43b6c6dd4d6659e23e0e563b1c082e55425ef1d5, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=9932338252d5218d29ffd242d1d3877a2a0ebd1a, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=caef3404bb89a9ceeeeecfb655b7a7dc85c8d612, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=e41a45093c0750d989aa1cd90bc0722822850585, strippedASCII text, with no line terminatorsUTF-8 Unicode text ")2:@HOV]ci RRR RR RRRR RRRRR RRPRRR RRPRRR RRPRRR RRPRRR RRRPRRRR RRRRPRRR RRR RPRRR RRPR RRR RR RPRRR RRRP RRR RRRP RRR RRRP RRR RRP RRR RRP RRR RRNYJzsystemdsystemdutf-899c6641854f47c53055d16b4bbc2f53be1afd622adf225b46486297bc488c19c?P7zXZ !t/+[] crv9wc}:\JN7pQ(ul*UmTv$a;foR[` h4Nbh+ ~?EE?v}هKl +9 = *Qo 4D6 #n뇻l!.I'4 zG:dzC$_m")n%n|zA篒 vRRZ C:JwpEȕ`?.^U0;-a 6;v#G4MN;ƕwZP/=a3D`2/ OLpMn!p~D>f>?"3q¸$4<A!}䚫NB$pS|3C\j렭>$wX\]*|-O3!u1!B ގIߴk+9ۧˡ2IY؆6v4}Q89̴@kUy^%C֯E#<}4ܽq'ٵkq`.ϴU-Te6pwh>ۧK$,=W5MջWCtb"XPN\JrBq~ ai [dQ12=#i# Yc[@e |eΙ DG]u9`uж#L)GpUB1d߾:1D _r܀B#>X{0d ]8/`o0ϘɯZ"Gbk+ ڿyxĭzwLQ`< Iuy-NS!YN ـOlR`ګ@Q!Q^{JuPT*IͧLJ#6eR~L,7 9^6!4E$=ly <-ua1>8Owyu=\_@Ⅶvyf!Kyf{c:/TDISypnѺ `ui߿Chkz$%smh& .i1{%o~"mo.IDh6t5F>ޥRp˷P.=omu뽪0PYh]$8Z 6C:H_4ȔT)wk- R*e0I|w1tEkxZ{Ada^B(c0, j*lI!)X,ddK衝 0$+lC#_&id -hQ{G W׃r\F7@Ttԁ=ߗnNJF H#Fm~qFR {ͮ&A4a-3}+$,cF~i(ETˑ,J\.?"彛S=VٞUeO@qAю5$uqmLVAwLWϠðJ3LxhQI" B4 ZPzMPv)&I÷T[4jC.8GҒ&BXu a{ |CEABTT5pe{>etr!gNcc0cwbx{ݖS`}8 ĨJHO ˑ=]oGHJ\Bz=0%/XQ"/5!oh~> ĝ~3 &(:ݚƒRr"m{0ڻ@T^M/3+7sH)3T¢(g9q[TeJD 2máum潊!`' ?yU;>ub-K3%Aƃ4tm)<|b5~`ؓP5"Q dmSoaiy!<*2zWUꗢtUҡ4pHNPa#5,ĮfqyfeMpDb+5zy$#2<\3c*k$jHuPxJE&SGU;̟]0E497^V- g#@&hw&69!`]qfsqN\YP$_r2hoL>8M^P'IM oNQXU'0k$9^ 4276Ps n+tt%p&pHCnIz-SN;[;8{?Dd#)lSLOJM}7 l;~ uTlBB@edN h޼V1O9J+:7\_Q ޕsIm t{mnCcD<3Qla4W u.maףp] |vv;QYHveJk1-:jV0Rݥ(0gңC/}( ,F kG+rDX!{Fi蝍up9EG2fLge Cl-_,pnt}Gg 㼤mUƓL$(HE|8pr`P&NS7Kc9aؗրGdŚr#s2`EC3:ItY+2aU:WZlU0yO'9+:Zngb+eԂ׈uWy.1F04la[)Wa! 9A{8Bx%-=rYem>7pktS)P!8yսG%jJ |Ϯux,t|Fz+lv[ȭi` mƉx~~φ)Ȃa 6 ],??$ϭ(8=7R-|M ZTI;9cq,:acL yyNl bt'$F]<'Ho;Z|B;O\6-Y v;n)`E ~GIqg5ƩF[Z$E)8yQOG FǠfJa<\3a| >e*o@'m˱F fu%.0'y=-}Q0Ja8^Wn0E,9$iD۽݆#!ɘDـp2p(-R|HrקxX m $r(=N++l o]&!яb838 $=< O7XC1dbKV 1̪V{T3ɵ y8 1sw~OK-kΎ@$TBXd{YƼ\yëw19so9j,`eHx~n$Y~~ ]G{=_+3^K^<^ށQeSuRK EO~]W$)yFqv;d 8 Al bim| cP&슔Iӱ[KK=1(m$'Qk]|{pӌF*D]j&,;0D9аF{uFÌr=?{P*+_>r0{UPvH9@/782Q:.`FbH_a!X$hP+aiJ8UeӹeX*!9;p}$>5'֗ w;.>҃:>v}!~F4wXkSC6j\*{%8"Bݼ˜R3EGf偖 ?"D~2ク~`Eئ϶>/c=(^0uD +e3B+ TH9ksl|+. 0%Wz̭"qEZNP1x ^#},Ib9ϫd#3i&I$6 ?TIHg-B;9 !|J0 6E(Ilֹ yO7>ڶ^BG~JeAPMY`|V rr}3msZ- (#9PoYv#d Az\1hxsɸh6ʌ;=`?o.Fㆴ?3[! źI!evUCi†vn@R:{p(b* *J\asYry :WWcGWCctﷲpzd~ցjn2oPL~$j{|$ϕ:Um\$;nj{ņ=&"e4J?Q1H7P #5[Ҍc O8 lcڥcZQwfȇF,#LUqTg6ۛmn)u8TL#y.m .MaVqRϖ'.XDo]E_: 0H|[?xy- I`V{2.ud;ܼBro\'>yuP N^cpArEƷ >sT d2F$rʾGjP65@s\貺!~Ykso>"xDga06?MU9RfgxS8]0j2G l1XzO_BWm 'wT ΰy$?~f6s0 D޷'8kwy+*1>K> guH[ë+='ԇMZ֧t%eؐ8.WM@:K=B۰S:S9i}uVm/IX aÕY#H.RT pWi]}&C6;  ڢo~´Ni<֞S_0{0GjžC,<$1Xˠy' 8wüZAv1ŧ=1i}|_y>3.olO)0ы! @ۘ_ۘk#aJ-\͋JDpG3υVUHP`p5in8di 4[K F E7pp($VUeA!kEY[M.wLf+ '.? BUNǚ;Q&u]e&Rg*3~t]:֧ f&cU{E[ˢ)(Rܨ n͠"Vi~8yƑQ4;F.bItwR^^2 6P3qȣ Y༽9(o NZVl|Q&?$E,i)M=qN7 ZM+ӮfjmEE ʯH:aF.|l7jA}27F-R^ݭCB ]RjKɁ:ړuQr.E eשׁʪj38;^|"0ƻכ#k9>{*a#@='4kHa2B?9ZV۾ FʑKOez41ngf{#Wa=WDVf=EJOѿO(<| 7˔Vi<09r@p#i@zP!ݦ.}ޯx15+g(5/6 sFqd' X`Sr|-)jLd>pb|UU5&brKw;?c 70o.bp3mޠ<ײT4Ҝ6S3&̜cũXl>+A]$'uIյɺ4,Mr6bp}XeޛSESpI7{4rbK};{&Я +-JOrL.RRzzc GQ/v8hO6:J~<35fZ9D7a"4 }4 jG#^XT\?^($|, $5PɁZXΧ$6$A?r&G=ׯ{/\$4d6KXgʡWUz:kLDFhU$$uOvS,JL 9w>gfMܥ<] >RVc%Σ;3OqS@O ˅,5 b$v6䤄/n?LVMjL-i>c|\R4f5Kba`,Wnh9D!`,?쥔(0pq>,?O(HeX%׌61V{7P/>4tVoQSYyFQ?TWU'tC&s$ a8ܚj$풾Y b~k,Q[:DYD_N\/ cmؚg9"3)Հx&m*Рj'wn?l6m90n@'2I \Rr2cUN4;=s%6@ÞM(ԟĂާ {< r1({;I_]Jye\KDQŠ] !2FtD,4#}X~@sn7{nJ NPԇ)RyPpe2K {eoYru/Z^j7Wtz##!tqcLbꔧGHT"4'SlZFo Iy;Cr1* ]R1I."Tb!;ĭ3bt߂"ہ֤o*߼#war?LJk,?9H)Lv==6Zg rĹ ?Ľnf>0 VѨ [ݣL\2ԝ̅M_crZjU`\*$Y{.+Oū6s˃%C^:"&6kV: 1ot̘yfPF|s\iƽ@$EB>!aHJ-ʣI ,X՟%D 6cy!Si̋vJZϐd"͊ʊ|@!{@IJ0:@ت!ÿ22UNfs&%NY{ rL QCy4zFiU|U.pT̗Rݹe>JPuL3E:v#aq:7*iV<7e:"ьvG,(Xu:KS?3X|)8n Wou~ѦѼl>@TV/9ɘȥ*{xn _D?7 K O uڗF lFmBz:UJH |y=;qđ#,LqL[f,BD7.—}Uu5jҶKaDC>0L_UZo0@@ F4i3wI.ƴ7U%6etv䄁8:q{X8 f"k07}65eMUVfJ+0VHoR.z:h/~6aE1KA61|Vhon?BͱR11`6-v+d٣Ck]+0e|ʇONذ1*MUt;{Ƭ @;Ȅ聆3WTC9gHq&.V6\2ٖkIE͌81 _WOE@Yו[LZ YZvaE=KxW둙Ud!k1jzD /cqm8ȥ $G/}FU:0]BF7W3-)-^?E?|{ X7Hw EδeWqNO@H7ݡ+-5buvw,S< ''LixJ3c/V=9[ݾH(xcC"/F=0Ch`_Y#Q<]]8s*}i'pԧd9'56%ױpϕLauP:j  zk5[-QX g@-ZݶcNjR`2f'ؒ.* ;Pު_f|™ f؈0޴xx(zio+R;P-WdR'?&v18,R;)@~ 28s7酒%UO# phaaXbRj. #eB vb}N#{G\lWJ% u$UsIWfmrfW L)KIO} _h? c Qb#jxElqU_w <2&&*lDn q`%=A?{xtY `@ !1I)#E5&+nF 6K.FKß֞7A2g(l=٬$xbSpJ :r"/B}OTu\Bj2 y9fn&+}ՋKW^\ EPÑ(V]!I S(`C-jHlyg턊^}BV*0d!A/W&aXb[iq͏j 0 Kٻͅ;58h7]ފ γ\yѳBpɺDAg<7爈<\2\΄跽Y};͘捡3z۩W1Ifgyu@T>}]r:Yv}%Yʥ 􉞴5VNюb]$U0mѢ"]LУ߻Pg,9x *o`;a~ZC]8 gbl8]i'J?zH^SMwiU!aĞN2 &B9\e:|+/]HCgP_2+?5WK9yF"~A񨰁b x7 (уHt锵 db"ɮu8d0[WՉ_-Q,ķ[{`(bAՍٙnv'F#b:QPcx'H#O`4a+=+]ou5Q\"Sp'VO9D, L!<Н؎0#0uViUL%SI! ֧3e 򆤂 5Wㄠe>6U"4SPm o2mÙHQnEV7!ؒdyYDYf][B0 xF1Ǝ}#t7 lCS Ήj|Y^@n?f;:Ig U&(}zÊ'7vh;xJG, i y=r(7jީ3`9aPtOP t> u꘰R\$Aj9zp_Z|'c^g.g~Ο)m`^bΰDϜe//լM9aubc(3r#JMhG' Tlmڢ2K#ω讯E1BlOw̦d9/i>pm $V6,|H\pR{Yeـ Xܘ!Q9d pӮu@;l6}sZ/v\Ct˻qqGz(0ڭA7Q^5> Ji@%=}$%˨3DF!9!sv+&AE( T`}O8|ZXm$қ4!W)")e&xX %P1Uth29y&Mp[#>^IqrZkC#<&$FGHA#L'`*‹ݘ] +ukbͽ DULhX. !;y:-F]U+<۴+wqLR{/X^p?,mnt0/-x&0a[C Lz|c3% "lOfd}) } :wh"b yq0Vn> |HRdIp!Vw1֥umbB;gЄ Jr8lWB`awQj[,zz;hLKij`:* Pv@M!)+p@3 nACeĢnr_*ˆ߼ 0T_P t$V]՛9v&d6!*rPnP;?佁a^DН@& /@6Q Ӏ+^+< _4 h*'T}:WL_E f!&7&`X c\oU73gZ@9d$WF?-tP>N]gD\Ёv%m  c]:5ӻZ| <@s iNYuyf`ɚict܁@MG-94m@blWrT!AL3fx6Ś5C" |n/FDr}a $Mv+$;EZf o,@J/'yZI'JkA{|a図;m Q,ڄ 3>y|L^"xB|]QR2Hwhjm0`^Uc N@֓x2P $wT>yd3N^;&PG,vf“^4[@I0<uǹ .を1W .V,¡8y%ݥpNk_T]5QTK-(zjWO7ITZ/om(t$_/OS=b}G`5vR jaهۏSmwK}6JZ+oƃL[d\wbSk/`H #&^ҋma8Ꮵ)b!tuBGa8+(xOD#6  3x q;t؋w{Q&X=|OⷛPInb^VNf?3%D׀6;+ DOL5BFe\w+C$mU>RLL:+o!֔T\O"e pP""jElu-cUCEC"uxFR60n%fb6Cxi?皿M7h=2u &GmIl qV{A35`^/r&ά!U#WBL1O!l$ҩʭlm[A>un8Q|Tt[%+'G0 :7Ne6W[ōOZѷ'm5M湗U$9 .6w}&2kenv1u-s(P=\gv^~e0^WHBƇE.AiLKxpfxP?Ǖ:wep.7 y<$#gSݠeKgw+_[[-ݣSSS, &}^Mww:dM~#wNGx;Я hY 5g*GZkCア0EVJza͕>*O䬙T&@Eܑ]3*|A*>Ξ"P놛)F@B Y gة5l1pyRR3ھ5 1 9Jf50D]Tr<1 GkK& i$-K=>ܧW1vlhJ>!m}| kq.%X ҽ::2ڂIN'";mP61D0]nP XSY3UqM0[ 4]VC>֐qϱ;a0Sӥ"UTmg3_{x_uf3J|Qj˾@b,Z :7!5xwN1{s'KagG>˥U#Y1ZۑH GWDn&2߸Jgp(;+*'% >mAŌifO>BwK p}N$唣hN`%U uPL`LlumҧpIO|Ksr+!`aQՔK0h'Eo7Jg:2LfY VZ0ɺ@{\XҊm  g)e+仩Tw Mwjf{̠'Gbտ$2Kژ,d~֘$(w{RwϜ=aZNoGmތ%j~4a=_ c\>x@bJD$\A4V[CU)s34;+QqSHeNGJ'=1&­P2lfl{ PK2ųO70f;"?նQ9%ѷ tON([3Bژ4q8ɕDҗ+'ڗG58C*K'Q/9ƮY>G`)%*89$љ>$$\uV젵~lpՄHK;siժU2oYCrjXo_&)bܔ/jLgn~zC{b"UPrV_plg# =ݓ͕?iVފS,a!(t#zxHҮdo&fwt"Qr񦴉MT?>#8Xk1 k#{ c3 7 W>)R V0~4u1B32c\X3G!t3 n X ,@I㿶lbW f [ .6ef@Lh.E}{u2VΙ VOnWSXuav]J1'= a?-%PN1ԅi )'stav(pcALSkLL6uc.[m\IBj̟D4J%x4j@F}MNa!cF*=jv_s-rP%s5BOqv VAQֈÌ  A_l}Ӏ19\o,-JpUK&ՙpY'}8#7#6G^h_;zտJN 衹5`TT:S#3(dWQ>nG.͘1 O$+)@^~"= o_~j>6XY 69")258Rs/Z{bzr@YO7BR2eJ/ZD-ю񵻨IxtCҽ0S@RcV_냃ym;geǘʥ6]Ϥ{O/ģ 5k̲"VG57i50YI^պN˾`S=D=v=vpm4gLyڠ ~!),psB̲@8Vcn.TMpe6-[}5*˻n[4d/qKC.ѦC[XʀĐu2"n+CcE -D+ [oR^cQjXrT(C|5La^ @C j.Iguf-pK_H_SӱBi6ME0KZrG,u-U#mӳ40d]͊w(`SxCKqD 1k4a4A+J:KuM r|ĕcv[l5ehzrp0)W;Xe ۇ ?4<qc6\R zxb1+GsCxڿٶ>rY )sgސTo\pq+-Q@c"apfʥgSO4M\8 %UʰGmVXM]T`2'5,a냄Gb\v 2C76abt5q 9ǎszDOs[J^ W*mr KupϜJqK0U~V+iN8#|$+]eAK;^rUPy=nvRsa[Ye߰N7c !({AueA.MXsH UNL^PϺ73O/CEO[LGR솑,a>!y9&-ixd^ߪ𲧷]D0m_r\0rVmF!jذ5[WCλ=h9D/-iHǀKz:k|.IpY-AKW)Iz9x``mxMfY>;iQ( `6"t2xGOm5cI=Q/$x%+xϦro,ڬ˥3=a6ߔngقbW;k "OfEK96h1m 8qjuv72z5o,2Z0YYXHLc:'$aI{knߦ<"awWF馼2䔗V*E~ ͮ!Bp$3_s k}bNpR#4'CdmQ o9N狊Y=:hfde;~0E\J?IʉdTk~ҚlB@ۏuh,U lMO~'Z%o:^]q4Q2rͺbH8 .j[?eJ:SZGnTbksg<%f^/PН,GIGi4 zEz|-Җ/폎+d%Zq[Qz 롔gt˱FuR8v3NʛJjU.1c* w}fZA`‹^Z5^ǼIldl:Vlw:kUHj('@ 8~l]O~4cn_'B~ SIKJ*v)8 J.iR4EOzjI:i[ݭmh{`Bk$؎U"Ry!壗7PB컬a/Ti|U5}$`1it jD"/+hzX _x.(v?mb=)sI?EAYl,oYtJ]!#~D ǛDKsSӳGB흐GGc]Бx0\^GJhqn)֒+K ]&^r6GyB5/?W5:cW(MimKrc;ʼn+YmXM.$&VNG 7^ 4%*sY V9{q#c`Vꤖh'W3iǽF냃R'^c%[:ǎCAqq:N ^E :]ANOyS6Sr'{V|X\UEXTFNs2B;J:·cN|}tR:m亘ɌHyDMxqiGrz #?Ɍg m ~/QJ߭<*"b3' /)R=Nqsח7wt .d)n@݄Y4q*мT6 bh/tP5Q'Sǀ#z96S:"MnC+ y~ϔQ%h;D9vS**^L/*3F<̞IZh}AC'f dEcGl-RESˤ~˨+ƅ\(Ya}R-_K%İ1Qc|żaE~?$t4H4֏P~@Db˷e8j95?4T":tT5%%Jy $]*+6E7gϭʲylT*&ǚ_o@❵ Շz140@GwTUH.Zg|vlMGS1.+pU-(&TL0M4DAE8 R awCjG("ȹޏ0"G契OՈҁ,뜬i@B`D,*=0D@T_IZZk3c3_%DgK%V:ϢLtI}+S~II;{LyC뵙?abi.=3M9&q)9gE!@?/j&>W/-x@++mO/mkHJ/̆hc}TO!Zl;dnƝzoԥ,9A~ x?'Iy ~)8&2,?$bi,(T|X+~D:AWY'&J}ʋm˦'Nܲh7ɻL7ˋ\!ָF["#/S`/IW+8fh6j-\Nc T5Te(Hf׆8ǔD{x܍21 )䤸B8Ǽ}1{tL|Q PKwM 1=s$ ʼ xr_=3ti~BA,KG9lK0eƤFǖ O_C$6LMt'>/Q71q@'uL{Q E8( s iGӗrYT_To8rrScgw5zCvtwcTf[Au.J>cUiU&OpǮU3 s/#ԫ m~ar hi,nMa?\D KLY@ m*V!Dn#P +.aF$VZY| gG.nTGE^(- HsS4OoU/z VBn`{>KC>3Lw닞(؝#_E5f2I (C.TwX FBW\i΁VME m $Wi\hs+RD]NVE%V:bbuiP*fD َq, {AINX*ya98p' 6\ASM9]drT۟ jsω †-H(G5hAJy 그3`sCi^ZM( 2jPrĘ҂"R>Йξ_!~Y0|z/tQdsR~jf@L4:=>0[NL.ZxLQ-sKBɏBNMO$U_VewO](FR}۳2afȤwͤ`gga QcRї .ĥUCǼHK0ya#0wLwj`3%E5l F_b&nR"kZ:Y4vuWP U{1CswbBu4skA{o-$Piw :c! #6.?y}`8FjbaR|@E|AC2eW# `*[ѿ]ǩ5ﱺW+*QYN~(芰Muu u\Iǐ q9Z6oMxBM<^Dg4_4ag%;[0 0Uꍤ8{4οifa08} zpP4{)t 褽OktM&|WWi\nTT;,{cމQOIf#|_ʓVxʈyMz%0HIz?`cXZIgF³-$Ӆ͔_ # Z/IϦ%y0"=w[rXIװ !.0H~EmbdvsEJ!w;0d֨ 'Ck#d$L*m~su?'p?mcegsW;|Q271xӡY#Q4y>JT i47F8;?*_Bj~9ج *ج6/K ,郉/(Y^RCY-D%PN?wԆQ&Pj*AU &ɕzgf$MqX:68L*,LJPi:k;\5ʿǒ`m&2AFüCO 4dTLD~ عJ x)$4Ej;wj evj E< w:/wդMYgTW2o_%FQw9PBPzb{FAV!p.rHp)]K%(*}:\CMHU]PZqܮ26&yBNO,{l OjbLM^"+3VEyWE7vK3"3\-@CVeg6 G}[c$OxT<cmO+\%OwYkdؠdyw$QwJt&8%}yU{vN$wبSa HvM˗3De7DWaP1߸{-_ JgX;tª ~|@h~ MJh!(o/gۿؘxT0m~#@77SSPqMqŝ]P K7dc"j|YlƠ9EaՅ r ɵ7@U@>  -~`Ϡ~!byK/4>LbrI1\91cGahB|&h>”.Y&LKkLJ kj,ڦl6'I'K&#^tQ6t|7j*?@R;Z K L/u NQHtXU9dƅLmh>~\_rCu+ZrfhPȤ@k MWʭDi,LZ̽1[DtTp #5G%ճD2x_pҟ!Wi⠶1!u9qPTPMǫNr>JTC(6LX< J9ok*Ƴ}f[d|j" QbcEd cŦV6 *MX51,U/ׇ9sx܄ F Rco2jIxk 8VĢ͂|?D*nV%2<%C~s 8 $Ec!1g,UldjaȶDR**.iS,)(z XD:-80vY#2Kg (|׽y}kkT5K ݧa&۟d]S˴lDc3?SN%THzf\H@Eܕ+{6UA2KCX]"mx`8U|ZҌiY1S2?D*jZ ZyũqSlR &׳ JG9f)~`m44H/܈7bӓVbX|U;]8Zy%exP!gs[5ΐ^iuEA#Bn*nRC7s{P*C$[9ϕ޽dHޏ`P 5+]FbI+ (2f3̷݊:\aȲÓoQ{$%D60js82#X_6?2+P_IX!sA2hIP+<=QNA~֙:l%=-:,-E^b<''Y;tק.0܌G>I^^cZزl׈mlTn+SF@t8ٿ [G~<ָ |?ha77 Qu8{s{SU~Iy}V0a}̔;%>MRUI(7{utN4W.f 5L1=hUgx] slUzovK@f{jaU">=$TX5pIr c`(` -vʙ";!vkoiD Pb = :ƞ ^Ĕe#4!i^VNB1r_<=$!xǰx m~}p6SopțLg3)tkugA5^ALAKKXX`ɛ-mq-i~W/w\h\R}'R_"\W*Od=ҏ<}O4+x0%% k]v /SnwzӻՃk݆0-VwbSrP(Xg I1ZnRʤn@o)VoVui^Жge6X((0oV#}~۳5<>;Va9? J@eIh%]é`H?L:~>a纻f,e8:`M1e9넩^FU.ln~M+ x> -zz0lUAh/ƙN_u*2 XU9\AlU.jzɺCU&I1yKrV8ߜ,?IRFJEH!lx\r eVTMŝ˔{?\/阐9ƭ!a[j/bl"f:^ B6E'˭Nj=\1;% $$Ŋ~)ЧВt4LT`Uac>Nق-P1 /,Ѭ! QNI\" SHVoɬ-7S$wܗI=?晔hrQՑ,ڱ`zE~' 7Z*yg& ;tMMzU qi"HNխ'^U;R9Ͷb'IN=Lٰ>.,XNd0rR!E$ޟi۞Ĉ_$2INëd 9mW{ZaTX!6  :K:ۂkd?yxߛf_:Us} @v|8M(GV =.e4ͮ'϶@u%<P+7ڹfE_$i3UxáB?I wOZB 7႓= >^fCbX nUjPOd_t], c32#|Ykke݁=tϟ3?*6u2V (ݽGpz=Z+XvYRvNTS I.MDD|ʼnRɍ&$ 2 :+8֋*ݿYN29AB,O7@YlBPt!)KhMeU:jʶྑvP ͳ:fkj'F^e?V mq'XmSCB t#q5 hG qqd; 8VeەDȕt`HT$n n@|gr%+3_su1 r>.HXp<[EF. [Y=66] 3v6X " &'ki~<9GU9WY 7Țҕ^#0[xPgU[כP]Wt&VN% ڇOQhxWM̧k:Ci#ˑƞ ΐ0u_ m.%ȃր L~G۱sUH1>|ؽz?L&XZ/HzO/DߺAl_9s QPXk\Zb,lKjoo`~c+ixMea.9M~ :vF䤛^XAJ޸tFL#ϥi" &95Y^֧CSukML y)Q0rG]Rߓ%`aو8R8¯^/ .f}} ,Z:`YΨ~\zaL[N+A(P>f xidOxf{z?8ulR4Wre*l5c9|ڏtW'Jg?l{%mYq=_% e@z3<ò񹶆U"%T@\aXP%J38^f9!/^ԇB%vY {'Qrm4p0ӎob 9W(8rJD*̣֋<'9K %HoP9էc@v>zPV%_y1Ɨ'ܨ4^}%ZkO[ pk{gMd⾢3$0lBfv InOQ'!}1ODTt8mU <099,5RJ`ԡ^A3%Z%ZMέ-d]FO2{t< 4&bD`1ӴM!F_(Ep?%@rw.+*.E P٤g l'PkPb:Nj(,"Kn^Q0*`??0sE TugSWFIE=iJH>"@_3Nd܍nPKG9p[=qoƹxŕیiMxa8f57_(<a[5Վתn@ +]Mc֪5S3[8? 􆙘%y_e#WYtk^`?-WFT$'el}wtU`#Y'OzSse}h$ʥS ġY[PcDSc(xD@/w1ܜJ6gS|'5|%o':z0jKX4{)X<1lZ.X7 nO?CyC8Ao>|/G~RpVc} [9= ]C/Vu>'^|KP!ϡ/U߈OcR(kpZWn~<6YY C,ȐtA'~rw |QtQ-} ZRw})e'w}6ZVIoYRq֣IsVߩaD3=R 0CSׯSc^%X'g-IwŴmN-;ϫ,Ljda80\Zϑ},`+C{pƟ%Df l^;ps̟{sXڃ~I-P/HH8mb"͵ߧ;خ!§LoŃ*M'o_/S^E7U'SbEiy̢:8=7 8d{,P 1[49#)xrc4ꇊǹx_5*!ϮWE--o(\ʦ׭fuT3fÓv2k" y~C't}u;tw&r"P3WVVKV?SeA;J}h]0qN"٧|,} 5Wع!(xp»Q%f@t)k, WO@}'a3 gv ?nӉyqطz5\B0> ,%jS'ޭ&1d|iL`D0d.t#$/y" a+ClFw3at𲺑ƀ>ax{}7 nC7~b`O Jɥ1ܟH&y El5_#۷}di-㙛խW1G;P bĐjDC]B+1Y|{ciGedI"Z>xKD?:A]gon6e^ꮤitbrTn^NS? VQRT!鳬}Œ e8"x'>W&dSHKFOyA^7> "m$rYtvξzQa̗̋5Mujbxn"Rҍ~"&:W),AJ+Y%[$/JŅHjsh Y(#ӗhMA^1a@ϙLn𵧭F>SV5 c$ҷ -E xW2ɖ!8/4H($XW5891G&$8{zv1Q {8~`p>7ubm6`-655->$Ec}dSW,^ j#|t= NɌy2jsw8΍6&ƿ3We-@ %”? z 7dh?>ы%0<yk-+P'%M*PaM4=/diK ,^N!ϡ_ˎֹ3- HNHobVp\bi$*dR#"h `n7W^cåo nQfkbnisH:=C\@,g#J> r ~ڭ s*X`(``,'!x٘4̛cNWS@wyTA0BgvIoGp6l;hr*sxZ!]3B{VwU(k @/24ۃl\nmte%Owr$AL44\ϵ6ԺQ$Bv]Sx-q>fcOi QkBKIwXر90ybSQJ27 7Vbhe$.{7de&a"H܈*O[ cqya܆{D~,\g|I[dQ0r߀^8J:7JloZ/yn( _IfR@Q =H k/6AZA:t30ܗBW4D4JMl#%P7@uwWs p>HBQBy@ p4w_mJRx^Wa`#u#,]cU,_ϗ['b| IRTH"d'0Cը7&A1@UN+SC ?<)==ӽ4OO޵np-V 1OGbi#*_U)p+5rI# ?O)UrF(@(v+5"Vy迥đ؆At s֮_%o Y 47d 6-=w_a<=xou>$|^zj83UѾISG-!O"o26eXXvn|cCB?zΚ5XQ0ٵ4`ftN~S/L vp8F^rYtOWS@XЉaL3  G4QL' nF.p_zָP3co HRJM~3<;+I+m;yn`]7҇h2פ"xs: p9{CG->ᛅG!31rD/owKΘr;-fjG+?9 FgsT޴߯Y/@OVT1. $9}ɫLg|TSB8[|uŝ;&{U Ab7)ZU?P'%J.Hym9qhըn+s2AvA_= ˊhD2,COh.ȖaTby J0aK)UܵF ,uLX[O0tw:+Y<H ,.Z + (=. tB)qaZa]';RKV>yhT6 K^fc5e,אiP/~Fl=s𳽧ꖁWJh^N7'‘*BT(vb.nlw>ZǗ<(ꌭt 2~[4A>ȪP!(*'  a٘ʹ+jINWB|d+0z~#>uH?ETR P O }[ai\w-ANAiXԉkXm&d|.%k?Sқ#lRB<Ѫ)kk<{}t:|XƟžBMFN'VPJx.սaum҃%Jﰵo(+J1zc&=!$ʎ^5S_]W0$ `@6$縈B292淓M3vÅNsxMXbPQg Բ*œ6}Vug${ S@u3L"R"Sm%a*lۧ-*ib%ՊaA5'*>Gz)v&5Zqe?n=po}"-)PLemk< ԩ BCHd],<ՃiV(_kmwn_ {3fW`@2J9Rj]ŽSWV9RvdWE_O#oK*]HJX 'TR>S уF&TϨ*;ݟβD*g H0}ts܍&czg6<Abo5恭Eb~TZ#/G̡ ^x͡A2v$܂9?垼/nP8(#SS5嵭?w4KmmSh`7_ypp0b[k^RD@鳷^O&.2 {ॷƅ{8|Ļt8 vD?kȈ?̡1eikWqXft$3^?݈Ϩr=D1X5dSpY95y0^*ӨPJTXW;JDF[s9WL투-)>ڏ&17{v$!t[s_ Wx`{U(ұ@+P[Uy} Ad" Bpclv|/YdΌ]oTwOمs j{L^^i4 O D5ͱQbhg(rH:ZpRwG1(KP`) d Tُ_L| z ɞMBW6HX?sĘE Nצ-sHcZ0//_3h<57?SLg_@`َӱUK%~vpd[uWru$q-)zƁe|U)ۗA'FB; o߾k>5֋M{-^ +F1@'\Yy Bd 15Fć?ƺ5;x8&IC:@+?%_~An3z|7@ۦM{yQc>8b_dUoB{3 zy @1umg|պbwnP˵1Lj U_yMЉd]eh= k˶  ׀aw_| Z4&"9V\A+'xDRҢxlKQ!qlarsYotqI[5a@F.3v湴x bGڮ>R)!e r&uGluo([Ojin 'kAvWͧum#y½z'+s5'1w5uucA:̀zwNЧj9)SV, ŒQ<+e`0/Bt萸_W07ne1p QFSѳ$\AI.pE>Cx]lr"ۉ}{;ON=Wu$.㵳6:h  jNLȼ cH/B: j>ً$yevKa8ۑ /W3@lndu"8}tGQ~lM>nx _Jw-]>f:.J frӟ`'T/yE k0R,[oEEÀ-/Z]'DKgp]M]噑,}MF#eeL=i㣗TP|e͒M8u,KS FfD3! QJ>*RPFՄ._(f}Bjr{3I|JR#ckVe=nzK f6`VO~56~4!'+h k;ړF+b[恒֍ty͐FC9kQX…d!S2Zq9XdM!aZ  H<|>Ъ.h3)maE׽c˩hmf@">eO[gߓ79}R]7OZz(( AE,i U6]IGIή*ʩ;iNDބ\㾓]UN{?;O0mJ>Wo^)DpC,wAheQNHgN|1t,k"/$7+CH;n%g;nՔ _pڀFc|#/Gl{? A7qxʌũq4?]ss>$ZK߷/9,vԤO|*gǚ^M#(=Юnuu٘~a|lPPt+he4שoo<-Tiuʧ8ҟg^ r$ g=B7B|<_+ HǮe*@' cUQX2HwVh 3MhQ-HdO,e[1V#|z \r8F4cemV:ẁ*cktb|o9"lJQ/BV\(E ~pLɎb5%DW"$ c~Tqa]9md֞Ȇ!p-%8KQw໷]#=WsOXu^F%V0*U+Pr԰<1<3C=`" lBP"LEt9 i碑Kw<%qIkXd1T8v<37A1|6!yIj,T\E]O;n?ruPh5u w[Y1WZ{)DSh 𩼊P$#=X* E6 pO$veOqf,d<6w+MLR AtJFAj_67I^FqD& {[8>7>P;WG-FF8tli"gI?',Ye|?w%)!>=s ]k'~8|Ҹ:Psy+z^fB,aHPz!Y V,yѩf.E#ra~?~q*o'|A.>hڛE AoQcj z}OA+!n U["WaEﴺ%a*?zbMWy P+x0Փ(H&x@^VA&xJ]FX!&MlT!Hz{KL;iV0zzgo^m">Q:idq~S|FAbK;Zᐿ_/=!P鯚}f#%kvQ_N!x :bZ2~鬤Ġ+P(k\\s^qp)" T+K'dZ1N/c,p֢ /ՅJ.sCi}%kYW CrǕGDp|_ZG+^l6\(A%YsB|czN<ҚojRtV|v ]cUM&x·'i4h Nо{i-v$l߬ ,bq}0]yC;O.QڄJ{߫,MgAyBߛ'AS]1g r23TWVfR},+ZqpLLwU_MmL[{M9qgX#y.9 l}G\0.k ԺR`wXJd;4PmB{/)rM)NLAŏIJv[Jo},^@>G$z-J} x% {jr?S1U[4[HG/6dب xo'TMK%8v) OW|2H&r€&)"k3@xC9Fl)6Ep jD!Jl@e⳴|AD |c[nD<نF {]"nFZm8W{̓ꑣi2I\e Md&`*"̟7ڜJ "LOB8ks-!&!Z+RWH5,/S &Rԥ@E*9.HHhnS@ >@?]`3]Ts':{^. %G3O*Ҧ>a7tsr_1-Ltψ-vZaE6Ndh AJ soL#^scx.E8lz!8mbNm"qP7 RǏ1̕&]LaJXUXļaĪvLxg' 'l.WhCFJ~(Cџv,N]uI|\{h+XPdB~] L@ /bdK1r-A"`S?b f Q|P Ux5L }M?Kiw Mj xNޏɊ "&SQ+Z,Vy֔GiG ]/A/G܎$%3$8{<|@]m 7;gp/;\6PbBO+uN28,C)`Cq%X'sy8.};R&>7Qf~h?Ϥu,Zylo18xTxجy' )c)'d}\xN~xEw2@@O^(*SEL Fj'ܖh2ǟXd0ZWVbWȃFsRdz*e$'hqvC\tx6{$S Ro4Q :A77acT@ɚzTg W O/˺<,|JcB CS%Ђ%yy"%{Vo d4 jg2kN\8( Jr"Z{HMPj ?q lbvN>9V /zK%e88AW pғ2=b ƗN;6TTZ>',5K}e6Mk ,<1`0~H˾Z\``g`axuc{_pH3^?c" z3n_;R4cq)Y>EHHAR T&b[=4[!Kg~>C'c_ǗXtқkV8C0t["mZЬdj#'%?Q2lTHw[澂 C}Ak`*~:+ҕ/&Vecܿ׃tve+?ƙ[jS48jBcߑt *ZtsLŒɹ} ;;%6d}\49hQ6G']kOϝ:;\.0uD=Ppni/#舸bMA(lx.P~n >M\}o 9@l(%`J%sTiDfӈٌ# W  UnZ!(1#Zc4 1IK@#}^Pʾ&πvS*U4ŭД%2ÿTܓf,.{C޹]/;x%drhrN~cr=[.f',uڻv3%fuSFK,8'b$rXDV@4JI"]r&գ%ey"㩩em64]Qti]X 7-D*.JD KSjXz,6@4Nsv3]A^:1*^A) ¯ǽ'=yRn>{sck3*˫i 5j(c!, +9B:4n_.Eir%ޯ;Nr^ g1tD[,g4:1oUh]K}m+ duߚx$ GE;UVAxNwmXg+T!>[zU#6Ac?r˶iW]qIB+pX XH<zqMqzWGA{l`>ͻz:"Ae!yդZ*w^L;)v9^b ckG- bC č'= 7HAwV"¨]ƍz:BF͉]} H d9q6DI>i@ޤ{|R\:Ol tpg>D\EsœAhvt8gg[|wP|#ƆVJe*?;:{i%PXUT =@x3s!/G6#bG#Q;A<0{@VGȿɢm2IF,\btRwS LZ3FfO4˝5&e*2 #h4*w+0 &@,9ީ1;{J,2fbPI34.\Z=z!ߞV~.\'~19;K!={Zq/v-J;Ŀv ~[L/=lE;}dLFmPuMƖ)@PoMSf5ڌ($Kc;i|*ɏ|r9pb^heBLJBH.P8XZj S9}\ ܝF4 ҅X'4-[Ұ@jC=0`+v6` sRE=a,4Zm|2ý~:R Tzѣz/H1 ϡV:2+=Hz٦Ug#_jgdjW3tخ)4swc>c }Ϥ'` ܳሆt:g. V7};$[O֦ݪ *{ N@U0qW[念|%dE%q(q:arP0cq%^DoT@J7J, 7bnF=@F!,#$E'#2YQBZ0ODKi)iqU{|r泇6qIFx6\B69^mïL4yu%\Ab qFk9>}Xht792ۑ6c$qAh6ճ 7=hBEyu9 WcRRVb#"^"ZX>ԫ? ƳIw—j]a׻k^Ŵ{\n[ߓ *)yѣ2a.x"1oE"Ҧؗ9ڡuW*C 򸿘)գML9 =~Cxyv,==Rv}qtƏܖ/%$\!&.ek_t{`s1(ȂjnQ.O3쇴 1'Ro>LDqq#M|V5*6`c1b mMKPp2҃W%oŚl x8owޒK&}DbbA<}gyͷL qhL}4RF`_HZ9;>Qܫ4'7k>Tp@nd{G)0y =qZ  6;3+FFte5A4Tz;L|*ҞOa&1L7?~Q>+ruF4?CcXJ^<3:Z`ճI!P[5M I Ш,Es;k|瞐s&)Ζ>/]mEַ mɀ}|{]g {GՐ'Zq9J[dR%&`*وT0,@F,Jl!/7y%sya|=Fq1ʂ?eƿcH̡ =b9a'sQ3avrDyMUCr5v0?֤bq'e>׮O|;:ܑ*vԌjւ̀p*ttq06(:lD;!,ƜP#;=g7\ =s[k>XALY;3B=Vޯ9Z!B]dyXΤQdQUƻcP?PHEp5B:sT[䁎Q^FXCe{[s^6:@cZ1`??#=L']3ZDa7$;vZRa-T 3%iǞ̩W%$q- ԰B<Ō{a< vw;xp:oYpIl~b'99uäQ4Xum8͵+z5Øwk#s/%9`=m_K.]TtߎFmOZt)BVA{ ]\:몪q>K ;2w1i1MN2*#,Lt2D1'UzA]!vüB$^o+3%j@ܵyWx\u[Thia1qvTO*1;ہ"mzi[Ef"G$XU]G;T.":谫ʎ-6,[)f疑ܱC~ !nUrn']֪ub2 9o?_J-7'ޭ2]dM΢Xs fz&Ȑ'3ϣ\$  !ʱD'QR;Ր"񯌭sh;t w bbxf qkw}?"ArV7I8Oxou"3@5xjUIb0* s1 ?aPhY=.Tg׮-)Vn4qNu~SwKD6[_{[B ~+8zjv}[k+X$j` oh^{?mWµl)5g|Cf0. %FBSx81`Fg9T$5kӧr s)ymwHſmuҤr1jg-=m&OT584~L9cr~#C$SV]~*Y`6ʜnYo0V(pFI)o*ፕZ'`v \őX@r' y!@̞t <5m.pC,?8?GC0 )x٥m^Qzc`y ,ckqCd`OAL/\WګCnNʯ-wi;V[8@1s33@&\dIT!H0gbꞘV"Ef蒊Ϻaɢ^_or1qxT%=S< VUf=2:@ n 쾀(9ZM x]Z+ehxdB.18!v{^|!`{"P@7:9IlQډVF9t>;AA 0) ]_Kڤ-uе  ms:FNڴ~%dQfLjay`n8m"ȹ|Vq-ɘPIGPvvWf~on5šU1|Qw$OD!z*[|6yZ^׽ovQɫK;79yƭh*&b6-MJ)22/Hn ܎ʊږ{QIVM/d0jHaqp1별.".񮭿vvڷKqc]?3MQ10@vz.m~ N߸CȤCI}[KxֶVL8(%Ff8 5!FG dFm58I6>U$ݱ}QjW{KQ&;~b(UR~hi:q,ɉv ~wvȞ!CW͢>|ōӶ7 |3~ b>`6^xt$<]o1 3qʞNbAA'6߯+CQ*0g@]&UHg2C^R|]4,i-A/( mU `JCҳt׀1IK|(/Ba!>g >ު =j4y 0X ["wrzgƉ ZU~n!(]PVy˘v#vApZ& PLWhr!U.^6'Ͼc( 3Ozn)Kآ?>S.9>7ON/bnK=h<҃>:‹h/7JE7T2DPΨ/>V='7\/' %/%hXKFƄbNӠ@|~KȕzʢRB'6$ޢΛv9|f'O",7(]vjU*K@1Rm{1㖝OR`ݏk iBͤx|wT:YL@czaiNh,~- I&Ir/zդR@@ ZʇyN0A?q|ф(П. B( yNxNs>@-nQ'X-93 (ӨjU%_81L,dͶ# ;w%ٚc]^[m=xC_=ʐIW\C]n]7-~@wh>YK{G?y'Dߊ݀bJƼ5+.2Xp"i! |+'O5c=D] 4Q&-VU Z~Mȗ,)](r DI6#7f`~$̝@brbayt(#(]#p2QxkּdK$Z *ITJqAx+濜kJkĹQzLĖwAQWN!>B ,kDĺKOW,+km͕);ZW \B罐 nU,;B2߲V7dp?RR" 5 ޘ1ep8HُX~O"5o"h^kͨZ 9G nA&]YW=(FXp1}&VmUwcqO% UGS3]K9( qۀde@'Spv~7z5}皊Iݞ&N.)yQغBjY1$)v6 |0x<}_{@CWSr9$-uUK9V!=$ X+ quSgܠ쀱9,g[SJKܰٛ}2 Qbi̤ ZX3FHVpdک^G?,L\yNG:MZ81\%Pɶ-ȶe9"MV`7Kd?^6^:A " T$> TJ(SG hDx}[,F—3wϼ\6[|5}PP%44} WRgRW[8ae#gRBh;Q>T.i iҰ9f؊gs#-fS}ː =!7֩@+.TzLr~]@%ԙ12;Hy3#h\q )]'.t֕ 40[e)ndURyn{+#XɆNBBPtudaOjCE\g {9֞cQ/x9X/w@M>jKP9z δ]E;AN0X## Q'7ul&S~ߌJhd@ԫU_M۟,m!ub U,}"2Ȱ\b F !NΩYHz#30`ve 6`\XI  ڣmBzE2EyvI+@$#EEOgNiǷo[:Տ)p0z `M=&%?&S$RQ/BMMygAT"w'Ki-{J/x 0*.N;<7JxGtkm&b&=G0SSSK= a;nh9߫*ȬCrQD ^tg:]s9d){0H_GIG?N@Z~$}'2BX*ڕ3UK]I?L3\taXT(ी9+!wCxJZTj ǷHIM7d'nm86 tw;W|ְpD;{ntu\66mR̡}4_&<`bKjsBDqD乲]NY7IS(lr,BeжVjYrUsw0 Zڳj>,˲$sz5vϢ8|,ֈﳋEZ Rn<S rz̓Wqv٪lw?;S| >ѯ BWPx3|.ݯ9 E.2c *(cY=="dJ"؋hF*gxki xmF)4v[ D`ycM 5ٮ@ ^PV?d\̜$9}$]]m=P%~$ma }plRe?YC:X.S+ b2Rd㵰O!??H%bAKElģYFy}h-wស̡oȀLjIz vBCwE&2viǞ q ']!z "7L8R6]aG]2Q=#5\-U_ X)dxV |T$?F";l|(yd#ù|k 3Ř@}c5;xam鸞YG23WPHV<0lZuD-:*݉~*qZG¡'E%|O03k}b+$v_V⍓.U)e==)}]7yUb*96AkfO ɻGe~10;o[cmt.B!K޾ԁn~*sRMuVE7ΰ5 \&ܟ@pP8͆U0]zMߺK 7` ) [dvy؇>,|Yѥ) x ]Y.#qfROj@fZXWi7hdK:0?O;*hL k{py}e@tt1@ڲtO\ΑAñ͵XCr;tX=wei\'lypQHWdzn5`d64&u 8lvK#NqD [L0сځkvw44Ĺt2 vuvlɼHQ)t xOmW(B}rvT+M~\')yް!Do8qrgfǽg_B+EMC0$`CL?)#xmhOQOT@r7LG2c7ԍsbρO3*.9T˛~pt,>wj*b?i+ܳ&-i_'a0ɡV:ՏeB:I 6QNujﵻ"1}ħ72d_mHӻo\8`PsW8l{?dl{쒇M u(SG忩'I/gj'܋Kvz[K+ہcFرB$[U~Rvg#\ ěc+RO Xyq)̫i9CpXByD+=%DPVpzlxGʺ ځfe uv\ZnQ# t^|KΏ=HV]Z ,dLۺ]XȌH *튅uH=CAE!|"H}Xn{Zo9V_h&nQ0P^4 4 )S50TBddUMc4DF:tRޱ4 K ؚ 69*R"`aѫ"c6Rl4`&XY yUdvc+šj[QPDɫ[t4m3F~,O8:؊?aM\{#wav. b :[F>2HGu(geܰ}\%&TfO7VS!!?B 8"2,iI|h FL]jGf)9` `9boL0NNCJA[:#R4rY-*gLxd_2)MSwqNCg09RA/O1}W9=(Tg߹F Yni] [_1mZKiY%AX~26 n$JߪJྠ>#w_xSVLkԵ^(leo6S6V#}mt ݏ ?JHHxǁ뚞M|ڡk ty-!V]34|!s ~K3(g@ԱX|fGL{FmÒFȔODWR]+ܝJ3-Wm;E*mHκ6vYS'ANbD _P܍~F !v.z~؁r>x0T4bRk&:yo.Lkg2gyC0}'K6g!9M7ͦ9M.ďvgp,.ݜZ֜:[M6Q*9GEFxA8BT.,ʝ4t]VU 6YNVR uoVF Tai&wG7 NaݭWf:W[6 !J RVScᐞ&MGwG`qv|Exs W]WSNG}zT›2/PQHJŕ*[3VY#`azsL\ &@N[6z? k [C?.pYs_A5#Htcr0s05 V @4cwIL*E7[Ӌ3hkT„>y)at`.$s:sI4R+媏"WSA.[gȃ5[g6 |}"j;M<Gf#D$&|Nk}CFlȼ*dbg̪4ħDδ&3pz AU|d'1#$y[)izGmB`Qr>iwuIEy`jC7>#hqF1O c_7L;m揔5uNjEּ c|i9anF.=o--ouSH5$Ǘ?gd}V?%#RZUߪ]Zn"/xq꺦d|~gq`!03.1k$}{%c^7Z`f_4wHc^GVMlJ>H$ z(A-IIQ~I *lpn%x{ -W-x*]](Fj]މD|^֎O3]d/yxrådBVO0$f])&?G8qq˸Qryol)ל9)`u(PL|vDPҘ & YekK@+r߶#֠ẖ4[RC\.G.a^},)A%9i`k,-8:v>"b!нHL3F CZ>s)^-`Bșr]l(v&KڷAD>n:ަ_uv7'Tb~CͶu_:\&'"Yx X9-:,ԗjXK&ABO7q\ #ʤ/ VKz+-KU2*X@pd%B;vqԓK/+iN&~d46d) Rć[I^^+U{ղ jrzbG{<&]i&v0\BIU&p ]9m$)xB("N!Tuo닊F#jiLi|ϢJ8D3$8u!kRtٚt5\f u6`3 L{?#UrY:hj -mB./6b8ښ ~H:Qw?&E(y 0œN)! R/z!x5c5_?zcµʀWl*sO(ɳC)B+'#b_{Ide?!(33rJ [ߊ9H91؁W["-]d@m]H* _2t*qWyeml/ft;GIXE~Jy*>ZE0gTĦ 3G;wk%PFfwh$>g';C/!JTZ=Q%%Rh6ߘz ' #Qx ngNgGU#am?0^C{REG8MtQ,Tdgc-!}s-2] )*كлVóDX *}&kv7G O n$wsY]"&/z5%/Չ_xt+7s.K46]xLdLx<BY6LX݋4dڛZ~!ѾtW*8_$[:҄ ʒU,cDh0e+C^b!(4@d>N'e8^BI"{p PjC )r37ۗd?ϲآ)0Q/7f LvIC%*K\뙖fsv/Y'n< {ĕ_Ԟ}C΅i9FCQn6{+"]- ;/l4p}#7D,Pya{\᭹KD)vά 3F-#GLOn `\O] 2@!9Yԃ.S{DžEyoع9 BJ_5o{^k}3MsmN9#bmiecL"䬶SA$բuK. &`h5-0ȵ10&  tZEB-9ESbHk"QƄjy qួ2=;\E#5EW񌡪~znpw[%LQu\)yeȈ9TpPrt5D7 gN5ߙX檳7.1*h LRFw> *Ĥn|LɊYF g{X%oup˨ЦZ*U;Cb'8j5)mU3C׿kb'ŴY,j ?-YqY}|_ty!4dqa!c/!jee1lEFAFD2tɵhB|}y H6U%^NH9X]'fϳاA1QKhe+#}Sؙœտ(qٱI'f0VlPZen@yQ(LVWjB2c}uOuRpKb+$+vjd9qo@[|pkwB {byB^aG_7 yӔ8ݠRyUz0]{ְ@ԋXҟ4oDMIk(=~ϱa`$ѴŸH* PcȣrK 8mv?p۝eeJqz_ٞn-o w/N"닅n&n;@u|~WO_Xd$u5R"`V?Mȵc 672UDjCIɔ6,3Uf"u٦vٳ^AReofC,<#"?ozT ݂զKKKhoq%S(E:QFFu M֛ $-(ɐD+FɕhlÉY1Ɛ5yL9FA|/!؇;fK㋬AG5/MvԧE_v-NzUx-^- UT|k.{lمWEY`zGƬCcMZk84BAfEaRfDž RV_Bۢ׋12 4Ő3x?| 򭵾o;v~c,2@߾ȓnnR2E=뺼Xg:OsO>'"`]֔g3o%};9^-{YٓWJAlxz"V: ڡץF&ㅂחǸaѠDqnCiZq'DB_7|`:mQ;qdE $D5Y~PƬ-SpTUUϡ}OkĒ9DWS~TC3aͨDE"z/K{v"eSLmB&R;Ϛ dX?{3:?/gq-AS N $M`ǺjAQf#>ɉV8]15Dxh1^If6J1ŒfTne>I:D\X($WPewCD-hXZcه4kzmC覃 ~W& g1ENkJ*1yxu#ѫ8T0(T)x6P0 ߰w5cNSU Wj6]l,u*L4̎03;T suaU20 z12ncdpx5VGsH@bjr3DvUl, Ѵ* xYFkaXK\g `28y R%0st 7vkNm3%W:kKa zsڠ ߈͙I|YEXװ| \PJi)h\ZH!KGO:Ҭso,8޻9ՒҧF4K΂ &fXYǡPTjӦ%qǰjWź?jGÌXEjYCF/ANY-Jҡ!q;qCMb(X 5 |7u$78Gb&}5cP 9J?nMIt7Rl`F?E xx3J6A?Y% !|IqEٔ3e`4<acb ude!ǘe%"Gu ˸_o.:‰(Q;2/楷OZaq2K U^ [%Es KYI:}w^osg(mĊxEoOeM3oo;zr) *.).CyM;fQV?㰕 ⃓PP"nIg.Hd^M%VI<)$3cV'f?S37}|q_q++m͵'8p S(J4trKO0*i}#)Z 4˂lCh@\rdMA.GA5_%Mc#ݒ`rɼk,=g6Iz$Aeaޓ*Fwɯ]Xg^[y79o-`q c%Јl ǎ+] }w9%SAbצlhUM`‚YPL|.*sX;G>ј)1 S54aLXU [¤%&ڒ6?t6簗LjKaOXl'Ȍf R(}J27BO3@T }םw}sdQjO]Bj;]Tlc6>g]Jݍe*?ngz{C "pEfw3^u _./K8B/NB~E4M+7;Rh埔r\mA֏c/ eѾ0r!n~:h؇CM,`s^Aij1U~RRt Y} I3*L @|X= S^XDV0=7I"5>)lENeJ%3](Cx1koU5 oz ۓHc0Pw9@v]oo΅Ҿ9+bJOl{# ^A8bC\S=hosiS`-RgYfa: 7k bn-EZP/bic|lY$ !3bx?Jq7 "(WgOlZs)I ~laYzYTc}o!A4BDj1 /G_vomݗ%٩-G({0vET7#OwORtTJL@ۺˍq\qUy䔯aᨃhQK8ݙVž8!L<#Cd/WaǷ}PzQ ӱ6V̟ r 4Y z O:eW!pT~ 48D?=q ee(Xϛxus[ÙĢN ku'6 1l|YP Bv# `'{5o2114Ob}L=Yُ~b=af8` &ׁ%ЏshG"_,}XYpyU.JQgpC ~sܦ!nڀEip+b!ueV}G2HF(Vmmמ kŢ7QIE`ߋwvY䱛l7 $|]oKa!S fɝm,SKFˑݝ|L5ʹ'"Jg%v} ῼoUɣFLA/HЮkdn R^|sB痼> P<9r*dM{ܼV&+2^w6G]ےtw7P[k8C mA˅.k&BLj@eԾ mZ(boz:4a>VV kD7eM)1"gg}4^P|e9'l0R`Ɓ :έvtQ {jlŚVg wWS:r& ۄ[&~Y;Sх|H 1ac?^Ғ؄ޕRuC$YaXĭjԶ[d!?< [־ҏPK 3H%&}L ě/WFU|Rh}: VE]lcJoSkB@JGUϛpT;ۛ]HdQtVNƴn6r, DEɒ[gd7- {zfy ƛ=H Տ6'NG;Y;%#AV-pf* oI6= nPKPY1A@q&JVL'D4Yp*E^_Efϕx>.C}{WH}*BJH%*IdҔ(tnk@[tHx+d*Ϥ#|JLМݘMz@{B$$mMy!oHBUo7fI!ywBB^yDs`"w-л$GMz݆YXȧ}c)n|skY9UC]`ifg9Ե 1d@_=A3])SEh!E/8W@}gY@{,0]jCO[ f~JENF<%a *]>`,[l k}B0](=3$TyZ?$A`O'v#m![) mFRy |[6nі>դrGv8 {&>vXzZ cnW-tI󫸼,)Bf1E:B*ƴCG*pmwkPrH Xr}1Jgth/cAh?kZ30G"*}HAatٺ4Ь\o/˟#/@ALڝaמsY#mbOdݍ2ǓUL#8`2*הzt҂{ :#)z.)HWX1YB&M`ds7⤤.ن}x,YV[)圈稑:U(;p`9O*9K!a[ZKcX-7,nB^b$7li#HIbXn ۭ[t_C՞hPIA.a]SqaV(H&@!ZU#JYQҬm3FPr6;A_٘,|)?*dBE Ij`]Ռ}9Q :1erM|)<$5rgutQβxH!$2Es՘'Nz{d/#9PmNHM1Gl]$qZb&SZ l90\?c ;:3Pl\hLCjz+!QI(YiRODS YIEwu`x0)xLS}w{FpKu16uN$P+Ņ3&|9[.ő tE8Z91?%npڬznt~,01l(,i׀G+s=oCfjs(CWuWqqҮP++ڕ"Q5*N(1+G<0Б^T k[Shy" ^]>M_I!_q+‹8#y+B&7u䨹]Ôz(GE8`v'8?.- ×͸|2k:=S{$^:9( (qX6ZM;BO13?a— 4gHcuX^$ U D1 }$-դ!T٧oзh*<[ɔ@ 8雥s]Fp#,>!iWMJ`޹aoĐ"b/Oݴk`  tt>jmjEb Y2'Cq ].>~ժ @lF4!>А/Kُ~TھP;Ħ8*շȮ/a]!09Ufwƞ{3fB w͠+T`\N}?hž\Q Œ)?5,5uP+QDӃBP>@ԫ?l E|#_a˳4B<\lY`~n{^m>O5+MMcSbjB'2~Le2۸k|*b)GMO ڟFe#8?;ziLac|?r<1<B$ٴh6"9?>~'zԴhap(0a8շ\b؛($>$^5^dwghaͬ&&,pqFY1%0״ތʖmb_(a8 Kc# /#CounPB]:+ODXcc,5XY (h3 Qngk e#]tHI,f]ﵱ+eـbdS%k,G?SK?tRLDϿL1')p7|Uo$FGѾT"'2`.v<U$(!UIu4UEA@Ve\s5p]Pwo㟱r`ȞO\4O5DS3!\(g6Q $0>B:bJ삅@b~"ƒ{Vn",;Yn<=?|lw՛RӓGZiϊ[NP;`+POXq#c >\LxWQ3 >xϠ.8mg=V5fт86LBF) b#N=ʟj) `oJ>/qMM+b.fpFz%u[DIB䎕&7*-1FP堡?P׊{߲Y~VfGWl=BoyNĮI{~y'f XlqX8?VOɇ:-Y+?BK i̓?1,_m`uo6ǼQ vR˓_ʠY$ KDw^C&IaIș:mj͎`{`]h¥mzTLv+׾FE~$`8ߒ 8\58 8D2hilp^c5"d$񵽱X!>MQMXg,^,ir yHl 28I u#ۥI>)Sߙ@>}7:AP0\}*bBҿ^jv&y$hf}CRM u1}dXZB2R9Ʉ_~.^8hd\ #a:~Z0*]fMZc\ޮ63o]̣oՀH pJ-hbߎI@M\sp)*r >1 gM:c <#&I "9SX:jyMOښU,J-X1 g}֠ |X~j&vqLfpq7 L@䩢baHV Ե3 #dwA3E=],s@ŧČ) S BQi9'/" %b*+qN ww+ZA˳ Lكc@@]ѥƢh+D2{f(h&HWOJ|T0B:'M8I0vS32 8m57M N@sWv_@A7t]A JqȀy&͠Y+ |dpj[C3E f%I$6li}g3@u9+1&XIYMdF9'ۿ4ɻ3uS} 43Ǡ4Ku>R[; _Xʸǹpܜ^Wtub$WxV ŝgtd#2?Ł']/ƹYPU3@x t7e!*nQ$]pVIq 綿TaJV+dee"BLqq3mA##g(tjۯy[1|P4O2)TUI.Q v`8|[D)ڎ4dZ~T"˜#<%%>/8B%;~K}7|0#ΘNfFk {"uwue>6`@[2WeY|/5\tz}k/.ip5/7$!P oq@;e~]G -km"0MWK<%G_e< snRb>}?tQ'+\[6R|mjϜy% |Ka@Z¾&%%q%A8Eu):2G936h%4@o_/SO)J5~ȋt4|Rs b+nP\HV!pe؞'+`-yET6zhU5\uT쨆ĕr9R)atSPpd Xw~Yuʕ, q'va!UNo_|t!5sd{j'"e#k;cR=KvNB/hv'o =Ndx9[NS_w hP l3 ,9l;Z{TG$,XV4g+qsԴܒN~k LVu AI~Oľb,iJ:N$C[hky{p.#urM="^Tw5=)Rfd,ty2yr^{TXUC Jۖþؼ1P~j}ߥ\vZBGv~<M74-fe1wj<]Kv)QKWAKBfBS| F'\oR 5'%RǷI2 J׊dƒl郵(},O ǿoد6v{i:{rq$ qP~u(S.@zbW 2 Դg.Tk=<\ Օeo ?p3!~UGEc%O$Hj#THĹ_ee,=ϣby6@DN3Zo{Fns&I,hsqj8B?fZԵV3iw?2 .O@#`W YyDByy N:y sb~ 5IJRy t-URDB E/[Fcq6!uJU BPm K|8t[$% A* -ې-TS%-JCNJc//Zj:!7I$K&|lKud{R[ zϞzQ "~,aNc|z씗3<_d^xU[]ȞcΨ$;э17Xk7Ӝ"3FUghd Esrt/"$ʈtL` Mj,xmd!8#a/}Q$7z:,+ܾWԶcWb$_T}X ?r~T=Ek,vڛN7xR5|BeQg})l4g;EzORRDV&30Zbn?3x|>n%:oZK=vۑQaa1lך"{Z;x o`_pUypD}vLmDY.C9'CEFwǯlwqhc3M/8`Ph ici).Ygj쨖 4gL-$[e*|ո9ψ] Q7nLoW3%b^ekb9œlQ@7Evx6Ph H Q Vzμ޷:=)5=:D FwX'kv>^on6=1Βn @M5~֫h}49'[G5r[["ܗN0:WyuPG !ׂ#UEO\(\Ξ !E6#Z4\8ʸl_cȰz:bK03 \&yGͱ&jH8B@95 d,9cr esJȧ!ZQ aWhB+fGP*¡i[ȏGl7it5KnWi^+bru1{o"O z<<;8n?DĔD^םS6iB/[ɥ:OfeSuΥBcFRʖ2{.cVQdoFæ sxMk@htNZ):-+`H-?Tb&| Ux$\eM ?-;(9|}ɺ+@G qaN!18{ie9[-f1N9[_90]$ 5E-sL񡂛1'8o D܄I `6&%o֟~.uu Pwd\ّYyX?py?,YJ^yɰPv~$*x5 и,V"f,m i^u򶦔x)K_Z heU6.wʝDJ;뤲ӶbSwaW)QLʗjxyYvH/65XSCz eV%k\Nz36ռƢ/c|Nw=V|~TA1 p1ʺIGkU3I=^:(kťg{#yrbim /^(%A^S$^a?X`1ƋmSZIh!峴IbG+&[f 9W2py1 )N\Wyz;rˋC }u6rygoQ>)E.60 gBz@ୖS&SZm=SpWJ\kXR̸y0=2%!Yj\88 yZR(0xQ/c@U;,q$aј 43ə*$ŽpĚ/bHEf\c}'>s1Z{K,fu nC*h yZg,|X}76T=*w)+臒0 ?cYɆs-2Y4i?}]gu0Qgk%~4 J{!1lzթh<. eR9> F4j7GpfLą ׷y>&xT&†_Ow&s0賯ohE|(UdJV!G% P0j@xTJtqg0E,gWS Rt.pi{7ʚ_TN$6-.oK X6#O晹ӧ~7@)|;=UɨD61uf k$$bTK~?ۋX 5yatfn>f|cj<^֖8vYsؠ"ٯt|"[/zV*VJGPX2{ F:PL{|Tуe< $Sng8jvYQߕ=>/&ͯؐ.}H3=no92;K'axx6+״tiP/7ۇ}>!"a:V)^+;~=0# Hu"#||3SU6w]V7hpWǴu e' "Ũ@'rDmIH@'㺼9 (S(-yaϼd*wҚ*>B|G?\i:~?@naǬ/m?%2sRP~ ڃs4VW U(s?e=%A(Z{[]Zm $.E):<(QZ-Ak2sN^sD G Ӌ"i;(x$S-&Ɛp-"I貪h\ |l9B䞞 B|OO]v+'Ss'4c^u)TaiW` A#gनZgDaZc%muĊ=cu G•P.QKWQڒ~0%1by$yh|n(}N^c`İյE Oie ~wʹlcHS .v !LɑD !·|ܻ>Xgf sQ^49h~X`#_6e ɉ :I3yU@9L]\:K]P;*ZDo440eJ..WK8KV6"5oP,Jn U2Peq?­' uLޞ4r7}uU T੔#; J(;7@G?ITs[.nDr^x %Ӂ ):vUY{U"FSFYnZ0L;GN.a`q5),EE~\v ]dLF}+i@&q8HJ9 c00l MФ:Bh/A>ofV!Z1Wjf .jiN[YЯo2~VJ/.ai "׹ Tw1=NT l9+M5vIP#a.-bN%~Y 1@wg[ͫ;zO=AḛvR3uc[Uovn}4c#+,Y: |}"0 ڊX_Kn 1}!Ah3LMmSƍނWcx}#S=R~:kFX &aUZ=2Fu<ĥbvUhs8E,2Jg%DZuXڲR0Zlm'urJȓ*]ZCD1UAW,% vCF^P+祳[8k>b=lhd88 9yvҔl2IBa4N㛿^%~vΑw-iLtJ/t=íᵲPs`H 6ι$hE%Ɔ֑ޫ8{иսanJ;B{ ;լÑ&gXA3A[m 3_Ggؾdf&>}R'j65黦4dnnUi Oپkx1g@OIT;H SdAzPTT:tch1c"4;Ů[S<$x1  sc@ 0K"dvuM.|֍mɪC3q%h9$YPXcPn`S>'{]t_@Y>EX}SZ:/Ha"q˅^ag$B}>䭡 覫S TC-qە0-gXJsRoFwг7V˘'Nz Xd1.>*W5" #y׺NG-ZeebƠ[$अ]&,+Bt،(qgXݫh.Ǐbk2%W 9Ő!-}ߡj2AbXovYh?Ftƿ8rXV sxZX/>JܱNv}ϜXq=i9 IRGƨ*t 'ufT=m@Ԡm5Pcj4 օjm!7hpK\ [8yoo\΀̼ q|Z+&PP7{j:yA>N#Pj+~2L$վx;|8UmRf 8Hcm ; `Bg(OZR'Y#G"OoZ xpo)u T}zP9mctʇ#k̬T%8(+027GPM.#5e.ũ Og{8]1I~y %"%K4C~,Xo;` -2ƈ$U6E{=r@۟f [/D6lO _R4:&ܕͫ~Ul@=dat)Z@aaSr9c.kN$f'A8x&D\SwAkLTJ_X Rڂ!LM0k?M{%i)ƺIyBll͔9 ֱp=* aS88I"u&^؅qV6 eW}>^rzE'<,$Lv 7M\`̀!v7hrXeK|98D5),S>`Å%b K`ҞSethGm}N wMh@ xSa+֘7M 7]ݚ;0kάNđ&O]y$e+j\|y k#D\R%9tjשhu[ICR^00FXE1V3jM wOCmpxvv}|hg4ROcWlKVh&E)`F/D3{1 ;c s%=ђN5{2(SUӆc+tzԥWZ') $3Ȏ]+6B1^δՏUЭ |>1h!v| m.osG|v7RTܤ~'0 ݰ|<σD,<q_0S%cqj{eu6i+#l`(u\P_r!0 <*1]N MkhwXMz-7*7s[\=wdz`AQ0f+8t./ =7a*>Lgs8joV`vݞ YŢI}3!=A8ʹ]Mʗ; %RQ?DhƙĞ0SN}lI8zy/𨣉Ce25E^f.$``!uSU|b`xf=<{VVNxVڹ)RZ:<7,*2O} 60X[ H4I LI_^ \Dxd?l˺Lg"Y11He4R(6Ik5Zc/E#uRikA^{_৿J̧sGӲ6Wq,2Kt+(}<ܼ`ddFb{\f(hL ۂgmL(1rߺ&H1]>8SX(T4pTNښ nn/Tg%:UҔĘ־{hQTKT2BiQZVrV3c f ?P\:>ӄ䢆38 q$EN_EL\aclJq=ZN16 9^)c@DeO"qCu7l397݈', ڸm|е{IJnEUV Ҡ H>VI P/ud#'$\ڿG$4q!0w!I/+]Q=V=_^bɀN&/n EH :si@@Kì^)3 oS̗ Y%X? *&Η; }ɰh糐9q;X 56\䤧MηJ ܾ{֚9kNǞ|Y%(MМw%)ajJg^ei ӘY)q(i4& `nHkVW;ʬM>mJO#p6t C39&!|O Թ4Sg@2rzF!DLk<8nqѵc=\% eu [ƨ=[ܨx(ze#jr+=N.ٰZ *އ-Tq6&aqvb{aɁX>*W,`&D: 42 ^%gbv7TZhJ JəAu@Sr<UNe~-X":c=^MȂӕMu 2)g s9rTY, Rv*Z( p~!G@t(hTJ[@`BX>))+mOV%h9 t+Zk@}[ A|d6Uo-FFn4E Hhp]X= ?KYL-}q,(.NNmHq}euϧ4-'/1?9{`G~lwHĭﬥisoNyz jN@-AinFB{1r ́:Q(0@aVS0ByG[ՋH~zU Sv(KW^Icm5>>IȄzMj~#1#rXmr S㯢72.E:aZMR TQc hGWV~ u^Qg`nt#j?aY XC9~[g3ZX@&QL6wE:ͺ#pUWǖt*R]: 5PW9O&*!}}T!ӚBi%$c.>)6sTMwț l88gITK`_G=;Ѥq9(8u= YU@>R]UI.)Jº|hUMXCy|_XA7JW ?`I{5iZp ފvm8*Y帪0.UqqkkuV& bO]H,QT$l#5GY;k&*=áHJE8']HIG:MnWxඑ9>CY:god:$^but=Rl2w@zI1(q7᪞rٖ 1̜=5Vk!k$t/%R`B׌hoe[M91ף!x>c!TE 涳 Yp+iA@JL]qtb(& /8l[um PUqhsR|Q镃twg&g12A?J 1~^@*'d$>O4{<{GG{VYXvV>#b!Pln^ewweT[c>C'>o'&|&w="É`Mtv]qO6dY +h.@=` ,~ԎQ9&jR It7UM`)$E01rTy  5iw H)"}سiWR},zR;^^yvc9 N6Qvev[~lAE`=C >*SSC 7#JrJUlI!pboBa 'qv?X]AQ+OhsxMC$ZXrp [s?VƗÛlefQUXǿ.$DEBoq/е` h&!"[/J=%Wd,b XMBEy@ 9"Q`4DҍAdC>R3{5TI*HO>F4Q0>IJ ,CtNAA='Mn w?:?qó/'DGyA3)XʡӉ^mF)s_,M*>v_`̚]3˺ YzC!cMп; ù\ WQ4][2k2Zm  Zc}D'z/UzbL69Vq'lgºT6;_β7ejx1|#XoH[_C" %} A6MK/{hQ4k7WJPFTMeR6|r<$K"n|0W1oՠ!eD,4T'-ba:dCs@%ǻԓ@ԾVFstۢzQAcK џv?ָ*Wy^z$\) %6as?(cw{LJڐ>.Fj:MHEw"ҁRƂ<24ػ4y#.+ ?BXNqru6}.sq%۱njoU%`P*15L@](:* 1")Kۣ&ٛ-ߐCb$>`1. 7\o CSkEAh->NaWqI UǧkD"|;="pO %ԉޝhBɉ߁\SU֜b_qE!6^@=gHnت/ Ge $C[NW*S^I,ix2j%)I 1"VMgkK!(čݼؚttwMߥ;!eD?)Ae>0);;ҵpIAV?MX0Pd1X$ 'YZ+aFUMzɊ>#ҩɚS㽢a/e9Qډ?/+fxi80L'sK7 98(e N|v_7IJZQjRJ=5P;#IbZnEӭˁB%p'D( ve7O1K$oS}71C LØ,: TJ#$: 4{?n#i8{ݜ,(+K#JRkƗt`{LK 8҇$?' $] 9n5"cIT5T /i7Ft'mLႡ?l3էi ōZj>F@^qyŌ̪2Z^$M~2]诞:)[@Sa[ S&È9'a3 Ago%օ܏Q8gnx׺6#W] j=VAni volj^*hi+#9Jw(W,I %X;HAi;{A8'Lۮ柗^~cf7kWdv2xM#WXӏk"@zA27=u:{c9lI:jsq!,`cқމz sv 8@4^A;ckPA >SFL\(]!XvH 4czسwa3IGOK,''r5ŏkG19KQǣcs\ʹM=>4WU+=9&ތͩR\v̟.2 ;}aR! i8f'LzLΠlkA:֝SiFˁfBHb&a+gVl5~3v>>̪ R%16BU:sVY} 6 !t\@RdIAyx~nY-Mڈ .Y4NM5b,7F 0B\k>쾤L7ߐ  G I*.Ʈaƨf@0Wq퇔+7,S}4U>f;m&%}g+3|P(/Z 9෧>h%Bng/._<U b%RΉ9΁'"Kmz7Ql^8Jk%stכ=-5_}Au(֋Iwa=K$-N+zgE Dac $d懕e壣df(}ĐNSAƊd#zѳniT:A͞r/ŴRVnH O~Jyk-HB\H3?sj1."17´VjkJ OgX<l33 oQ4uח\2b_E;ДO˝fSץLmT)6'4bLʄy*$n;-,^imhj[kLF]^_GzҲ͊|%}G(WYlU`ԐF4 )ו4}q?k| T?kƄZx+U -/apȈ=b6ފB' TrN ׃f I*7x^Wo;?:UGIkjtG@@L>^=֩EJ1f 7v5aHZgs؄\8%,Qxr&΁ysxgb GCO!Xxf9Ӱʈ:{&H:pIv R7[ [ܡRjI‚I #5aC4uL(1LG)U =]l˒Rn]έ ,1#yd yLDS;1Ocz P=v77&ZWfRAXaXT~f-_$4C#Pd5XJk͎K$€SH_# _ Rj@hz"hNhlzG 6_K1L1$;3ͅnQj+:xV])4pH)<9_n#Nj0ԭ^Plݰ%$M* S"r gm<Da/ TK:ESCz2Ď봞X<? z %!eׁXGoub6D  9圔/݄R5}G)Rc>>?t6ot-{ohGcfp@?ika1 hEjUm!}@j:e/@@bFr-=!ië:[-ƠaKb, 95;vgVdcŧDS#>p.?љ)rjjF:Gb] (I uvmj!`Be +}¿Iնv~ MRM{-}, ףJ N .I]-!]ن?_W%z[;B/7hێ{ GaԬPk<3@6xǢ7ڛ-0njctށ!0|yRu9j<2oeoF8S/%c{ ,5Zy"Y'(:3rtZHvP-%-G[@X 17 Vi/k)^{3VಠZPȡBR .;ʨҌL]p5.(LSfŦ|w@WFd= ~:藝F4 hr2r!`@ &/nXkuD[mb9e!oЍdNe))G>OV&Np鹫-h6X$-ǮKdcheD􄽺E`_XszԴR"Ji0( sp#>N;߳% B]Z9wGm3pvا'~UitHY:*myoZm`u`v[[0[,mԍ21u] ISj_ܑ`إ (Y!Ki`ymX]`U )Put8iq耡Ou~eAHu̯_Lj z'uap{džtΦꍳҿq23J2xKz)=XH/A[j=ުNRd}yjaL"`*Pn1m^ND0%VĵQr5{#P;`6 t@v'ꟼtgXV} !h)b@` z`>9Uگ53\+`1gf]/W(Ψ%bKUbw3aJ{Ae LS ,nGgP O RDT? JG {3݁X>H2^Ky+fAЋm*&̙An%8<*P3 = `:51.`瑗7mTu2ͽMxU֒/IƠjͨx@TW ia1mn;cIQc`4R9+FuoyPVKM6M>ตyuXN V<Ϩ٣jmGL7?;7m^!Q وvX|JصzH.WY OC l*ZD)z]gE3< L=qx 2e`vj{PA662"Z?t;eH,Ff}YvV='NhIs1VZ˘3ouj-[T\"߲ykpZڙdS$˼DFo2d cdJFZIB`"`]~6Hp?%Ce:UX^%,tm)Zyu{He1}kB*Fku֔KJ1QhW A—X"yt`fJt%=g`4T$9U}VFu媶-PyEyHg"Vx_)?Z$Cp-y¿^R+T*ʄ2N@Әo/"k+f0!M B/;$oߘ>u/s}g ]֤ 0$VOtsDg Zb^l28"Y{`fE毩Mt`.+[$iQ+92"dG" !? 臏#qn#Im7j V4y:|D@uoA@E?Ӊ[=z`ka_ !<5m.م5 OĮ*+_MLy m3퓰Oӣ?ZG̣YS5oH$QDE3ca1hm_I"X|9]T1)tE`q"f$nwWPF.t`Zzsu3zЙL*Ma9 F㇍Dnu$yczx(rBSk iX%}zڱ?}uMz!K-`D5pDꧨk Arld]=cs CR:_ToҎ^ ;ΤucXirٍ Se' ʼ]{hh(!9ҷr)|7y:zktm۪NYOZTTYĘ. 24awhQGHT5b`<HWdE[=c x)'*;[3ak: j 9{F·HzO+VkiwjBX(ٰ𻝗Y/:XkC}dm<&#uLxM?t m|tDlܾ 9k\J~,AGǗt1>hb+72X:B bq_ F!X`7Lnm[׮d[񯁓-[Mj} Pk#hwpd^[OF쌩5IP?ݐH:,E䚱9U|u9H0ZiƻWoi3⳿qyIZI;]ai0,I*hSoA5mL5g0dy6zdoZHI/E#]Gk]A#yDCF~P?ѣkc"cZg3pXf5P˨| $b|XL&kخe)OwthObsY?R4]MeaN[R*f/8eL0manWL2efߣD*O#_DÊNUVی_:~Wro]HnE@խ SS7VS>qb #P1;A釓5 RrGqLN 26^e|(rrl~H5ҝ R!x|68n2ȇES-amh8b6̶u<#M.9+;'ݗR$ĐE֠%ǀ oĨA75le%usғgNp{s%Ѥ$PfFMyp|qZݦwzMC0BP?. 7i Y\$j7ө0\%_4׎sv:Q(gQ5>D2!yySq0NQل)o ]^2ᄅZ=6^`m]].jrezNggۀF8Rogc} Tk3S 9cmߺH+S# /x:0~-GndqlC.mh9դU PFv?D$[:\B ]L6?Fh2%y2K[5S2)f_^ٮ=Bͯ52&NOE#LDعp؏>%7>sˬj>?NI%k,^;K0cO6UU t,%\>+,#OqR$I\pAywz.50L\hg}zyasuTӽ%,0ak%;%q2б#I4^Ҽ 56E<Ԃ53VS$Bg8pq³Ֆg9q]ZƯc #"Z.tI&@x&ܕ&iE$cR͕l$c|4 LCR咕|YQI! 1-ծ*s-*Ipv-l60[`o BO5,+ˠ9l xy7bX`h7HՊ$YNh]9]U W"{ |,FOvO)[p /'H5bݦn֜),ada(0n۬5OęSE.)6v6fVL pBRpD3H˯`(Y!s'|JKJ*3F~bqs/BN4,ΨXV?O2[ωXwlG"؁ژ:m >*-?. #Ouț$ @ף= ^5_?'K8CfqmӲa 6EmI>),Ryr@}֊.=2LM:@W-oec\m#M/ qMwʩM&u+oC ͦ!uevHsK[6p⯭lRSUaAPdZd$S1<7<3t_7Co0\|?|Qqp6*E듺=q%<~ֆΐr^4bs5m% qbZ=uRaT+]̀[Fi2ec)dfLM MF*rԗQ࠸9~!C/ta>#]ʘDncqD#öQl7,5F؛yf+CGBZsrt D@=ɸ«#+ <H;pHQ=VD(.}UQbeB \9KU5 H"q#狚«wy}d= %ȃD qJw 8PaG-3 /Wb €Ӳ}@Xg|s-͐e/(Ԝ}8qŁ}THd}PmÕ_YεefdCs;1j__3YIzv=Lgw)mŐ FQ0fsK JB2 HrvHd0sZ1,Z&UFܭE}s,+/GGF%.;ƾ%gljެahCA )\B/4i>Ǽ@ކFj ?gGZRuXX~Tm\Rf^R&1'hh9:͗ů>􊾡EH". vL= V5UrFz$>Je->ށ8Z Ɓ@>ۈ+6)eZV0Q]D5r,{Zi6Q{8~, }3rKq(- sQ"Z,$e7"-* 145Noڶ@mz}7ahT: D ˼dY] /|onFYK'Zz=rVSjrם`q#%ۙz.X5+2o".u….ؑd]FS8g΋V2?;;2&Ryܜn16)Q?pjGo5 C`Ӽu`%QK@  >ZL6|_q'mT-%OԍZqF w^p K=W!8m'bjt:'(N Owp.J}5˙[(Ng`;mC (EGu%[Dشú`XD:v*0s:HOD΃;(!Jkf,Ze?w2E[cm+1tMj+f(qV[gh<Ǣ W ( `|$Zj BeYziР/-RC%BköqNw &pj`+FE]J9h1 \;1Cm ߬LTOKdU2 Kl|}I W3V a5gd;:Y wo/lwǴ MfDU2=V  VT;mIhuKb]M8kwD^,=ɥI &pIfQc/`:”AǀY#pX~E+ݸR!_n+ϳ #_DHѥBozj\+pQ[ 0>sVo\x }9\'ț sT?|ŕ-00O&=e6^ї?r-};( gWoMbbGLB#)|vot0CSgEū% .79G1%CԦF Xt՟`[`SRP/! 33唒;@8kc*O#Ώ_ X)ujbl܊PHg/m%#b&C|bPAWs #gMi }dPyļu9|pE,Q ^i_dHSO{̊^*vV^&YPS#`BNEf\ͣ~uGJÜT$qíKza3Z|&h Otlΰ|{+ z@\(HQZUn_NլO+~vRZSߨ i@F`Iܲz% j=4(8olZ H:J\@h A@3r,Jf~ za05Ȟt4(KxO }фqi{#-l~17!ykc6oIq 3 p wjO_WSDfW&cZ~C(^ϑa8iK1D:R ysθlwp7s8\Ӭ#N)4}PMu: %S)rS5V." y[R8Bp_D7AQ` %t"z"$- 8-ݻ%fL I/f~hm9neWdsot~(ek8" ΎΨU9}Щa!jH1MYSc]Hx/ETAŖdnwoAԙ晟tv=*4a&kdUKNCr4E̮ YZf@aNWS;i`KA @f_ϏMOhjyJ)]AJx+8gK XkAk^+WƬ[SH1F`>7*iZ 弄Fl9IԀ&RF3 ObHk4#t!Jօ@:Yyfai6i_BY\ ːƾPlUeEz w,)|G(Q^ЗQ:u݈ -vGV~l /9#l:ίڀ *GeT-X^^Z^%(-;(Z(֑u:\O9OEARAn50ɔG%?jgPGxB؄T1AsM Er 28jaa^;wZ]:7 .Ea!c{ه{d~]´XFa}q&덿Bm@x~3!Jj&HYr2.d3]7I<|q%XѺkkmnpwŚHXYсyř0Jsr+ V'g==ֺ&!FɾC(艤LU`Ǹ@QVq -)ց| +Az%?_ǽ(㾴o 30yvEZ|iz_<佟t`', x#VLb5p0)dX}SbM^  &o0uf{]`j TAx$([/GTtn|D{ҲHӝcɮwך@ChVct-ra1INa=gv+`'7\N.&.#ji(Vb/r{,~%'^ xJj*JsH@-!(mJ+NBuGM  hT>hKҿ,Ǫ^n',fqʺLl;؏a!&L|TY`U<}GL)0dǚ  Տ:" 9PnDa @JLj()g 34#W %Wl1ҵh<92ǛeAea,q: W9()N hRFkY7Z-k܎S52O{f|n MHO=!b"14A`Whճ} Z5¬PnNn-aV΃esd2n z4:@:3Jy^CwWt[[+6DE|("Nvaԇ#8=4bbn;h_BsTD̙ >cUŲMfHa5*78NW/f., j#%o) @w~KU2Kj@,9PvnL͹] 9XٮodCrr1{Xg}|iw7U:Kы~{f:ew!wV7kA-E*h$4.e}fn9oQ};6B2BǐUiYY!1辚hj! r hd9ryJ*d&t:VѠߕyrX<E, 2 q @,7JZ.܂R1tH8 z?1}sGeUnZOh Zov}sO%JGZܳS:nA׋Y=̝jV *fN3'O0 u \)\Ʒ0.G,~N_jjVn֋,y#$ё 7K}-pq]߈ҩbFݔME LiD0iEЃ d2mio /l`GIdi`bV{0{!A0"Y\V$)C¢e?ߪCiH70\4um2AB_Tam*ro;-sQzt&UB_u|J͡}zC1GO\"broV]Y)K?ZaVDĦ)% ճ~QGDN<Kz nnh`Cu5 wc'ҝn@yf7 KCG~2l??r?GBV4wtsmylׁW58+Q'$@NZU EُCZ"ú4 9Ir/C#ȵl>c1DŅH$к٩`#AU~ >}? %k S~ٵaSi2e "KmU |5Jy!qs+-}Ors~=>ۼЀ\K!Mza%WBz= AKhQaa*|Ԧ!UH;-v}'F(=8F_έnqw $| )Z#*+QR,hs|W7֩,O ^;ySԄAd P9il]h@s Xx:RzydzWVV+livp~ý-'{j &:"^?FSR[O3՟?9) q!\BvD u,>VAYIL;"7;S)USzW,7.*l'&N=trGj~r|34nf ` iZ`(Ljuy;Hnbbb[GK80I;9XBg&oFJwdMlC]$' Q`J7,M$` gy*uKH73ǭZ@W2'#$R%ᛂwr1~V 6y$P،Gmkeyt/T)R|aCsȴA d| ,HdE2 c4wRxhF6y\12}`UͺJngOw乎JfۤƊM6Jyn0.Ki rHiY;xSmq rL饳!9:eZ  mh!e><;r@@FT9|:"Q}e3Ɛ&)#`&X٥$g:s,[DBj6F.sߍr U /b!:.@?aKAݣym93=>lL>onz?4b#H3 ]AipT$,fĭRVNB_pNb(-՝U[MVguOA2<LlDZ (%H6V79,03&vʱ5">W<3Xk`fdߝc(^ȤgHJ 7VzeqYy H}IW>~ԇ"c&|$[xLE:u5sd1|5mkqB=ri'c tHD/(잢?)𝾪L;oRT'P?Orz(,3ާofJIsyot,[#X{6(E,-&F/px̮5G+Nάw.Ʒ:X}SyT47/L_8]'[2BkR nT2J3!eQ #>g}G//;$`{Ǧ\5mI-B~Ťd' #qb=K(Y XÝz'! T|3ψDslRrQ$)p+X[qIܻbd`~P돬X!~?MVFئ;Gg,ZTgצKiLŷs$NgZ_C31KJ^0UC%xМin5AMZNF4PP ENSw5MػNeQm<6b<߈3@yP{ssH'@fC.Pa_Aa;qn6B'QMG`GB/~(ת {ݼl?pkvRn0F~ ~rg&o ReMBcu 1id&ƯCI<@&[00OlC3YU3f/?#O2_d'kSߔ2Wv zrARꛦL]쑩荶!VԦ$!EP^ 5OΖH:Ru}.DxE:෎y0 "*? 5tVˢS~kwD3HO Xv_H &!f0 T'x$\8w/G SKڶU0WvXj(*=\7_?H )8Fa?,+!Zޔ̸fAQ^XyRc)gq9H]XE8I\;Ŭ^.hu.^-ln]{qi:~J9I|gl/Ĩ3U#/5MK)FI/Ӓ *sAiGZ{,۟w&6wc#P5عhVPߢtjn69+,C+8jP@xcn?FyMnsxFKysM[8bUQk~ƶ?#!410U7wP?_y') {B̿AT>{д)3B\>Wz\3R=I9m:*"NrV 5LgGN'cmff"*&`;`^opc^'IwoK7Yx2\fVGḃ -z9R_MQd86뚗͖W"2[ƅӇ>p(Q[oI4iW;w5#C=H?r' tǢ}׆ Dy MJY=h{ښ# Ki ģ{HqK+\⊦;Fe?gth]ݐpkmkP]kq 9igEXAbs;:M!u BսV) @/^x_@"GRzUVE$/#ozƑJ;P>}e-Vγ4SUxZK*!Q²PmKDn[;5ڲ9='b$>[iuӹe ,KGRXwQDo)n̹XH]8ϾP&繅:cW4, ]ms[{38n0Z3 nh顆dNX~C+l3MC|[\~PmRyDs1 y 4i#YG?St](9i'Z-;#4 U_Ե>ĕ J.5.DJ`BP`Г׎Bn¡- oeƱlMdX؆'\6gbJ(]/G8xD *|#O}/"\8R(NBRR1 ; lSU'm%uFS$K JJ |㢨~y=Mx5tc8o;¾ihO63~0ĂDgsO-'t9܀*<@vc:hK7uO#E}$EˬzZNDX+yyE!ݶzg*{-I4^M M_ ]#@@t=诶C<  b+>ǯV]*{&&뱸yR"Osvi91 ڝVe\.J2Ajjx=[(!SeɑH򬬓;dES?^% ǡE$,-*1Æ-$Z~KW{<Ԍ-яK~R be,*j_Dr,#oG%xNbBi6.+邇'90Yʸ R+þ<G"7 j t"qB*_]Ô*^vK+MFӼ3 R'W ө~S^?/px4^L"YqmZF.u 쵄Uz#}e7linsOz3 !\_.Ǿ͹]0k QBBvDOA"2S(f^/VEwe?,=>QF˅PƏpTC0)>p1 ԏfJt0i?߲R0jnEg/)Ȍ>]k[׸D_ۊ*uF=,mIt-OּY7VU_q c qa"|O&)yQT9pb{5w+Lq[Ԟ%'l8_]r&Jnz/9p4oXm^ɴ[^n _xʶnb [dBl/ @,=uz.R.Bke9Q: F znk'* T0~곸m}9=jTb*>Alpa[=;І~o5j=#5p3 pW5*#¬<ƬA8q&|wLb(`O7zkMfQEʥL#h ϙV`+2#dGvTb̖d8j-f``qf?L 蕤Enw%AO[v3օ21mm /tĊD\/4H ֲuY4!iiڴHjpHᯬJ̘Cft6;|7_N/1 ;$.]kҗ`"_ՀHE5-xAݥiqUӨK7a(/jz>.yV)i+Zs+ZJI~0huzT 9Bk uj^>_2v(Gɮ4NNIw =4QޒͮA*%K&|C:F56OfཝLkLIr߈uL٫lVN$~d~$w Q{B >Zcb)ĽG]Ma\hiJEV|ƛOp ֹ="XVHnnMS<r#Uu#R~+;P+)AL lkYꑐW1 ؗ%IS _a]բ{ks.jDU@Vm~>\0Vĝ~aHg>'a=r5p >QՕt&.6ŽRU Ym5>(s׉/@?X~1s0Ơ=Ø3IqUWގeť@$ G_π>i\sDWL+d'F#U6e&R|K o?kz'wGgK_5[A3:b}w{yDe_7!R-I<2GjJfhW/z;Wè7La | 봩"DNσխYT XKGEa^=oMkcEcO i lFxPfu tXaD<0"53,}yN5<wEV1 tХ1jP:g-&b}ua Vk*4}Fƒr>0SO;*vN0?NqdrN)%yOtc#0 Xӣ=eȲ@U EX/FL ĂM{t$/39~T - oV;8`|Y$!? VOSmp SI1hMWLw-"y.n:x%Y<4Um C0@R:fT+yo_P q@g5)Ū6H8 6QNmV~7Zڠ K'ZlHmD:ߥVDt9.\|ΕJ^a`КFN.[qˇk0&&/PRE%+ 9u6?IQ*⌦]00V)1KFOʨ)Լ3: ^PJ{M2㌕-w;Үæ'ï8:$0c}]e^Jl ~#盛U*^7t0NE誎pUCqB*'#0֌9Rc@ 7{BV8l~o7{>ܻ6!RzZ?O ĵ%pVWtSȻ>>oi:W ڐ;TQ (P&+Ip4 접_}*F*`y"7QҖDibyHxy)lrEy1>^P-#EĀ퉣0 bHG%d=Rv$ɫAJbT`>2>LM.OB(!a[Lvi+'6D{PB)C #3f"z;g!cax=a<`9wSNn$m_&YM},gߣDxv&gp| MJQBۄs< %YL; /•@. #L0j:-~ev]K'4%'iA$ON b IQJH(!1k2OG-Qhȷ Gb!朦"zM{S 4bgx)F?;LN/\B=i s+l)@=5 Mz%B3> Nkp9In˳4/ 9B6_n& F0kd&Hy1/`$}yĨD("ȸ$"E||]vc󞪳N@d3iWxp=p|RrrZ61)KEMEw[s?K.cƗ>6BM3קwTVX~R$",G"ܹW|Ae,%M~eFTdQ.,ؤlݖh rUVfݦ߅˂/ǻ_Z 5_䳅/!#WtVHtQ|fBRIpX&FZig3~vSZqZ]21"FyjߚփJA&h&I; (1b"t-\\ ("nI.@q)HI*lM:BwݯpY`1떵 Zmtѹ"( ; 16>X P<=\vJpFCŐd;<N6bf< _}S>?~r(w2~XiJmL|+ZBdoM/ǂyU)vvU,qJ=Y/Z *Ĥl4钋IY\BB^G<@`w=wse6z߁2^²zd K[JQggOWĠ#ʇ![_yע{Q`=qsaYBԾnK;ᄑO׏w^TBlQ<qnZffl3鑹WAvԊ`y!>گ(tn>nR@ZD\=nT}>ƮFI,>"Qi8h8P5sH˹Ό%pC>,ldR>"-].󕇑&`H!+cSӨF)dby/oi/DDMw?ӷP ȶʒd7( 4Nhڌ hE0ty*2X!M$;rATZs } S buB* hj4ߢBߜ%n$|c/$oi,oJWSܛ>ɮrAO#>pZv hJz@َVA8 #S?ۼB}r>M|%!} {7M;00(Y^%xΣUIM TٽUi{8VuT,JGB1[. CeHg Yd6!^f?vJ3_⡆\Iu%!A 5K AvH>b߃r!s"ha2bɵBxLT+Uo V+l(P8@ udT[ @+0I1ȣ75pye#V*i: gg<0 7,s;$~(!1g}pbE h3,Jʡ]3;?+͡>[F0.!X4 3-+x)U޲8s?Xv»&;r#9tBP.y_KZBQ7~Ɵ}C7ȔI@(|zq=(@yoi@XbJaD<(fгSN)\&OÍ»EǷ@y^-/OԡP殢FfSwpGZӔ_ E)Mh։l&+f9A+Ef6.ŷzJ6D$,38\b}4wrn8ĕuQ0EXPQ2F9&qOV)` }5p\HULkBS}$\dSN,6ˆQvm7gUvSjjYty+y3xפ߱ ЌTzΌxc~!;<}Vh \بg{]x!EԔDS9#ϊ;*̇`= ڀ䕀vY83T$opb\PdtZ;[b?Dq 59aR59c³Y+ܻu1ɯB'$y&, ;d\[Ke][Fy9 -H!_[|< U,+B&!c`g1: @XI3qD6 YAӬ4RLs,J)f:!EL>VmJ?n/\b;!ַ} ݳ8+1IA96Qā`&rfosVƟ8#TQݿi$#PT^;ziP;ﺻed?R;K~sؗ@-sR+b,ٹ_= e&fHO`(*(S%< |J5D 3K-mi$RjKw"{+s. M(]Α8+(lN4jKb@gO,ۮ+H1rf׸c"~fґ Oz=G-uI2#鐼}pNFml=H?yTRy>K;aJTm6d;\(b؎7M lS5. "g.& kg1  00T= Dif* ғsSYH_8I< ̭Zaf?^5"յ0eosu"RQ%dHaR2л(E'Ӧmrp!6Q]"|E`A6b0L@o?Lް[ꯝ'8/:g.EYF م"x΀W)]lpI|]p.mÀY`y$M<'$%NQ┝"dWd%x3%Qtư\-Ǜ/Tq׮0xAt[s5񇥾+d5Bd3CFѫVd\$tp湪tCéf6 ꟳ.)C=Ԗz=LEk'E bekH7Zg$Yrj@4 ;؃&+3aWOwRau}AoĬeCY &Ğ ҉ LD7N\ ^lO3_Ykch";wA1bBϩk6 X~) ec;>ffy,<@@5t_Uv;)LAqOVl T3PI>(/rg7#}eJ@?l%هϡ} kA8) C*]^Y(2xI(,n.ZLGS՗qlkr\gܹ1:mKOJʁ@xuPTU. dF4Xw4IsOѬȣYz_F N|pvL1;s)RU'aR; m SbtN0];N?`<$K*+2~Nߥy]ޡlNTnBQ1xBn Pu\!^L8Hѣ"#غC=@n+K\3sq%˳Tv3eqZg/MY_@N1 ¬Ⱥpڭ8oim)\S #D=A ?*h[궀VV2@to+On8YZv~~gb"m/ +qh(aOgMҡJDk[ y'5܄W}zIgMޏA")=CmB1F2˭BxKˊ{^ؠ?q pɎUnM(n'm]ZJ4ƹ0{:ЄwK9Z)=d)Ƿ:GTV_rSu#\[V5&ˤoe8mFp_ۭK6Tn YC>)u8`P+?$P#Ut!o6Y:%[tS8zV./  +: XLJmMqv 3_ f>ͅe։Nݞ jNJIAݮ2V^zTwD+\$_}޺à31e7{,~۫n]㑋 n]kaȿ]a\"G߁D14DwyYѽ4/_%f3(.ךTcr/Ou"%GYȪUκ֍۝`.״-{2c^xV.yMTԗSfu}Irk)$] ]Ȩf{! ܪ1.JF}Xb_֙OMyLcN`=OBRjeLFi!T1I+$7G,-t9Fb1,70(z9fyi[IНJ/:S4vTUWT!F_8|0f?p|PӰ_KFM~'w $L}}c95 ) |T>bǹ\({1qpOvѦeܼg>~آ@)_D<ίLse}h2"Flr5 G27bnS[q}n&ybmZ}j12M4.:l&?V;PyoLuU_YH7%秙C* ƞ_i_T]H1y57ͳ1u*REsJFuE bs`S^Yx3GRhu0;DdӷqlB 铢HPv%k78Q XdƳm9$8+B% ÷O㻊 1`ކL([vB0V|v@¼19GGiip:h{S:֓,q9m)xNgտ;[,W!mOܨ'¼Qn!棴!{";me6IT{ĀI&_Y!`hc (?n{t=~Coaz< &Ok|l'fq] J<&ݤȍGZㅇX@qLoaB}DA&M@mOeBRVUHF}6c.D{E k z*Yث!*㘦iכtbt޲xjTFӂT! $h\d@ǧ mSR00/dž })uC$deңp1GcE>U<]>bҷ"sܣiK f}8!彯:7=mlQE}`M]H7<)!w\X+?ǁ1RG ZMa2z8KoI%AQNDќwCS`Ons}cB8_$bj9T;r|^_NY60媳^DP͠晔Q罈GxDL`~ EHA66&? _Wj|"sʅ7y2w‘{&Fb܋Z6]iIV C)v0&O'dtRKu -fbVb 'p%0BpVb 7+!w^(dzjN%7ݦݺ>}-Ak9 +J1B;r:d AeKG' Ō8>wE#[C7fu`9$D#Myx#50$(~Wʽ,vE[nëb!!!tPK`Q}qNJ&_vւEZY!*/K=B=kMȵG9n^WH')Yq|Nj h_˺@ =J&{:;fwGܢgzf0D`bklPo4? d~D^m"EV,[ [L?*~| ^`=Px^?Wܯ{|66G-M2B( |Kp-CZ7"Yw"n ܪDYSKEL'x@ZdX*̩1n/8!U$ov GNbQ4L,UHB /70ZYSf6JU vvRL0^X?֪%hBEjRb`8AOZ v сwJC3 4n{%}7{myK?[xb}6;c ix,:hR } OxՃj6h<B#C{BL#ѣ&}Z=)ׄgȿR>SJSk2dUE /TloϺuIԑfRQl/Ui @#QSL MVSD:Bh7ҥsZ{v~8[ x˨_9p2'LCN΅!_1?1iJߞp$N+?B.i ?b,Xf,o$=POqFhĚ˦ۼHOɂJW MǍhIsa RUbP Jn?IDL&A6J_%/ubP>29!x1x "8슸,XGrm1᧵hrae~ph!PHaCȖ4'CG1Ѻ7sIZ)1*NRB~H s/ >.ׁ8oii݄Xi> ҈#[(b65gԮؑSKc0:{υܮyTV Lތ:Xuw0_XW&p]]uʻ6Ohϑn="BV&v ;d{ T M"o=IҀ[ mY=>%>\N^%1ZAdl] UYW &-x )[mFd αW>TLkZ(j鿌O,Ϫn T_:>]fm~vE *5XTU˪atΫe Մu͸c1n}՟[w]c]&`CO:lUW++!v3؀k9 C? ./sx(J$G7""]kzN_B;zA&n0 2,3E}aFpcNT>![R+aZJ3Y6|+8Dӹv僠anzb( E%wK46a@}%]6SWU4mc݁mLi{ܩ(PU>h99b,;~˷=YApp#1રycP-'{7l\jV5[0EV<f`$Ǖ/@ՔڸRF QUZl2;ၔ*W=Tע3`2`  4yF#ϫ('X41Kʌo?GCطE$XL X=84heߞ"{t×"Tg* HN?7};5E|ў ɛhϭcM9b l$On? ?2 (CsAQY_2|{nP8v tkP7j%ף7iYlA, :2R85K XіLE<%,Ml\c 2tYIh& &XHG)C?Djt2h\|}oư+h秿`N1e.Ҧ@&`%5koz,.W9iK_zcdU۳|~0 B82W qOtr\b" )J- 4̵V! JwI·iҔmȲeU-jspҫ߼L']Ϊ2VxL+ C4G3@o-z n3`Divy~ ᔳO߅V}!َf݊M[AcdIqG?"SǭEo)qs|)/^ {3ڱ/Pϧs&th> {7C.d'V>4rxޚ{ꍍ1o^Lp_:r]XF&Vg" 08L~ r^)*0O%PW}[4: VBcU@I2? |\T=pMQ_X#=h(U@a'kK׽qXcWX8wr4}qئ0\eu̚\D_E)8Cb(t2@+ +AL>Dc w4 ͆; P\tУؐighSjjIyF~\c0N\*ц( { Gwp~g(֩ⱗeǃkÆmۃi|5y *vRPm6R jELK'_|}t;®|nK4lDÏ*6͢c~lGۜ7U1hL3l sh p$HQqMvkJ2N~-LZ|N̶͢I#<>]p#*MsvA" [Y0tk}*Q)WGHN#ʮ߀sFRwa#;-JqkB*mJz"*?$f3%ߤƅq>&`5&x-&dMHaDdέPY+s8h@+c u4hK6MAea~Ҋ/ ^meE) M:!ja幒}3ĢdL :D!q_ɘgԣ@#Y^AE]OR3bat!w4=cWH?66/@A*%U dΟ ӈO OjPRMyxbH 5T`[E lI ؏ǚK!ȣT>3ɫVY7_k|S@3Pn`r]1lb<@]}<=4kdku~Jqm6K4JM3+9B89)Re?)Jc.3g1<~Gh%#s*! ^n_!łSolts+5!͈%i}{4l0 8 whw a/ "~Pzɀm"9r>[8m5s}b0'xx\)X)A%d3Lz CPOғZ_mI&,U#kԡ=BV7!P,ݯ..u`7*)uT*}I9{Y1qEu>>Q6lRpXˡ>#,=Yl% #is~uLqPԷ/ϫpgx\Mb?,!1i)=Xϛ 6֠@Ig?{ȿm9B>B"=o\ܹ/[aWk Wauğ8(!ulD Ë\w$t`fN{oI?ܩWtVC JCiIDvѤM^*{ sɤbK66Dx. ȍ.==7;-T|6+;y@}3aL?J`nT.wDd_tX&P?w Ä"Ad˷;fw>BBDRx\AͿ'Vz1# ?PC/&B#ټpA'}uP>IIpHΏ8*aLdIm̦/-Q*}'Yp_xp tqOVɲwy>OHOr>h?- ,n<5 p)m U.}csfi ڳ`wk =) rjbS _B̗(B~΅z,Xsߟh˥ ž7(31!F7bQ3,phJn?5Zחߑ %]Yl`Q`Y˸1-u^r>_.peM[_ӏa xBëjz6zkCɔ}HtO**EjXY*vZuK)05Gܪ.6u`q MV7Be`Úm$3@RiNAQy`Uq1w$V؃5Gh>#kojb+NnAHgĐ,{8,z&1 >PCPY7xƥem&ϑrN8\K(nCE~^_0ݑ&`H> !c*$6}-Ԓ0px#Bg+|&=7ـUF C.USObDXjD$:J`̈́7mdj!E+'U19?V؄dsr{Gu˭C޶\uڲJ~  xӃ_rnb?P(j?c׌ , -A`_~*B>5*??`cgTcH|l t[C#J[cl<9ԏi&Dʄ}% ԋt I4=vZ}"IGȁq!x]bjK2lf6Ff'WAZпA:%^$S6Kh Jg<01('tkJ0.t!_r:fz2UovF5qg=h\BP"I,axa)ӗDvjl1nd8d&bzq8E}:2-Cf!a2IeD^t<>&18st+z;.9+u!Z,-JT4w||0;JTSF;oxGUX``<X(w;SD ۺ߳gF BCH8znKZ9cF+Mj͸H]mrz|{(ps>j> ܼ|Ɯo!D&' ^Q0 A4lNluT$[WHL,:+vL~kSSYwVi;۾5p62E*337Q=^I.L;A U+?KctqVFl\Xk E 3]ŞHl"ĿYäYaCՄ,1=?e ^ݤa9h~L55|-켠R@0Fz,^Nx |#ϵ+B!m>e]9#Em0H ̭&в :Jл'1=nRVя:5 Wm <Q"\S)WI1G-z2xQ7IRVPA<;мH1vrT@uy5DtQhN4)NqXp!Pn [w"':4  ި!}#?:YF?\W5pPf;{*.+Nd!K +[ft8"'<Mu}Ցg#9YzdۓGS8smf 5}ț; ^˻g^Y=-_v.>?ƒpFןE sƫD 14=#ڼb"}x14ziֶ'ݩK0=kLqJlVPWv-9Yo'bKN2ro4SJ+~< <`ZwhF f[OݏO~WRƋn3 \ /SA4|o/PfFc&ʜ A HL!l0iPz}#`YQ*\Ї"|"uS8Ccdjd>S=7ԟIwqԫD%m{oWtF َyJ'f7CX{9,lJ㙰kKUιcwET^GS cӺMLß_Ñ(o A=P(wfqxg;WoqdWuXѽ,kbXkz{tj{x˴]ct :I"ZK^[lr/9G_n=ؚM^8n`9n/YԅRvَUaXOݬ!Q $./%=1wTMѓ 8Ij,r9oy{pMXv"Pm,B-$.j3 "X&,>[GR N[ӌy=b~*) dG|Kuw# }[5Njke =Z~ =C'=Z2c{uT!uhm~ *}ڪ E\u˂ Q%{lloA|Γi)dh[]DU":7X Cڋs&0{lZtrQ2"D9/kVjdj,vxQ,¡?@y3Ç;yS*3:o?=k:#nmΆZBC ט,ϊL *bn[Fv׻uDi]e0w^~P` ea: "x׃LFދTOq%u1Io (E2ţ a!״J? rݻ\MRx % }>R+x& p(`aQ'n5: j ŇgȰV_ϖF 1P`#I  S$F{MkSC'2 KN-, #xv| VtOS4 ָ!z\c30yߘJ0# )-x{ԍ x;*NqH?_+p]89+F?aQUm]#ajh(ϟFz'9@fy[~㼝8e>fi,ӎ'z)]sZ&K&PЕJ;dwHIQlq55*^IW[;ŧJP-[5{0E \=&o}<85Wq7IJzoɶBm5%l n:`G G1_biMeRuELzn~b)9>)QxwtuV#Ā'$5e>& -? RG~hozeBqCAjGMǒH_xg9 יutԵE<*BVPqu;M- yY$%i,b1; ޹S% DxP"KyBEOTMV5b&b`raeߏumTf1,H\҆ɐ`~i:A,C-か9fGߡ6M& v7] Y9Y.Pi;sKk1ԤlrV;db?>f&B1kчm7N |UVQ1TRW^4/1Lˀ~%U@p7$+';9x71SP1Z(bva׎LToOEoZĸVb`9-Bc.Q5+0 =es]Zw<1T2MrQJKz]a8R;M%2j BGb`ڪ(]l:{x2#sOGTmZ8U 3B#>A0K*Z! _ πUrܦW.|E YHc-!Eͻ/`]9f=+Q@$w v3|CSakζg=l2cVJ{4U6#=V?̣/} pu4g\mf2e[Bߍt?&ېdK{@bcXxn<~ h}޽H\HOAp!j` '{/JvP+)$lť#F!@=n++`pK@ _笮[R$Q|J.fI􉠒Ϗ_x}/^Cx7y¤C\Ld#[:Kehtlod'X®-[ӣ?TMt̶\dFw42{.ݲӅS=oDBV@^FoN+_ͳʳxuKeG8; f5j3oOZ_냥89f+gEl/!B9h?ޙke &Qp0Uw-U26H@tИ×1%/y&$XwYz5ဂ 2 hNՓEP9Cf,i[wt`9tLDyb.O0Cw3^_&Ra`~!LIY|WDvVV>R>)*N3N =HS!6WH+̎>iVLzH& <9JxL aN"Gdt_טt=C8!?P׼d襆LϨLS;)ZNw/T#'! $sr)r]I>Σ~e0UtYc2{q]^]0\_%|DZת=W K?Mv-',(v4stWwfs@j^q* ͛n<$55I:&Ix{wSR]*Ik]W 4:rBR ;p7Z%?Xnރa GˮS _}~}e4OnV0)f"4=rkZQ 5''D}tRu9Y!g,O^$ wG)?FqFȪch1i%t Gg__UA6RPA )h%I'ل+>6:jw/|ͭZUѫԟ7_[?ɘ rtGW[M<_b2-]TI \p9Nh89Xl[Uu(@N:%mh{*8 `ڵ{zHCa=BٟRm@op& 0u0^r|NF>PP4?@Ň-\*P"rVq snVfysPwDʪYJ AXR]ǿ*8-֣XÁ0:4NgnKnGjxX RQh -t|C|\IBu0'*5vj~-lR7j5ϪNLI-DD%-Ξ<'K4O|De3n*O`ݐmLQmm׫@,t+- EĢ4ٗ?$':-HDJe 0 ohx-Rˠ/!‰rVbN'"N(ӯ &`4nbyFV]JL\e_o]9m;-)#vE!K` ~z0%0u\ʽŕ=BDPlFިyF:9D簟38ܒ?=Fz)o@rw~:%es.^;\AW{&e-3>E >d\X uHbgdSBe@`-0HP!.k=e q ذ&{h'E $g?[p*[U w d$$Z:ri~[D%(-s;&ƛd|7ST?G` uCW Ut+| w'- 8 z/)ثWh F6%Ì*~ӨګDg/{AJ۲8ll ճ*g1h#)y#LVFQ*WBTmvΑ]FѤ7C)Wc) :×|Y@q8$|(@[7\Q\0rKS+|8?;@kE\`/d }< ALSzR3T:y\IqWVu$}? el Z Bk\6Ay,s}uF(S8#kE5 OQg \vRٌLGZqHt,ru(ggd_sf3*#d@CTj@ UoUT#X]kӰJ'ACQ}(8,Cj<5Q.[Ϭ&<b|;{IgM-#D-v 4 #m~DobXVC 3ّ-*-CO?#iǸZ$ rC8QF=lW XF2 bY1;ܝ`w)dD^KU]. uشJ@l(bZobZ}`LԯorvvPv+؝cP0h(K\ X6 V"35 ѻԳo_!E&5Cm:,)e S,KNry .WRa0Y2 @%mu-<}߉գ (U0j) gjӘNe,6ѦZi =m(X Ҹ_)RZuI{~{cWl8i vfa "YJcZI:-9H Xn]]3-֞LT2x4m-L}=쥘ySAvt@dFx3}|!HoqÏ'cIK#(][2NhA$v_%p\l}cbD3m@OX~+Bž:-W[ NjI ؃BrV:CrN9ER.va~ۈ7/`QNX (CJ\$ÓwSr8Z%SK'1sTB6QC}1Q>S~ ,%2X38br(:cK{Rq'<>24+otk)BݾՉuxm2T%x6j|0ClBȻR=̯|:rZt082?wm$PF­Q )R437m̾rGʊl+Z_FAsmcVmAK;`<2(Ur!aG~%:U4\ri@0pY/-ՀX' fqho> ke[a#"Xw)Uc\SEf~_MNf˟#6Vk$ꏁ\ܬ:Yw+I5HB.Q֔*(Ql_`Rd#Y|jX=hپX7+ 4B7OclThDs}L Xp;U4 7zVKW6 jRS?Wz] v4ﱰ嚌4=\7k2uf,ILwgB3kVB7Sn(u8Ps jn>~n/>;SEh"{vomQeaaI#RV2n-R#a'k5 V1F?]}L\븹 ⍖;e6Yk~az"GcǮ{DjW }ʢ{%0=w3K pωDDHɥԬ#H bB{Ao$DE 卥F λ#Y~5wقP("ڷz;ZƞiMaXpNV&XVѰOh{m=؉id#>S8āP'q0ݎa;*EؾQyL^Gخz)3 TIt ebRI#'螢YZE51vܡFt"YgB8r91gۭڟE/pW-Jq6fe%')7!yWVkɇkGmwI 6$ϲ6# 05aB^xg%`Mل6DI+uPpqoTod-CBruH L1+njN4Oa IVQ 4glu>gUgcNA i Tg7$sՀ,2|8H}u4?SCG@q؝4(a]bsr8+K4&K!ޖzк n'2> ]^R|ߐ[O& ~yH$ͱ&LU1Q$` @vFe3͞Feu_ho ~|` Uղ2PBQ+:`^+жG v~@EH4aOHN4t: -fڄȏ \O(}C_zF=],zydџ dF@Ex$͆PRM< f~F-p@Q]:_7SD8ĸO;7.Q"^|_&tNl׏-uoaM! I*hG/(*cQjL'=gd&ᏸ']2qZBs6}4Yg {QnCB.?fx^ wnpXãDJS3B0lo *xZ*D!,d@z!%ۥ705H ^X0ڵC=܋P7sgx~@h6k+;:Rׇ!Ϣi 6}BK؁8ngaЂစP7=WjL諾@yk#$H#ŦvfޥPR=@=B=e!YL%(EDIBbw$ҍG;..t8z5 S}P?1p:![^˃l ;Nr(}gVݟX ,&]b-M^gin\YE?!x>d5%H?~!߄-sy7 ,m_Y'sQcaNd:]vpɧk.4]{/bHAnXLrCFO`L[14E 0(ʾ.GX:z֝tr'~dBŶpN:NGwa%E.ҜO~?=z-o/.2*j ࣊BLgn>S0U$:#\/5曚r勞j<[L`>bg=kI} S}SՊJ-#&4E݂fM NAC!&M Z8|1xIí~YNg=IkE4MÎ,aP0nACGHpxQ$ŪFA]~;36&^,<$oqY3 rXUz۟U&V6pZe_]VM쥉%yde-ao/eI#8{ЎǼ-?NRPDr`9#@=DՏ$|Hc 3( D/בeu $!"1Z@–Юn. em&b%d&:{ o,έ'#P7ԑ ,K7"&M;n\kyIWz#m䍌9s߳N,xM^`{'jt)!soR.~J-[8$eHMOHh^ĵy?J 3T_A`Pw{7wpk 9zn0߻FǞcY -o"O.K[nʠF䈬5Lv!AC5d3ƌ,x*o[їFYxp UyjPbp(Vׅj:j] 䲽]@˜] \ .1;LR4G5Λ}jM.DԂE"GnY\#jyz iW\I>?ȽMA+yWc=;Χ.@ orVsOjKIquʒ LS.,Ł+!D*?MFgH7vgmse\"V/F.3znANUd ##暌z<зF:.7mpwEkAN15kZC;HEWoűd8\{TcEܥj`|vILfV+;&ǩn5&&b8EMp<`s  d ]oj,d=2%N5̰LHm,笄nE5lAAQ:v 2X 1 55$ͷ,G>b(\#?a+H~dy`=D4L)s_%(-.jGohE_?wv̝ KAk r)?jn36@?JOX-RVl@;yo1]6?4EJVx@j`Q8 ,(JE!-0w/f'ެJhFz Wj(,D8gs o8A :n?.ڐ8z$'[c˰m!RC(y7) zDn+%Hl2aD؆`(Խpb!t\۸pdZ{/ĸ M߭3T܁92? |,$G|+$yC~Rh_H-1N/cQ9_TK}/ڃ.wopnHa/`,ۄ.R c-gDL9S6шNEAn}،.j=dd2P۪/g0olo-#_ܙh"7sj>QN0 EE4r/ +Tu8+zR(BydH23WQP7҈d߷(,4# >6F -J,;rKwS݊@s rD2SdxY'E~2SNC';& ERϋ|Г%pjC3} W)?s !q"N]Ŭ'nHP)]Ъq-GfM#*Q3;UĝQמ8˜sl7IԾB Zڹ gR%Vdnҋp:ѥՐ Ro ~5݃$&gu 1,afW%Ido O/N.=X|իĘ",-Rz8/֡/Wq ~$ڈ'[1GoF "k~yb$ײrzbcߐR/7 Fq m^>즭h3v"ڔ$(>b6 (bjb,Kw"îr\"b rb/M:)@/61f*=IG_ʋ~pq &1'# 5jé 3zI  Jfڟ Kee 'S -xuKzgx':sBϹm'75Ћlĕ+Ѹ:s- : Ӌ`HpZd 33|0RLzab"aD񆱉;͂'77D7"ayY; ;ؗ'Ktq5QjC~>VC>+Ѩ9 #or8F^0mG_\ IQE@#feФxCfO({0N^B!6r+-iBO8`xMSJ95n.AfX#;%~;ȏ&SgcK ɫ `Uk ` 4[{T'5Ksw|bTp^3ތ^lr"w m]kMAGq%y8huyZԓ;I]Հu_z>΂xgxyY}B#kr9:8p|߂׺[tUKYbq~?ո<"ʗTPz-Зq-n㪲ږ+0A올DNKԣGz<57;!WRx+fθVo+e׾Kixvj]4^dlI!aѲ[aվ"d2y_*xH &obЌהW؞7bxSBEsmtJ\Y I p 邇dP,d事ٮ۷ W|a,Bjb;Ư~>Fȯ*5^ʒNuhd3^tFayO uZtAD!Q]*OcBYU^+r=+(v ">TGP.^z VUɍ?'[g90/r>C։PpPIe4&t`5qC.0 1ju|ݕ9ip)i:qe7\.C0mFW8I(^6H/鴉` +[l`;HڌyP_? 2lO;>{ J.KPY%O -|`cD=rkb6xX"doV7*  (MUӔ܋3(jzQ/NF/I{٩ jظh^O2aY!C%VPs>R2RҽHqi^knemLȑ\ʂ Ke0Еmmm?MLMv!pHͮjt6}k63j 8 !b2)tõfՒS@`?鐢><9-哘APPlGs  SBA꽥U::i4=@~P#K#} zil!2.OQtѫ}|+%BKQw nOC%: d`o řyfvd2ii;kyߌƔ =dbIP÷j[MP.1;d;g&͈ Y>bf!X9Jd$kG̏`NI'ĘXRq 0(wBX+]##5GUPXD50 9=}siؙt%AbxIW^H@y WW@ шk.G\ ]\*nQMPdkG֢BxWg/㿽^.@-i|CY<Yv_=hH_7=)Ebe,sS.d[FO8Hg @>0hO-Suqd\QRؑ N*)IHv$$E͘%pb&ż8VufBm(R:ɂv#"ü,g"&R cWtC(/rYnk dz"H[m'Dip{3N{d(~v4)DˉD/ZB҅e=]N%=`^0B4^x7/cZH6kN߃Rj%u!=\>`9Q@$2<3S-/˚͛ 5tE:ӟ@7bLrK}*ܱ}`%B|;2b wOLՂ*5ł `i -H"xV[wž u9q(KrI1(H3fdoF[QkQ4[[YyInf" Lɣ9_yW2PZ{5`m\f{ΝV7@= g moy3NF 7`94Bk+"ve`ײbi^BY?=p?]Ă;o{vU.5#)Zpek scK|{3fȭbe)% t^] pow4VOci |Ovyֲ "wbᒓ>PX0 ''C?gn=m#ʔkr*d"28h)T bq2bWU Б^BF9ћ[g5bÖ&Tη;@/'Tnv(XǛpF=~*~Dk-wOƇeNPGP_P6ցW ǵMOw_+V~)C _ S臆+jQ/B xm+J$O#ۣX.'6=״K3z8k ZOyj9hqm{ nǦgv,r壡"hm=11)Q]"?K|Q $eq]CtCi[Y7O3`@"G.%3R-;1!/]ތRn.:$6@yFX3v&ki9˼Hov6yH (ftg̡t蹌8Ȁԑ'˂fAߙ7H,V#F@vEeqW9&tTK :4N><|qC!#:sE51 "3XB8݂߶~%nkz=BÒ*dQDk\_ BncR+ `xK:1ۧ[> *b1m+p\約a_hϏ>VJ㵐QĖqNOspH6&fBЧ蓸wU?gJ+'6APbOШuw# PHo#] il)MmdO HZ,ͤ +ђt|n-ZӬְWl Om`*|M2-})q E+X9K@L/.*$_i!qU-M0iaЗV2 [!sYyraR0RyRYIeWka W(/'>U2'"&2ćdlK g毜;W)ݲy0 ŵ|Jodu|c+<nsf&u\MJI'GB(5%xTݍ$)"$N^$`k7u. |k=|.IY=TBջ|R4~#S<ո:T|B+iV&YjS#EeMM=f:ضrΐ%mvO6%CHğ7tٴC)pIw~DȬYĎ>vCkcElC HmZGD_:-PIΧ VuKI 9r*Vc{J.sM *Qؙ)tQhXsn%1W-b.1.Ϥ_'ްɮN;"Y8w3iXS1! J%w*rIkIHG"f٤W͉; ,rK5VUNձ JhTEdp AwU^ OfI>YIhv?Jtkte>uf4'fѴNge+v *6-4݋xT }D6QO7#/m̏;%Ww JEz,^Nqs@N*,lj~vt)Ō߭vG;ٻŖ})qh y՛hj~Lfއqj#_k3> 9$j/`DRgEyNIx>X5g'!K pԝeL &sK9U E%'qsij g=hffw+|x[|GBq5E2ti~ʟ e^Aտ$Dl?bۉAN^& ӃPZz|ܪV5kqt}nKAR]-q12]Os+N/T:]sn-t YHf tv%P/X%7cSCp[մQxX[K"n9ۮ#};kb76V^X,}5M1d~]wm(~qFU ħh8ɴS+n£n8V9W F,v(bπި>xn?NiSLwEb6Y6 vcCdKJ*4񪗻AjZ#EJLXj:,u7>ÛXo@v1饱8{ƅ JiY Jsi|OjUU?<a8QFl%ù&2 ` ZQ.&9MRpR%nrT&VֹWrn 6,o&m/7__l1ث,Tm2GU0Y;F 4BS3Ī9#w`_6M +mdVuf@R\cI[~ZJH ZMK[з…A{[]. v  "iO^VWr MsRn}{x=G8ZHp!]6!2Lw> f5t0P@M^WO6DE¯P!npS:?m!-}Tc31 0whnGt#]9炨^/_BHf↷f(67#r:K`r*&8xLJ|cRn7evP ^fU1~wt!L ΔOo8I\c]5ϠO*<.wr]W,s7Y) Hlnu%U ?'+mi] ;FP@oѮrh.;,݆"xSU a  YZ