firewall-config-0.9.11-9.el8_10 > 6 6_6 3!pQp)Tξ7]mtZ`f ]mtZ`cѳ8Vzc )/|gGK 8Zp֭֬r1JZYȧMzIԫV&P[4p˸ "#d󑺷9StK&YhS2O9sw!PIrwFrStl(y7^OQoff'C&vbTZw~ s EKۧ_\AߝӮ>G?~Of# jM1p:ԡS]mOոb6Hbk*;Wrlb~k붧* IYx.jo==ۍmAםA%B+R%OQb(Z֊FXr_qkXar^8g7["r5S=k._Ne΋VZiJw7{jJ{ZzO E8c+ l\Uijr^dt4wzP d`cArGl`\2:Hg{%R6(ƣ l| )l8xk=O) 3=v|!gx TT.&ұ`I:%U}L.G>p<)?)d " E -3<t    r Dh @  (B8L9 :'G!H!I"X"Y"$\"8]"p^# b%d&<e&Af&Dl&Ft&`u&v& w)x)Py)))))Cfirewall-config0.9.119.el8_10Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.ford1-prod-a64build004.svc.aws.rockylinux.org#KojiRockyGPLv2+infrastructure@rockylinux.orgUnspecifiedhttp://www.firewalld.orglinuxnoarch^i  m ́큤ffffffffffffff38c8827a76aca56ad2d6cd59eb72e35991875e713df9a11984bb59831e467aff6080b60f10952847a02ff58463edbd845e860124698410551ad9cf1b8bf76a4592654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8eda6a4ee7e2cfaac8c72d8f4964f7faac325104cab29d554a5305caa43e2d264a7da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.11-9.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-9.el8_103.0.4-14.6.0-14.0-15.2-14.14.3f@fj@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-9Eric 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(direct): avoid iptables flush if using nftables backend- 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-9.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-82870630e1c8da6c731cf167232d0edef80ee57edcae8ff74e6906e479b3ba290?@7zXZ !#,(] b2u y-iSqm*9κxBP#Թ:6pŀSY f-E }G0zP)fSdjz8.2,k|s+:ͻ.'J8\w I]ƕ107)BQ3}֒i{r Ͽ}3tG:*Ͽ R[k2 ZSb;nҢ\)E޾G^b-h;&Jf5yqiG&,Y'xmwړ${i8`٬n͘F*IuPq5ѪN`5?-+怺 WZm?đ›4ZLu=WAn0n/?n!hHL, KJsC#*U $?Qau+?f_tdj&u '(2fs=syӲ{J82$^eL!܎iL,uj*JLq4FA9n#{&X* JRG9|l.yie͆6ZH8 `ES"P"ي\k]/(\dR8࣓c!\Dj Z^~qo wDZB (EO\3¥)ִ=t8 [:e(03xAZlNWngn: փ{`K?6'#[bK9N ;s?9p+ Y͔ Epvjda|5):{lW { &LV L,jJ⍆3ڧ )FaT0gcU2a}rY/&hyv,7]ofS6dqԺvcL oemN2} Xb,۠ǣ'=dl;5'ES>Cqሒsyxkm,|{be]6rK)kEd- ii~ղ)VJ(ݓ`cyr(-+Rq$8.2JL2ꨨ.(` CH>/_MX^֥&QgiB@`c)3kGd'{c:uT8]4Z\l9>̬^AEB>ˀJ jx˷X{Ҭk-IrqdR-7h+00! - |J79e{K!9%%O-D䘕ŵ!d￶wp F?N@T6|_G:>~+;J0GbkhS[e@ M(sjyO e"^MC!>OSDE.п 6K F|i4gҙd ߉zh2uY c|{BFuW'eH.b2yٌ1h?d~9ⴍ4IvtOJGzD7N3w}0,pɨ3D:z'CE,UGML$v$覦rԂsjsTmH(eq#:=V(5àH ZhRT8=A,8Oz*?-[BaK`^ p h~èG=0ߤbieN!]ؒ&zPğwv,p(ZVBT:~xn%Vnf9oT,smRYFT:65pc78r@۷$5Py;FכEȯ "4PxO+a #[Sƣ{n0C,j$G!_izjXzm$7/Xxuf;6, cJ^S)ydlά8/5?aR!>?_wJ6Qj^%aP^@U >/m\# L@X؊F|J9TfJ^XdXG /轗pn-·KfE_X't3* ;?W֞mMf|_9ĠD?d &]9`ݩ=|z$&%&`-*"II~K;Ժ[:|"< yE⮧<3eiU+hVOL#RC E߅TLb/%]!^W6i}J>"`V&f|Fe˳p~O6( D׾^Cݒx1p_",;A Zlۆ/~^1I/`)=PC/fe 4 'r8[ 6Vb;x#$8pUq/8B_G<&p]+-{h(Qyߤvf/ڮd\\o`3`LkžWPFhL&lԅWV7]C44(q j#isk,s\-wUg]^-^Na¢{9 8 m}Tu tG;hU^z$nG! n֯t+`|WIm0\lۦݟD]}0+&ęOG+#I~@jnmJ۫7ӪW %o$yo Ezf\"r#v -lc^upE>ZRc` Z"1e ?v++w)DUta=y)ͅ#GVONm^ZތH);q_?8e6Ai){*T B ˛Q.<7|!D}0%1RnLBfh)2(C>3AɎ!'rվccF0uTůSxiH4#ܫP(BJс{x-4EN.A aݷl@yrw5pY+3R$ K)/ X/#'W#շ /RM6m/vrrW!:iQ@YUc2ȿ>PCksO͌0hMSSɯ9VĀFj1hȺ94 Qb΋êa\"Eh@̊ ϙ1E֝/<ʹJi;C6-6lgVPx>c;wⵝIC8):)u)$+Ey]L(|;܉^TEB:GsMM{LRe[<6}5cqr/'E'ޭep'chyU;('t!xN,߹}਎h0\o)I00D>C^e\H]t_y< Hz,!4IU,vSl{&6fۍHΉ1lҮ3p_rJqiPu.<<_j9oW%z2œl:ia1HnYH"j;}2E'v,˙}~who{&3hVL"~(OUy11W'R½F|/J!1,WȄ[+){K$||xAHf"|AV$-:{] ӷdm3'L9Ay@ utӥE),\BKzD]=j_k3㊩\Hld?*5Wx/U>GZ<Vӎ2n ٤K1~=m43\F/{<" #Zka:N!!L{1 &ӫF֛]chi[B9 "D'_+mM# }0u/m{e/!vQb&@(F}Q" /$j@EBp!7ιC8`C̆FYkg3N[ [ Ǹ;|Rc,j]nuI>iI͎V2HO!颪] ̿_q)Ӯx^lCTSecQ݃^ВXzoT*U}hDD,]=n!'(󠄞@wtRi}sI ,._Lt2z?ZyͽgψL$Kdiٴgr, L~@M.Q?g!I#TŴq9\\[Pxbj! E]]Q^ɞadF=UmdL\vEl$LUa}0 JBygħp;LzԞ( {&Sh4a gH#\+楥nޡ{̙c:=AjJRXŭ",Y 76}Ӄ& -gG"ŏu h~Ŧ / 3o9Dt9͠U j.-!wt6]?0<4Ea ,;sV,yvfqEV@]8۱YȡJb:ѕc4d&R56TQTe,C#P<KKNN1U|eY $/(:%OKn'oǨ ]KoZN!A akt2 dEwNo胀q6JOʏU+hdc?=,/HB$eێ|q@l)eئƥ;>1MaԺEvضO\*=nxu0ZzYU ɛSQ+2m`iρZާ~s7>gnR+!oxCfNXeG5%S]saTuyױJܿ#n)pfD DvYKsb4=i%YYJuNBp@4_.D4+@ f #>>P;ׄyCU׮E.F c` 1!}Gޘ0f1-Ap:S4Wn2_sg{X5>a7%J;P$AG;Ɏ`UA92(\qBcnTCp3+EӒ%(liHe^0L^Rؠ #pPpԂ6C)`2w<-\b3)ǽE6͞bwvWۺd.5Өq#j{U;]H!v{ /܊,SF9Xz<ð}J̾"ʘX1KXD+NNU0P"*iqqP)jo&u*-B b! ]\JQ m[CC > -70}up1*x8{P_%\`,Hiqzx"ϿR/gycrm\-pMU#ǝXIġ3B̈ nvy̧]8;Y=ّqw'&ߖ 0=iĹFzδ,wW~ܪ9omΫ_}ѾB+$>6 T#5'YY]yRA ֕N\LGc+"UM/%=>.` cM%jdi3mx>&jw˳“jxUϰn޳q%Vg:|*ד䱎k|Μ41{wׁH>4Ԓٓ?B U帴a_90؅iO6G&t~,r~QՖs<8q*+Թ`Q>xd̻k9YTMSjfymw fjqNxʉ^^-Djvy|w-P/ĴB ^bLRys+A RI!`x`7t%ۤen]sQfbe)`._ր*nF)W(˴?`ZD'P<+ujt^պ|VhSstPsK,t^#eʇ;Wu)ǦIXod+}:=N@F њl2S>ɦvOd7b' #=<8*}Wl x W\R[}*!Bs|$+WwP+ǶUs<1.9 T&#f%8os ڽ Vk[F"s|\ ¢ $'iK)z>'moey[dٶqhMZdgq+^ =zPsa>tHH=W۫!ڤo4XheC+ܵ]j  <ȨNe7J2Ώ7:0-w}mBkH5ڰkL(]> UHfYonoK0 >Xf Vb*H묙凘B/H)NJҴ$/  9 {2NON*i-# WÿuzN[yve^<hdDa&<pJ 9XirvOqGiQ֖W!oD5=Cŕ;9Gu"t_FhjCd޲emo}Gd іGd?j9nU)YfĤ=v[4V/t"ht&Y?ԅ´E9}IyE PO :+qԥW7)DkNwl䂂 -iv02ްM]M}}焮:ȁ`%G V8)䰔nB 4wnka`)QV*(b 8o"C%^*bY`F|mVwuN  'JdI5j [nDY}f̂te29 z񳇰@Oѝ` 0V15D7} wf ~(AX.{O ֖evؠ˾c1ga1d\0,fuyv{F"`V(rPldWnZ63L@N %w Iڎ(6 5翧|ΆJG: ?Qh^&P0'[5_mp9 BoWB8|BBmnzրYwtII+߬1~vX<%h*`>tE( 'jAXtjf1/H;t(|YZTg爭,*/+W͒7%Pwp3 0:v.1ˆ t"VxsI:A-؂.{\k;"Q=CWGvb*XpLBо,JZ N:#i6tx-ߘg橋HُX!ǰUKN?Ie& (D-O<kU1ot-s-yKs6Ñ@ U ~.S:v*;U/pd23Hؾ)/3NR)dբHR1hI'"ʔܰZ xI/MLl4̇Hr3&6ƃ_n̑vU5bckp҈J%߷5ۺΐa*F<|xֿs`'a4[]{uz% X,Qڈ*^U0?U8/A%*V> =Y'}jC]栖݊g{DO)AlQs0o-ɡ+$(10oFmy5Z HHŧ%150iQd9:p[i>֐Rbs>Ϡ*XMosN֟Z( NZ:%i D0(ho#2)@atyX!^DF]0^u>,3sU#̰B A+.)kq3U]Xzu.;@JTFZk3Ѫ'nɻ5lDb޵:DoraЯxvR4KMg8oC؜X=-ez KF? a)_P4 y;[^G y2 %tv1ucw- Va|ƽb7¦1lp)\&S90mVCVMdjn6?3oi' ՞-YVS~VP&ΤdGHGj>1"}~n b Wny\"!*@2hᔑ KA@7oN) #r*s1w#{ l%54SG|B"t%$p["QVHlaL/dKִ2b ]V:x[@ئYe3pqqm'K \ uwʜiPh|`jȧRpJZRMP5:x5Y DQS.Ȍ"@G_ff~?S bG  8Y0R|z_ӁO>㌟Ha6fd"?i[>M㏸sqN<0[y9ișUS(8ᰑGl/Ė+@'DDН帔Z wJ¦'j\pyV3V/|f?ꙫ*2 {QQ|{V+Je][2XY} $jtnH˹ҕ`kr. \SJjyI:{ζ PU C|tYrH1&+Y 0P fJy+4¨yij=wYG^>H(NyX[}vd %@ƆZ A:\j4-$ 1>>ΫRNx*ٽ x{~KSٵXcҗx<'fJE_%gFA]Dqȸc 1Vč(ieؾ,A la%mMCW՝ Mg#ISCV_ITV d(r0U (9!íq<ӋZrgb}P!^&_PUP >3|+A;Qs`k_-3^׻^g?s 1AAmdҌoycm!P3k9,РgЯ5RY5J:I gh&Z辒~~OXfU8 1?PjEfft#"[_ IT-@x)hj"6tPJ>:ճ*M%5\f}`1׮߸pvMi !/QY6Mr=ϞNdU}F~13G)8Ș?K<DqFgUHG1ܶe:V¨]Rʿ];)?D=I򤺈@K215WE}3-1jLH1K!IC|TͩVeg IΘI qel)f}ƫW/ ȁ∀tklADg5tWNMV;7eV8w;B^,x&ΐ˽@[iJt!wOgk,ndȏŸɅ"xs_:zlú89gSPQ Ӏ{l5oTu,+[;"Y  |b#0\J OSEMa ]˝YSn1ғ)h)%d: _7*7f(D{rIS|r ~uɛsz!ݪ8(pIL<؊"[ԯT3q1ށ!̟7u16B(eIϢ$[t]J'A6}q6pjԟ@ei.*Ęl) m k"Sޙġmh 4ɋ#&*.s9!L W"QH]w<"^7L L\_,pyϪ?7fba#=lW Y|]cevBQl ]Wk? X P[7 b\_H c|vC pjO)^!sj0TA4]|b‹0v+oP&gIHN9|߁ KUm^xMi80J1OT#qE&e.㛵r[7ԓ[F>x.Zy0{n[jqpjI;ۍ g NaP@G2<])ϑu!XHPo{5{${8 Ɇ{ .* A9q^eꃕ\C2z?Oh,?qui|4<|MNNPyO,HFGSZ8'&JE~4iRXvޭ*SvBe|4@墲Uj3;N\64Pz}JqA ;%Yeu 4 1 BLnZس d=!Ae#1:3Z0yźEΕTV~PDFv38*8mQ$RBCءÊ``ʺ|>4%0F2#J33f><iRŠr|z =3$WbXsCvLm#crFNr xr"6Q.09ls$-/! ]P>GrB#$GIo\Hr`wLlp!~L!^7j Q{Dc˯OL$gMm%f+wP_ 6U-hj`t /.±kH[c 'Rsv]-͝HzUUkI*QzOM𡶰#`-ȭȂubVLWfvS9(k8t`ggRiL =)$0)-b]Tlot*]h< ~v'Zg |ZL,(hH"ٛ5ۣ8o}|\I` Iyh0 F#e*Xj59Vaiw.7ZB!:5,VrfD?o5oe>20 :C')!&w'Iʟ&8꽀LV4%cAr)mB _GNEcl vm췚o c#OBВ}_v>g1sWci*Hf\W|$t*,SI4XS~5䴍tE|eֽ zd~ߦp$Yauw3~t ?z4pzѿ)Ra18 Pe orS5&#'|#sʊ(Wy}4H1ʘ>r!ًܸ Mo-Ą=˼h'F5zyO\f^e0o V8 6y'gJ%|,<HPJ KMF2Y;v{F |BR^p25<+I_Ⱥ Ć]k2×`ַpMNaJzyw;#eHhNlF+dGBPXLn&D*F1D wx̃'-;Ǣo7<#8%Q`BEʓajbuŃC>Ve*ʬPAa&-vvZL㰵lv3'y8* Ha^gm97sἋQtekSnӐUkJdJk.?dV57ooɋ4t`6`n/Q+s(Aiz34lZ-O!Y# :ݴN0i4 r'^XǓ&]íCͳѡxh(!>)EzIe~аrE$OmȔ;Bᯎll} fS)WNu2 C~ #-Rioj_"ԪU.VH\Ɖ$(tFց)s9G=5Z@/i9:ڊ&7ӫ9_+Zf4hꀧ>snۢ$)4 ы _\'IDeCE:撮 'qiaEPy[{j䔝okߺ3swL#_<.?T**JO$6)s=s"l9)eeDo44[ŷ[.B;1D*U9-G\:Gi1;GXC|wndY[mr'ׄzZ3/&]A@Tzlݕ|*7 j<+$X¢Bcp}Pg>([CFŴգIj*i73h8GH NC 8wIgTR tH/^t?:[4V3d flggG.eS= x\aC;T4ܤ\EߵѲmZdx6K\ lx4 X=_+Vßi&3}_)$sk+bZ7d1dx_4e4 cy: W$`BhW&W,,}J*$ۅ;m;jYΫP,T)T5D!ӴR]Z`oxZVN.xmj</f:@ڻHC#|iv 6Uft2`r2KIq Jis@nޜฎ¡p88U32Ůԧ  <>zqN㼢UvCDբ~\#edjaW6uR%ߦC[ǚ8_3\q(|-8ӀڢC#S?Ȉ.%@]l[Kw~Wc: Z 6-> 4e; ȷvhC7_+H8\ܓ=Uo=fj9nO ob W -)0UHB`n2v[1*P_T/Ž{3BzwfDyTX,2 AC6i; pE5ںM VO8ߪe7Dd:qK+;O{BZ96Edcđ}Wr>>6ۺys%N/&^4^BͶ]2-^0?CLB=X9Jq W(k{l mx@:&m&u}yuk*wSր2G"TҘĨgun%zmCKTME7++ NmDc5:gS?m1llYDi f>/wV`\a*̓jZz/n_oYsڷ2Mav?.bV=*! SEX۟\pVƑk(1>=Ts .y񇭓LsVQh?S6cN4hT!iٶRrM,@ "pI+je0c1"_Rm=>3.oظfo իkzv >}T"`rZYOy[9" ̼b+Ŵ;K&C!1<}~cТ>[ED4&6K8%w߁&P\Da¡)Gۓ T;:eU <j<'ۊHrl#Q3~D2V^Ϻ"& ;y㒹"R-C(M^v#Gipx7l1맨1J[` DTMW NNgJ: |s1ܪ~ToR\YÑ笝 0(KZ^8 [CJA[Y#h=a{~Y~~ ]&L}3_X<+ae{Dq||bo+ZNx]7QR|D>W\U(+<ͼ\O'KvP#|1Zk2Sp+c3펳F܋qc_f"=['Zy8.V ѻ^(1 ٭37fڃ{2&.c\:\S: 櫹-aL-6.%EX"q;R+ vFI6ǵf>ȉ1:R{dB:{+HB,7/(s$P|ʧ\&)P$H׵vg Ǫuݨ˹js!ғk[\"HFhO̖[Fp,Zy{&3׭{a/qJ4rv.l8 ECd:6l?TPg+By'D:h z60";H{USbiW FxlD#=qV9TZ 8Caq, MM"ƵXPNꨑ \cS "M%6q8~j\tکZ :(He"f\U`v䨌7R,뉈$G:qަcQQ\aí^ltb/<ލh9nk V|s_a~RvYLXԣimڒ=JMAiKk@_our3F!BS ip  Yz8s9M=cֺKm*vRkiDk}P9x_rk薅*B"n0"c3b@t| L1Ȍ&Cb^|M.DKjof!=E w0ЗKTj̰i#(2[)h9T{k =˙m 8t'oLbuU2Q/@C\#Qt8,3%PTFZemͨ;jy*9.%;J^+}ZFtb! ;R#qh[#Sgo TRF^* N/=1bnƶ,FH@Si[QӆQ$VVPCe,WN|&TYX]^/=~EJwaZQ'e1٭qo `t[s~J׿4BRѹy0|xio|Y\rz XWМ*nwx}#RQy3%",-t :ǵ`C(3M[qA_BpB5XIj^fIrwG#˫o:Jz>*^Rդ•3%e >c\./$eunȇU8: L!`d*&hk!J>Q/tsU3y %|kŊ!"V3x˜xkCǬL0<}D|Z1 <@YSP]XRfxMaO~p}\•dOTDo/gaC6*,'_8Xm~ݯօT/uVNcߕ5cӯG /fW(e*f)9p3n*L iuniXDj|T=sV2>ݪ 3uc1Ἱ߽#RWρ>RwT"TN9fSc>]Bd7+MHTͦ1OmJ'aUB5)qb9$#IO˔$늾Mw'-e cTM7'~H/gu񰿂,:Z#HIR`zTLzác|Nz[R:Y þOJ'yY<̩MiU(Xq/(-ABR5I>;cZ 0ӸV"hzv_Kw0 AYi彡K%>ޚ<׻̈́hET-.">Ɇe)~ Y`p174ط;kQTa;E|n5ֈt@+. (Se-G{aY6%Eq1A0F^L30Exo2 H։)}Hvخ? L$C8HRQ&Kc'e@"nJ1!;:f5vS;ADT ׭k웎5`L>"'d%^[{ad:mX >beCjVl,FTaBFH٤"MnK)Qo%10ҋ4F!ݛڌFaXˁK^ht 2"N`7}[hf~nR񄩦i:הBUq&kK&*[׏HL ۞X qg9)=^+Bb d+?&:뉤rvPh4F 7Q~1.FC )0Д-dKV_ĜB;ۀbT\SUwef k%hfE79OA?G8e֦0FsvsIZ5xѯ"s}}Κ\U =MP!/Z51 bHrkNdBZ)m?G9a;[&n=IEkgmxxed j„Ds%]M?^AH y j Җ]9q)Rإmn.vḃz!AH%!??GD>ɕCYgt-Ҟ|T>7]٠HJ~A hl#z{(6 YbU~<(= TEn \>Yu;\yTl^aN}!SwTc9+P6{RAipf腮^H&*T%PX'I_-z# y 1~uL(Ԋ:_^ ;`^s=q+6hbn4<Ѧ27O#7^h/ 0LF3Y'W Xy}N6jD$ꠞV)ǔ%RQ(b>Wl b- oX6r̉ٿV*'1 BBt1dU`:[-=<A~Hl ZE'쉓+N+lŠT .3''=//* Zi]ϲ&@9¼Dl AúDk 7hN ߉\pH2-o2WeZn=镍98k*AY,9 J-mG`2CnRK)YIҪΔ\su( R>\:3O^#ʼ̶跉N%3ًv Hqm*,>aP=Źj-/E%ƭdjդΥWE}Z72`1}oq VeٗN4n h=M!]zպ|ftz!2ߺ73fzj>:&n#e98\EK#e)eAZݳtW˲W{WA  a kےPVj_eا3ģ/rkIs%O"Ȇ٤ =hG9p @r (j3K쮇FSV`2ɴ}2fECUwmɡG$X؎fp,9:Q^ QG  t"Zv@Uz҂`(_D">!eqn飂U5cubr ɱxNgH;"  k QEٷ*x2f reonqMzר}F+;zp]&C@+Z8* @})g\Ò4«QA06¼П-%eQ]eSI0`VgB6=~T bJ wkˮIƕˤ4X)ד7㄂i´e#]&Ry6$6( 545YJ|ToInTN:s}}c yQVXixrY6e@>d述$jV7@ZKM+HLOq0k[+u;[Ŝ-zq wcAHWYӪ裰 Б8f\7@:aR17F.:g^77ێ,s2L6i&I@bƝtk8Bfa4*,8ɳ)e?J1_$qο)g <$sܔj?͞k8F'0:M 8B d~ɤ̛A#-VV ӮM?Zn3e"V4WIK8:ai#S9b6~ %=P?1`PR'-Mc }-&UܤsH!ړ<9c6*[LV~xYK_9oSM(A:H{GINuBhGycoVghȫPܘI)L.PLX 1 |''8 si4X0h:Nw#l0|,Z>I3fHP혚s ĴtCeĢ]1Y۞('CjxEA7c.8 &ž) G.0=0$r?)5gOϣѸz~% dMW`@<{rڡ}OTD& j'40Z:R:x2e=mf!2Ϩ3zA~4dM/ɏxD"Q8)$ޒR0wn5T|n"UOlІ폿6"HCOtj N~\5䀰GpPL$=bk8ZY4ZYH幯ttJfX_-Ԧlz6v96]/k"U E픾NEFW{Y`>I0dD"rƟB_B:g7@o({eD|iW/>/M&2Uίq6NN[0X,F = #rIT=IӜh~d⚫84C>blC GI):C w waLP"4,1ZwV1 ='ibG쳝tT9'6(Y QմM,[55Dk^q<s8X 1w { ]0#1ϖu# Wga aۖR.Q"vlpO}%kÃ&P(>9s#Ѕ{/YuW Ի^Nugဤ4$SC Q)+ya23fWlX EŤ,?aVfŬ+o.NCe,F@b3@FDMnҼ(|{I7 R\zFWmfP(f-mU֎C7ˬwq%aZda qvUWb}fC#Pu֣-(?"ۯ;53188?ڮvE5܄`$(YҚ 1DwI6֡A|E=ׯ$@a*?2h c0\1PMQ6R4/de _ɎLX1B4wm{Zjdr N 1ÉӤdur#ypK04tYR±vqSŶe{_לCF 3e޽EƄyB+TH ^UEFj~L/BlE2Hؠjn3EY)=gZbYT ]R`2SPGb0)2 xMwt7lyXWxTwAO8tuD_,졙EɛYaMQ7P3Jƚ"„'&ahj6{cԸMeԂ2:PIހ`6- ]-7LuT D *B6XSop܎0Ϊ'"׃ NB_BE y L-;,#IJ\k{/PB*d;8/ZMboSU/sYrSrNzΟ\;^;i%G:6#_?0mY<@?Vw5rc.k{gwU]DyvY=5?|Bj_r?(',tF㢺g WKH4&Fu],\8?lw!նz_c+SH'dI4[PAeAT{ն`=R.%$bۉ0qd,yw"P2=k|͒_5\^]ޫi=zfSFӜy6)(ۧL)‡{q+[|7Bź >0-9j?> zo[ c@wC^$R@{.#62xcY%.RCׯ@sAۙEi}СmވrK~k~M+-SE!Dce 3qgV-ULx_t!ƩVB4pcWysA1U^ ^,UG ғb~>q_#35Ԗ'P8ctI88:@|L\/7i1$ztf0|?!K:ǥ~^eĖ {r*r ~XPg~W1v|=:[6V(65):ph/rLGF[D= e8B1ЗT@ )L7W’zAҔ2-ge*qD@dP\ܷ)9FB(.IMtE/xi1 oe -履:}e:nU7~Ng!")v[2-Жcuӱ.b.F vPPWN,e*(4*1\ߚ7lKߖ.`Όgj\-1DܾY0LH϶o{?lR"A/EPfwutɧ3~z{^sȡ>W=h3 ucx /s: Kj0ʈ> p:x{'߾;D@a!S3n+7V$6w-5M 43Բ=t/.ȀCu[1aiHd&O:w!JA#|Y/լ&0=dK'`N4($CEw,ܶ7u{6)=uko doN=-TJfHB^/n[̇Dfv6yX~ˣKxYs$V'?0<-pF~vdPHMtAis3M HPePh?ƍ6Lv*+zv[ G?Q:? eX{FczONӨNA:]/r wk Z'+I:sDhg.+Ac6A9 4˩=.h+w_),)l% ; ]=M:oP,o~mn+21=ߏ?B(S26 !65nV>i+a>>xyCܘ dU:.c%IH~DgPU CY*FT0OP`%iӟE:EGm$`b+ 8I&m8kr//|-(D:YaK@RjR aw( RRW،kyjYo>bhgMї G}tGbUKr$rS:^'}Kn_D=*CTL;MYVZo"j]gЀٙ(Bo!ǻ erxAx*<溩陣\( GQoey+1\/(`I"1)9;_EP|&GͶJa0d=W>uU&Co&u S̒v;Ex,,x1rWq[:mKId݆uf7[DՍx~鎴MmiVc%k26zvhn6R}:)wMΆow[Dk;ϯjˀ |Q0Qڽ(Bj}f35, t8) z'q }Kbz"ЫMkTkw %(]zh ㍣>‡A"dҙSPLAG9FV.R%4>@GŹa=e*W@q-M}By-1ҿLJ 67 ?[7JݳzySOQ;C)k8JfK`z~M_W/&Ӊ:i}ZU)y3 I: l;vV%>oLlu0[կ 8[,nwO@b_3hK:*AcSR|2f<pݧ;Hd[6~Gw=6T1!+VR4*\Yx:7{Y깔2cħ+la,+5@Z `d"(_h[齰Bxx9|) k"KNx8͊wNkZd~&0{!`")#j㷹s-9,;@@ljub* vtcWCj(od ۲jŽt0Rj}c z~_p0Ը2:5nX<~& ǿ>me +/(JBT 58oQ1ka 1̒HbPU%>¿wWkhUJs:aDIn|5D ]K& &,W)% ]h_ €.)X@[wqДIc~5<|7HS^;53~Ѝ( KLO] _-%joXobXb1UÌ;1Nƺ(͟7:x$ ^ v1[TQEM$#?cՍ<9ggFs8{/tX1[kkqs|:u[nwR"c(Hx+$T&LamCvk G:ܭ}:j'7@kNGaoT98+k VfDrH*qf᣻{+7 ڌ)lo0x)n1 4;ewlY, L<?z7r/ znI[%B|%2rKTM3;"qLX}Z-v؉TΤ:0bt4*6v !5b͐RwTɐ]A&-ybh]bF y{(3)&NSR WE!jP X.Df BACi~v =[j]zEW4t1}=x],- jqҺ*E`8>`]͗8WY>7 #e0^S75$FIR-4joIn)H}!:FFζ$V&wC8%|fAS-rpm%ELzQ?& ږ&7ȭAqNMX:P[jҤ[͖SϏ 3x._+a|>>z&Ό,[4x\AKlj`wǮ"0nwEH3ȅ VwfP2LvyU/`%:?L 㛃n5!{nBtz2J.X=(O֨3R3wu"lNWp3AhOQ&yIp:Cc].T /܂U."%* ]?/h/R ;$j+'/MSE{0HVSDguw bWX~xn9C)JWU~|¬%i. nOƀ/ON^RNS3K;J:y)q>a}PLE'I9dX+Mv!T i!8;[ r@iMoO89aXUewb_'3q6R8)l"CqDXfqE\[{nFۄ);(PJx&*n9IoM {)&d*$t>@H]4v!3 vD{H#ﶣ"O0|MմitNNB4q("PN'?ȱ6ުzV-XDzB HVM:*8Ec#N䅚fe?U/S n׷qU!.1KYh !EnttM/~El0Yڍ24;]";8  U=Uڴr::\,XkG yrqD'5_3w+h \TUq1dy=zHq2nzۤF)W M:i6W@L70?}E"]3 Qog2ݦ2V㣕Ar('4& 0HGps,<ځH`+;*fg0C0\^%Ͱ"zb[f`XL)褰TR59BqRg/BjJ$9*?L9B*?ϥMl(s)U_@@Hd]mPp󱶽A#c.x_{ħt(^/cuc gQkyzsóʼnnhU+tj=%(Tq%8q!mFh]R< bCÌtJqStR{AbV\Q'dB-Rw'lA f$xV_Ur.) /(q6C+RSRӱQ@wb`Yk.t>숄zˣG-# f†1E}uFԄцf]ػ "1iѲFƧv<\NW y~e \c >w`DUo,FߗxR˝h@fFFqٙ <&$"5mK6b\,\ocSh}}sx"hB}'í\g":#c"ɂ6ljӨ \Bz;PK6>l|!mY*挈`7ph($r_2P .ԥ$gFR wE8 Quv4a)V^r }ME.HG=rd3Ly.L&ŊڍZeo [QMm>vB:4]̩jo o"ah{ wY/bTzmjEG`]Z[tBkO% lO([9Nez-¡5~Hr7+xM6(&ry{U _ גLfU}?u%f*_f6(Mɨsлc&WZ(:c9?y&;t?*}otav ϱ#+] xo&e@[ə~GT%n6DbL}7\n&pwv.8=V>KV=EN/F݄g>KJt'v #~n[glPk`$qfK*ϥxhC bwXvy&?ݹD*AZd}?QjK'@zlvôT>h<'vu,w63)'~%u@+Fˢj~uF\ibE= }R.3̽5~+g#Rb!OkN`;>r3Q՛HW@daQ#S߽enW9_Ԟt0p'v)*x9w=] -f4ȋzhpU|EdW،(!$@/ҹ d0ucbm c5'8{2d.!q,_o?ޔS|Rz']h{_l(§*:5j/M37]Ӱ^ qύ#)dN8[~۟rL%m y5Ţf;KL^D'S!'%@?wvX-]"")}NK$~CjJe4|Z3$1jС[@Zx21PjSA4(zt|RET"d']ψt7꼎NQn<(X"5.H罱DWGKWlׅYn1SQXūL H o{!ăa-;rUaMav$.tT4쇹M VhN6lϠ3{VF(p b zi 曼o6wN!x?o\q _#a _jw-/<Ԡܛqû'9ӄfUZ-#rqY[hݭ0 m0]r#\Kp3Iڀx^Wj(zNO)9@0E`*i9{z޹brW7V#~xD<2ta&I&=73RN'i¶SpT>\[4Lvg3Aǂ81(LشzQY{ #ўt4:.NȉUJж?".4xDoՇ vz? i>f7$ }͖ZRE/TZeLr<|AȞ|'8L$M:I+1ڲ*CXGTiD~h-*~@~ Q>w_/8йvOB@>PٽIۧkh°:)Gx4fSHvaޚ)UO=]dyPm.ԄY-#=21٦GGζ@ Ue _ \Ӈ/Lkyq$ !\D\K&]1\+@hʼnhK%50 |i6N({}/['zǝ4PWrP&*([C:4䡛9 5 0qq=sGL[<kUC?G%V6{4&L{>7M|Q낗VSO菱UӠ |zg vX@iͲlY%<Ҍ?W <*Boj>_I'bci2pG?35}`WTu@ MmJR:?_,T$3f\&7̯XJ]nf0<ĝ]9ȾP?6 ۦK+6r=y)7^лEl_k> ݉c@I*lJj<ﵗ/cPz$I Bk2Կ[\JT:ł?aS=A5sTuƇ!+Uyq<>.(LP,UѻpXOU+Ѵm-ef+iosLI^j:#K`=vwv/uU  8ͅ lD†S.; )|Ey,`dPෘj} <)tFng-U(h&4 hޤ@3KFDG8SadUTҏ2[zxjWb8~آ¨eG'ᇑùkyNw- hJnݖĠ"g#mK=|2R[vIzѮܘ> FȎFeF$p&zYcK7Ll bBDB5zPwjx2?-wiM7 l z\oܞS+Z~+<'Mń80j qY94;g3rXKa[ΐF/;$]aSVhizh IKC{ {;eǚAy r>=nf{YƺJC1}|Efb}  k14E&mgJkw:)p3HȨ&o鉓j5qTf"%(+1'אrq t#^JxrG͋LBdPݑWï{%@EN0EYe|r J¯\E?F mî³B}9Hl݀sNp(1Zh/Xeﭖ3Eaր{a,eq Yҕҗ׭<qށ GAh4ݶOvԍ]sӳg8<ډN~DD2lJIj e/9-#,|Fj!U瑒a7SHݭUIiA ~ >Ϫtש8,1pd-=Kڶ?g`J>P+e#{7@/^tRd#c& &(d5DnTxFVBFH~bhX Y=&H4 %=YűXZ,ʁJ{/^-S+ PnyS"Ceix1P 8U11> 0S<ݬ 64k[* LOefFGfT[--_Qt#".j 6󹇰[:PiNA=i.F=ʅRY A]nG~஼;L?:h"Zq]iJC+䡖DŽ5? 6ܑ^n6KVPS `ey^fV foA%1oU $Kd-%saP :LSH k}iY )k-9~jAPiۙxe-hYPsz茋&H -P'G!z}lݡyE'{5gN{YCcڔAs8Dw_bD(Zv4K`yc8^̎@lɼ t1`][M^ Cl݃n7[[s;n'i5R>c9z)~`"JpՋ'>IWAҢq,@e| l+oqr3⑐nIdV2ha'f/bE$1APiw|mc?qTYPTl2Gӆu}&,Y#PxcQX{61c,9YFsr7 A9S$K wb:C&Le94p 1P+fVBXbenbg~gN;mi2ycBeQ4?w*dzaBJgKu_x-|ۉ6H:nщ>99B#@A|%Aݹґ3KO0(vu'20:Q۽ $`T:V% ," ܅ rs(τ N4){?Q0%1<p(,} K%hRAKŦ6+l|yqEY w#{_ruY|1<.g+خYp~J ;d+ǯ7ޟi 3̜))Wh;ܖ,-]bua R^({v&ldU=zpXMgw.u{W]aHDYl?ߚG YYe7t Н)#JXZ '`&^oie8P7H~@ArŽm8iddߞ;F9sمoLw1D@Fi(nrt@jyd~C|YV#_3х)(x.X[OָmF20{nJt(Z9 \I%J?X$q4cݍZ2.Xj*.%uJCz`Vyg6}_t,(@unhk]5| 9 8,H l#J}ZLMt>Dx2tSo=RxLv339pÏvkʥ7` ~f)7<1H^$ ӱƦea1Vbf;ߒ( j]״1_zKߑv9%s/1b; hψ&BzvCtuf;p,nh,kۋ].e$Ç7;օR.%3tM@ hR& T 4JVoo0t!F1)+h]I!HxS԰?ZS>̝6IAc@I96iwpuxæ85tNl8ڹ<4|؜[o%.INS&(T/̛f:>iDO&Tc 8)n)`Éɟ,7KIx˽7d9>ЫF`u %`R7amL,<~Xx0OY.B)bT*ZVb/CG{sTީ[5jqO +cuRG(dl>xW# JD[(;1b/=ߜicҫtOjN$Dz&IJtسQS OχЏݵm?i=Y,J\acX& 8q01`OhvmEeAq*kl&0'&BȒps_]-^ gݯg D̤)tVJ׸5{C?mF$JHe@u%u!-fEeϭdbΗ|g: 箢=i /Ҽy]ɑ8P$N*1 m]2ڱ16uYhٷ=Zg /G/}*x' h(\&|<@9$0rd˹57hRWd/%97uݗ|HV&-Gs& sciXKLu3 m~ye.'M#B[?UuN+fHdGb8SӰiz4XE _Neݢ*ZbPMF_3-` פWf\5RSX]Z3r\ywШ֡.ؼw%[K՝ N7/bH8[2~q'Kps'L*@>r("F?"Ke{°tM;PKiִPlW+# ZrjPU:fqr*88BLBϿE݃4 Kre_<#4O>oEC=Cq3) N* MF~-3;#p:hAL=w&R7@fBuA0UZU3I]0;s4! _$ል33GxԜ>5Ύ`m1HTB$$+ن\[O]( _TPSapC0Zy+n MBThL$,WODS~cnjfݐk $ECc8l^wL<I\`x*'mԷ(l b't Y{-I~$h.e"~"B3:In}/fm fv#l:N2TH"L2~<Vdg&W"=ϳ|"_\-}|DsLr/Qq]Jex|9ʫL* H҉"K]&HҜ2a+B3(L k1T9& *Bo89r%6$lTYeʳ5чiqasnѭPgF?\]ܹJ+/L-0ۤhW{ӟEa66}"fBq҅,YRҥRadY[OТ~4AS9&% ||kv匑Dpj'f{wt HYR ɤHfNE86 )rq[C?5 :&w&#%d-}.y'6bqĎc:S#OP{kC+6Rˡ M1U ¡9>4qjLEJ ]ݾzeT W^pOx%CI2FΟ0m7Q:t%O.JJmedPNŀqd ʪXϯ2\]T`I FeeD΋Z E#:&*@e 8/2Ċb3Ĺ|+W{?h:R+b4Ĝ9-nRG䵃*%$ԥ3>k)>OB!$!׵ecDIog'^$4B-T#;!qHZշ<汐ZވBqtVv%3=&X G.&ʛ77ڄ~D̺Φ3F!kJQtN \$O&:&jZb- =2R!Fϯ}rT*hh&ȃ ɌOTi~!ȴk`fE:5c;cy(ꁢM+@kaͨg3rzhCi6P9f>(#SrdݎdԄԟ{i)5kL *lT511? Kvn}cP B?x]y!;˚.4Ps+ڲٹʳ%H-ֺ\!uAulS1 |z{æ֔jkGnԈ/z;2:V<V!ը 2WIu@'_mAȻ ?qn MMlxV?C|`3 ?^(M΅tsƪm%cec.[O8 Ėc*qT _ sӏ]( DVnMLLql}`|ƒ@HWЩ{%]O]g2.ґI|˛g]@&Gov|܎6<`7c-+3U{"w`M,'(.zD_E5Mp( ] GӉ|l䃻EXvl,|]@PêFch& OtCF |uhw?q:a"!< Gm^TBJKп2Pp7ɱ@TдKJ;1?XpQ"1Ps°~c eqs|oS|3͋|.b ~)OOgm\$XAZ͞*%,-SFf,2Y) 46W!7k9*6OFG(y!]ҙpb %%*<: o^e,5q˩1NU2ji?N>MiEIbG/ph ٦!\dVNd^}s{D!I>hFTmaH(ɬE+ Rw Aެ4}!IJ$0mS-w4K0A^{-҂8f ^\%zSve) '2d9t!\Rؑ{ Af5DhL_AԒ;5NE+>b+J@&KMVgP$i#FW50gql8QСҔd[}(]c#$R7F g U~Z$-,b(,thp}kF> ѨqҬjR ׶ۙQc6 63_$Hkq. {TSt&Sة%x^&]3BJjdZ]@NGY =2u}dv'C ]Z ɯoVGۨ}ʺ*(W ߔlESWʙc_3+48 !o̿@GlsQ ?x/> ׻߁cE9f"w&i:)ȷ6oKDž69<&Q `а[Fd ^b{[ZI\frp%<<WF|s,̳=b;&Dl̚! '[0&۷LKRHV-ù]fmKGZTWڊ_.QOw-EgIߩ+Y=.r2쮬E|殡[u[#l&doX' %WUdÎMq^km/Ep1jYȆ(u S^5";ẍQ*D i'RI)<{I]*9 ~TωŞfjp@IGD_D"/4fz=8Ͷ՘7'yҙڗ!瓄S'8d?ݛ(72Im6!2(ߣ$j2 (-#J w"st2 K'/"yϐ(&Rה:x|PfI?70m `CjaluӇgEfdY[s<%#IbvR=t- mNs:̍;;ѮL6vj^E6E)W7Di 3PLvtXjEb=HR(Fhf"L9tO`**p W6y+vS{(thxlBw^eRorS4V7/V8Q34~?V=YȜ9ܗS/輳pDLcl/l(ݦ^v:#{?^niVj0i J~=[zjO|t_;ZmN|R+ocLl, e-{X< 7*T ;~B:}߯[hC#l0IjshE bsՏ.܎)RQJ]ϴP阣( W@=|{ZGw54ܞp0'ʿxu]'CA_AI?w;tȗh{5E42z-kjHԼݡ ^ Zo>`$ P̃ȏS BzUIs@9!6=o=וBF d?ƂIt$٢ s8EyՁ.6=~.&8@po‹!{C : DSlK]K\YzqR~;,OQOy靧~][?&t`X.`DW./a3ǗwO, lιMὭ(/o e A\2_w2tnD3TWh̸?Ҟm{;BiϓI0!W|='jy~Y$~ vS0w[gqH>B6 HKjR/*.ȉNrUjT{a^AՆ?Ӻ4~[3&ps 4#:AJ)OӟIl)h5-⿸/=fMAؐdKY<3Oۑʿ}[|8r+Wc _Bt}g8mmQ )0h,,mXipGVr9&*L,KkJD2ϫ'4ڦKcODT3e!U)ȒT+\ i7|0?FIږAYs$O]Ѯ-X*JN']!ngr)Ծ:qLxtI^lR1 b*l),Վjںsďa;z˙KߘgYCszAՕŲWmZc*RS3K*S+,!dzG oaIuſzyc{ď9{``R㌐R ^e+Ix%N3 E?u哬xns[lG織c82ҽƜsUY ? t8 ʀ Ζ%/K/:d&ᇈ?ov-^{@l'v߅2 cۅR;^2ijFZGme9{jlYڍlf NmHYip2?b9G R_ v,RB5<|l%vI:jK4 rټk+~XzƯD=l >ögG lQ DȄ>08ӌe3|,Dqk,Iv'i%{(4+d GRntcYa-?O}Uf2& [5`gdLTxneNئ^2D[H][IQ!YJ-^\i4tq@']woSs5S”͒.kN'~HHi c,CƬ-&-; V:Og)pI(tQI?f5{6h;X}ɓqfӃ3$BC'K S} m5Q[e@(:95 ypw&CwC)L~_;>I@3ғVruq~E*`*"| Mb-%(2FF m".s3''HǩtTؑ{A_gh8LMNˢ+-B!D 6-zir o֝<22/>tknʎ"h P -DZ>Mu2qtlȵ2àX9I6۬VEt s{qvl LSoE1u7LHO\႒ԋq9]1D^b40=ƳMl=.18 ?=`(Yځ~貨){fN-/.ԭjM >N`>Xǧ[; YsRnl{I|~xNwTe\|ڙf31lɏ'}@ڼԟt+1,WMqxKuNިӵ,P?P@>Rk iBJ͉uL6=' RUPP~ҠXyP8ISI}?9^~ҋy=O-]N%䂛4XЛf;Lcٱ)_,\HSA\ńFJ錏{"ǷLkQ2 Ԏ_ztcˬ5$nԤRT8 zFq*k-!U3smC3+^E0߼}||yG'B}PsǝβW]/@)Oi t~fTuE}5/ +_3q$r, WOOT$J;мg1P:z&] uZ60 'jfp%W٩[!Vڀ[ {jR- jK7"b=w$*˿yõx0e]k-_Z4#MAA Q0p%/DU0x~Mʼn5Q[fN-̄/b}X[;hrdfS"ub.@ƹțۆeFg3߲M@_TJU)L*t xb$<9z*EnfPBRN~ \ܗՔi4 ~[Ul?`ૺE!gn싦n|d#_Yib rrشLhk}Lvj`ba` j*Aj]< 5Xnz"LC{K#X'!͈Ac1S.H2P)1R}7Q} VO(5j9W{Qs۷EQ4ٝK I~K=bn׭pZe>58.S2ܮ㕖nd)ZTt$k+׃ Q~|)BL`c~]rFvc?<Ɗ(kS}^v¼)r%($:N"=C ),Fص16\k"Mzg⪸P YYjQ OܘGdp֙n"UF]&T?|v'40Gv%%ӵVarI ʪ2V jR^F n1 eɇ_+<7؝a* 2b?V??<9 I-:S53"&ڧir-WOm1 VauvVn ?oj/]R5!Kұ429_kKh|^pEۦBP?@ 'H,Eְ<3̪ƸGՉmd5Lmh/QѠP;Rzn!f>_H 沾-eK5l7 A[8{A)7ѢW#E}FFȋw}Oi!Nx?|\t4L_O@=HpE?I%xZŻ0:O߫)v]=dȘrg5  b~֝qέ a,#B )rFȘe#4e ^.$,5 ہr@1(汿6)$8h[-ݳȼG4X6vP 'J0'p.̂_hǨ:="% $BFl;T^Jt{n@R!ȂmVT4r BWœ  * Zz #||t(:7 f%Be/a20s xA]4!3ǩsHK`1FD&bu6Lh/'B綣BJbR0>)9},:qf\TFossu!Ww{wzW@OyʿE2rپo! 1KS r6۵?rHt9!'~bG^]R\LٱZZeqeʲQ(4 U`Ϋ*V87j+HXVh>awpSfWR{و,z0m]9'|`$fnjtUe2 %c];ϢuOzy(Mahq\uqt5}_C· %`A_K͗?H"6З7zl {S7ч|g.tA(D)qy=:@@^54A&5LW>m}̉)dX~AZ?P|߳ϒ>@:Z'z=OYhX4 )6٤V9@*Շa9aەU כ#[l.X1:2#6[Zsf؀?q{W蓬- 5Sn1tL0/ӣ ߬Lgss>(nq6uQKŠ0DSLsjۇO{3RNS*&`&H\'hُ@K Ln"aHcd:lGB90mY# <"dY/` ½5bW 4lrLSbeEwMkt)DiϣSWL:uBNMjߡpjnY JB{:IX& P^Y7c[0o+ڬ\ҊS%^{yxWo  /c>Qmq,ًܩjnd=Bxf#bDE[$o/sî5P֚2udTDƒ9W'Z${<)9dsz 9Ű\ 腄`TEx,SQޣ~s6dCVo/=0Tt ѨaPҮN-i<>stwH(^>GKW헮N0bP ^Z<0_範Kxh5[pf@&Z%ɗ=g̊]HF %߆_jX;uh1TP|~FMh)|>$x $eQ<{h-cjI>١1dUsAVEoTFɮ p b<++vAĆp3q%> bLC&RSoLof7)u}֨un]&#· rN_u07mvIڠL6:P$y@^q.Ԁx{jjwCfD?|[sȰ JZ1ɻ WohD ze&W@.(xH=(v2\@ Klw^ nuy tCĥ&>&삲G9W/߰RإhϤ,hէk87=hbHLډݯ?F}GmT .?!-DUBtՇQ0r'd:RӚ%c5\Ë+TogmCyv- u}y҉)xv DqH!S{$ )Gi:9/ 9ΒcJ{:wV퍈W J݀Ɩ}ȢڒQVdň,M;vH#c *6ːwcTG k.3__3%g/,]N ǧNm c}} Rmev_t)aA<{+54PIG/`Дbp$0ѩje48%s'=3 ЗA >$vmD`R?%Q{d}+ 1;{v>!|$͝0,xyZH޽lդ23 CvOTi1zqeϛ(iT,@>ҩ: &?ZC~(9 S|a~xlg)~H pJuD,# iNzHaG$YIC3GzXO\9C_ qΔk ?(/sSD,H\ Hϒ[p|y~~yo!VPsӅHH~јZ&NN٤\OqQDG 4( | T-oBEi⧋jy9+ۊ0 7ci _D56FBryC:М]Gh]%nD—NWVp-m?33:늲GNWd*[cV7s0,{w9("#cGm1 եȻYE" b7'n4zy"~;?P} +XC&u\>}a%hR=N:i&RY%$"1Xc6:./3!|rᙧY+k!h $ O˟ıuk1#|[d.NeH \3B!Qp\Ԭ 36T2{=+Zg* Z}-3 {ZfM@gw7+{|H*X6yQ|0 jNj t3#A[EY`=NÁOk7Y5-*ۦ)O~O9p~\EL& TGf]䴚Z'Ṡp6nKhl0Fqŵ5Rh: `z⋀>pu49=mw'޴ [JHԶYЎ8{ϪğMzu`[ٽwy'_#JS׬sM`OSIQ>s܎HwՀOKxاUZT3[A|-x&m+ptʀ_ H;ٝSp_m(n Sfr`K`m%Ć AwS&ۂD ?VF嚏AKN9jeC&p|?itI:x> Z1!ͣKe-Cem1LM䘿UjGџS(po~Q5#%x#^aע 0ӿ lx$mFwv3+Lj+XkHg:6aHx)pO y6'}VҀw 3- ҍ7ɮ}SPV"ı*=;yc/H[.8~tl=/-y Mcc*F ͦ{owF;Ҭ\sE*f8EYy[er0eOvPC< $@ct U6Cd&$G.bRmחoDl;c#\voHԥAz6꼯ve$}/Nmvċ쫂:.`>4KnPG]MP{u0x<YFCR<-di(` 0j }!iŞa|mމBI\{LfLuKU}N͊M"5UA5)O:/=xH[:3,Iԃ҂d:V_I.P EAj oo˔=_YRe$9neMZ}]?ne-^zZl}Z  Wkѧjde%V[˥F郶JcF!ui)}'$}5*k<B"ZVN[(_Nٲ0Z߿]Fs 꿥V v6ςFӣ|+ky_dy.d0M8 a%/[!K]K1"RY+f9b^Sqm D Y bȯw䕳Iِ{FfTO{c[Q6濁`>MKEykܣ+X-ĕF')ʯ~p<>jh^/sO" KSBKk)}`_{S52[-їIlv%W(ES(eLwuU`!:MMaYtFU5 _;X#Pߜq~ ׎:,4")FYM*ff 4L4{S')XqP1̿H~?+Qq 9GS̱ ƺ*?Ln{X؀si <*prrLi0Bč:D Kd=ԁɩ xQaS%vi:8P:ntm[2ia]В iR p',@`x@݄-Ec k.?Jw#9zbw"Da.Zs t!BwӶ7Z/W{Hyy7po2a)SDMN !n  )=zfc zB9tߦwh@z3Ԁy=TOW]I;&TngKJ c9"xHk4KNɘégd>]͢>w,.^ˮލ}Ld5pKV-\{0kF~?M*Y)i|DΑ-= &~69Z^4I5"\vΥ4U͛DcZId42 AQŃ)J k$7nD.A1:  |UPw<^|Em>ĢV{,#90gLE.̽H~c΂ R! 9\$;յU܆ iy"R1} +-ZFc $5:ŐM[ nɚa9PE.U x1\MTά,h{P*SYg/OW~DNeuȺi̤aOt&k+$7Ox?R&P%.GۮcGs}q&$BI'm[!9ʂ-|ӂ9QsWT)4jbm)|5wpQ(CjfEx#Pj]H  u4lň{ yIg` "׵Yy1qֲWꅑ(?8%R0jF=a},lLD:-Z LV=rE0ҵWql$p&1|[)w{q ~@.~nB7^Ǝ;#/l': [o@ =b;η*g}<ٺ?`Df|~E h ;ν>2X5M'WT /sc^_\|}a].Ϫ :ZDo{O-CU eAn35kM5f @9_:0PV P{g%^xe LxNE[3]4jNE0btЗx&f,6o謃U ϱ@Zrz,~uXB=w qIVFon| 2,`+p?Df߬Փ\-l?rO'TۣbsvS= 6:cu3rAhogcV]7Upf 311#n޽W6Ȏ>ͼGh708tdl)j7)\Z <}Jl/І$kWgzT8!RbՍarLS,A} "jC11e ڽQ- l#mh xeHQoˆAm3uyrIABȯ$paixMAd]B6Ath!C?minP ͅԬ07d j0=lАRn.0\ (WQ0 %Q;~^@q ~|m-Gv9Ү:2ʷ d|n$E8,MJ 9޴PM27#U"m{򨸊J/FEJ ROB?!ɥ ޒ=[/l۴yKFb%ywO feotXX^ZၙX5,PνxX}1h085YK\}-"$=@U\h=7& qH8;s@ꑅpp8򀟝"RnBon T2ujIpZX7UjKO;C&!ƨLgNE氟+>T . ^?B51}!ghey)!;J%JHW^k4{LX9Zѽib:~FV>5vȂL\Шu  {iZ-mNޒoMֻJ)%!v_}2nN7[*6Td755:q%HG7P淳] qgLg:$63sNWU Cq^X4V`;6ך%V!0م^E~/df߄J[l^tޭP;6H`QS" 9:so7FsΦ S)s*]eޛJ8&bhѩ|oƺf4Uo}+Kcs?8SpiVUȯ?Z++sDM4Q'>7zV >lof ySZ<;(YH^7,% IC(]>SNJ?ty8'c98=f>RJ6GMRAoLHΗiGJW.mE g-cs92K6w\H7t fC.XLCg&ӇA|b_u9?qP.J-YO1N}yv[L<U`dWl1![;Ci(V쨠M.<wX_nw`4y"C3譶fB ;"|bKpuӆ̤9TXq{pk[+=ms]i蟄^ӊb" /S&jP.gi0PJ ,ԺT#˸pZ"%tUL_Ȱ;֦ n*"1.ThĢΑ3zNd6&<2nIgdg6`X Mi?P+n%cOnTOtmnO`Q~0C~!r7&$$ǯfIM'gV2mdL[1ƏJAl!84шb<瓻0#jw-kdNAw%v"W:,奃4ĺ;ǜ\#lgOd|ѣ glA]0~nhǾ>~{ ;H( O^(hM L9N蒯YBV:X7D}s{*`Crbx:6ܺFm.rzwsp B%"wyZil{y5d+)z dLW>i@)ߟ( %ߖ"kTDK> ,92b$S'~&,xUEϣ#>.4r>L14zK@ʈo@ _3:|BD*)Gt6?Ͽ.7;+}hN;LX=iz5ݚ)[Fan;ZOSU to:RstVi;[[6f bU]k#wFɢDP<s#pc߯mOeY*mN(|9rAWxp?'HI2d9i&R-O<1rlKzF8`"'axĴKo`tkZ=kp<`CPsYOKl$D3XCM]ijej`s [~t{ $BT0*/}IaưjEÆR\`5 JK:Z42*l&5JtpML˺YQk[SYF x\-~ǫ[U/G يwߚ'-cba3.mgvk%) y=u$; ;Zpj2 !#usd TZghUrXsQOT/FON7ժi]U}ڹ/[C&E,] 'U, ]̲ ȍcy^d;#'Yeu6;hީ$YoޗID*ϥ<>w iz/ E۔ oo3}` yMq7qyj bΜZbNӉ4™2գIJC!=~{!}Jd("rhPq2@^Go[T6E|(MW#ɡC#Pσm)H3Uy{0,N!^O*_cn[w{@1~ ? p;XE4>q$eӬpr0d[٧KHcz^YEYZ#6ٛȔÐyA@  -q 9cEnͲzu^qd3 ! F*ԧ#֫' Z1V*O^~l*rWXբd\V@;vK|+1jJ Cɨ"hWN;2,fճ4w2/L?x^I) ONjԲ YZ皵8f8`V(;7k:6O'f ¯0Ai2<}[p[![9d̑wsxӖts5$;IpO (yڪk{U:ٸxrb~Vn.>< z@'ba!P蝠?K/XUMS6r`U6lD_,="hfu}9y]S>X2kGCda NvӕxX!ɀX \j@:}7\VP[=Vfۛ!j|Lwf\"1{0V#,K|VfK1mQLK2Dj҇m_ژ4g5\9UTv^q9Sre!HZ + j̀3$ (avߙ<}޼F lj6q;˖*n}G0OsC䇟@ɺQd |ͦ>L`7FbT:cIH(ʓc;xہ9If]qrfu?q#fbՄ":ғA lpy”.: eb[A/vJW/a3@x5O}Vp[S`%g.mFl=Ax_WhG%"-x$yw>ϋsw  m9Rr5vh)s > Ks{-ovڈPP?=W" 9a]U)JS3a|ގPj03bW^Joł 0ŊU>1ݾUOFftHYtB*=d~(I*TxIq] O;Jq3OA8W(.)Y'm oн1&46B >=eZXf*nSaT:ӏeIbLحj\`Cs&ii6Sgq'(A}#ș^zu%wϳ1bE!DP bW> </ju/eNN+jttٍUҙ\T!A5 ӆ9/[ч)}vi6錯CށVt5#U#[*>R ˂*eZ'^?bN|\=6ϨwT(j/b#DD)U;)rwN 紐܏rRյz:"ېwP7;$+~UU=0,y*#2px(}n$xG-mKHjz+yEIo5 >·{ct`^'YqF0_0WPhaVA4_NJ6*ruhB{@y+ q΢[~r{MjIKڞ^ ݊ Տ=78bJynѿT# vZyZrUHSgđAADu0r;55Jy9u Nal_{lG8ْ"b0D vDsvPz*afL^nLpGu1O0Dc դYv{Zn5ᑭ %Cv1[ 8w{ѡr!/{JUsI?eI+{CX+ LLR',8@0x`V?^`}UYDb)(#0˫ͦh;:rdmRXL+3DmX-⼳L?CcI۬ z1)1c|PDw~2YmGāEiœ8uq0n\2}dO;?-zH~}U9^7%S M$=ﮤ=2^!-ц  &0cÿsB]EC$O:$J0J33_.$U͸v#.ulZb]7vΈ5J]l݁$HKtm)e+ ڤ&SB IRV&eyy^Uo0gQ(bȲk5.M'Mگ%70; ̎)S;.~R\?.svl|Vu>(gtؐD!PuMTHy(r#CByG0"I5p1n|SXwKQ[C 5?Q`2%H 8Jy#UٴHEl|a}Й(1@KIdu1 `έPGVF~^̀:Pw`:8$pL$rrGrnﲬZ~(K2O ]ῶTyYWV8Scd Og9(ubbs $4S(T}WmךC ˌ Nzu+4ݴu׋!>-Vg'pE~ ¬UyI4J:|.TA.k:j?H3#*hq]{ ;=f@MRd2r>H ] G DCvz~.~Rx͞Iy]ܖ6`TB˥6LLQ z 2TyA-QZHP]Jh4Bq< $H$1!8BtEI(o/tp˘OiW7!As&Q6dnT2 LyDavhrc4xϓXO3؃Z'ƿ+MsUɉJ;+% Ix}8h7ɉlN L]dK4Wi\ulꇬS߬c ,.b<;̖¹Tq@s)=/9Yr~ݧQzb-SdSc?~z903(]g?}|(J"h,34[]d8D]=6Z;һ[88ƐV'_n93OEtŽS$Sf8>}dtM$GrqEGsW0r{)n8%LMö.dc4$8i3 G1ei}#cke3!!oo< ^/Kw*.tݶG,sΠ~3&OD zIbas *rUI]@|)U+16 djW0lSh))F,+Z| Kyǹo{Z7`ba*5ŏBCh:[nog]tWPθ@U>XhZo}wEԸ\z$I'F7^Aq : "ޭ-ԙp-2 hsa[Dl*0a\U2{ 7x݂xDkZ޸iY-9h}}=xSŞk EY@_[qUVHxZNN xqyJ\TӞW<+J+[/0ݔͻ n֨aH[2|/&gמQ[=&?[22P?}]H=ԴZ|R9mmn@-0hRXJ4kDhLʋ bP7W_ $'zH|~c"(* IoƳ)OZ8/-.q9q[Ui`3}cMS E{W& \" rfvORfky2Wn3 j,u1 7VW%0*b7٫;WgЙff6Kkqo|K .3h':ʣ8HX'>N,';Z1jnuC Jk,srYܙc*kiY0xO;/KߋgE&B}Nqf?WE#o߳l&̝H1q„P65Es?Wק[r!_&PU}`ЭΖV$w~ߝdYYn@3Nڥt'̡ y ?Rl#;c${U;*[%BMrC@qs7&6q#;j M橷?0 .uza,/ DU 5g%l)N?5O7%εh!Os"0#uÖvfg!MqxN8ˆ`TW(_JWJ5J+ad#s,cQBb+]hv-J"jx$!C f;Dbh ,K7YZLi'IVbO+@`w> ] eOOo}?92O?.CzW*f2Zwtdt3dJ 8I_pǓbI\q8&cVK@ՐC3'N@EfCvHݍNk"σy_ٶZR:[6@]\ !>2bCG;2#_: 5F*#Nl!QCwy@,sp׏>FRd%Fݦ_VV8Y`0O$¹Ysm=V3e,(cĞ U^m̩F Zj8q]"%Yq _d(q>W6O./fAiWUԵ?dq-M0v/x;p%$K{>Ÿ=5H\=ϴ fʸMՊ d"5bmÏ۽Mb.x/渗 ''O.VZ @n:%(KcfPǾcJ6 ܸH%~./AWUqGi&^sׇϒ+{Ъ)0=Q܁&Lb 5{RyX۳.anu;[8BX,\)`#UX`0';p raa5?"j~"NlbwΙx͠Zy`@g|&.*`c>@4lҼµA]u$PK[ۢ$1P6/ޮl%fm5Rc>I+L:"$R,y[8ctl jys!-GIC[۴#+]U2<.JQ}C܄̿/S7.B ybvU~#K!UlZ Rς Q3O5?=DZ~A錃FiN<ڌ)7PA#Fh?QQ-^S!ݑC:^jFqV%ww@Nj7ttGm§9v-o2Iso0h VQy1mdX*c(ae lZ`6)Pې #Mbav~ aL 84(_p^=5jIfW$*>_7s%9VEwﲾOR"E% Zp)||Ԁ2Uj_aI&gdbM3fp09\Y>$dzBl:~v2bbI]cbCqhZrC9#)M%5xr=Z_NAO6x^Btr.Cį77M^Tҿ "il!DiOvM FFqBXOUЇ'O֮[sHDF%+#N,Ɓ_+o}-#|<\N;id~4Nmhw`$]( A(E'B!sO-m}^$\~^TAGC[D:6Y>#+ 5rL@Se$\*rYQOxoZ宖sx,92$Mk[+aG}3X1fGDoe#"4>܀5xтYĂ&,;q@nH:6 M X|@%"#"W2躪=iCߏ=~DQ0uԧ fm %S5PO(]-ZPE"#hPxA;iP+ZÕw yh-s̄~4$.#:}f'w7(zkDC dad`AS$=[D֚GwA1m: #QpێsϯZEJi]vC\Cة3y;CzPZ<2GCwC^!'qFH7Z˚"Mzdأ;no(G03~ w~r~/DX. ?FXE9Db1;M u}`B0lPOcIvZV婍~^ zӲ@ڻD@PCOEo{n7i=(~Ҟ~rꝅSAF5EϸY&dĄ&pG t9O ܹDON6+.Yd^{XIriÿ yY*DŸ41ԬnLӟ{w򲱟l#++l4If8ruAb$AAF# 6^ R*[VBgF4D#lߧbdv/!Ք0 ˝kbWP{]N}+:dV/?\{;  0Ai4!CvG`1첮dz3M&n`=o1@)i;}R-p'P1Ƨ8X6p@t /b0DOx&3't2QJ}᧓ի9&wVPk5Yl!l%:&%}~1ֵ(6nF<U-TzRW< 9,7(HI/w`鴤 ݆a|nsBsի˓mcc^!(v..RX簎A]BK@ׇ?8-p"U[A JNAHdj)Sl烥60.ZVH T VyTֈ>[Aո%k7џsʬΎSf4;ϵ~yU*@ |.lICLVВdE!9}ipD'vS.7mxނ,B&O8<KIj^|)ną=Xwc`'A Ɣ%L*_Oi?ED8pơ3תDD|`dv~\8:Jh4[yxnHMj^fdNvP* 3$^I: K.`jCm&{W]9M