firewall-config-0.9.11-8.el8_10 > 6 6_6 3!pQp)Tξ7]mtZ`fƊ ]mtZ`E._47 jUɆɨ魊KNFJ+΅>i `dm f)qCJ:I-Mf. q|5(k.yIF G*l=t=HQ\ R^'% T #hhu"ZׯA4x$VKe6t(7C]|q0PөzS32w"o:1@]&Y b<,- spht;_&,.L>1-a#RH+oFZd照i~x$“ww.t$.>?@o !_dDӰ} &8&H\7 }{䥼nj8^L aVg^x|gC(='H^/qYGJMJ9n<@F_8& .)b;[U{0}b륑bf0c029f6ca7815d8d8e28e73758e229327dd556d85fa64f9bf5698e2dac555a1cc6339d063047832aeb1da0cbf8c4e62bce689eo3!pQp)Tξ7]mtZ`fƊ ]mtZ`.Թ"3(Ds(-qpt>Cdhg PM?GmǕ|s *R4/ξ]T 9yfoeAU-:ۮQ "CBdsybMH* +Ƀo87M&*꒹Je#euPŀ)ɁCWښCfA@3zTN*Ov3.ӧ 5A סck!6Vo3mx[飒GmVz7ZpDd-2@"J,ۥ !:{_9mۻGȵԢ#dxo]B nFx:Unk41s@<F*=5Mڀ~ 99&r.&Z 7'Uʪ-\4EÐ@ѠZDjhGIUd|%g%QMZ^t6 UX.u+l< \@5* ;#%L~=;F@&P^>p<)?)d " E -3<t    r Dh @  (B8L9 :&G!$H!\I!X!Y!\!]"^#C b$d%e%f%l%t%u&,v&d w(x(y))0)4):)|Cfirewall-config0.9.118.el8_10Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.fdord1-prod-a64build002.svc.aws.rockylinux.org#KojiRockyGPLv2+infrastructure@rockylinux.orgUnspecifiedhttp://www.firewalld.orglinuxnoarch^i  m ́큤f\f]f]f]f]f\f\f\f\f\f\f\f\f\38c8827a76aca56ad2d6cd59eb72e35991875e713df9a11984bb59831e467aff6080b60f10952847a02ff58463edbd845e860124698410551ad9cf1b8bf76a4592654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8eda6a4ee7e2cfaac8c72d8f4964f7faac325104cab29d554a5305caa43e2d264a7da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.11-8.el8_10.src.rpmapplication()application(firewall-config.desktop)firewall-configmetainfo()metainfo(firewall-config.appdata.xml)@    /usr/libexec/platform-pythonNetworkManager-libnmdbus-x11firewalldgtk3hicolor-icon-themepython3-gobjectrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.9.11-8.el8_103.0.4-14.6.0-14.0-15.2-14.14.3fj@fj@fj@fj@eDeDeDd>@aap@a@a@a@a@`@`@`````7@```_@_)M^^W@^8 @]ʞ]d@]R@]Ik]6]:]@\;(@\4\@\I[[[;@[\[ug@[r@[m~@[l,[CN@[?YZVZI@ZI@Z@Z}@Zz@Zz@ZOhZ6\@YYx@Y:XX+X@X@XOXEVX@X#X=W@W@WzOWs@WrfWL+@W0{Wo@WV@V@VVHVA@UU@UUa@Ua@UUzUzUKSU/@U@U@T@T@TLT=@S@S%@SSR@S@SSSR'R@RR@RxR_@RNRM\@RL RIgQQQ@QyQ@Q@QnQT0QIQ8@Q$Q@P@P@P@P @PpP~PIP3x@P(@P!@OOOc+@OaOU@OTOC@O1@O/MY@M!@M!@ME@Eric Garver - 0.9.11-8Eric Garver - 0.9.11-7Eric Garver - 0.9.11-6Eric Garver - 0.9.11-5Eric Garver - 0.9.11-4Eric Garver - 0.9.11-3Eric Garver - 0.9.11-2Eric Garver - 0.9.11-1Eric Garver - 0.9.3-13Eric Garver - 0.9.3-12Eric Garver - 0.9.3-11Eric Garver - 0.9.3-10Eric Garver - 0.9.3-9Eric Garver - 0.9.3-8Eric Garver - 0.9.3-7Eric Garver - 0.9.3-6Eric Garver - 0.9.3-5Eric Garver - 0.9.3-4Eric Garver - 0.9.3-3Eric Garver - 0.9.3-2Eric Garver - 0.9.3-1Eric Garver - 0.8.2-6Eric Garver - 0.8.2-5Eric Garver - 0.8.2-4Eric Garver - 0.8.2-3Eric Garver - 0.8.2-2Eric Garver - 0.8.2-1Eric Garver - 0.8.0-4Eric Garver - 0.8.0-3Eric Garver - 0.8.0-2Eric Garver - 0.8.0-1Eric Garver - 0.7.0-5Eric Garver - 0.7.0-4Eric Garver - 0.7.0-3Eric Garver - 0.7.0-2Eric Garver - 0.7.0-1Eric Garver - 0.6.3-7Eric Garver - 0.6.3-6Eric Garver - 0.6.3-5Eric Garver - 0.6.3-4Eric Garver - 0.6.3-3Eric Garver - 0.6.3-2Eric Garver - 0.6.3-1Eric Garver - 0.6.1-5Eric Garver - 0.6.1-4Eric Garver - 0.6.1-3Eric Garver - 0.6.1-2Eric Garver - 0.6.1-1Eric Garver - 0.6.0-2Eric Garver - 0.6.0-1Eric Garver - 0.6.0-0.1.alpha1Eric Garver - 0.5.2-3Eric Garver - 0.5.2-2Eric Garver - 0.5.2-1Igor Gnatenko - 0.5.1-2Eric Garver - 0.5.1-1Fedora Release Engineering - 0.4.4.5-6Igor Gnatenko - 0.4.4.5-5Zbigniew Jędrzejewski-Szmek - 0.4.4.5-4Thomas Woerner - 0.4.4.5-3Fedora Release Engineering - 0.4.4.5-2Thomas Woerner - 0.4.4.5-1Thomas Woerner - 0.4.4.4-1Thomas Woerner - 0.4.4.3-2Thomas Woerner - 0.4.4.3-1Fedora Release Engineering - 0.4.4.2-4Stratakis Charalampos - 0.4.4.2-3Thomas Woerner - 0.4.4.2-2Thomas Woerner - 0.4.4.2-1Thomas Woerner - 0.4.4.1-1Thomas Woerner - 0.4.4-1Thomas Woerner - 0.4.3.3-1Fedora Release Engineering - 0.4.3.2-2Thomas Woerner - 0.4.3.2-1Thomas Woerner - 0.4.3.1-2Thomas Woerner - 0.4.3.1-1Thomas Woerner - 0.4.2-1Thomas Woerner - 0.4.1.2-2Thomas Woerner - 0.4.1.2-1Thomas Woerner - 0.4.1-1Jiri Popelka - 0.4.0-4Jiri Popelka - 0.4.0-3Fedora Release Engineering - 0.4.0-2Thomas Woerner - 0.4.0-1Fedora Release Engineering - 0.3.14.2-5Adam Williamson - 0.3.14.2-4Thomas Woerner - 0.3.14.2-3Thomas Woerner - 0.3.14.2-2Thomas Woerner - 0.3.14.2-1Fedora Release Engineering - 0.3.14.1-3Stephen Gallagher 0.3.14.1-2Thomas Woerner - 0.3.14.1-1Thomas Woerner - 0.3.14-1Stephen Gallagher 0.3.13-7Stephen Gallagher 0.3.13-6Stephen Gallagher 0.3.13-5Stephen Gallagher 0.3.13-4Jiri Popelka - 0.3.13-3Thomas Woerner - 0.3.13-2Jiri Popelka - 0.3.13-1Jiri Popelka - 0.3.12-1Jiri Popelka - 0.3.11-3Jiri Popelka - 0.3.11-2Jiri Popelka - 0.3.11-1Thomas Woerner - 0.3.10-5Thomas Woerner - 0.3.10-4Thomas Woerner - 0.3.10-3Fedora Release Engineering - 0.3.10-2Jiri Popelka - 0.3.10-1Jiri Popelka - 0.3.9.3-1Jiri Popelka - 0.3.9.2-1Jiri Popelka - 0.3.9.1-1Jiri Popelka - 0.3.9-1Jiri Popelka - 0.3.8-1Jiri Popelka - 0.3.7-1Jiri Popelka - 0.3.6.2-1Jiri Popelka - 0.3.6.1-1Jiri Popelka - 0.3.6-1Jiri Popelka - 0.3.5-1Thomas Woerner 0.3.4-1Jiri Popelka Thomas Woerner 0.3.3-2Thomas Woerner 0.3.3-1Jiri Popelka - 0.3.2-2Jiri Popelka - 0.3.2-1Jiri Popelka - 0.3.1-2Thomas Woerner 0.3.1-1Thomas Woerner 0.3.0-1Jiri Popelka - 0.2.12-5Jiri Popelka - 0.2.12-4Fedora Release Engineering - 0.2.12-3Jiri Popelka - 0.2.12-2Thomas Woerner 0.2.12-1Thomas Woerner 0.2.11-2Thomas Woerner 0.2.11-1Thomas Woerner 0.2.10-1Thomas Woerner 0.2.9-1Thomas Woerner 0.2.8-1Jiri Popelka 0.2.7-2Thomas Woerner 0.2.7-1Thomas Woerner 0.2.6-1Thomas Woerner 0.2.5-1Thomas Woerner 0.2.4-1Thomas Woerner 0.2.3-1Thomas Woerner 0.2.2-1Thomas Woerner Thomas Woerner 0.2.1-1Thomas Woerner 0.2.0-2Thomas Woerner 0.2.0-1Thomas Woerner 0.1.3-1Thomas Woerner 0.1.2-1Thomas Woerner 0.1.1-1Thomas Woerner 0.1-1- feat(rich): support "burst" attribute to limit in rich rules- fix(rich): validate service name of rich rule- feat(icmp): add ICMPv6 Multicast Listener Discovery (MLD) types- feat(rich): support using ipset in destination- fix(nftables): always flush main table on start- fix(ipset): fix configuring IP range for ipsets with nftables- fix(ipset): exception on overlap checking empty set- rebase to v0.9.11- change default CleanupModulesOnExit=yes- feat(config): add CleanupModulesOnExit configuration option - change default CleanupModulesOnExit=yes- fix(zone): detect same source/interface in zones- fix(nftables): rich: source address with netmask- fix(nftables): do not log icmp block if inversion- docs(firewall-*cmd): client conntrack helpers must use a policy- fix(ipset): disallow overlapping entries- fix(policy): warn instead of error for overlapping ports- docs(conf): note that IPv6_rpfilter has a performance penalty- fix(nm): reload: only consider NM connections with a real interface- fix(ipset): fix hash:net,net functionality- fix(direct): rule order with multiple address with -s/-d- rebase to v0.9.3 - fixes from upstream branch stable-0.9- feat(service): add galera service- fix(zone): add source with mac address- fix(rich): non-printable characters removed from rich- fix(nftables): packet marks with masks - fix(nftables): icmp types with code == 0 - fix(rich icmptype): verify rule and icmptype families - fix(zone): cache rule_str for rich rules - improvement(service): IPsec: Update description and add TCP port 4500 - feat(service): add collectd service - feat(service): Add rpc-rquotad.service- fix(cli): add ipset type hash:mac is incompatible with the family parameter - fix(cli): add --zone is an invalid option with --direct - fix: update dynamic DCE RPC ports in freeipa-trust service - fix: core: rich: Catch ValueError on non-numeric priority values - fix(rich): icmptypes with one family - fix(direct): rule in a zone chain - plus additional upstream stable fixes- rebase to v0.8.2- doc: direct: add CAVEATS section- restore zone drifting as a feature- fix: CLI: service: also output helpers for service info- rebase to v0.8.0- bump nftables version requirements- backport patches to sort source-based zone dispatch by zone name- backport patch to show service includes in service output - backport patches to fix dbus API break- package rebuild- rebase to v0.7.0- backport additional patches for RFC3964_IPv4 filter feature- backport nftables support for wildcard interfaces - backport RFC3964_IPv4 filter feature- backport fix for lost NM interfaces in default zone during reload- backport recent stable fixes - backport fix for lost NM interfaces during reload - backport rich rule priorities - backport fix for set entries not applied - update translations- backport FlushAllOnReload feature- use py3_shbang_opts for lockdown-whitelist - fix cockpit patch causing test failure- rebase package to v0.6.3 - use py3_shbang_opts for interpreter invocations- python3-firewalld can get by with python3-gobject-base - firewall-config can get by with python3-qt5-base- backports for new failed state if startup fails - backports to use explicit RETURN on user defined ebtables chains - backports to fix nftables AUDIT log support- drop support for ebtables broute table- add more ports to high-availability service- rebase to v0.6.1 - fix patch adding cockpit by default, fixes testsuite- Use correct conflicts version for cockpit-ws - Enable cockpit by default in some zones- rebase to v0.6.0- rebase to v0.6.0-alpha- remove fedora-isms and clean up spec file- remove python2-firewall subpackage- rebase package to v0.5.2- Escape macros in %changelog- rebase package to v0.5.1- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- Remove obsolete scriptlets- Python 2 binary package renamed to python2-firewall See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3- Fix spec file for next RHEL versions- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild- Rebase to firewalld-0.4.4.5 http://www.firewalld.org/2017/06/firewalld-0-4-4-5-release - Fix build from spec - Fix –remove-service-from-zone option (RHBZ#1438127) - Support sctp and dccp in ports, source-ports, forward-ports, helpers and rich rules (RHBZ#1429808) - firewall-cmd: Fix –{set,get}-{short,description} for zone (RHBZ#1445238) - firewall.core.ipXtables: Use new wait option for restore commands if available - New services for oVirt: ctdb, ovirt-imageio, ovirt-storageconsole, ovirt-vmconsole and nrpe - Rename extension for policy choices (server and desktop) to .policy.choice (RHBZ#1449754) - D-Bus interfaces: Fix GetAll for interfaces without properties (RHBZ#1452017) - Load NAT helpers with conntrack helpers (RHBZ#1452681) - Translation updates - Additional upstream patches: - Rich-rule source validation (d69b7cb) - IPv6 ICMP type only rich-rule fix (cf50bd0)- Rebase to firewalld-0.4.4.4 http://www.firewalld.org/2017/03/firewalld-0-4-4-4-release - Drop references to fedorahosted.org from spec file and Makefile.am, use archive from github - Fix inconsistent ordering of rules in INPUT_ZONE_SOURCE (issue#166) - Fix ipset overloading from /etc/firewalld/ipsets - Fix permanent rich rules using icmp-type elements (RHBZ#1434594) - firewall-config: Deactivate edit, remove, .. buttons if there are no items - Check if ICMP types are supported by kernel before trying to use them - firewall-config: Show invalid ipset type in the ipset configuration dialog in a special label- Fixed ipset overloading, dropped applied check in get_ipset (issue#206)- Rebase to firewalld-0.4.4.3 http://www.firewalld.org/2017/02/firewalld-0-4-4-3-release - Speed up of large file loading - Support for more ipset types - Speed up of adding or removing entries for ipsets from files - Support icmp-type usage in rich rules - Support for more icmp types - Support for h323 conntrack helper - New services - Code cleanup and several other bug fixes - Translation updates- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- Rebuild for Python 3.6- Dropping firewalld-selinux package again as the required fix made it into selinux-policy packages for F-23+, updated selinux-policy version conflicts- New firewalld-selinux sub package delivering the SELinux policy module for firewalld (RHBZ#1396765) (RHBZ#1394625) (RHBZ#1394578) (RHBZ#1394573) (RHBZ#1394569) - New firewalld release 0.4.4.2: - firewalld.spec: Added helpers and ipsets paths to firewalld-filesystem - firewall.core.fw_nm: create NMClient lazily - Do not use hard-coded path for modinfo, use autofoo to detect it - firewall.core.io.ifcfg: Dropped invalid option warning with bad format string - firewall.core.io.ifcfg: Properly handle quoted ifcfg values - firewall.core.fw_zone: Do not reset ZONE with ifdown - Updated translations from zanata - firewall-config: Extra grid at bottom to visualize firewalld settings- firewall-config: Use proper source check in sourceDialog (fixes issue#162) - firewallctl: New support for helpers - Translation updates- Fix dist-check - src/Makefile.am: Install new helper files - config/Makefile.am: Install helpers - Merged translations - Updated translations from zanata - firewalld.spec: Adapt requires for PyQt5 - firewall-applet: Fix fromUTF8 for python2 PyQt5 usage - firewall-applet: Use PyQt5 - firewall-config: New nf_conntrack_select dialog, use nf_conntrack_helpers D-Bus property - shell-completion/bash/firewall-cmd: Updates for helpers and also some fixes - src/tests/firewall-[offline-]cmd_test.sh: New helper tests, adapted module tests for services - doc/xml/seealso.xml: Add firewalld.helper(5) man page - doc/xml/seealso.xml: Add firewalld.ipset(5) man page - Fixed typo in firewalld.ipset(5) man page - Updated firewalld.dbus(5) man page - New firewalld.helper(5) man page - doc/xml/firewall-offline-cmd.xml: Updated firewall-offline-cmd man page - doc/xml/firewall-cmd.xml: Updated firewall-cmd man page - firewall-offline-cmd: New support for helpers - firewall-cmd: New support for helpers - firewall.command: New check_helper_family, check_module and print_helper_info methods - firewall.core.fw_test: Add helpers also to offline backend - firewall.server.config: New AutomaticHelpers property (rw) - firewall.server.config: Fix an dict size changed error for firewall.conf file changes - firewall.server.config: Make LogDenied property readwrite to be consistent - Some renames of nf_conntrack_helper* functions and structures, helpers is a dict - firewall.core.fw: Properly check helper setting in set_automatic_helpers - firewall.errors: Add missing BUILTIN_HELPER error code - No extra interface for helpers needed in runtime, dropped DBUS_INTERFACE_HELPER - firewall.server.firewalld: Drop unused queryHelper D-Bus method - New helpers Q.931 and RAS from nf_conntrack_h323 - firewall.core.io.helper: Allow dots in helper names, remove underscore - firewall.core.io.firewalld_conf: Fixed typo in FALLBACK_AUTOMATIC_HELPERS - firewall-[offline-]cmd: Use sys.excepthook to force exception_handler usage always - firewall.core.fw_config: new_X methods should also check builtins - firewall.client: Set helper family to "" if None - firewall.client: Add missing module string to FirewallClientHelperSettings.settings - config/firewalld.conf: Add possible values description for AutomaticHelpers - helpers/amanda.xml: Fix typo in helper module - firewall-config: Added support for helper module setting - firewall.client: Added support for helper module setting - firewall.server.config_helper: Added support for helper module setting - firewall.core.io.service, firewall.server.config_service: Only replace underscore by dash if module start with nf_conntrack_ - firewall.core.fw_zone: Use helper module instead of a generated name from helper name - helpers: Added kernel module - firewall.core.io.helper: Add module to helper - firewall-cmd: Removed duplicate --get-ipset-types from help output - firewall.core.fw_zone: Add zone bingings for PREROUTING in the raw table - firewall.core.ipXtables: Add PREROUTING default rules for zones in raw table - firewall-config: New support to handle helpers, new dialogs, new helper tab, .. - config/org.fedoraproject.FirewallConfig.gschema.xml.in: New show-helpers setting - firewall.client: New helper management for runtime and permanent configuration - firewall.server.firewalld: New runtime helper management, new nf_conntrack_helper property - firewall.server.config_service: Fix module name handling (no nf_conntrack_ prefix needed) - firewall.server.config: New permanent D-Bus helper management - New firewall.server.config_helper to provide the permanent D-Bus interface for helpers - firewall.core.fw_zone: Use helpers fw.nf_conntrack_helper for services using helpers - firewall.core.fw: New helper management, new _automatic_helpers and nf_conntrack_helper settings - firewall.core.fw_config: Add support for permanent helper handling - firewall.core.io.service: The module does not need to start with nf_conntrack_ anymore - firewall.functions: New functions to get and set nf_conntrack_helper kernel setting - firewall.core.io.firewalld_conf: New support for AutomaticHelpers setting - firewall.config.dbus: New D-Bus definitions for helpers, new DBUS_INTERFACE_REVISION 12 - New firewall.core.fw_helper providing FirewallHelper backend - New firewall.core.helper with HELPER_MAXNAMELEN definition - config/firewalld.conf: New AutomaticHelpers setting with description - firewall.config.__init__.py.in: New helpers variables - firewalld.spec: Add new helpers directory - config/Makefile.am: Install new helpers - New helper configuration files for amanda, ftp, irc, netbios-ns, pptp, sane, sip, snmp and tftp - firewall.core.io.helper: New IO handler for netfilter helpers - firewall.errors: New INVALID_HELPER error code - firewall.core.io.ifcfg: Use .bak for save files - firewall-config: Set internal log_denied setting after changing - firewall.server.config: Copy props before removing items - doc/xml/firewalld.ipset: Replaced icmptype name remains with ipset - firewall.core.fw_zone: Fix LOG rule placement for LogDenied - firewall.command: Use "source-ports" in print_zone_info - firewall.core.logger: Use syslog.openlog() and syslog.closelog() - firewall-[offline-]cmd man pages: Document --path-{zone,icmptype,ipset,service} - firewall-cmd: Enable --path-{zone,icmptype,service} options again - firewall.core.{ipXtables,ebtables}: Copy rule before extracting items in set_rules - firewall.core.fw: Do not abort transaction on failed ipv6_rpfilter rules - config/Makefile.am: Added cfengine, condor-collector and smtp-submission services - Makefile.am: New dist-check used in the archive target - src/Makefile.am: Reordered nobase_dist_python_DATA to be sorted - config/Makefile.am: New CONFIG_FILES variable to contain the config files - Merge pull request #150 from hspaans/master - Merge pull request #146 from canvon/bugfix/spelling - Merge pull request #145 from jcpunk/condor - Command line tools man pages: New section about sequence options and exit codes - Creating service file for SMTP-Submission. - Creating service file for CFEngine. - Fix typo in documentation: iptables mangle table - Only use sort on lists of main items, but not for item properties - firewall.core.io.io_object: import_config should not change ordering of lists - firewall.core.fw_transaction: Load helper modules in FirewallZoneTransaction - firewall.command: Fail with NOT_AUTHORIZED if authorization fails (RHBZ#1368549) - firewall.command: Fix sequence exit code with at least one succeeded item - Add condor collector service - firewall-cmd: Fixed --{get,set}-{description,short} for permanent zones - firewall.command: Do not use error code 254 for {ALREADY,NOT}_ENABLED sequences- Fix CVE-2016-5410: Firewall configuration can be modified by any logged in user - firewall/server/firewalld: Make getXSettings and getLogDenied CONFIG_INFO - Update AppData configuration file. - tests/firewalld_rich.py: Use new import structure and FirewallClient classes - tests/firewalld_direct.py: Use new import structure - tests: firewalld_direct: Fix assert to check for True instead of False - tests: firewalld_config: Fix expected value when querying the zone target - tests: firewalld_config: Use real nf_conntrack modules - firewalld.spec: Added comment about make call for %build - firewall-config: Use also width_request and height_request with default size - Updated firewall-config screenshot - firewall-cmd: Fixed typo in help output (RHBZ#1367171) - test-suite: Ignore stderr to get default zone also for missing firewalld.conf - firewall.core.logger: Warnings should be printed to stderr per default - firewall.core.fw_nm: Ignore NetworkManager if NM.Client connect fails - firewall-cmd, firewallctl: Gracefully fail if SystemBus can not be aquired - firewall.client: Generate new DBUS_ERROR if SystemBus can not be aquired - test-suite: Do not fail on ALREADY_ENABLED --add-destination tests - firewall.command: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings - doc/xml/firewalld.dbus.xml: Removed undefined reference - doc/xml/transform-html.xsl.in: Fixed references in the document - doc/xml/firewalld.{dbus,zone}.xml: Embed programlisting in para - doc/xml/transform-html.xsl.in: Enhanced html formatting closer to the man page - firewall: core: fw_nm: Instantiate the NM client only once - firewall/core/io/*.py: Do not traceback on a general sax parsing issue - firewall-offline-cmd: Fix --{add,remove}-entries-from-file - firewall-cmd: Add missing action to fix --{add,remove}-entries-from-file - firewall.core.prog: Do not output stderr, but return it in the error case - firewall.core.io.ifcfg.py: Fix ifcfg file reader and writer (RHBZ#1362171) - config/firewall.service.in: use KillMode=mixed - config/firewalld.service.in: use network-pre.target - firewall-config: Add missing gettext.textdomain call to fix translations - Add UDP to transmission-client.xml service - tests/firewall-[offline-]cmd_test.sh: Hide errors and warnings - firewall.client: Fix ALREADY_ENABLED errors in icmptype destination calls - firewall.client: Fix NOT_ENABLED errors in icmptype destination calls - firewall.client: Use {ALREADY,NOT}_ENABLED errors in icmptype destination calls - firewall.command: Add the removed FirewallError handling to the action (a17ce50) - firewall.command: Do not use query methods for sequences and also single options - Add missing information about MAC and ipset sources to man pages and help output - firewalld.spec: Add BuildRequires for libxslt to enable rebuild of man pages - firewall[-offline]-cmd, firewallctl, firewall.command: Use sys.{stdout,stderr} - firewallctl: Fix traceback if not connected to firewalld - firewall-config: Initialize value in on_richRuleDialogElementChooser_clicked - firewall.command: Convert errors to string for Python3 - firewall.command: Get proper firewall error code from D-BusExceptions - firewall-cmd: Fixed traceback without args - Add missing service files to Makefile.am - shell-completion: Add shell completion support for --{get,set}--{description,short} - Updated RHEL-7 selinux-policy and squid conflict- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages- Fix regression with unavailable optional commands - All missing backend messages should be warnings - Individual calls for missing restore commands - Only one authenticate call for add and remove options and also sequences - New service RH-Satellite-6 - Fixed selinux-policy conflict version for RHEL-7- Fixed selinux-policy conflict version for Fedora 24- New firewalld release 0.4.3.1 - firewall.command: Fix python3 DBusException message not interable error - src/Makefile.am: Fix path in firewall-[offline-]cmd_test.sh while installing - firewallctl: Do not trace back on list command without further arguments - firewallctl (man1): Added remaining sections zone, service, .. - firewallctl: Added runtime-to-permanent, interface and source parser, IndividualCalls setting - firewall.server.config: Allow to set IndividualCalls property in config interface - Fix missing icmp rules for some zones - runProg: Fix issue with running programs - firewall-offline-cmd: Fix issues with missing system-config-firewall - firewall.core.ipXtables: Split up source and dest addresses for transaction - firewall.server.config: Log error in case of loading malformed files in watcher - Install and package the firewallctl man page - New firewallctl utility (RHBZ#1147959) - doc.xml.seealso: Show firewalld.dbus in See Also sections - firewall.core.fw_config: Create backup on zone, service, ipset and icmptype removal (RHBZ#1339251) - {zone,service,ipset,icmptype}_writer: Do not fail on failed backup - firewall-[offline-]cmd: Fix --new-X-from-file options for files in cwd - firewall-cmd: Dropped duplicate setType call in --new-ipset - radius service: Support also tcp ports (RBZ#1219717) - xmlschemas: Support source-port, protocol, icmp-block-inversion and ipset sources - config.xmlschema.service.xsd: Fix service destination conflicts (RHBZ#1296573) - firewall-cmd, firewalld man: Information about new NetworkManager and ifcfg - firewall.command: Only print summary and description in print_X_info with verbose - firewall.command: print_msg should be able to print empty lines - firewall-config: No processing of runtime passthroughs signals in permanent - Landspace.io fixes and pylint calm downs - firewall.core.io.zone: Add zone_reader and zone_writer to __all__, pylint fixes - firewall-config: Fixed titles of command and context dialogs, also entry lenths - firewall-config: pylint calm downs - firewall.core.fw_zone: Fix use of MAC source in rich rules without ipv limit - firewall-config: Use self.active_zoens in conf_zone_added_cb - firewall.command: New parse_port, extended parse methods with more checks - firewall.command: Fixed parse_port to use the separator in the split call - firewall.command: New [de]activate_exception_handler, raise error in parse_X - services ha: Allow corosync-qnetd port - firewall-applet: Support for kde5-nm-connection-editor - tests/firewall-offline-cmd_test.sh: New tests for service and icmptype modifications - firewall-offline-cmd: Use FirewallCommand for simplification and sequence options - tests/firewall-cmd_test.sh: New tests for service and icmptype modifications - firewall-cmd: Fixed set, remove and query destination options for services - firewall.core.io.service: Source ports have not been checked in _check_config - firewall.core.fw_zone: Method check_source_port is not used, removed - firewall.core.base: Added default to ZONE_TARGETS - firewall.client: Allow to remove ipv:address pair for service destinations - tests/firewall-offline-cmd_test.sh: There is no timeout option in permanent - firewall-cmd: Landscape.io fixes, pylint calm downs - firewall-cmd: Use FirewallCommand for simplification and sequence options - firewall.command: New FirewallCommand for command line client simplification - New services: kshell, rsh, ganglia-master, ganglia-client - firewalld: Cleanup of unused imports, do not translate some deamon messages - firewalld: With fd close interation in runProg, it is not needed here anymore - firewall.core.prog: Add fd close iteration to runProg - firewall.core.fw_nm: Hide NM typelib import, new nm_get_dbus_interface function - firewalld.spec: Require NetworkManager-libnm instead of NetworkManager-glib - firewall-config: New add/remove ipset entries from file, remove all entries - firewall-applet: Fix tooltip after applet start with connection to firewalld - firewall-config: Select new zone, service or icmptype if the view was empty - firewalld.spec: Added build requires for iptables, ebtables and ipset - Adding nf_conntrack_sip module to the service SIP - firewall: core: fw_ifcfg: Quickly return if ifcfg directory does not exist - Drop unneeded python shebangs - Translation updates- New module to search for and change ifcfg files for interfaces not under control of NM - firewall_config: Enhanced messages in status bar - firewall-config: New message window as overlay if not connected - firewall-config: Fix sentivity of option, view menus and main paned if not connected - firewall-applet: Quit on SIGINT (Ctrl-C), reduced D-Bus calls, some cleanup - firewall-[offline]cmd: Show target in zone information - D-Bus: Completed masquerade methods in FirewallClientZoneSettings - Fixed log-denied rules for icmp-blocks - Keep sorting of interfaces, services, icmp-blocks and other settings in zones - Fixed runtime-to-permanent not to save interfaces under control of NM - New icmp-block-inversion flag in the zones - ICMP type filtering in the zones - New services: sip, sips, managesieve - rich rules: Allow destination action (RHBZ#1163428) - firewall-offline-cmd: New option -q/--quiet - firewall-[offline-]cmd: New --add-[zone,service,ipset,icmptype]-from-file - firewall-[offline-]cmd: Fix option for setting the destination address - firewall-config: Fixed resizing behaviour - New transaction model for speed ups in start, restart, stop and other actions - firewall-cmd: New options --load{zone,service,ipset,icmptype}-defaults - Fixed memory leak in dbus_introspection_add_properties - Landscape.io fixes, pylint calm downs - New D-Bus getXnames methods to speed up firewall-config and firewall-cmd - ebtables-restore: No support for COMMIT command - Source port support in services, zones and rich rules - firewall-offline-cmd: Added --{add,remove}-entries-from-file for ipsets - firewall-config: New active bindings side bar for simple binding changes - Reworked NetworkManager module - Proper default zone handling for NM connections - Try to set zone binding with NM if interface is under control of NM - Code cleanup and bug fixes - Include test suite in the release and install in /usr/share/firewalld/tests - New Travis-CI configuration file - Fixed more broken frensh translations - Translation updates- Fixed ebtables-restore does not support the COMMIT command issue- Fixed translations with python3 - Fixed exception for failed NM import, new doc string - Make ipsets visible per default in firewall-config - Install new fw_nm module - Do not fail if log file could not be opened - Fixed broken fr translation- Enhancements of ipset handling - No cleanup of ipsets using timeouts while reloading - Only destroy conflicting ipsets - Only use ipset types supported by the system - Add and remove several ipset entries in one call using a file - Reduce time frame where builtin chains are on policy DROP while reloading - Include descriptions in --info-X calls - Command line interface support to get and alter descriptions of zones, services, ipsets and icmptypes with permanent option - Properly watch changes in combined zones - Fix logging in rich rule forward rules - Transformed direct.passthrough errors into warnings - Rework of import structures - Reduced calls to get ids for port and protocol names (RHBZ#1305434) - Build and installation fixes by Markos Chandras - Provide D-Bus properties in introspection data - Fix for flaws found by landscape.io - Fix for repeated SUGHUP - New NetworkManager module to get and set zones of connections, used in firewall-applet and firewall-config - configure: Autodetect backend tools ({ip,ip6,eb}tables{,-restore}, ipset) - Code cleanups - Bug fixes- Revert one commit to temporary work-around RHBZ#1309754- Make sure tempdir is created even in offline mode. (RHBZ#1305175)- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild- Version 0.4.0 - Speed ups - ipset support - MAC address support - Log of denied packets - Mark action in rich rules - Enhanced alteration of config files with command line tools - Use of zone chains in direct interface - firewall-applet enhancement - New services: ceph-mon, ceph, docker-registry, imap, pop3, pulseaudio, smtps, snmptrap, snmp, syslog-tls and syslog - Several bug fixes - Code optimizations- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5- bump versions on old config package obsoletes (f21 is on 0.3.14 now)- Require python3-gobject-base for fedora >= 23 and rhel >= 8 (RHBZ#1242076) - Fix rhel defines: No python3 for rhel-7- Fixed 'pid_file' referenced before assignment (RHBZ#1233232)- reunification of the firewalld spec files for all Fedora releases - fix dependencies for -applet and -config: use_python3 is the proper switch not with_python3 (RHBZ#1232493) - firewalld.spec: - fixed requirements for -applet and -config - man pages: - adapted firewall-applet man page to new version - firewall-applet: - Only honour active connections for zone changes - Change QSettings path and file names - firewall-config: - Only honour active connections for zone changes in the “Change Zones of Connections” menu - Translations: - updated translations - marked translations for “Connections” for review- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild- Fix issue with missing polkit policy when installing firewalld on Cloud Edition.- firewall-applet - do not use isSystemTrayAvailable check to fix KDE5 startup - dropped gtk applet remain: org.fedoraproject.FirewallApplet.gschema.xml- renamed python2-firewall to python-firewall - fixed requirements for GUI parts with Python3 - dropped upstream merged python3 patch - firewalld: - print real zone names in error messages - iptables 1.4.21 does not accept limits of 1/day, minimum is 2/day now - rate limit fix for rich rules - fix readdition of removed permanent direct settings - adaption of the polkit domains to use PK_ACTION_DIRECT_INFO - fixed two minor Python3 issues in firewall.core.io.direct - fixed use of fallback configuration values - fixed use without firewalld.conf - firewalld main restructureization - IPv6_rpfilter now also available as a property on D-Bus in the config interface - fixed wait option use for ipXtables - added --concurrent support for ebtables - richLanguage: allow masquerading with destination - richLanguage: limit masquerading forward rule to new connections - ipXtables: No dns lookups in available_tables and _detect_wait_option - full ebtables support: start, stop, reload, panic mode, direct chains and rules - fix for reload with direct rules - fix or flaws found by landscape.io - pid file handling fixes in case of pid file removal - fix for client issue in case of a dbus NoReply error - configuration - new services: dropbox-lansync, ptp - new icmptypes: timestamp-request, timestamp-reply - man pages: - firewalld.zones(5): fixed typos - firewalld.conf(5): Fixed wrong reference to firewalld.lockdown-whitelist page - firewall-applet: - new version using Qt4 fixing several issues with the Gtk version - spec file: - enabled Python3 support: new backends python-firewall and python3-firewall - some cleanup - git: - migrated to github - translations: - migrated to zanata - build environment: - no need for autoconf-2.69, 2.68 is sufficient- Use VARIANT_ID instead of VARIANT for making decisions- Switch to using $VARIANT directly from /etc/os-release- Fix bugs with posttrans - Remove nonexistent fedora-cloud.conf symlink- Remove per-edition config files - Decide on default configuration based on /etc/os-release- use python3 bindings on fedora >=23- enable python2 and python3 bindings for fedora >= 20 and rhel >= 7 - use python3 bindings on fedora >= 22 and rhel >= 8 for firewalld, firewall-config and firewall-applet- firewalld: - ipXtables: use -w or -w2 if supported (RHBZ#1161745, RHBZ#1151067) - DROP INVALID packets (RHBZ#1169837) - don't use ipv6header for protocol matching. (RHBZ#1065565) - removeAllPassthroughs(): remove passthroughs in reverse order (RHBZ#1167100) - fix config.service.removeDestination() (RHBZ#1164584) - firewall-config: - portProtoDialog: other protocol excludes port number/range - better fix for updating zoneStore also in update_active_zones() - fix typo in menu - configuration: - new services: tinc, vdsm, mosh, iscsi-target, rsyncd - ship and install XML Schema files. (#8) - man pages: - firewalld.dbus, firewalld.direct, firewalld, firewall-cmd - spec file: - filesystem subpackage - make dirs&files in /usr/lib/ world-readable (RHBZ#915988)- firewalld: - new runtimeToPermanent and tracked passsthrough support - make permanent D-Bus interfaces more fine grained like the runtime versions (RHBZ#1127706) - richLanguage: allow using destination with forward-port - Rich_Rule.check(): action can't be used with icmp-block/forward-port/masquerade - fixed Python specific D-Bus exception (RHBZ#1132441) - firewall-cmd: - new --runtime-to-permanent to create permanent from runtime configuration - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - --direct: make fail messages consistent (RHBZ#1141835) - firewall-config: - richRuleDialog - OK button tooltip indicates problem - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - update "Change Zones of Connections" menu on default zone change (RHBZ#11120212) - fixed rename of zones, services and icmptypes to not create new entry (RBHZ#1131064) - configuration: - new service for Squid HTTP proxy server - new service for Kerberos admin server - new services for syslog and syslog-tls - new services for SNMP and SNMP traps - add Keywords to .desktop to improve software searchability - docs: - updated translations - firewalld.richlanguage: improvements suggested by Rufe Glick - firewalld.dbus: various improvements - firewalld.zone: better description of Limit tag - mention new homepage everywhere- Quiet systemctl if cups-browsed.service is not installed- add few Requires to spec (RHBZ#1133167)- firewalld: - improve error messages - check built-in chains in direct chain handling functions (RHBZ#1120619) - dbus_to_python() check whether input is of expected type (RHBZ#1122018) - handle negative timeout values (RHBZ#1124476) - warn when Command/Uid/Use/Context already in lockdown whitelist (RHBZ#1126405) - make --lockdown-{on,off} work again (RHBZ#1111573) - firewall-cmd: - --timeout now accepts time units (RHBZ#994044) - firewall-config: - show active (not default) zones in bold (RHBZ#993655) - configuration: - remove ipp-client service from all zones (RHBZ#1105639). - fallbacks for missing values in firewalld.conf - create missing dirs under /etc if needed - add -Es to python command in lockdown-whitelist.xml (RHBZ#1099065) - docs: - 'direct' methods concern only chains/rules added via 'direct' (RHBZ#1120619) - --remove-[interface/source] don't need a zone to be specified (RHBZ#1125851) - various fixes in firewalld.zone(5), firewalld.dbus(5), firewalld.direct(5) - others: - rpm macros for easier packaging of e.g. services- Fixed wrong default zone names for server and workstation (RHBZ#1120296)- renamed fedora specific zones to FedoraServer and FedoraWorkstation for zone name limitations (length and allowed chars)- New support for Fedora per-product configuration settings for Fedora.next https://fedoraproject.org/wiki/Per-Product_Configuration_Packaging_Draft - Added Fedora server zone (RHBZ#1110711) - Added Fedora workstation zone(RHBZ#1113775)- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- new services: freeipa-*, puppermaster, amanda-k5, synergy, xmpp-*, tor, privoxy, sane - do not use at_console in D-Bus policies (RHBZ#1094745) - apply all rich rules for non-default targets - AppData file (RHBZ#1094754) - separate Polkit actions for desktop & server (RHBZ#1091068) - sanitize missing ip6t_rpfilter (RHBZ#1074427) - firewall/core/io/*: few improvements (RHBZ#1065738) - no load failed error for absent direct.xml file - new DBUS_INTERFACE.getZoneSettings to get all run-time zone settings - fixed creation and deletion of zones, services and icmptypes over D-Bus signals - FirewallClientZoneSettings: Set proper default target - if Python2 then encode strings from sax parser (RHBZ#1059104, RHBZ#1058853) - firewall-cmd: - don't colour output of query commands (RHBZ#1097841) - use "default" instead of {chain}_{zone} (RHBZ#1075675) - New --get-target and --set-target - Create and remove permanent zones, services and icmptypes - firewall-config: - Adding services and icmptypes resulted in duplicates in UI - Use left button menu of -applet in Option menu - firewall-offline-cmd: same functionality as 'firewall-cmd --permanent' - firewall-applet: ZoneConnectionEditor was missing the Default Zone entry - bash-completion: getting zones/services/icmps is different with/without --permanent - firewalld.zone(5): removed superfluous slash (RHBZ#1091575) - updated translations- Fixed persistent port forwarding (RHBZ#1056154) - Stop default zone rules being applied to all zones (RHBZ#1057875) - Enforce trust, block and drop zones in the filter table only (RHBZ#1055190) - Allow RAs prior to applying IPv6_rpfilter (RHBZ#1058505) - Fix writing of rule.audit in zone_writer()- fix regression introduced in 0.3.9 (RHBZ#1053932)- fix regressions introduced in 0.3.9 (RHBZ#1054068, RHBZ#1054120)- translation updates - New IPv6_rpfilter setting to enable source address validation (RHBZ#847707) - Do not mix original and customized zones in case of target changes, apply only used zones - firewall-cmd: fix --*_lockdown_whitelist_uid to work with uid 0 - Don't show main window maximized. (RHBZ#1046811) - Use rmmod instead of 'modprobe -r' (RHBZ#1031102) - Deprecate 'enabled' attribute of 'masquerade' element - firewall-config: new zone was added twice to the list - firewalld.dbus(5) - Enable python shebang fix again - firewall/client: handle_exceptions: Use loop in decorator - firewall-offline-cmd: Do not mask firewalld service with disabled option - firewall-config: richRuleDialogActionRejectType Entry -> ComboBox - Rich_Rule: fix parsing of reject element (RHBZ#1027373) - Show combined zones in permanent configuration (RHBZ#1002016) - firewall-cmd(1): document exit code 2 and colored output (RHBZ#1028507) - firewall-config: fix RHBZ#1028853- fix memory leaks - New option --debug-gc - Python3 compatibility - Better non-ascii support - several firewall-config & firewall-applet fixes - New --remove-rules commands for firewall-cmd and removeRules methods for D-Bus - Fixed FirewallDirect.get_rules to return proper list - Fixed LastUpdatedOrderedDict.keys() - Enable rich rule usage in trusted zone (RHBZ#994144) - New error codes: INVALID_CONTEXT, INVALID_COMMAND, INVALID_USER and INVALID_UID- Don't fail on missing ip[6]tables/ebtables table. (RHBZ#967376) - bash-completion: --permanent --direct options - firewall/core/fw.py: fix checking for iptables & ip6tables (RHBZ#1017087) - firewall-cmd: use client's exception_handler instead of catching exceptions ourselves - FirewallClientZoneSettings: fix {add|remove|query}RichRule() - Extend amanda-client service with 10080/tcp (RHBZ#1016867) - Simplify Rich_Rule()_lexer() by using functions.splitArgs() - Fix encoding problems in exception handling (RHBZ#1015941)- firewall-offline-cmd: --forward-port 'toaddr' is optional (RHBZ#1014958) - firewall-cmd: fix variable name (RHBZ#1015011)- remove superfluous po files from archive- firewalld.richlanguage.xml: correct log levels (RHBZ#993740) - firewall-config: Make sure that all zone settings are updated properly on firewalld restart - Rich_Limit: Allow long representation for duration (RHBZ#994103 - firewall-config: Show "Changes applied." after changes (RHBZ#993643) - Use own connection dialog to change zones for NM connections - Rename service cluster-suite to high-availability (RHBZ#885257) - Permanent direct support for firewall-config and firewall-cmd - Try to avoid file descriptor leaking (RHBZ#951900) - New functions to split and join args properly (honoring quotes) - firewall-cmd(1): 2 simple examples - Better IPv6 NAT checking. - Ship firewalld.direct(5).- Only use one PK action for configuration (RHBZ#994729) - firewall-cmd: indicate non-zero exit code with red color - rich-rule: enable to have log without prefix & log_level & limit - log-level warn/err -> warning/error (RHBZ#1009436) - Use policy DROP while reloading, do not reset policy in restart twice - Add _direct chains to all table and chain combinations - documentation improvements - New firewalld.direct(5) man page docbook source - tests/firewall-cmd_test.sh: make rich language tests work - Rich_Rule._import_from_string(): improve error messages (RHBZ#994150) - direct.passthrough wasn't always matching out_signature (RHBZ#967800) - firewall-config: twist ICMP Type IP address family logic. - firewall-config: port-forwarding/masquerading dialog (RHBZ#993658) - firewall-offline-cmd: New --remove-service= option (BZ#969106) - firewall-config: Options->Lockdown was not changing permanent. - firewall-config: edit line on doubleclick (RHBZ#993572) - firewall-config: System Default Zone -> Default Zone (RHBZ#993811) - New direct D-Bus interface, persistent direct rule handling, enabled passthough - src/firewall-cmd: Fixed help output to use more visual parameters - src/firewall-cmd: New usage output, no redirection to man page anymore - src/firewall/core/rich.py: Fixed forwad port destinations - src/firewall-offline-cmd: Early enable/disable handling now with mask/unmask - doc/xml/firewalld.zone.xml: Added more information about masquerade use - Prefix to log message is optional (RHBZ#998079) - firewall-cmd: fix --permanent --change-interface (RHBZ#997974) - Sort zones/interfaces/service/icmptypes on output. - wbem-https service (RHBZ#996668) - applet&config: add support for KDE NetworkManager connection editor - firewall/core/fw_config.py: New method update_lockdown_whitelist - Added missing file watcher for lockdown whitelist in config D-Bus interface - firewall/core/watcher: New add_watch_file for lockdown-whitelist and direct - Make use of IPv6 NAT conditional, based on kernel number (RHBZ#967376)- several rich rule check enhancements and fixes - firewall-cmd: direct options - check ipv4|ipv6|eb (RHBZ#970505) - firewall-cmd(1): improve description of direct options (RHBZ#970509) - several firewall-applet enhancements and fixes - New README - several doc and man page fixes - Service definitions for PCP daemons (RHBZ#972262) - bash-completion: add lockdown and rich language options - firewall-cmd: add --permanent --list-all[-zones] - firewall-cmd: new -q/--quiet option - firewall-cmd: warn when default zone not active (RHBZ#971843) - firewall-cmd: check priority in --add-rule (RHBZ#914955) - add dhcpv6 (for server) service (RHBZ#917866) - firewall-cmd: add --permanent --get-zone-of-interface/source --change-interface/source - firewall-cmd: print result (yes/no) of all --query-* commands - move permanent-getZoneOf{Interface|Source} from firewall-cmd to server - Check Interfaces/sources when updating permanent zone settings. - FirewallDConfig: getZoneOfInterface/Source can actually return more zones - Fixed toaddr check in forward port to only allow single address, no range - firewall-cmd: various output improvements - fw_zone: use check_single_address from firewall.functions - getZoneOfInterface/Source does not need to throw exception - firewall.functions: Use socket.inet_pton in checkIP, fixed checkIP*nMask - firewall.core.io.service: Properly check port/proto and destination address - Install applet desktop file into /etc/xdg/autostart - Fixed option problem with rich rule destinations (RHBZ#979804) - Better exception creation in dbus_handle_exceptions() decorator (RHBZ#979790) - Updated firewall-offline-cmd - Use priority in add, remove, query and list of direct rules (RHBZ#979509) - New documentation (man pages are created from docbook sources) - firewall/core/io/direct.py: use prirority for rule methods, new get_all_ methods - direct: pass priority also to client.py and firewall-cmd - applet: New blink and blink-count settings - firewall.functions: New function ppid_of_pid - applet: Check for gnome3 and fix it, use new settings, new size-changed cb - firewall-offline-cmd: Fix use of systemctl in chroot - firewall-config: use string.ascii_letters instead of string.letters - dbus_to_python(): handle non-ascii chars in dbus.String. - Modernize old syntax constructions. - dict.keys() in Python 3 returns a "view" instead of list - Use gettext.install() to install _() in builtins namespace. - Allow non-ascii chars in 'short' and 'description' - README: More information for "Working With The Source Repository" - Build environment fixes - firewalld.spec: Added missing checks for rhel > 6 for pygobject3-base - firewall-applet: New setting show-inactive - Don't stop on reload when lockdown already enabled (RHBZ#987403) - firewall-cmd: --lockdown-on/off did not touch firewalld.conf - FirewallApplet.gschema.xml: Dropped unused sender-info setting - doc/firewall-applet.xml: Added information about gsettings - several debug and log message fixes - Add chain for sources so they can be checked before interfaces (RHBZ#903222) - Add dhcp and proxy-dhcp services (RHBZ#986947) - io/Zone(): don't error on deprecated family attr of source elem - Limit length of zone file name (to 12 chars) due to Netfilter internals. - It was not possible to overload a zone with defined source(s). - DEFAULT_ZONE_TARGET: {chain}_ZONE_{zone} -> {chain}_{zone} - New runtime getSettings for services and icmptypes, fixed policies callbacks - functions: New functions checkUser, checkUid and checkCommand - src/firewall/client: Fixed lockdown-whitelist-updated signal handling - firewall-cmd(1): move firewalld.richlanguage(5) reference in --*-rich-rule - Rich rule service: Only add modules for accept action - firewall/core/rich: Several fixes and enhanced checks - Fixed reload of direct rules - firewall/client: New functions to set and get the exception handler - firewall-config: New and enhanced UI to handle lockdown and rich rules - zone's immutable attribute is redundant - Do not allow to set settings in config for immutable zones. - Ignore deprecated 'immutable' attribute in zone files. - Eviscerate 'immutable' completely. - FirewallDirect.query_rule(): fix it - permanent direct: activate firewall.core.io.direct:Direct reader - core/io/*: simplify getting of character data - FirewallDirect.set_config(): allow reloading- Remove migrating to a systemd unit file from a SysV initscript - Remove pointless "ExclusiveOS" tag- Fixed rich rule check for use in D-Bus- new service files - relicensed logger.py under GPLv2+ - firewall-config: sometimes we don't want to use client's exception handler - When removing Service/IcmpType remove it from zones too (RHBZ#958401) - firewall-config: work-around masquerade_check_cb() being called more times - Zone(IO): add interfaces/sources to D-Bus signature - Added missing UNKNOWN_SOURCE error code - fw_zone.check_source: Raise INVALID_FAMILY if family is invalid - New changeZoneOfInterface method, marked changeZone as deprecated - Fixed firewall-cmd man page entry for --panic-on - firewall-applet: Fixed possible problems of unescaped strings used for markup - New support to bind zones to source addresses and ranges (D-BUS, cmd, applet - Cleanup of unused variables in FirewallD.start - New firewall/fw_types.py with LastUpdatedOrderedDict - direct.chains, direct.rules: Using LastUpdatedOrderedDict - Support splitted zone files - New reader and writer for stored direct chains and rules - LockdownWhitelist: fix write(), add get_commands/uids/users/contexts() - fix service_writer() and icmptype_writer() to put newline at end of file - firewall-cmd: fix --list-sources - No need to specify whether source address family is IPv4 or IPv6 - add getZoneOfSource() to D-Bus interface - Add tests and bash-completion for the new "source" operations - Convert all input args in D-Bus methods - setDefaultZone() was calling accessCheck() *after* the action - New uniqify() function to remove duplicates from list whilst preserving order - Zone.combine() merge also services and ports - config/applet: silence DBusException during start when FirewallD is not running (RHBZ#966518) - firewall-applet: more fixes to make the address sources family agnostic - Better defaults for lockdown white list - Use auth_admin_keep for allow_any and allow_inactive also - New D-Bus API for lockdown policies - Use IPv4, IPv6 and BRIDGE for FirewallD properties - Use rich rule action as audit type - Prototype of string-only D-Bus interface for rich language - Fixed wrongly merged source family check in firewall/core/io/zone.py - handle_cmr: report errors, cleanup modules in error case only, mark handling - Use audit type from rule action, fixed rule output - Fixed lockdown whitelist D-Bus handling method names - New rich rule handling in runtime D-Bus interface - Added interface, source and rich rule handling (runtime and permanent) - Fixed dbus_obj in FirewallClientConfigPolicies, added queryLockdown - Write changes in setLockdownWhitelist - Fixed typo in policies log message in method calls - firewall-cmd: Added rich rule, lockdown and lockdown whitelist handling - Don't check access in query/getLockdownWhitelist*() - firewall-cmd: Also output masquerade flag in --list-all - firewall-cmd: argparse is able to convert argument to desired type itself - firewall-cmd_test.sh: tests for permanent interfaces/sources and lockdown whitelist - Makefile.am: add missing files - firewall-cmd_test.sh: tests for rich rules - Added lockdown, source, interface and rich rule docs to firewall-cmd - Do not masquerade lo if masquerade is enabled in the default zone (RHBZ#904098) - Use in metavar for firewall-cmd parser- removed unintentional en_US.po from tarball- Fix signal handling for SIGTERM - Additional service files (RHBZ#914859) - Updated po files - s/persistent/permanent/ (Trac Ticket #7) - Better behaviour when running without valid DISPLAY (RHBZ#955414) - client.handle_exceptions(): do not loop forever - Set Zone.defaults in zone_reader (RHBZ#951747) - client: do not pass the dbus exception name to handler - IO_Object_XMLGenerator: make it work with Python 2.7.4 (RHBZ#951741) - firewall-cmd: do not use deprecated BaseException.message - client.py: fix handle_exceptions() (RHBZ#951314) - firewall-config: check zone/service/icmptype name (RHBZ#947820) - Allow 3121/tcp (pacemaker_remote) in cluster-suite service. (RHBZ#885257) - firewall-applet: fix default zone hangling in 'shields-up' (RHBZ#947230) - FirewallError.get_code(): check for unknown error- Make permanenent changes work with Python 2.7.4 (RHBZ#951741)- Use explicit file lists for make dist - New rich rule validation check code - New global check_port and check_address functions - Allow source white and black listing with the rich rule - Fix error handling in case of unsupported family in rich rule - Enable ip_forwarding in masquerade and forward-port - New functions to read and write simple files using filename and content - Add --enable-sysconfig to install Fedora-specific sysconfig config file. - Add chains for security table (RHBZ#927015) - firewalld.spec: no need to specify --with-systemd-unitdir - firewalld.service: remove syslog.target and dbus.target - firewalld.service: replace hard-coded paths - Move bash-completion to new location. - Revert "Added configure for new build env" - Revert "Added Makefile.in files" - Revert "Added po/Makefile.in.in" - Revert "Added po/LINGUAS" - Revert "Added aclocal.m4" - Amend zone XML Schema- Added rich language support - Added lockdown feature - Allow to bind interfaces and sources to zones permanently - Enabled IPv6 NAT support masquerading and port/packet forwarding for IPv6 only with rich language - Handle polkit errors in client class and firewall-config - Added priority description for --direct --add-rule in firewall-cmd man page - Add XML Schemas for zones/services/icmptypes XMLs - Don't keep file descriptors open when forking - Introduce --nopid option for firewalld - New FORWARD_IN_ZONES and FORWARD_OUT_ZONES chains (RHBZ#912782) - Update cluster-suite service (RHBZ#885257) - firewall-cmd: rename --enable/disable-panic to --panic-on/off (RHBZ#874912) - Fix interaction problem of changed event of gtk combobox with polkit-kde by processing all remaining events (RHBZ#915892) - Stop default zone rules being applied to all zones (RHBZ#912782) - Firewall.start(): don't call set_default_zone() - Add wiki's URL to firewalld(1) and firewall-cmd(1) man pages - firewalld-cmd: make --state verbose (RHBZ#886484) - improve firewalld --help (RHBZ#910492) - firewall-cmd: --add/remove-* can be used multiple times (RHBZ#879834) - Continue loading zone in case of wrong service/port etc. (RHBZ#909466) - Check also services and icmptypes in Zone() (RHBZ#909466) - Increase the maximum length of the port forwarding fields from 5 to 11 in firewall-config - firewall-cmd: add usage to fail message - firewall-cmd: redefine usage to point to man page - firewall-cmd: fix visible problems with arg. parsing - Use argparse module for parsing command line options and arguments - firewall-cmd.1: better clarify where to find ACTIONs - firewall-cmd Bash completion - firewall-cmd.1: comment --zone= usage and move some options - Use zone's target only in %s_ZONES chains - default zone in firewalld.conf was set to public with every restart (#902845) - man page cleanup - code cleanup- Another fix for RHBZ#912782- Stop default zone rules being applied to all zones (RHBZ#912782)- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Default zone in firewalld.conf was reseted with every restart (RHBZ#902845) - Add icon cache related scriptlets for firewall-config (RHBZ#902680) - Fix typo in firewall-config (RHBZ#895812) - Fix few mistakes in firewall-cmd(1) man page- firewall-cmd: use -V instead of -v for version info (RHBZ#886477) - firewall-cmd: don't check reload()'s return value (RHBZ#886461) - actually install firewalld.zones.5 - firewall-config: treat exceptions when adding new zone/service/icmp (RHBZ#886602) - firewalld.spec: Fixed requirements of firewall-config to use gtk2 and pygobject3 - Fail gracefully when running in non X environment.(RHBZ#886551) - offline-cmd: fail gracefully when no s-c-f config - fix duplicated iptables rules (RHBZ#886515) - detect errors and duplicates in config file (RHBZ#886581) - firewall-config: don't make 'Edit Service' and 'Edit ICMP Type' insensitive - firewalld.spec: fixed requirements, require pygobject3-base - frewall-applet: Unused code cleanup - firewall-applet: several usability fixes and enhancements (RHBZ#886531) (RHBZ#886534) - firewall/server/server.py: fixed KeyboardInterrupt message (RHBZ#886558) - Moved fallback zone and minimal_mark to firewall.config.__init__ - Do not raise ZONE_ALREADY_SET in change_zone if old zone is set again (RHBZ#886432) - Make default zone default for all unset connections/interfaces (RHBZ#888288) (RHBZ#882736) - firewall-config: Use Gtk.MessageType.WARNING for warning dialog - firewall-config: Handle unknown services and icmptypes in persistent mode - firewall-config: Do not load settings more than once - firewall-config: UI cleanup and fixes (RHBZ#888242) - firewall-cmd: created alias --change-zone for --change-interface - firewall-cmd man page updates (RHBZ#806511) - Merged branch 'build-cleanups' - dropped call to autogen.sh in build stage, not needed anymore due to 'build-cleanups' merge- require pygobject3-base instead of pygobject3 (no cairo needed) (RHBZ#874378) - fixed dependencies of firewall-config to use gtk3 with pygobject3-base and not pygtk2- Fixed more _xmlplus (PyXML) incompatibilities to python xml - Several man page updates - Fixed error in addForwardPort, removeForwardPort and queryForwardPort - firewall-cmd: use already existing queryForwardPort() - Update firewall.cmd man page, use man page as firewall-cmd usage (rhbz#876394) - firewall-config: Do not force to show labels in the main toolbar - firewall-config: Dropped "Change default zone" from toolbar - firewall-config: Added menu entry to change zones of connections - firewall-applet: Zones can be changed now using nm-connection-editor (rhbz#876661) - translation updates: cs, hu, ja- tests/firewalld_config.py: tests for config.service and config.icmptype - FirewallClientConfigServiceSettings(): destinations are dict not list - service/zone/icmptype: do not write deprecated name attribute - New service ntp - firewall-config: Fixed name of about dialog - configure.in: Fixed getting of error codes - Added coding to all pyhton files - Fixed copyright years - Beautified file headers - Force use of pygobject3 in python-slip (RHBZ#874378) - Log: firewall.server.config_icmptype, firewall.server.config_service and firewall.server.config_zone: Prepend full path - Allow ":" in interface names for interface aliases - Add name argument to Updated and Renamed signal - Disable IPv4, IPv6 and EB tables if missing - for IPv4/IPv6 only environments - firewall-config.glade file cleanup - firewall-config: loadDefaults() can throw exception - Use toolbars for Add/Edit/Remove/LoadDefaults buttons for zones, services and icmp types - New vnc-server service, opens ports for displays :0 to :3 (RHBZ#877035) - firewall-cmd: Fix typo in help output, allow default zone usage for permanenent options - Translation updates: cs, fr, ja, pt_BR and zh_CN- firewall-config: some UI usability changes - firewall-cmd: New option --list-all-zones, output of --list-all changed, more option combination checks - firewall-applet: Replaced NMClient by direct DBUS calls to fix python core dumps in case of connection activates/deactivates - Use fallback 'C' locale if current locale isn't supported (RHBZ#860278) - Add interfaces to zones again after reload - firewall-cmd: use FirewallClient().connected value - firewall-cmd: --remove-interface was not working due to a typo - Do not use restorecon for new and backup files - Fixed use of properties REJECT and DROP - firewalld_test.py: check interfaces after reload - Translation updates - Renamed firewall-convert-scfw-config to firewall-offline-cmd, used by anaconda for firewall configuration (e.g. kickstart) - Fix python shebang to use -Es at installation time for bin_SCRIPTS and sbin_SCRIPTS and at all times in gtk3_chooserbutton.py - tests/firewalld_config.py: update test_zones() test case - Config interface: improve renaming of zones/services/icmp_types - Move emiting of Added signals closer to source. - FirewallClient(): config:ServiceAdded signal was wrongly mapped - Add argument 'name' to Removed signal - firewall-config: Add callbacks for config:[service|icmp]-[added|removed] - firewall-config: catch INVALID_X error when removing zone/service/icmp_type - firewall-config: remove unused code - Revert "Neutralize _xmlplus instead of conforming it" - firewall-applet: some UI usability changes - firewall-cmd: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings- Do not apply old settings to zones after reload - FirewallClient: Added callback structure for firewalld signals - New firewall-config with full zone, service and icmptype support - Added Shields Up/Down configuration dialog to firewall-applet - Name attribute of main tag deprecated for zones, services and icmptypes, will be ignored if present - Fixed wrong references in firewalld man page - Unregister DBus interfaces after sending out the Removed signal - Use proper DBus signature in addIcmpType, addService and addZone - New builtin property for config interfaces - New test case for Config interface - spec: use new systemd-rpm macros (rhbz#850110) - More config file verifications - Lots of smaller fixes and enhancements- use new systemd-rpm macros (rhbz#850110)- Update of firewall-config - Some bug fixes- New D-BUS interface for persistent configuration - Aded support for persistent zone configuration in firewall-cmd - New Shields Up feature in firewall-applet - New requirements for python-decorator and pygobject3 - New firewall-config sub-package - New firewall-convert-scfw-config config script- Fixed traceback in firewall-cmd for failed or canceled authorization, return proper error codes, new error codes NOT_RUNNING and NOT_AUTHORIZED - Enhanced firewalld service file (RHBZ#806868) and (RHBZ#811240) - Fixed duplicates in zone after reload, enabled timed settings after reload - Removed conntrack --ctstate INVALID check from default ruleset, because it results in ICMP problems (RHBZ#806017). - Update interfaces in default zone after reload (rhbz#804814) - New man pages for firewalld(1), firewalld.conf(5), firewalld.icmptype(5), firewalld.service(5) and firewalld.zone(5), updated firewall-cmd man page (RHBZ#811257) - Fixed firewall-cmd help output - Fixed missing icon for firewall-applet (RHBZ#808759) - Added root user check for firewalld (RHBZ#767654) - Fixed requirements of firewall-applet sub package (RHBZ#808746) - Update interfaces in default zone after changing of default zone (RHBZ#804814) - Start firewalld before NetworkManager (RHBZ#811240) - Add Type=dbus and BusName to service file (RHBZ#811240)- fixed firewalld.conf save exception if no temporary file can be written to /etc/firewalld/- firewall-cmd: several changes and fixes - code cleanup - fixed icmp protocol used for ipv6 (rhbz#801182) - added and fixed some comments - properly restore zone settings, timeout is always set, check for 0 - some FirewallError exceptions were actually not raised - do not REJECT in each zone - removeInterface() don't require zone - new tests in firewall-test script - dbus_to_python() was ignoring certain values - added functions for the direct interface: chains, rules, passthrough - fixed inconsistent data after reload - some fixes for the direct interface: priority positions are bound to ipv, table and chain - added support for direct interface in firewall-cmd: - added isImmutable(zone) to zone D-Bus interface - renamed policy file - enhancements for error messages, enables output for direct.passthrough - added allow_any to firewald policies, using at leas auth_admin for policies - replaced ENABLE_FAILED, DISABLE_FAILED, ADD_FAILED and REMOVE_FAILED by COMMAND_FAILED, resorted error codes - new firewalld configuration setting CleanupOnExit - enabled polkit again, found a fix for property problem with slip.dbus.service - added dhcpv6-client to 'public' (the default) and to 'internal' zones. - fixed missing settings form zone config files in "firewall-cmd --list=all --zone=" call - added list functions for services and icmptypes, added --list=services and --list=icmptypes to firewall-cmd- enabled dhcpv6-client service for zones home and work - new dhcpv6-client service - firewall-cmd: query mode returns reversed values - new zone.changeZone(zone, interface) - moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted) - reset MinimalMark in firewalld.cnf to default value - fixed service destination (addresses not used) - fix xmlplus to be compatible with the python xml sax parser and python 3 by adding __contains__ to xml.sax.xmlreader.AttributesImpl - use icon and glib related post, postun and posttrans scriptes for firewall - firewall-cmd: fix typo in state - firewall-cmd: fix usage() - firewall-cmd: fix interface action description in usage() - client.py: fix definition of queryInterface() - client.py: fix typo in getInterfaces() - firewalld.service: do not fork - firewall-cmd: fix bug in --list=port and --port action help message - firewall-cmd: fix bug in --list=service- moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted)- added missing firewall.dbus_utils- added glib2-devel to build requires, needed for gsettings.m4 - added --with-system-unitdir arg to fix installaiton of system file - added glib-compile-schemas calls for postun and posttrans - added EXTRA_DIST file lists- version 0.2.0 with new FirewallD1 D-BUS interface - supports zones with a default zone - new direct interface as a replacement of the partial virt interface with additional passthrough functionality - dropped custom rules, use direct interface instead - dropped trusted interface funcionality, use trusted zone instead - using zone, service and icmptype configuration files - not using any system-config-firewall parts anymore- new version 0.1.3 - restore all firewall features for reload: panic and virt rules and chains - string fixes for firewall-cmd man page (by Jiri Popelka) - fixed firewall-cmd port list (by Jiri Popelka) - added firewall dbus client connect check to firewall-cmd (by Jiri Popelka) - translation updates: de, es, gu, it, ja, kn, ml, nl, or, pa, pl, ru, ta, uk, zh_CN- fixed package according to package review (rhbz#665395): - non executable scripts: dropped shebang - using newer GPL license file - made /etc/dbus-1/system.d/FirewallD.conf config(noreplace) - added requires(post) and (pre) for chkconfig- new version 0.1.1 - fixed source path in POTFILES* - added missing firewall_config.py.in - added misssing space for spec_ver line - using firewall_config.VARLOGFILE - added date to logging output - also log fatal and error logs to stderr and firewall_config.VARLOGFILE - make log message for active_firewalld fatal- initial package (proof of concept implementation) 0.9.11-8.el8_10 firewall-configfirewall-config.desktopfirewall-config.gladegtk3_chooserbutton.pygtk3_niceexpander.pyorg.fedoraproject.FirewallConfig.gschema.xmlfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.svgfirewall-config.1.gzfirewall-config.appdata.xml/usr/bin//usr/share/applications//usr/share/firewalld//usr/share/glib-2.0/schemas//usr/share/icons/hicolor/16x16/apps//usr/share/icons/hicolor/22x22/apps//usr/share/icons/hicolor/24x24/apps//usr/share/icons/hicolor/32x32/apps//usr/share/icons/hicolor/48x48/apps//usr/share/icons/hicolor/scalable/apps//usr/share/man/man1//usr/share/metainfo/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2noarch-redhat-linux-gnu Python script, ASCII text executableUTF-8 Unicode textXML 1.0 document, UTF-8 Unicode text, with very long linesXML 1.0 document, ASCII textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 22 x 22, 8-bit/color RGBA, non-interlacedPNG image data, 24 x 24, 8-bit/color RGBA, non-interlacedPNG image data, 32 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 48 x 48, 8-bit/color RGBA, non-interlacedSVG Scalable Vector Graphics imagetroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)RPPPPutf-83905254c3a1fd7409407e9f000b6d316f856b94c39b40d83bfc0f3354105fbd2?@7zXZ !#,(] b2u y-iSqm(e"ipo ?.hsJPմp?cCHA@-506%dfF6i5{ ԇ29orm;(bԯ:çvHiBUW99ZVE: ptf _bi1^@A)VRx֥-[3nRnVW5CmF:kPgY8f>_\!El4Ŀ+a_?Utc g kounWyNUHp>2̮ofH^Ә;nd($(m=ލ+ElmGUj)$J͸3h(&*H 01@hZec',bP[V{4 Γ$ ̀}`PIm擖7 +ɇsH gEuSky/yi$3 FӜ)Z#$6vw&n(/=?(^WDow*_|S5R =Īe1&v@1~ < c2HaC "x4G @ڟL pLMJ?nTubG!%Ĵ{'*,DjLu[Jҷ0ޮ_lsMt<" 1׃#}7Mt;RR&f0ؐul﷛Sw8; #gBN%gTaƚV{ekg`>Ѱv@0Ȳ&PiAŞx=Xc<:d3qC1o1Kl5R}#L[bV H;J=Xs0uwV1ؚJAmdܶwYA n9&]` $seӋ {'Ua <്tUa,4:63JGY_Uʺ0{6VqQyKzuh Q:4!E"YA Cj^]1{]%t6-FPxc)MZ:;ťb}ʴZ ?A['SyýVk4rbWT{p馳JIFk:1-Ӭ!0+[)&%_Pnݷ{5kHW]&tL0)<2/<砝eSXK"s'">^KԖjjI?}dA1,jkEe&oB]ZU+؞{N1ށg] A?Dg*zbwDk(랁F>2ζ:Bݬ[6o%P]YC/qƤ!ؘtq,ϵP>#9ztJ@^dN%VYYhOKJfl7)NmK$j(c2wO]*#g\^ N.:*;h!Ԭ+B#\4z1J7Mcijcz(invBkTHBf!ىvDpW~m'6!r2zxu%L8k1S$c3ܿA>fh$y>iX)=jV%PjjB=1 ч->pQ@Խ:m "T:1`!rSs]68nz-ֱם.Ao[E#1ypwbԍW--/=o5mj*޹g)3KSsW95 al&׮fwr߮b0i0q_Ðtc"|+n&zE%j189ʔbb/_8ZoIf=~Yy KXd(wѰ2QءI{^`vՏ}9\5L"P  %[Ii/We1v8*zGN; }D8fxD}t zHLlf?;P!BÚXjY qSVgr>s?*ݚ͓n*5[㼔[%q8u]*q{nعvt?wj ;@gb0) NCb=Μ&L@W%ҙN,ܖG/"8șOGnLdƚyG!i[9HXbkiTGHkGF$2,uFtʗ#1kA@n<8m˒͌z2tV6oǮϯcI~*.XK#1x/ 0QKϚEl]:5*Ap;Lr@ ) Ou1]e6TO7{Qj %bGv` =֏?5ѱ&Y $$)Ja<&bɘ ٝE &+FѪkzBΖhǒAcbB ^Ud+cT@E A@Lse[E`FbfZ~L]>e NQZW CVmbAqᡝSdI1=`ɫ]}8&7ة084ރ7'dBY@Uri;dQG 4 ><>KAO3JYOx uW6?`!DMQ.Е+٣0`]+ٍ;)+t ʲK1)La,okGJ,Poԝ: G?Aa!ž%!5YLUt'*,-`sʧcJվK"I@~Rt\`M<פ]u+C;ض)H;/<;߲[g)\IT?4Y(b% G{/̊s4/#2(t,qވP_<(vልwx_A YaF?% 4N|y-InGCo_e8NvwZ#4sI&Alw*aj/!K&1lENE떀!|Bh>7 Ή*IA޹r+|\/TdQiN w1 ]SPAҺ8R_:`Dm8܌7,fdХ<_4$(&2c7u qiS#r.KAdDeQ(; =ZaN/N%5)ݫ]cHk9,^G~AI`hnڤ3V)90a1y][%P}]<5mzkK25X~x$Ãѭ{zDqFvFE쥑)5㎅li^ibeS || V:7O\HʛgQϖV`ELB#p\{kɃg\2,@Olp;Fţ>C#cK[T`x=; t% 9+~6.=7\YsX&%:<"+___ ob4pD/il+p,23QVv/>fO]fػ3%"SF[wsqyiLeE)׷S]p*{m>n}rP!#,SVΫGmX ﮗ Dڊ$|+"?7>&a|MPpyf 1[Ё!q2b`>6wahe%Wa Z7qx:'+ ވS|E:G q~C34vGϹRңn klOd 9=̣⭘кR۪zޢ>bKF̲T[G3OF52b-u8Vs" ,,Hˊ17[F !֐n*yQk[ `6Q {4112%wnǘzzJ zZ/M#?lrfީ%mƇe}/V ¾Bʥ:#IP(7rdk7搚>*~8)1}L#e[ Xj-bY},oCm M3?7ӭb̰F;#>my2A؋yNo0XZTH\C8YI#.E`cag&ǽ=^pG0b/Qq-}Sx`_IA<{7M2vІWoNG(p׵¦u!*G־VJ+x9ǿ>TL/.?vg`{ p0u|V>bNvjb g7]yr_{[=Mi<-wJ!cq_1?ኑxi!Q e=NEy<< Oh [5(aB'p3|ܗ-YwGQ]0*W x!XS|uDQs=JqB$O`TH%ٓe,T4l}C*`OM,1 \liţ_RC+(?p⭍7QQ'?:cη~/ \`>:$@1# &%rzB Sh9fH9}v %P k8|lʁ/a|Y=M WHC7f5b!OJnrQ_38i~?meƛb=QGd&|F#ń ̲fCйgnPZf'6LXΤW !i6 .~ch;`0j^1dVE4ۣ4yNSo+07n陰߼ '%7qp]A"u@a!ݒ`%Ð G %Рbї4ndx#0eXn IH鬦 -)W`}~'Xe*mK^Qwel(-G 9l1]. 'Iv?׶O|2)E<^ 7, ?p7g 4s4[Bc愉5}(=vϪ/uUUYAՋ8X~%7z :'ҍ!A KY[m uZR9IB\:+oƒDD`~FC. i[HbMa<"`y fbTؼ 0UzUIGLS>,D[7LYxYMeURSa[%i1]<nrTwp %*NOu L:^p\͜2^o&Nz&^<_X瑅`> 6ק qtש_$sT:q,1r&PUibp#йYrJR !252DhN jq>jwyC>ׯ vKj:Չ4AIKӤoJI X*zء1hD bp 0ms(.F5nP =3& p[vі\ O0MB%{eդ!ysIhv-jN~旐 d`>UyF'g6}1wx'G "`ElƁr%46qh @fܶ^g[ۑ0w jlFM/NUӄxNSK欇TU]"{%)Bbwv _aGiY,f$l\-c=kˎnHP )AݲiQۋN13" h=oBnBF ީ4tbAu4C?K\߼}PsSUu!t#D-$~=8,\nMK\ Wg60 S {@Y]=Se⮘#yQa /;W1CCMYָZ],Og7U^'Kj%>wt is9I# 19-)Y3Ę>TW_6}~ocw? īǂ2õV69ЦcӏYT}fo;`G=T/#at>c6*n E}RlurPO<`ah Tp횈[bdc\嘃~f:[?"}ad-,pCZ8}ֵeÒҾF U)cb TekۉK:gha*[f4l="c>^PyZ!/v T#L'=FQ@m4E*id2+G Omj!LxR|o䫏yW>ϩ('^xQ$SB1Se]e`du\ilw4X8'C~ߌ;6ǐ ])EGlnp6ny4tKM׶j9%ux72m|W?Zh 8%{?;9B^iuƤ:>eB7BFȸs%lY 7nN>++^Y'T C$!i;KGN$(`eSD@? {?^6lYV$zLAtv# h9z}+7: Z&BGWb5y8HT# @N<:s\moiW hg4e[=`*&kؖ6Y̦j7NQFGp, $ :(mY$0eJfU*QAwvxعU<rCpyx,dj)ɐ^CUlNoE nIl5 h;.Mښn,f|[{D;ba$2u}AБ!%$p cN?( Yy FO3f{'tZ\-狼T_< $uPP ڃz-vì"L 粵P!Lro" KvNJ3K {u2]e=ƱESI54SN=I!mS1],'UR/wBp# {QUjcz1家]N9# JY{=χfYZT~V>eeq1møAI1_3vm F!BqM諓0e(}>E-g¨uAถ@o-{;ÐIceOO!n; qpRC XB-rv .ґx5n-]) u~+Zw m<E[)in7m|o7jqz9Pú^$;t98$J=4ՄS%\v|[°Ls V;J, v?^>Q#Tia O.m4)VYKSvj ՚ OR O-^ؗj^@Vr;%x~_*#Ӊ *3>22ʋ?*2mPuUNNK]VB:22ưb|f&}i˃dC}Ҳ9opO+&.+Ҡ]?#2ԥlNg0qUZ:T6lf 5Ğ`kQ*M {lb[c{c16fY=TcyZ4 $4w) : ̫;4֊zѝ6mv|i,mNrB|zIdyU]h{Ԥ䌱7L'y@Vrw29G{}0z |4c9ح: XK24&Ф֎ߟ`Kk׍F:m izl3Y,4+V[e{HV/V-K02:xkaf 1CAqG@@6=[5aG ]3 af 8FE#OZ&׮Qp KR`۽~d^zGTo {b#x{J ECGʘ4sre'C:rodS-#[J"[(OwL7k,W!͍`<-lItw.^T+fʡEg0e7b;?ww~fk kP[~M< yoأ ظwi;,#TU糖?/H(P1)gl[Ks_O<\@6DCh{}=nBS_mO\Se֖R7ؠ@@>L/֛9ڋW*"tܒW/Zn `i="R.xsh2d(bʨ8V,{_Y7!d98c/brPX)U%f.mӿ>X h gNm;*@z8 37Oowgf*MZ K)lI%BjP柗@~k6XfFF:>{"3詟[gkXoě\G&yhHMӆrbe~OaQEI#pes=GhiȦ'H|$2rT__N>ks&($,f)~>+W󽌯֌^Cs u Fe(yX][MƱ}&e%T'jE?rdqPx2#xO"Q A> }zC"r5 K#q[+(U&7`p3[ec&Z 3XT^3U3[6Bj86B'bYU ]>˴vYU`f9 Z)7a8,vuT~4ݘy(k,v$n&%;N)U+d]a<v TUÎ]/aGڌxiih1fÂ{fBJNnǟlץB*otY7Y䄮2IY7yuO7 w^, p8}g2AA$feJfԖlNʇq@`mw+Sx1k!svU~?f`uy$_3WFcW4؉5#@\Y:"oE$$i+H*<}}MsЕ"Wv[uepMg&z#?.Njl h|L[Fyz)PJ(eM @=x„+䟎h@x5@#P5\ [/#hjizHB.WY3YIss8\Jp"]~+sE횩<^LH4w+>}trQܢڰ0*"#0 TQ/H{~?-n>.M57:,'EЌ䛗>n, ?WfGbNS9>-K!־{W+vUN4n¿FW_(ZI%8M1M:{HYꆥ*.H.F:4-6.AgF?^e ޙ"ꨓ5 `+I@%EV.iwdxOtjW~}:ԛE8kzl wt߫iE|9dA>(e#GVʲk&)zGWqOH;:j, ީr{HZ3gqbeWE|*DXuW8氼F-bNEgj}cAnҷTHh"ֹ8Z.Ѭo֋þJ6s3gy-RJ IjQuh>\uD'ڟۃC{vfW_0R =8A8@^z'RcBߟ|a|rҜ4%v`,z@SxԥJ h,ZU+Bjlr/Ȥ ¤<pzP tQK"8-4!*~G T:4K^m'2zDt>)||Ԟip0SwwOFɲaeb%=͍UPc8Wh7{ܣi FeYy7:_1J;Kq ]\)!*X1OKh_F.}#T%wĺ4 ihII`s놾[/EINbæ3|G~(x1x/i<Ш¡?=Ac3(sbS.RbDCAvM@C!,۰۔.-s2j3șak+s8')R| 'Mp'->y|8]Q-XfzѓWERy ~$IpKTm'mBΒ3MLߜ aƃh|$S-Š v7"S+ gĖ`H" 84,V7"^:` &dh1k.ƘZx 1ЂN\C; Y\K,sI{ j/fEXY! )?/g5v~=Ɗ^kyh|&_剛s%wXgt7Xaԛ" NH3F{*?qzHRtJw(޹,mXϑlmHLYH}>$ Uq.h Ty5E2w+r/M,׉zWz*q9ydTYة7La&L{˫K 3؉p5P\O`*Ybdiᰊ0e6[=8/p&>Tvn= ԡk{mWMCլ1j+x˫6utPu&xd ٞቖ qw3\g1u;$.]'=QNfGwMK˿g)o]rtZt[dV>\ uk?%M*eQ؛!`֏lwfdk]Jq/ىӯfk8A`cG™Z5w"ĉR$buy*ܻF4N9$@8t̘j(jԧDʁ3|r}>g{P>ꀮIj-Vu+ 巧|U5US=:? qNM'Z ay 0?g^s$$( I[QZkT.5 Wl'6Qti\?E(XM9vZ C@z'bG}0Q"4Dmy`뷔D=\[@*TagXs)RY}libAŒ Oaqz TZP~/.N>=xB2Îx C_'eB;ca9|IoI%[c> P "CkZk'viNGֳr <\"uG,Zw-WϷDî`O d0K7PZg N,z' ]s1DTM?.Knmi> |^(<𮥲Ja-faK y** ơ oPn-C=,Cf"k\қMRq 4޶i[mj"^u_ 5[>?E[t:ef<}]eݡ`)s~\w:F0cy\a]aU>W(eQùs~5nRjsz PD"HӅ+`%k%M R<̀n)-\׀O6ﲔ~>-AG2;hj]uTi`9ѲcM)ᰪ"tkR"հͰ=o2r560+;3#.[t :K-l^<1mIl@,B>n5im8*-h !CI5f8?R23Б;{Y# CԤVH $ h> _| 7\a^Xc%xqK"HU[tB:|ZO3SP<i\|$%B^zzn*Ќld2VR0+- v.'aX67JOJHxV /"A2v0k&w4,#X G::u;*VN>6S2{Ƕ6b ٥ay0ۤS-1(a7|&l2B|UC~@^[l$xc*ݹ{5cL[iO/2=9{-MXe")_VK؁8Rueͧ8j =퇃*b^D# ]?cf+ېj98G)dY:2g ~uL礧'k]-0nU[k}W ZdT<{zf7"LJX[6i[eK 1[09TdOFl*G8vۜ\岼q3(GAN!*Xw@e(zpnm)wkA{5}iSc"(3 ^EN. } !> 0Jؘ:R M&Cdz(9*%?G%?[åO](@nˉ`VH=KCģ6w2 -qsaʼnvV/p9 8B'W72F*688.; ;_q> IM{?H͐T~iwZT($Ӕ}R2|L 8@6r}lJb*(RKWqS̽A[ d&9Yl֝IFs<״p{L\$GzیpqnWI Hmj ,H]\[D;4B1>rb,=.Wɬ!u:u:Nngv& oh3HvbhOj8=C1M/ߖP?\. K?*_4&ܝ[}[.,'!Q4\2J<E ;iDJ%;۾|rY%VK[(i@`4/32%b_ZE׽0+a!^K,GfWIA|'hkϳa?ao(Lq_ fGI1-i䏨=NVVh:#V^(6a+`%LG mޘ! i`Bgt[kQ@)oWd%w;B7cXbY1n IFo s&3F_ OM쫨E Q.0J7s, J$\ 4E_gj4ʻ:c,<]6bn,\uַ.TKc:&fuQ._!l @"+7"Ƨ`>zeq!hm){!-S"lN!a^XJ+VVϭYp곮red=*We5TeRd:gBrhPbXˑy'&A>v`f <@|E?" 9w߃SNgRA2%Ny~ٿ~L|e ?TKղ*Ĥe۳h&$r59[6|d r7(Ԁ>C^!f-mOA\J:S,@RGE{CT¸Vu;(,f(AbB>(+.l'vjFFCnOj/$3"u8mP$8{$_}h=dIalU Ո&/mw (;ĺխغCM4SA"i0ݠ%Yz0 А'=e|WQ c BwXa7*;v0iK5;=&li/H)M/F|~J2WybfA B цp? }qHsEn Z7 V E&6R}6kW!uX0.P _k>4oOhy!Tʼ8We( W66*VW,o0MB|W/Bsj2wr(aAqK`]ԠP+xGlnНrTg?~XNˊ+I?pY%>qs86TR7bL\:g™}[Bzf.eZȃMOfb9"ܤ+bF[g8_h{6Q*PD큓Rs-1[jZ5'ː6P3J\ u+<#CX C4R$F_PSnj|HDL=0S~m%2%i\_?\JcopSHkF4 ه SS!N▤q2FG=IKA`a_xԲ=,a 6 )^I7ck4ob([_U[]Uvr 9Y50H>HR6+e {؉%͙~i Cꎰ՞ {uaNr$2.ƅ#|me.ɺmu&/Ex*T_c~硙t ~;V|予OTL0l]*9&R޳Z`tM=_$VF`W T(%b@gy_I)a6^+lInf9SƈO%j(4)UܹnN_?b8%vD;?[l^2:Ew #xOOD.F4ie*^bSKFOyWn\{wێy+YM4ks*cgF(S4Ѷw-H;emmಷpB3K`&1&IRr dnvGG2n+0dg~> Hp,.;ڛ]w\W2q]Q^f{tYE9ӯ̐ 'jX(,y" U8/B¡9凳+=3I"pM'v oX^$#>ޓQ4ʒ[uoQ1^(ЛiTގU /Ԏ,Ld[Y}Y/ƮhշsD}]nBgG#$b(v4Y=ȹLMUs&ɰAʡ~//洗 s?6j ߸Uŋyznr#[Hc($cM{d  `AtH]  N 1@3 n(Y0k&yK /( ˏ*8&.H֢&7S 6sצ%ewk &Oʷ! 蚇% w؍%*Ga~ ?F`,o+6jx^޴Wޛ#R}!P>c[WUI" #'eSTgw&=K{E=gt-\`Esװe֕ @ ˇNqN?#=ϯM e(;O K턯CX+1Rh. X;,TX޶$ëݰq(x%"eWdJ)u?q1Pօm_kڔj Δ9 )졸َUgcr`?ódCM\#Ь&Ru4<7j`4(WފRMqEa~[-vפ7P]%³}.gK$PwTaԡ,ԍYϰ#(.tH!/mw< ұ;'OaH}֎2 >ƚZH.]@C #i̥v?HpZa[/]-5n$[,̵͢-+,A}HuCM|[1ۛ=ZjAӾ zjP}! đW>Aj9Zډy?gZkB]eJqK6w~\!hfp:pQ0VzLiڰ+\F/׋.a۵$LRX:S}t_L/-}-MC*VP#9O;m 7w7ޯ90Av44.dϦꟋb}Ybcݲ^7"J?ް4mCus_86U 7S"`ꝗ詷\NĬtEppυuxg{$j\/C處Frp͠B olМju5HJ7U81:5#phZB'lby w>)Qe~hGȿkU6;Űq\-/KFg(REk-ґt*:#^MRt4}a4Poݚr1Փ#$B<3pa}vnbE^n@)pD\?j m,̑ r,Ȟbf霢mͽ֔D\Q]]\|PsF(M y͎6$l3՝)̓͞*Xo_z1B:<LobkO3:r!%)h2SM1D,8s)7w *1q`2c`d*XP^ .f@<5 yUM0-` g 0L Poa["[*iouwHXuwL\3+oO:QPs4`cf&u:T%9`jUU[ I0- pTFVxUw-܁rtJ6CG$O veUo'{r(9Ns\=> YWwV"$q5qPH[` Cc2Z~ő9Deמ9/3Q@ ZM3;[:åeCIO;٘tbD=@`h ʻ{~">Q '"&q\B`ExEMS'f3R|7.o ܫxN5#3^FjI6a߻S[⋏{i~H.Q\d{:u閂Le 1 A<6o1EYXv3ubLp~9>SeN`S1Uᇚ5ũHxm,(4mg4bDe0" 'EuZ #гLP5!]BiO^FS4+\YΦojf`KѾܬ[f;7_6&x8"%>9khVo.x gda(_$l k+qG~P2Xk9JqT+n=0)ҽM1uLW<,~#O|xy6'/GR6lbmc K DyPTFQe8F<ت;ZFj򨧑y]gh7 XB?&a%ܚġk30jHdk͐|I/va>;Q cj6t]uD+B;0e:޸ƽ"wP}))IJk;iK`]`I@UM@R&0_WEK'\}K3)E L5L4޿5' 9R0.[[IHDlTPdQ/>[%@~AiB-|GFɐ=cRyib@2vE_#)i3 o}͖1/Uw.x|Ljca*wbN/[!9qI.W&6)bo\2z6sޠCƪh*mĶ~^ڹќE#׸ gb 0/X9˗7]uzP4o s.D 5M|8HXjNߠ.hÏ*b3^^6c_]./'x] 2YECZ*ӫUOR+t'^3rU3i}DOL M,~ PU) |gY"Ew@ߍNaYsE1p4R, #nVZ 2Fu`=Sb+k,A-wqj.c<Cޜ93jkyH@QȊD<~H2zl֠%]N)~-u `'%v7;޽YO&.ߎ4O`?m+MFDǘ@dظ!m jРCwR'3waE&7<8z]Ǻ󱻷tw8맣5 E*20b}. <In*dB?G:uⰊg&-(ݫt6A9k$g+`~SӜlE:(\՚r볩Amy `s;7i;Zc?مl AeyAAgD'eM- G)Mޯ-EiC! 3AvʟeK B8.gEwjI7 uz+1wx`5K.<e =\ƺKe5gOdѬ Ksc _Fx"nJy~aFda>O9NnD(B_þƽ<3+ A6XI[}51jy!r'^㛤{P^QjmuO=?MrʚYx07xl8]82ll r)Vg?xEsA{8k3L\P1yN:7]@.? k;E8s:5=e9]fLX7(7<Di6Nێ9yC0Ƴߙ ySxIUu`!d9sϒZCEQ9W V;2u bNl_bC6JǮF)-5t욧%W6~U-G򅰉PU&A^Ł Vɹ- gw\Q;s[qY3+6GgOD𹻫@_}yp"/pfy8e\lN;I+Yhl#1]IP=W&73 P+)T(bOFN7 9WϾL[HSh=^?pD^j3"y?^a'CD/ ߗB҇Fpv85  ةyKԅ)ՈXǜ2`Bt>f6kk|1I"TR6vTM \ѪP#2h xZsA+/0~SD"x[ %x0`vYIwBG=yM 6N{ 4'Tv>F,mYŋF3#0uC'Q w[eJZvu|ad58# 'i2hZ_X,} 4ǰEs_/fV-ky%vV%\oGwV(|KM]#jz2NӤl gnJ,c%RA(օl:1S@ ;۞-,x{^kRW)gyGbdB+AHke1|vZa5D n͚{ׯB6D͐h_#>mYLdn49~g835,p}T[d-pe^+R@Ɇ :y&c[Z.Qv#w3*lu}YZNLt%rt2'4Fo6=^d'\E jJfY|Iȷ\.5r0i-&xi 'X@N%#c8:'E9_EVz MPt9FGu5kͫWqwٷwm-S~{ !u 2QaC2 @B8h #dTT24"j j?qp̷ );gŇ,:x-ILjm7+53r5cCY Ǥ:9ȜXgZ`XOT~7Q*$ ft륢g&xzAH$j x%`jGjir2Qњ{ GFp??%Bޘ|lX+w~.ץ5$j淅m`43f'e.swukLC!]^7 qq(BsST"GZ5Or-(Y{Cj=!W# ^+$SX?<"~qUEV-&ުPE eL;Ⱥ#FN{V,7 [1-֫@TI861vgy VR/XB{ְ'Os?9s"Z4(^p y3եۼbS'tZS2q|*lQQ0TBa+^9~fkGDt\?l@)c=3_̗#Gt&$MVj04 c9u\6&IZiKL8`ގZi FI6SK֋ R*xTSیW H$$BD^V~$`g3^Pkfa1' &6f;:Ŵu|-rZEф0[]o Jm]{y1lèOc[ゃC/|umEdK҅{ssMBcMJCF %$]1E UcqiVC/c̲yy +GâJR Ƌ;?:wgKp;%tTeWPvW8DmLMc?/$ ?mAnCZ4T7i*6|H®Cf.&- c44xN~TLGx( eIG "PLE֞EWweh|қ]_)`6+UErbʊd\m(!?P+{Pg3RtGx9 Y2>vE}Qj`g$-L"&_nZb,5ďٞ8}x,Sv;1Pg.7Tk_Eˋ9gu7 _.&͇m9#_#E[׻!z A6~56 :m8_sm<^]{혁?%|z&8dh6K&ԑ0 5ZgI<7f*'lnbgrvlO\`.Ci qG1֫'Dm0( '4uO|Ct)~xMK~H\ZxRCcO$ZEir^$?3]W/=5_—s\#^G$9f@ѧM?o S&ǝAk@769"YiQXQO#Otj8.8i,/8E1dZUϰLp06BS۪tegC͟<ΔGo.CE3^U׌-/_C$$>[-hҿȵI7PyէfFp6]XbHn5H#o__(]?2PAYR\awo(w͂>|ȤpM΃W 2R>Kܖs| HS,:+بt'̞A=Ux>ѫͭ, pjLܕz[-UX^mJHuˮpE2bWbry#)KBlv*8VvkצQ"#s=oXA+ԗ批BvAάfi)m{CuEp&;+P@0n%ɩ-eܔ}l| 4@"SL!iL& }޾`U~^Oo0?zY :֬*m%QvJTLoN [4Dp~lŇL%.lRoCc Hb{u*Ӹ>۠p e>T)st2z EzM 2JCbRqu$mDPZ\~?u(>թs,_ȳH>m kY czNJ}yzgA0WF HY䔢=*X $/F8,>v2= CgM2jݥbk1yR(5u$@pr9ƽ_:܉.F pzLqĀ݊#N_ i 4&d^nLM%cB&'sM ٯԍ]/h^|<`[u&{ii5`z6Rp"$]׸ @cPN/aÜKt={ =(+ }Pd6v?Q ;OQ DYlsokrG&"{2~_{QB~p"z"PW|s'ͱyC8q\FZ8qnVYiOEQΎ~S%I6 UITo=:*@q,|WMdtHגƔ2RO}g=zSaND"<7,b+?iGmLW5X[wT.`@(e׵> SY!ghe.بRʴ=B?Gˤ9XZSvN:y }`NBufո[x ҆np/?;&.WI>pO>}~%d+{Q6+'XAܿ4TWP&\@D^F[,=7,!N6Vj*be<''45rS&E,s| ux(ژN).YVcZ A.㫷ST4:}Fisb8Q# &q-vùI(/u(mM+3r3hSSfg$q#?Y&^*H_[:@He.(טIzU.òh*`%l کIRi'*j]n:۴^]G Qrql). " WjNWLImd+66=im;[j/j&5<{ 3K㍳]ެ)'m!$eŐ>5NQ8)pꕫ0d:caEk)khkt,oթ$ vGQh\$q?#-a{8zÑqVv8C`07SSo:.%,>.3,d:°?s_=e诙NZELD. \UO-Xqi~{ϮvNS˳..)fgӍyZ1b/Yb+PbZG횦iz?BZDfC)7>n4EʭiΒD5fNnԛDchIjL|n\Y8+1塺6M_erͅW_ 1;ǐaT(Nϴr[մ)39c[~}n+L\)peS`tS0R0`WVC[:8%~feTPYFb#ְW8=˺dp9N F MBe" !F*{8Jp7?8˾zΓ8ٺmgRJ z؉Z߹Eށ>+:l g\!>{^kx‚#}'2GAO䰉)QJS7hci=!r@5kl&cb1Rsˎk8U>8(>QA+}O_DojcTbRC+*`2Y4[v]}8iw3e-XČr:` |v]^,8ר@35 Q*uGG,n]vG|αz<%۳;pCdX^c"Q,bӜ]?aꖜc)h0f'K #=uKw|;ƣz9BoZOX`myh"]"LJeʌ,KlA(';sjXskGVGbn5DB_!q0': )WNJ>>!W(ޘVh`nh 'h<rFdxڣ襼_]\&GaɄDM%Y#$cþ]fB6,۴Zh3nG.006$Lj9Om,;byw-*#@Ӧ1y&q> һ7 *k6c` r?bY2=juA_IkU eO=̯BJS1xma d]KMb6X ƒ =~j|P4 Ψ8p ɟߣ|'`)k頛ӥuvPVxF;AR"# wC`nUts:20or?jk+8xaw̅)a?T'h), td@3;Je}rZ.רHo=-O-3Rx-^47m`O&1@KQYl_X4iE/OEp袏H!6ɣ9ǖM8um Aާe2dbItظ2hdƶ]:X7 uE5ˀY8ibv,) d&fwKE6~,S5J8CN^!<ؒ~+A )!ws%ǍpC$a(ԪZe z&Q]f_xcTOc2.> Z4ϋMz ߬2}\IfqA`ɦP'1Pw?m2߼nqcmӞ )xtu 1 :/J9'R0"Im)ϧ:rWw%;"wDa 407Ƴ|pT)p?ɪ[>,L^=P0`pk7yTpHVJw2Mu,ESKj˼t rԺ6u h{\˓?08J߅C$J ˫Y{(lÛUmT*6:pF$1 ^BY$[5Z'x`3vV Jf7^) X0-U=iBW&x#IfS.nzgCtU5^Egn:qH]POp}z}#Z29փsmq~|9&4C&6Pp?*o&{PfWa+ Ru½0K*6fiƘ(,@:z Mw@P0%pLep?G2^w 9>[7jg( asPrzE˸Yw"! /=Wy6sO#$p::{Em5 Apz,){.A1:ZI¯v!qKܵ,-9W4~Ev$q[ҰHzx]ۼ4''OkPv;jONV't+=V6<_&$b3dSڨeK5j[)өwbm dR[\)q^ǣ~'A(x[E9[Ǥ ;!wH@շSTOzYRL- $I~~[p62b"ܘ=d:ݯ#?;I O|~dy{ j$9O˅,lM5y4RS)[qq=2Ql<諐8}XnRܯG āS=罸&"hbǍ) 53G38ҏ ZX HEiHUP$)1a(<Ʌ;{ ;Zkg ^)uHyeCd]RizGdOOLoӃe"k(CǞKoH*r-pV O:~:6ItٱGSFt"$bv$@j ӭCE45rE gt9Ӆ0ȧI2 CpQV0w[+!hŏE :>  z%Ts˴4l`!!p+?n WK քヤyioV*ikqF9"ۀ &YH7@f(*'5QZ)៾LC%sCH6Пύ;eީq{\.}5P\-l+UN)4"r}{ЛRZ`IG{G%/DL8Z@Brj&"mse* v5@+;폺Bk^q{0#Ь;'cHˬ[';?^*d#mqHlot-Ie s[&T1Hm?zq~lBA*$8BSK"tFO-DM kEp+]5E^ԓJUu3XWP>腯I$1oOj~C}.*.R7cD8FխBPE w}vD̊ZAVtm؃ZKiK:)RdCA@m֌G.X tuhǚQJoUAp%Z(+C+x|x7ڑB :4友^~a3PX":ؙMSRiY{ka_ѣ{=╫`;Cr!B\ I.dvyn׿fgeM8P۸6؝ iİA!JۭDƹbX@ .ɏ}Ae7XhT_-ƫkno&O<~쏐'쏫7 |@Mx8S>:PQ6Dp,"@GX2d~UT.lSQ1afpoz]Fh"в0p'|+--gkF a}Ǯ۟"3kyeS0WZfh3gab6\WF\h8 t+cs1Si8,7;z'ѵ{j/l[W9^>B0 ;wWVl.&-p,N-xPGLK1c%YKt6 *P٬-1öN:7i854@p(,չ]-a5酬ɘWy$ NmU#jJU`fGpcl*2M̹Y_!m܈X@n$ζa6a G]L AvIeg-}Vgt, .;0rUmm.wlo$4˭{b2lޚ: "';91KQA d0kuV AskK'IhBnc!VQ=d6>:o(LCA+cۚE!k#hA'+WG}@@'ƊXKV>i`jE$Y0< s4l(?]c`jwu2Xm[x $oD7#ciҜ-4ЃdcJq],K- n{Kہ|%pȣ@y {4:M (1$"n)z9LKON:7 3靊(C_NGvXn(̂~ʬ64cp2ux5f(_G$8x2X=8?SC!+iSf5\N%*ۇs D6$E{6xLXh%\*\NqT'㾙Jv,5v|1Sa~`W4qG#NRiz=NWO`Ym4&T..W:Ck`zjLwUXu) I+/1m dx)e;]M#^y>z?bfNu_EMXQRpGnk[UO 0N^{"ic;8L~z{A嚔D"uQ,z^E3aDnߌQSrc@8] IjO8 ))y{szp]7j}Oߖj"eßɌ`d#Vʗo2Z1.V)V ŕV)G/GGO?z?lKuIv/|0tNy`=g WYNHqw ~InJ",4N拐>}O⍩deOZĻSۥ3)x`^չVKH4kb<ǢTOJ /zPqn[Q qR߄`wqe3Ɓ#b *+AA)R[?\8ю1U7^" (~^{ξzh.ENkD ǐyC&;W-,Pg6O.~" !qh ;\Qlin6c !\VٞKjUv,}iy0Tf!vgO5Ku@$Vƙ(Hp 2? ZVk~<:&Ei5m"TS mdQ-6js*f uʙ U*IOҰ@̥a+W\\33b7nXfo O[:ETcPܞ,d+b=Z {ͳz|9ud[NOoM0|>Φaeh"'%tkv&У 1 -*g@jdcsϧ328ҜDeZX:l8:8ԡÈoZSUWK[^}<Zm4)ijC'{]cf1bДK)Zbn0 Mn^&7`2K+!*I'Bo7zc[)5U6,V`Wo%T =:`|n( Y@0#Vo'?ZkÛ0X+ vg79nfΠ-Sa1au:>*9jף`)7rW9xszP[3n 0=#^/ՔSRvSyͳ~.16*&ni%tfR3ۜ=c2mX0O(RZAD8 B B#ugϒt%D/.et!M8̿#w=qtI52}nvD`@B v1mDPڊ U-x)Om"Gܜ[jtIlP2@pizOMQHψӺn ӟ:1Pp@"gm ] Pc򄟧s{=%t6l[ฑT9gu=qyIȯTFbKbu"N6-ɄRM}(Pg/E򰩁RzQpd׸؊N Zƺ8ֿMvS8cug"^u7n2ƅRtU1}㿓=_9'Y&yKMi.5-Gaa!mҌ>O =Kb4_ ~[uP-:D-]F0}Q g,@~-<<$3ѥD@OYprӕh^-۷ۖ {.SD?kDtؾŷh0ҪF@x=;DLJcu4yA◹b(ݖdKʜ^|TC"%cuΗHs3Ym2b dV}U( e4*U“i>?ޮՖ:!rF.@8peq; .\PʣC' X[7SYu?RR1!{fڢ) zkx8޽2ȟmԊDcZ񧽸}?Wj4 _\޷,vg\&Yy y,0̰s}_\>ֈPi&HD0QGGz嚤(Hfjh?dґsH{,$E,735D+?R$0Dz)KXՍɚ]0Dhe`/o= r~ ~I p5eWX[CKO=Nlx._רt9T3@:N袦 SN2#[. b\JQQ>G8mW 8R`Fh^XWI]]f, pSʖ˅>IiDG A\_G[nR /mj\YOc{p@9G>pA E]GԍY(}¿ {P _oypՍȁ4WeխXtw f1=Ƽ]|Y(~3?j̯>!=h{ Y NQx*bD-ƄC>$|k ^P2v"iÌ= 80o!GjH`v@\XtN9Р^3]p2Ҡ,~O“,/W\S( fTnzd"`st}~@d1ƲFը_f. a<]J^:==Pb5QX>9z݊JG[f9TG9wN!.ڱ*w/-rӽ$ś{ Pk=I);eO9 JU3|ε&/W^cB ['7zo!Ws'- ^B,Ǒ Y MP[+X6uWG-YC6Jy` !WPf8g=ma 92;;E<娡T#xm Ij r)Jz~s긭X3ݯXQޝ|䍐X2ձۢ9e깥sVfCDoҳH|)')F֫x&їLp%qH1_i99NRy~,8<[{@av[sp;%F\̨Fk&uO7PI9ٖ 7ιT2,!JocMg}y啹6HR:T9w۪؎#k jiYUcQx%gi.uT.(< ᔓ{9:v F5 ẏqOiilKk5=IȺO͢T*6Sv5O!<:7Sښ^T[MmJ;D|Y{W RMI_ftp],s2myzVK ;6^jmVu9 y_n$EkF.Q{ihYk{X'(kozڨ37m}oGb9Ï: Hmbv#FlG ~uZ lb:'8tE4dJ[gK⩻ UN9 Α(k66z<'U5)O>?vej ,_&@ `no*ߥT:\ƿF+6Y%PnPmGk="`2+nEOդ=;Ზ$ZhuK"Q( $[V647rgXzZcԚ$~$3lLʑkܟEc!jt!dƙfD"3U#g,\^@!5?d~|l3C=@8])SK;*:aaO =DsK\˭h{Li)#g-5̦;:Xy(kfƑrlxc40M=Ӽ_˿Ϸ$tf= ʪ$zj,C#Tg \k W-&z !숀QW34=ŸUZI'ǵg'} %0![2$R0b>)c10"䙈kisd~; pLa:pmNlX'.:td ]鎐ocg$j+dC\1ܕ2,sp6ȵ~"nw!ծig6HKYU5&C"Yɹd/49y/8iL jPdA/p ";3g4j͎OlMOݜ+`O] ɐ܆LɸrT3?t6j)kNb2@MEfheBs3(1(;~ƥה}tͭ duyIn{-уMu3NK<UYg~pVN9*r8Ov_`Ñ^DKF<ŻR&7 &`-_z#2 =8mebw 3J߂rzvSo*YjZD$HP6š.4VȪQ1t&ńRǼ?Tv2(hykT9hL :Ͳ[v00rȍ2AGc6K~:beK:C^L˫'63[$j`oŰ,o$Zu]QG/ʏk&fo"[~PAZ_ի(=u8ǕSr6N><7?L%~)[ez{!Et憐>PtwWh Lze~I,_L*K)M8'G(*r @|0h|8዁JX<^ݻUd_dX3gA5{Cϣ/:DtؿDS&*`sgNrxy8EBph w&T`"tdZؠck2TTߗAGkj<4 p/зcȊ{ps)":lPD`pZո*yq Ϯ뽯^^\n> 8< el&uDha"U6I lS 8 W^p8V^g)T9&=rZV8 җ 7n* X/=.P˔Rwc$'edj yXĠ$2`7\'#rw.tn̈a&޼dfl:q3j)ĆHJ#@) g@BSEK[_=NΎǒ qJ#,%o)4h<*Ec㟍`rZdԺW [to;}d#GK,[ArCV 0+#baN@9sȤP0w$?a$2Gren!daa(p_lioRJ}j8N)?Yw飳ķk+R1>=Y갛޶6P>-jl@/Y!/>2Ɯ;dٿ'9>S:?ua@ɌaH7`ys![qbVԶpU'?&-cb' HX5eC܈5//)W;&QM6ωgZ gLı3㸓fuGx-jywIqSq("`&G\ V2oG8KfM|DU]͉0nHPB| J8*4s_^ EowX5Y! ?#*QL.B}SY Tw 6-wYoN3?Gp Մ ]v=M=_j:)VD}(bF ߉^3E29fG^boX-r[v1il!cdR@a ]*s=q`b;!7U[2Y@i ῧDMY~(icpNg|8l3 `,n4rW3q>_CHFA. Y+n&+BBWmbmø Ȃd1w)Lm\! ׿Gmͼ=MsTxIPh8oV;l, щǙH tihAǼ:% x&w1IFc478`_}QM'cOLXՏZЗo%q4h3( 9LQ;X@$ʂȚwrFAāWCs8 xA*kȞ-!+zSب3ӈ}I V$ς?LAE% {X-Ͻq#QZu{?H d)K#y{ חq牟AN [|6 l󱇾n4T#p4p 3,l6Q*GxCv ķ?v,F _M[J+`:5@&"sY]%]0Bp+kayvIv5˥VKXr(NYT}β I )3t\rsHCR6Iz,c'kHDmNJ.9ލjW MIKdf)L0j!?վ2t|o} .wk* Ht/~/UHǿ=zնp-74%S-3qأQFxl 3z I _s9ڭ~ |ݦU<ہO`ջ|Ѩ"V5b՗AhH-vYf'& oXC$qs;70Pu8n6 ;Lc=  \A*4&SlH]U&Zd*pBγtvա\]7+gW5+3>ب½tc6;ʃבU[@{+hA5ʂ+2g<.'8̅ Od]:ogAbe e ; nS`$htl _w~\P{;J|{FM8-oSc3}f17d0ɞv8Wp HFKXIs:!"DhXOgrp˥Hm(nf,_;_7v/Pe \yzaU'2Wa8'ˮ/CC#xu*+pqvk)| e^KQˋ红[YퟚͬCx з92R/R>wu\K"ba4o'R/,+@n߭|[Hvc=H]oXY*ҵiqZKٞtk*޲9\CJ( l |E:gحʢxaɃ/_=!'YA8dMpjq_r߿,Q,3 H.?_L@_ u d9SD2WؚHX'<8t\~3pȯ_YO;;43HDjG!&}tgrܘ OJǫM5Q\WV/(45˘u}CO!'-P A SH2;ifU2u\lJDzhD^XU+)Sˁ'CO8􈽸?K,Tc2%W:jăLĻh?WVLW eL܁=C8g(6Hè[^tzW43$Ib_ͬ^GH'Ҵ҅L~MK.Ό'6Y逐UO-cq~ A9M̞KNO|,ysS|fpOQYh6"gVa+Ej7j(UrU"4:F˞nERQeX!hR{Y@Nl'POv@dՏfSigV?7TkkM7%ka%jmi.0XtFp} =w~(;-] ޶_{'c> ~^E&^mU@PupeixA_u=1BUu~N`q-#ڕx񅊜e87FHݷgs()z 9nh*A<' > Vjfq7`z%Ze{olMgUq&.edH۞㮉Cf"cCgCfXwԠ r_..9inPnj T`Y{'Uf):YA+CLJ&fwEm.k эҝxS7t߾ o$܃<Y* {d Dh{5/i7D^Ptcؑ:d0\Τ2^&_=p*:yO\s[: &fco^&vg#_0]% 6VZ֑Ѥ/I֩/ ,Q- ) GrC?-'{T_NGwY4/^HX@?~f6Nrg㥶)2 'Ҧ`tj*@$Ktٳ0S$Us?kqJ%SAeR70BY5bd(c-uA⁓!9I_#SpeNl:EmƻB н 9=[t|Y dn.yrLŻ3^wnv0-soo#W2*vC6aFϣ1om'u/s1 ~HkNN+ϖdLq g)[;A-VGA*!YrV:sǂKW~>Q%tTKseʇԱF^ک*0u&.h+RnTnG09]kCxk,4B}վ$yQLCSez` SBKrh!臘eL$H[cYklge(I){JbWB?7j!>j c?zAۀ]6Qò$%Sy&0E,Ɣ}~F%@L`e.8ݑLYF?Dd[ S'\NTigVӳ%7>ilz. ]$ ^ M~LLjfRRmVMwtgF~D }0W48ǑWD&H@dF; \F2d5L|Zu5vǜ󵐆LU)E.8WiL \;$0jI/؉i&cû݊iVlHGuKMhq/U9Tf0JܡAlQEMo?6bNuwP@#ܠ˰="Ay8DI^) A ̆ޑLu!@l Sv DZjM HI( ~yo' `贵񬽯cDU( y1[*xU:IC!80LshyܖKB 8nBDҳ6ۖ/K+{W;sj,ԉsT".KyڂSwϚSe|v=ݮ-LaV/5#SG=T><0O1b%ب2MUX^ 7Y]t}?(FXIXd\=.Cd14c8`v^W/+*0c#5:Xi;MX\koh&W-y4U,޹u94^8\+E v'5m97&8';~ Ib {ףO@;edd E@y.)ՑasPpv+O32= Q~, Z̢=yG'^Or9z˻8'Y(*GZ٪=a;}ڼ rnrK$@>^{7Lr̀-[xg at<;-A_$d3۳FX گ2{2i9CY/};q2+Yz˼m'߳BJ z!OZFEN!=BMH @&{_^вcѲa.(*2g?N0@4!b %"-́>ҝ5谺:pVB>/Ԑ:=$9]q1$ώF+ԭ.rJԉӼxYTe;+}q֓u"m$9We s"ǂE- Z)͏}#"FU`xxc:ҿ99mhN-̏ P-|2>W*T_r"iS >kҞ2ȉ9IW J\.*)bpcAן99PP4v)&Oը'8z dH7@A+fDvMg.u0ͣ`&+~Fp)~fzm Ojdy;'/YQutꥢ^BmzZ4)OdL237 _z潆-Ym< nMb`82yocsck4-][˓P3VJa.U72h~_2aX"r  6=,𢋫,kMץ%[sfSc&f#"o:fFittGj?m쟞rWxd?KEpD.)#WoL x,&.Ȁ^W~8hdq0H0p~o+.f#MކdX+WѾ!^qxPu7=c.,S\/4+LpNzi\:Rf85oQ  WTVy/DjVz%6r7~r?\=HVOqBFgjL1s 0WBO |RdU׳Ğ/2l֞7G4%۝7jRJ64T||xCݲ "(qDD:1ߞ9>df#TeA:_/8h$޾jm`\..,#e~FZhX] ִdܞotNVYXeת"eO{Z`ʍ!L?&()X,Ɵdq^47Ty`ߵ5fi"=TcL=\,I1/kC3MYNOB2KaY~͉ /vqas"f~pqx8tq#Xv}λpbոWw? $|+DMc> df4+]b^c Fa= 1&lP#]T6h`P +%lRm 'OF7]7S9"F|ʀ uFfO?Lk 86T YIШ"ݷ5%L:jɼew}wvY u F1a1hE M$? Q~ / "tas1G ؘ ]SB@dY`Wi~Zv3:O)@:J zƋrg&tSbg9~hay/~[S>:__X{+}uńhbP\!5Fܿ/Ij_dNG U=~OULU+O/5Pާ=4.FkGXдkX[fz?B.E1]|lqvo+1C]/հ?+o؁ Z{ xЖőF)9ޮ n.]Ԡ '}Ns[+"_ada#)^[iV],=-ExxB0(l2@Id=0h PF;tc{^y}%eQ)h!Z ^s QXt^WH!|Qm++䜟j<٩P<(9Zy}Qw#KSXHG*MAxHdzIxi)3"G_#Wp rFq*2/MW=rk*;bOh(UG1Pm\In(s^;0WhEV^`MrEֱa:lY.f:ƭuH>i)yŻ2ǖ>T'r%:Bxhւ R~p0oK6(LhQbj%ER-<6@sҳ5.ɽ/UDM^c^T ˆ1ZwXv`JAD\# F~A-`9pu궫*X`ڱإڬ / 3.?ϑQҔVv|!Uzc‚K#f؎ayk14JjPL!deZdN˚n)w6*ҷ[<C:Bhgf@x~s;1Y s1qqRf$@SH#XUY,/DESRvyPbGyPv7'Ʀ2ރU+&o6ccXLl}Ȃ} %7~rX<ʶDLa8]*rwyכ#w NK9Cȴ3+:W͊{+E{)A=]'(n~8b Eq$ p0^ڥfoV^=A9LԅDIH t&&X1|pNwiZLWeJ+ǓWek0h3]kߦtLMɬӆȗW4d(hf.e)e1dj&M;!jҘ^mcAw.g-Ц?a{,0}Xϫ:ʴ,;RmynzÜVo!O 7[w54gKo{J]`4]ljå ;YYA3a 2/Br\YҾ­M5/ЬXQ^ͅxpSfNCbDH%"uJ~rf[!~m6Fr]|8EdN98GY7لz*aaWn]_ԤfK\g~ |sMI` 0j%iSD_8Ǯ2c!j{A 'lġk~l1N%ylv7Fc##eFg*ԐI?P'HA"M8dKZ[=mQ j |XLwtmE7AyiP^+dD^O2}2*[GoN*)kzه; Ƀ&w)]H}$& 24 ptVCRv,fRۺ5|}ű \ I28V.6@jEA#? md"\ E(LL͌O7N>xD\6굊PC`o?wٲ ”yF;t<8/Їp]}Ȕ`*wq֝BՅ84Cn'd?>68+6 .ۭ9a'"Y bR֧$FD7Cػp-K1FfD`Zdv4Ә !>qPL43}nQSbz=3KPeUǵ-tV`K|7\" R{Jq %F#lh M>2g bO1QXm \,vO}ݲ3q⒅Q&ҹf{NxF\ x([l n5t9LoG-ڪwŠ䷷O'mkjGl]7i!0KfMLF27zt=wuk̢` X(puBPTڱL]R{_l:,:7<^`LxoIX.WM!xY3@[53"qT|!G%)uwQ 3Bֲ Ƽ*dя⎟%b7,O}؈,*"e0kV=;I{jbDuTBOG#abt6y>_D˹U݆uЈc@YJ0=`bX)-d~8aSuk'[bO-YO m oۊ3bWim&&pE >XEa>< G3-}FL욖Bgfȏo$2T/:ȿž7ï%i {< < B~[ZoS)څE"v1?q}Vw(_Ņ'/K7HGW PB-׻,ML[ U-Yn͌E)y7&K Mʿ 'T2 (WƿcQKR_1!B"ne˸uo&m^<NHYl"6pMvh;$=LjB-/ãm߀d"w$4ڼW~A1)f5)?H|Xi|莆ZS65 O *nxZ. {O묅o4~h}Цӭ%?d[lHJ[ Mϫa(@KX×?B7CV2R#O|IruAlL[O}YYȑ04%jPT~1 DBr+g L \K7(vz^=4)]jJ 0=0E0c#ML}jK.ϻ;Ĭi#*Zf $xU=:oT 0iXJwd1D\u ՀWabh\*[reJ5ͯ^*+q<70Cn.ve3S2[g^QD7$p``кyߖ:?9E3Z5Y6 z;Kݥ +oW;\.S;ܯKTn3G*_>5 Mɭh% !o5Vj'@ngt97e')㷐vcº6͘rG;Ldbw^hdl GMBJW*_ Cѹ<0=+[+OjPWdk|M[Qp ė\No;XBnk2R~_Ζ$^8*YέH6-0PU=ͳƸy]:G:fJ5y=2൲a!sG+qup5V3KLth;(v99kǎj\L,t3+칈^Yvu 3k,2+u(_O~=$K[{Q֫{nK.,|j&o*C0cRVr> ACfx/Lz2ȓgxy9a<8h7hR]QiP>_ WtRnܿRbHJjïH*E5hS;ˬr=xV۟ A =`X/P5`@.4n?evc5>"hwW:5D"{.0cs񮙷H%J2k^j΃/Ah{j OM+WsTF!Y5Q>=wӗyTbK򓹵#l'ź 'm? Ur*ZD%e>:j' ֍N"ҷ_[9 b|6i#ǚρ0@dڭ%Ve. ΡB^NFg3[ B¢>V6AsM[}*(}ZRbWd cp~_Hr[5cdža}4Aӣ QuR"_e ΂58!9zjGmww ߍ9%ُ?%%@vJ~q:A5 T6ʒŒw^ ienV{hXriۼSd;McU^sY6yYg»epYV=I^_) )TsD},ܮô&dH]@B]͆C z"3t {YVV8AAm~]'W.ҘSDy|yVo͛|yp@F*%4KvJϑڷaI*fعnSR)f6:Ѻ·r?F~>C4 Gw/I ߛHaw=ahm<91-9إjڶiFdKg|GOS!_C4FA8 tOqeStN 4&_^50_w2^_9oG A?5ȃͬXԨ> EQlN^ f|A Pb&'\ _1EѶlc UEkae%(H.vl!o*6q 4B4ӫ&UO42¾vKoQĨYƆTyM+ԹX՞}}g7^؏f m * l>=> 9i奂@ǭj*R$QÒ5` Kʷǚ_a|nޙ(/Aǧ}1ץ 0vUfeܔK'm5t o{Ȓ@x?!%SK0[cp{U&hSY Q2|W͝~5la# ?B|U!K/hbXGؿ \U+J*ZQiȶ+6k='(*KYJ|lX"CP{ncJZ!Zꛋ9XݪpF(D-g Agwq>)݋{}ꪰCȦVNd(D*T>L)@e[R{!Kx]7Sͼ'XNvAү-đMJfO+1MxFnNF9pS1]lO& D*;=@h48JOZM| ICb}oΏClBq Y娴z㾔,km hy{HmkQ{ R-J.ɽ~Py3inla@L:^u~9=ǚV0 ",bPu)fԟ;qDQX䢈 `dʼ6r}赇#1*l8n!/Miiqr ;N`Q`e3EH`k7,bѡMAIқ,`IQ2c.v@:%bwbA}$.؟O 8ؘ.OkBx- К>/XH(َڒZt7_ =Z 9ex9&w)u^>tſ0k\G+X"oE|nîǍۨ6.Z* X_ ]vC jivI9͊^:BR˲K+tN8̣}@s!=J@.GlҊOkՆ^Xp%&"Ҷ|i6Zo[`Иok)#/L}.BB<.Qtc&xpB",;ª6ʿtR{u&\=9 }J~WyӲ"D7ԧܩU ?׽ٔ+ך=*AMp Cc~U{i9zU'Lr:% a&ePHC:T'5x,9lRа]Лa};8oO;5@fS5'geBІ2%!)eF!zN tmy^MhZjOBO%Pλ?P!WqO) z闾^Ԥ! $IfDʛ=*k4&m#Lj)Tj{#8ftj6Wyd+QVVf RmphX.&9byD2v i;R`7:ժ٬]f*kM"*zETI+k{LQcL`@cޙD"Hr#FzSMk1 Z4*:Q{RdsdԤyTDo~ھ XQ; m). O;`Nm0aÌ1sv$ R~4 㜌BZd3$"} h~ `?a!bk ϸO,pP }M,!WC' Xky Ϩa/ʪ]Xdd75A͘_(cfO6nCxת@0 /|+_MDK1)e?.x:Q'6,ubz j+kLK%QgU.b'O>AWҤ*^j cs_4o#ƶGvZ%1RF W:K`*X9"I<rc߸zmyX{/8, Gf|Y"E<"@eH8>aB{K1F }[5h;  OwWT't!'%W6r9?a?bPAư= 1X _NҠBR$iJәx̋7c,qAUӯK_0=w$M7}zg*ŕUy !gWڙUyϿ3k}G| c'FBP#ށqXF(Ny"kh/e<~~p0 ^!Z&6[WwU.N_rt:0r s$yQ,6M"aab0{vѠ L|Ől%'׸vVsi 㪐p6ׁaLZ!6;% "{2+稏ŝX=}l) -`aꌖ s auh\< Xt8 {-JwIj\кo׍pҎAR5Bӹf^RO.jjƴ B;\ _=N׃/5'8_Qc}~Bu$^z %ӽ)4ch8"K|T"S$΅" [UCma@.D_s[m'=9,r;mK)Zh<=xE Z@F|w51OS3~5TC67Bz*v hFq,`9V![@4P::[=s1>S+s%FEQ 7@5J&RycOԚhUe2`8+D"RJ%FC:V'ws* P 1ǤO@JeR3BXĚZ AԺ0t&EKXJ^ArVpI2#YOrD9d I2m|)wdW#1 -"W0KVܘ|^#ps+w:SRQ6G)Ob;-`J#drA%s) keiW {5JL16D<\)+]DxiVӄܕ^TO)^ׁ9dF⃀\ETlaytIF i;3=s!=_lj앧0S "?:LX;JdjZ&t{C9`)PX\b&J:dyj O1iSPGkjC,pmĔ!.d6'<018MRBNhL$>"^쪇[B^}Ƭڪ0)#b~.M>Vqe)gcE΋iedSddőL\'q*Q5 avuZ")$:s&6GWQ// v8HoҫEa%ʮ|\>V8qP'ܥv%(jR#IƁDX\Y#vDdłf\ĐʼnoQxնe J5oT$LWeDc 9m;@y˔R| "VQ?c?L;K!mv!`1u0cq=bQ^wuz);qo$ZЏ~>h4Ohm@(+`ZX+$PDAB7!w p ftcNFyS~wkIy[alM@D#-B{nyg/Fju7#?RAo-AqIPܞī^/R;r=:/]qH!^@%Lj?ͣ?I 6gWZM$njn #Q!_:>:Љ==,z#z 3=Հncn4Bj=INl.("Z1ؑ׭J4\qa=]i %*_l C^63ԝ%\lzZ(@+(F`]]"=;(abb!LaqP^10Ҩ  n¨5tM?E6E7Dv* ٴ?͈kYFrM;|\wIL[WuWugyiƁH˩<>!rJ0} -8*-y=Q EPJDM2ݹmWɏ3$x1 ^!t'\ROܕm owàI9Mm J]Bt_\l8>7(Sr\:#hvh(3 x6֝IJAl,⻵}dt'Pw_3ٹ*XFh|Wp@gЏ>.*rET0l2*:8.ÚIDNATCכi׀vAd1`ÎW)EP|,ZMb)FjwΕVBWjMwnC0U<[UE:EnvPSP %=g!}עN6b 6NtǼ`y|dnQvf!UHh =,cG}-ގ%?rSªN##ъ raCqgZ^Z0I0-Wď2N?D|?e\"ņ_%:"ZP8BH_]3^ ,r]]siℍR;)ZOd]Ax\_Syi'1a'>.&EO흱23)A"ҏJb[3p31Jj!eiۘQs9g}|C'L OA<ѷ3uLaQ9.W?弯\BʯL9DHɡ`m?<QOJ@TiЪ/߬ 1XY<zQdO$vY6L>АbtA?a3( M2ʣ2³I7neجTˆB@ *tJt,n`["eZ8.o!97q (Ӝ݌w1)Kǿc FE;cKvcڒ? /B!2Q"yBYeC^+_Ubj2 "1Zһyh;Zh4tV,"yae.j9.өeCh%y  9:t X ^s.ޖX$B-z; a)DYܰy{͖ zk*}t3)Jc%px;t >N6_MxˌG2j 'bwؓ4q$XQ&4aNjvD lL}gK+Hvj 6us'G #϶-71RdO)Gi2g,CJ(G8cE[),hEE Z9+gC!WqE-a.=MhW~+AN6d/7Ul#ZV/x0U5#$ZM9LG 1M'خN8_Fycxo8[i~,НL6WEE Ɍ#qh}~(/M y«ӲE9Ico[\VX F='~.[瘞RN=vMO,/.PoOm #^Ё5JYy9w 1?߳9gL GJR`ɟA9ZwqNy*YTbz耯(KZŰ8'EL54r !@ҽCǮԵ_YQ $C˟sak!oau$iD7LÓ)e7 (5UVUzNpډ0Q N-K|k_O+SvxPX. ehLsWAb} )yX1>'N(ӑA:gBhJ -]]Eh>WNoiB)p?Ta5g#zhl7c{Q^"&C6V~C1@ >(4`Fr1zr(&='3`GASbdV"$SP]\X|;юb]C^.36O4^usP/X{ϐ7teIfGʵߢyCYB۞Jr:o]I@~D  1ܡpجT_u-"Nβ:t38˘h{i~FB;Ow!{>}ӧ&yq=Ku Xij;H ?Ɛ~X&x3o_vU'{ q#ú8[ixн}@l *rOx A6aL1s@"Q99XGɢ҅L$O"wy[Ոb2kVwGHx}6z!;>GDKndEyI%: Ǽ9fmQ#"$3֎ݱRJX$?|0SYa@IZ:~Z]D_+|0p&[f賊]j*{靜 M|-vCN')ly ;ƐuRa X$WҪ7 733U3G<;iZ)(i_5Puqstk,W%\z%D6\ɮIKmZiUnteW5Ÿ@SDjݩd8s1e`1[4؟P>m/P!Jt^s+{4=F-"apт%Fژ:*+(! ><\]Z:#p?ڶ L77_焰#6Ұqg6=EѸgq} L'oM*Vi~ѲjeooMw+ o/2h 7sDZ 6]% ;0TO DҌ?B*_ (<&I$I̦M 򺌈*&Npm9V|5# 隠:NDN0!B{@UaF{3X}Ɨr-#ģ%S}3H.%e=6wQF\KY6[Q_Sūj|+M^9/e ]~ԶZxh.r.V  acD:N-N=Du~ВMX씸cDO'{{Zof/vw`Hs,dh0)'3212X?Q&p`yh>5գ7 Q UI Ư_lr'!)h]ws b5IQD}X"bǼkpy,j>;7K(ni CO8GEYYq7l&bryQioz`8WUCyb541]o5`k52Yڷ+5 m̟%b3`Cဘ]j9C(t5uٖ"Oכl}kǩUŴJ uAQ_vͼZkOpxJJ[C}'hL_m"!i6gӣr=sȾn:j78jʦuQFZzΕ` I}:*Q?_oB8)=v4K P$/Gꬢ靑 l^V1 ,Hb#1]&FK?'}26:.\F:b("fYu`+:TS j*M '@9 {.q3 A (fOcV ʔT8a⸲2үjpKL}dP:ȫ|â_>4ш~ %ˉ/5vܱla ww|@iτŬ'Hh((2U^\>Omͥ.DpN vכ !DGR k^XH JBuf¾ @Jk[s ~vqec|tM mɺ"y[<ȫJJpM w}LZ|"T ~$I${k<[Կe_1NO5q^%< ZHP R\Uqj?_}-q\y`F`οB1 NQv MnDhHˤS ;qŠ9SQ @[тUn9Kͷ3~Z$5<2YN-W7 }C;lgZ5M ),7vmI>#V?y*L^9侃8 #$lEoUZ짤z.Gو`%GL>ŚrɭɄۃ  Z駿&Aڄ}*&7a3Oྥ,?]9:;?aTibR/J)cq1/iȨ뎸ॏ&Bs얓 M&t)vĽdb Kx\}F?Ü=P<nc|fƆ*&fj0I$h* :[!6A)o캺=0?n^r=D1vVW+[6}>` ڔ FQuNh :;(_x b@}#? s@8T0@ Y#5G?H|W!#]]kS.nģdK禢g;nPo]pl0Nf:|cKk r Ν 9"¾.]B.%A-`jk|YL3+vvM'!E ~Tւjbϯ ^_8'W~}SitS'T?jZrx&-EvTHWY2 B5 >AE똽Zfk|o̖: *.VxOWEx8 vkJ}c+Fܻ| J 5։Lp4t~?MRy?`u4q  [ ~JSV5S+n̕DhW7yA"my;SBP?W/֯~du|9X') M: 5LdSͩszYZ[]bb%۸~.+ F0os(;*{KIt* | (]`CQEaҘE )P.5L~=Zpٹt$9E BLjp)sH֚+-y(pfŎS5b0gj芙kOUW{z{^3=Ďi[Y*>XL`M -B|0C}:M]NHpSP/zc4KcBx4񈿭k3qiB&c YFIτpxJ13PaS@;)BIf 0L5'/ģo$& \ޙCWKdl J.&.lHgedGFQ `qC,ӹbFQKh>`t