firewall-config-0.9.3-1.el8 >  A `QU]k7TEnj+ ."Pl;?#Dėi]rUgUؐHvq' L :73x:'na%8:jj9p8MCf#A(ٖ u2¦ 3.7vEUXv+]4lBHg>p<!|?!ld  A (` |   ^ l0P (  (&809 D:#GH(I`XpY\]^ bldefltuvP w x y!!! !&!hCfirewall-config0.9.31.el8Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.`Q x86-02.mbox.centos.orgCentOSCentOSGPLv2+CentOS Buildsys Unspecifiedhttp://www.firewalld.orglinuxnoarch  m ́큤`Q `Q `Q `Q `Q `Q `Q `Q `Q `Q `Q `Q `Q `Q 542b86e7b2f4f5f32ff4fd2f1b4e0d8e93f5144a9ace4e5219b21a5f8483f3cf2b7c20a701682478e08c91d84f767c054f40368262a9f8bc7fdab92cd6fdeb1d92654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8edbfd0a863f55c88e29b59fa5c750832c235c1bc2d1f18ffc6804bd9aed783b681da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.3-1.el8.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.3-1.el83.0.4-14.6.0-14.0-15.2-14.14.3`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.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- 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.3-1.el8 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 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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-87b748541aa99463001a3fd3d0439679ed8b6c37ff657de79e67a3820fe841b5a?@7zXZ !#,.] b2u y-iSqig->8_m+nm9y;i"ڤhʽc%@@k_~{TkQ|M¶̅UJjRE˙돪9/VAӊo֒;'+*وzwhQ4"4<,-~; E|aiD~ȧˌ\w8ou 䨲teܯ7 U(NBM'ϋ9Xhr ci+"Cm7`dtR]8lXr bmj:Xvj+vBmN=5_fa0(H6'x&\60rSu./xD mP_> ڧ;,(J IbE9,K*5>Yg-L*<{XVLF&Q4jX`kmX?ܸI3#C; U/A8ޛKlufndϷ{ٮE ;xE.7VSI/]Ϙƣ>E]P-eO"qZh^yZA-usE^/8n>q$tYΡ^*Fغ!GM&3^5+EF}BV./Ű40-xPYsJ'n.u)|5ͭYm z.y [U2~:7r \'IZ\UOCFW"R>049ᶶ]Evi,XiTyLP] OɾJw(KR ; ),MS.t5ٮѽ˛;Ze\kJflEV4LEՊH+e _IJD;JD4-UX6wзq3) U79fK7Yghx{ȅَxPm2kQճѕ O;1}>*}n:lXnPcᵚ$|ݵ8pWIGkK5aL?k_v-9u(_*":uX!cDz(3Jwqg:`8d.~;Bmd%4f2qĶtV'a]-ECp.g/sڡ~rӈ-7VԱݑE%(WPp) .Gky>?VOY14|I;s-rj,Sos%h6 ~]PhN}J锳ԛvgNb :R*"a<+XC$g3ot6T6$>I CaqQɆXJv[xq G w|Cg)= /2,WM^/}(VU+ Qϵ]|jR68oĶs'!ZI%Jk+02u{"/P8 :fAS̜=ϋY{w.UzM-Lڽ\b4Mc- -,S\[*M|8Yg-@ERd7Ry y#woaj_ '-f r2?!mGH^!q{-'BtSN `CC} UMd"r J6$snD3bJԜJIp'֏?c7댃HK~Nm a517W臬'|VCց^x`R%e:qrl;2_hk] 4hs<7xB)e܅]!AJYɯ?c-ϖq3%DmDiAmP_QS סҰ6O _5RRkDA.[~yZ_3sV0B#>ADNX/ 59텝-yW/" ;AKthqArYfZ}8:h$ EilQ ]$&_ዴHJ:\|.Zj!Av<ƣJ +\M063*:Uad3F$2 .Mc?Pĵ͟qe ?[}L`a[bF5#1G~[36#|dnU6jF7)ɧx>B2wT%Ȃ~ E] ~\m1w&o{[59,,u/дZk&R~B{V9 5|Fp^1zJKiZ)zy :.g͟De$̈́ prS@(ng/F'ELtޡ읆NvIdis,]058|,Pmvkj `ZiK9qmlJgaj:43nQ6. xſCP7'4]YOC%+G/̒_p~MaI$I^Y1)=&\eUDxJ 'l<)y|`vv]˖3M`~(S:Qfaz!`ҿQs؝E=;?o[4 dNyI`F53Nq/ThM dwՇ2՘Ck'fN{H!gPQ++?} COALQ4/"YMVFZZ Zy't6boI+DU4| 2 p3.8oL^bj_!!s<#3n$~YRReBKLDUxt{l8E4}/XŻv *i}4؋7:EZOۜ0i<Ìj nSϱ8 :l4fJ9$yDyӪvAQ`QE[Vsm~A{A8Hkgе淒vJ5eÓ&M:˜o+[oFZ"$GelG9rU:8硼A0-; GdH] b4b,k` Ù5 B?)!@YEMZM{b^%A 9e d`03&.v[|0̽;6! Bgx9Dcp8 .n.q˺We^AKv1ŋY$i" 0'XYݭWDi^F[.0#jofn6$vw>=B0zusIXeAh 83ZQru'Cq{ c' 7A#l]|q3[\s.\L3ʭ?#=ֽODy=鮥UϨ*B _di%BIOՂ\$/~]Ba@]7SC@L5?x_$2ӋiVTݱi;*8~7y1YۍQE\W(p"w& D*o)JzW*_iA뺋s+?J-m -<EMu8Mz4\݇f-ls^9ZࡺVb2e6;FGkH* ſSHs̢t"kUA^#Llo2˞L03Y;_qЅ1|]Xwu91 ~i]|y\hǾ8v#cOjaU}sw೬_ I1> / K\W]s5‹YMbk)SN^K!ϦTdCX;c-I(,U0*ަ> cZO>d%P^clμ9t=fۖ>c1P7ԃcE}&QTM?L6"Ndgշ=DTA\>qL<_7lDBA$I]ٺ:q!161dAP_IJ?[ p:!8IveUќ~]Wf*$\&W\==? `Lh.O@La{[BTgF.J?iEC;~Hom(x1|:I=pL<<1X#P;C=Gy[8_:]|$1hXAu}ٕIKAA SʕbT99K[FԙK~7Ox҈y][IJ;H){Ə,,z9Cӡio<< tF=pU@lAP|m}k0^mT\L?vvBS_<\c*O]֚00轨4u<]frr<ʋ;NlH}6VN7ƭ oPb$uEg4ksңC?W9 ヺӤ=(ܦu450iI^ƺ4Cw׭~V/1#q$%' 'ZqE~Mw9iY;8:^Ԡ:@ZaW&"@6#bVT+Q`<&+x\%g'hRItV6:tmB&`Ks̻w _,v[6߰Nl*_lqUJo N>)ݦYN5SE"[7aَvɧt;r`L?ڐ"jk˅n{PnF`Pm1]PzUa? (t?o2٨{yg-ݢ*{(äC$XWFKؤҌt\95_O9S]UM) e؂ QE4FсB1S )r <8_in94VC@$,#Ne+KgT"YC`k}ΙV*kKI~CdWU37$!"+j-xE'iL"2kVAZ4򆚡USi/(+ʥNI"$9REGO8W MhGR-lu[xyOv pIT|"ekGM}w!uM)8F PC9`&]Ch'fg&"7uPX+Խl[ tp0>}mD8:*w+øGLaBkM\ ņ[ߧ :٬l#9GHfx9ÊL. ʂ1cMW,1#Ѻl C21+iGW$Wk3o?Q*- !]gQ=(1顪 4,b#9 M@jX|wHWi)gQ>3UjE3_3k:<Ї .l\ݶ=?~3˻c,+e\*9v.4&]wI1Yʯq1 5zǙ&E_˜ˆ(MU;E.V3= 6dh nM?5zc63G4!S'"Q[p̸P ͵Dl[;%@b5z=rCryh!)VAy.OnP&7Ѭh"ҴV: :E^ \?`I°ȪB- s({DcLQzU!M밉{ŒThhWs8!)D.%M0|[+FaOJ_$pNakVdH#rSy-O*p/pq;X_B#9l5; 2zӏ"vagNZF>FĚ$܄0p8S' 5EZ$4gEZw ưVaL%w"x)eH !C7IX@VW,)n 76q˞?œcG?[$2NٙG-rCI MӍnn-Xآd+4_4ױS\V£'pz_N!m"fYPT,8g %^̯` K9.eKP\rB]b>V wbԯbe 憥˾iDPoh|4B#]cR྅h1DK+.JЉ wU f#_kLȩ({#j0ު-TG~.ssTxo{7\$-c{D4S nppNFU[ǹ՝p4;|bD{s4R>7Ñ̅ߊir4|C;T$sO 81"n]a49sV ęg77'.Ԫqo}}ǚ¤%[S097j{ xmOCB 9Α Au~7 |:Xry/b&Wg&V'D/F}7wok3 Y$d v]!47[ XH *cVMXX-:u]6f.f 벾 SQi֍P#2f0nc?N"o9Kb@F7X-XG)RFX㐣Csí3}#JC(TxU$B^3*9uedD͚K; PPO(]9B)\81-B0 \nsrVpxchPɱҎ&/6MNHd@, 4Qxz"r$eݮa4 1I8|z׍=M//]]7YP6'G :O*2>'Yڻ߷ ~шG\`7}st3qNR0Rf8i gl\ZfdZRk7 d6x]_b 'H,^s@OZ ~TmA?^|%=vB`L\P: @kzB.,^oʱ~O5ǫBjC6J 0s[}gSaxZ"6)M'g\):^p:`f9\p==}/ ^Ύ4|I}1*kl]ɌIUjn>FO*%į6\`&"HN-J ܖOEN=۞B nNϤ'vbuMAtldė;؛\VOCYxosDyt}/)㮀Ɲ8۩\oP+7rwNJ?n}CR9#Ys[Lf2*PihVϡ}hMQhf gg˞2XJt76jMb:ף$2$kp{IU!4ai67xBҊu )eTW}v2fkBñ >Nȯ4#Լw& ot%hJU56n˥m1}U1hV29~Si#sejϋҏ@zh **CjiGKA9,xQGجPp;^vWӕѱc*v7ϓ"Ck ;TGMH =A#8Y2,{j$w ̷Kv2Bcvr'ނA0vzc[#ZoDťUP%T͍ ΐۮpɪR\a"7*שa(4E8;p>uLiL(~gm7AdT!u'׎X"8hD!#.@;#w*=`FqB aߙĭVeVI NS~ #iscsծ;4Z8c_ ]34an<+&Yc',TO^tG4f9H>/tD$A_-+6k/x3"<Ř? @oolėxo@98qAYM`|۳FOǕ [H\ \*̎+PL7?_ 9:ϖ/pHr؀xt|;rJ"4j[p(J3IXȧQXG 6{1^KVn91Իޅ;yo%ܠ;F wFy|J7D~`i P`/oOWX :O&x{4w0 EyӜ(-۱ɤ/ihwǤ,A#ϩ>>1 ]7l ]-nzndG؃'8Cҁp(erHn6ͫɨ~u^ |/ +?pRZWas=]@WR/sQz^/6uT?!ԍث5ι,dZ_pd+K{L_z\*ވ\!G0/׫/ $*tA]Q=l'n-wuZz3[^2gFY]@䐃 .GR2YSsX&i lfzѴӹnԩt4l4ہq~dRmwrmPB7n1# f!z`$\7|?:pur6c2u^^;:pCoaߦhLʷ@|tɧ!_آ/ чгO ={^N >B<#eXWh"~ԥc _Q,\W0*0NzdQUx#j9㺠Y]N yfߞ}TÁB['wQÐrue`fHi 3!;^JZ{=B/ w~>z"{"Wv'm8U$tMfŁ ;]{ [QoǨv99R%UqBp|*91-T>t kB[obSg'D|;=7wY'آqC:!16&VQ2n:MQɟaOMvyϲxRV BRs{1?^v[(EzެX.*>Ƌ F[S H5lu3r;jh\hH0+Xv4<?;F+}>-&}HZŕ!dأbxy7hzAg5',5e>G!뜗{`7F=ά]SgbmО$|u3EoK̳$(X.Y|#kE&vg"xIK JDZt+zZ]sN(_ ð *WV)Fï$,-$0^fwYI {,"rѵu\!MJ^XYՏԕ$v"Rlhb3m[uԣOe)YT,_Eqʕ[CZQDJ7_8N?JCpNchF\&0dw΍]ĵ|*]qW_Dw/T%.lΰ A)׶tR/bC)8:6/ǵ :U) eο2Fю}wq!Pv ױ17[m+V }|4L"(QaI+u%AC!BpR \MChctBj, OHQ; {#Id!)eUmiRQ&`- |Pշ ?_z !¼iKDu <&fIn4@>znƲ5+ne ҁe!jT3"k~v H](4VKe\ޓ%8x7e.r9qz2NEK_aB;і_#eF3}pgb,8H~V -7|5C&?i5z$D}Z'e !zeKfI"Y8+ReMF2D%~2@\ í# nPd:jQ ~zo:dc~`"rɮmUT`-/)*9vkn9;msWOÉeT"ʻP?f"8x0&Rނ#IUQ -n?=#NMR'B_/hWq{{ p^Ae1\O_>AE¸$ƻofF0g}? f)[) W,m]5q,m 線\1 H|tlA~;I89zQ-"lR~VͽOTuz6`;d9.X&Jc0\ӂ1Q!wqg1eyKַ8wIm(|.oՃC޶Qe)3^P-WӯѢbw1@1dz87I q ;g8giqk;6cI:Of|ɫ 2xlN[#ngL"=W[) ZR+<;42MQaoOoZtF~ήel;6!* paş F.. :$媭P{oGuEV; !d4$]fip={YZ/0x(rqFl]ؠ,锎!V\@s0?{bxqIN3Me)L9%]mwȺfe4~6 ϡ IEߎ`"tOM2mߘdB]\u o< 5INՐG|Y1n G1-Ь7+0ߋ,ᶳSI)ps[b:C(8 E-DR̘y~\T벶[_+G؎ȋir+gNUt'{p&easN d))@6%P6'aG"y5/y&}-%˭0Ȓ*% qN{lTz)qy6613*G>xaF&Q 9,YvUNZN$QT@WwW!|#3vkBsOoRdG9qCe): +Aj¼g_*)l^*^n1t- RWH`s#~`>cӧ) HYxR/]MnU>Ok1.3g~a{9РW{U5'~z֝KG6WW仟BaGa  (ťj_'qFk"|?Ŧ`~^4 {gfB 3%#$Sc-;;=+x@۔3bo @uVZFIm$f&B}/  hz5^ǘ)OCe3:dZ#ġCItK\y>OoF`ݯːDATqM9%~[#Hhkʕgn˺d3.0oTb3ƒ>QXPoaLuvPʄtKQXee9nP~lSI8EmPŢE-*)l|7O2ep-?)U(ML.I^*4A%.bo {"qZb8q*B! BjA>"Os 1J܂_8 qSe (ZCcG9.@4(܅i`!;‹EquOM;npp^}3G ;x1hMI|0eJz46Pkj Ryp {2BJFۛߙz}=VBfN>eZ8?#DzjKTx͸K^X9 {g[iR(,p5^a()F]EKVq)FLb<:4_q88[r 8흏h Mq3KsܶfKm{'Xy_*e׾u龼^i3r-cE[96rA`Mk`njZQwPNV)J#j<+HMT!sR;Xb>iyWl4E䭾D6^~z(%9I7+Cu^`f$/X mWA>8`-ӡ| :N+Iq M349̖AU8ۑ_A!R(K 0AwOVGzeÚ7*rZ<$5hL͆]H#38Dh.z ׄ39@{yJӓAQE"[T0m N׃ggx8KY(=_[Tȗ43Y-4I4kv06ym".spsՒNB"#RV;7쩣B@ֺ"& 5WckƄ7fѤXv"2r19=WYjN͛ %i|z4 B,ug=GW Q K`'{Z3 B02m'OFNR SnSS)l*IU-x2 d ` DeI$Ő5VUuS&#%j} )bG_N *L<~j_~O 6m*{=Rхp=<0$O m:6,RSտ}{ !fDorfYtZ2'װlWF4vt# AV+lV2ǓMF| [.pBǰC sj4rPVcF`Qjd7|6UkPǒ UKguOqd z(*A\白efkI5Fnt=+Z="5.9g9FhWY9jL,)Ykxm攂x"uB$gY9"kK˻o/̫q>PydQy4NLא$>Z.|}w wR! #3lU9IѭsyxJO)&Q%'Q!౳9܀H [O. VV(:h0%aO0V ˀAdpE~D:@|YϿF]QJ9NQﰒT)T Ķ+Zzdaּ kU68|XC~Htg>|g@5hߩp5r:}[o+7S/\ WMD xj5Ċcj1TŃMڃnGۓ[E{ >;7&gkkK}L3oP=xJ%M) g ZniAԏyl9>xDhn&|D?KtGCL.~'٣20W7^3 Nx=֔p,}\jgt 2Yg616 _oܢ,ZKVmJQ[Z$i{K{;JcYR^,`"D_j"t5`@4XwXCMn9fOHM%o>8X``dR 6 qM9ECBʎ`aK`ݕ,CJ|^Q8y /Pqt1Ɣ @BUrK̃JK\*0^o/0勹n! ,qKVEI~KZ{<#ӭ1O&f"Fىz( RfW]bf|j`qpd2h ,e*iCX~8 ! l 3 ܶѮm(ؒp`V)HtG5/?2e'a@(edv.@V FG((-,]!B+YUH |ؕՊgKٻ"~=ϣ[ ޢÀ iz[& 񆯊6f0{>JO)H Ze5N/5%zkE>s<1ec*3|*N| W@ئsP ^xlVŬZ\AS ڴs-MU$I0ʓ^sKA@ڧ>v6(q Nm 0]YS߳;|yYHȬC ƍIדfR/K/sӊrQunI, ^_e^%2$HEdGNg>!*ic\lg96 ZJ7WD,7a+a5@i^1\/ıR=C[B݉0t1bx"Ԓ$&h"PMp@DV]0"5MMu?C؁G՚L\MDڏaMNQLOkc了D] [_/S'ëqQd>9=#HEʥ**1 |W̚Ѫ*W,A9bHfUKzb֎ T)VD"7v;4󗦄m&V덢ѺLF څZȷշ)'@Q~َFH<*xx;ܣqq )jAL4/H=ߩ8 ZcS^Vn0# yE87/@IXc*3jK+(儖I"E/}ѤV>M"98WWY5cm흞Rl|.j!E q5:?U%qWx:M|3adiEX*+^ c=[DuAh;ad`ޚiE_QNI1jGH?J98ߦCz'ȜgCp(jXyh;5Z$ |&G'RZ?pHq2'(X&Cgӳ)y[m_=J6<%'=,-fB/ѫlyXJDzqVm-'; KHFm{ɶk=[!v?zI݇u*uZ6.S5e#eoP ِ&Fa 'z~=1(,xI=Ϫ|;yh@0?ɕ2B-i=619 UiJjX"B-tOJ:߂#odS2K-7p_[|rw}} ]Yh+yN#wM1C-/tFbO+F+TV6EdlٕL`;iW7*!@VCK4b mNnнB]or$H^^. WRNO =g/ ֙kBMdj/¿~}$Xn*b 5c+dž!?Nz[ \LXv v4ML|DX)؉9vkP i=~ʻ,K a4]ŅƑ A OѓrSZJt"K^Ki&&"!⿾mF ۴>%=\KzbVOT$r470.u%VR}:!I)7vURXO-)ʌ7FjгC)h{$INV<ڣk,6W ͫ4o*~ffU(A*9dƫd}Q^)Vr T`&$.Ǎ?oDJepdǡCm_k0Mp`T^~+  _A_by:uFeG<{ˉ\! GMchW33ƨFu,~~w`[e_4~)lܗBD`8Z#p#PO\W‡El`}[G2>hVl%eeɱ"m JXL08B~MhNY? V{#fK|>d`WU_K_)PɘB'rִ?5ݒYt ]hhErX]ƒ;UX젰m,+pxq'9N~ѭPz eWp>Yф1Ȝ9t٪0ԫzi*'94OkS 4$g4fLNgi M HMm lºaK3A tqRY T Qlܣ|a(TA1Ӂj 6Jj\qKW27aK'0rF"j2D憁oKrw%g\ ^BmfS~&/Y)R$nSkNhR-2Yofj=\}בYd|*&nJFF3H%rmZځAݥ'yIb#ݼ#vVa#@ ! {oQ 7P{mcV3g~:FW?\%A yy8sq&plCRsJ8$U'J+$Ͷ[bGpkbyS!$gRbjakc?~ұ͘tLXlK/=v\DoZᄟ˺]mK__.]]7pII2oW_AN~:nyk7X5VQB[K4W-5F؊Ĺþ#EЀĢ̲ɍY P[UfΓSx!/G"7쾂I}>|7Zabdm#vW3'?Zo`/!&,-(Fe!DTP6oق4v1q.vy_%А u3<kXj7w;@K-J%}ފDO"{:$Dr5~[fG4yz-y+@Sg3 A\uo-3QpL:Q%zdOwΧ:>HZPg!֚H e,?F+0Q|Gk? ɣA+ɓTu!ns.Xvǣ1UZKd[nkph>?_I7QQD_fBEC< 1LOM;":͈>䙭]}-H0<0};'zɌj:~l;DĬ#FI]eCx)i; brw]j.(Gk{˵4 s?[mMdi_r3hZ 4V9>D poi^6p[ϴkմKW7ς?-[9+Lj#7>8Yu8vci)l8r+ ~4$X!fN`C{гKDS7؅r ?ug?X\Ë#K6DUW&^aC eZ9X{b(cfKQn2ه:NUl\@;Bh!OIw!.0UV)s f2W١yX,"T'i > FK/+D٧||%7N,T5wro8rkM IJ2XT/g ebZR2H$5@(--{q&ɹe7wq\H;1 xDkZM9 xMvʦ5㥸/p5OP_ f<*96h/7^iw[gz0֤=9G9~1L!v׳ƃŊ%4CācEeUtSJHæf$ݵuH*%^PqZ*G86p[f5],jp-u.&@mV\_AT_fXމ |M׍G|^|w"GV 5)336˾]bDz!ÚN3ҥt E\^?#zVR닎)b2+ۺ)įŖ^ž9ro^/9}'m/xC'lQ>=s!яfG !/:59frZgkaڟi&;w  kg( =q=SfkA]spst0e_|c_p--n/AqƗkgoQ@#F¯u8Blv YKM fM/&[c;/pC-⺌JIޫF2UsxlS7 BU\ae'ݶl*o9'dԅs׸&Y/msL ȜݟW1^o6!::Ǝ* oUYWtpy ,1 UcZ&IbNv#=¶F)L078Daȿ8ᘳJM wlCJ9A 6۴]oQ; a/DOH S8T' S+ FoJ^K#!Rrm4LJ!c{ ` ¤AAXQvǗq]Xh#ǔZ|wX/S3!lvޡkG\~c=ihgtj]ӑ©#tٛ O (S|GB"K(h.VNI@E8)+YY,u  VzlQ3oBR9C\ QDp.M"ZO]#cmЖk*ǝ5]~H ~̏ˇǀn5ƍ}o-S^[+UDi'+u~mahmKͷp3g dͨ>b?ڱDzY0;]m(HK|lX8=Ru#3_o2)ljdL^zuY5f3dƾG%0{Q`EI @mz$- 3SyN}FX?SSޓZe@ayѱdZ/vh5;j0t[ !^#hBDfs+#^; ACy1i㍺떴պ:@iRebw,o1͒"YGd+ZDJA?sNG4ڒSE)8`o);D@u*ox׉N@d10]C# mBhIA%Q~UE=JOP_cg9Cr`Sd+h4Q"[ʟc2|j[4+pn~l;TGe*֞:L;' td䦜ZuWo!TFh`p5rOa'[]COS"%-tƊi@P!m,iQz:XZb{ ZWq(Õ* 0fAGQPP}v (HL1u#wJql:v/MqF|<nz j;1H8NlL&C|)=I`3eP9%bsyE¸Q"h\3Y4>$٥<&|pᷖ,=Tw=ivb^DۙREbDD 7Rզ/9{F7Ce–ۿ_j!0[l͙{^`ki` `dBU_ }t>u0܀*kcvKukgpL$oyYXUN f@^2Bl0s&$':tV_" (W]gUhþq93.֭}@ڠa]oF㇣FUy5_CK(3\[ª*碛INCWYX`\y7ŝ£ b3C=Mˏ%o9D-،OnXh~I@l:"7R9ve #Q~]kwbvퟗQ$TѭGO().3a800D,-gd4H{9ÀF:/ṷ_~ F< bA}$ʘ(XFf% fyWF_it|1[ `7f|rG};Dp~;8;zi6Iьr3lD LDkҏkz#E|3C9̓yEoE (H_HB -`AA3,K&;je5qɉ$T8Γo'BOzҏx}ȕo“%#%`H'Aڿnb^1,h` m9sE v:HqQz,zj%l.q\肦EdCo&Q2m^IUn^ '}=츈^7Y`l.eǎBe( l]Hv۝7R Y#Y8B2] wvɪkPF2sM(A$29+6ٓk0O|5ɊfU%ye<1JXg<{]L?]jT]uL݄X@%[P W*iѲ$&<$f+ȥ:ٙ K>S Yp;#pJYc?έS曠_#S;-@: cY"QW~z'%bٷpPdGCת#B 8¥ƨbWEejyGQ(7骰wxK~L%<(=X:34pßߨ?v6_4::1Sf9Jќz hdI?vˆèNոt{am%-7s"1S#rQH"_CNCPOVO uA{5>hRvOotj`F֍%}l{ceQ P# :sOрa1Gϑ.d&5}Y0,$fR,WGrwl~EsE .TI)!K{D&AeGG~:*/k""ܞ`GZ+$4JHz3V @D7ʹVvċxHISۂ1C۫u¹Bf%}̪{1pj y!s2D/YbF/o ^l:G)jG^CcBN5XFN0A!U{>?Aj,&z.~ZY"{ZO.r@< 4HKW "_'=bϋNg@]/fJK{yr\)#**i(}tHϨ*s$a2AĠ%WFǔ234@P7@Gqg}x @.(6S5S+#knK;cFE f'ۑD{ fʙ #PT?_SkM?]K-5b%`l.( U6R0; !v v0ʑ.&, Ci 6]-YuъBmV ϱbEY~ }#ugls*F]NT&l@эUpֲh+NX# mGj'1*\R#k]YQ2xֵ6KЙ*w3 ܑ1ħnx!6FQ"N&fJϵ- T@+D;tvtN%$b(+>9`R(D|&em㒍pT4 .BoZTɥpT%RՄBj [^M5ۋ whaJ6T8>^G ,)H6`z+^ZD]]X~bP7ME}7R'Kы7mnXR+f(mpÚWrlPMa柢݇xSa7sIW$ [sLA!ъMl+79Nt;k ;M/TxEǪT"=nK5hIqHgFC!g@Ɍ=YG7jcz>f03(n,Mt(ה9 %JTqbN׃o̷wtӽ*t2V+G_(o'ouNڻXuS [n.yW*rpn2:xtwE7&Is9ץ ٛbaUO{{-[c3qA6Z47W%`\]XPiLjc>$=7/ňlnnXs쳪MY:qK$xϋ.x>^>ψu'`xυ i{ ϑp3=,cp$H|y8؉'6~G%_~x-{hp~F>X(b7OaNXak-\kbk;ru;3SOh܁b$9#p儦ÅjeOQJӴe_!VgΘJA$C85Xٜ8SZ\(YɛmH(845 %U|YWp hT~yxJ'J '" 1Ć9 e@W\(]C\Ĝ.5U"ј;a+pӀ.lCi# ,Y˫Z?!N$b(6hMGvx=78/xREG7Ʃ]`0sM5vj&;ۛr`eDkZqenz7n愈*g"p‰ O'+ūW:W ;/3X*Ha3 $}豠"):8jtx^`WWdVgAqV]3X0;KDeCcihw)B- P_8 ƒ=߷',.$o9yF~߀Ox. )5`%jXwk,rjO[T|q?8I c<)6"' J{lmUO^6bpWQ!׭*(2w=׳f)TЮd{:=]D1]T q(+CSJf*]>fs\HK o,)UB)tԑWX(SiaVZh>%a`[;KW3"mzSkI=\:?o2t-Y 5iqgK26}puIq# xSyPܳT _YGH.7ծœo:P9$sQbr'0$c si./vnox_thE|(~~4d~:0'Umu?Z.e^:)0ۄ\. ,4Yx87hsk&atKպOk1\gˋWe)L99T*_ `RDЇ]ϭS1{iBdCZo?)0s]K~*j?΢-cd[bi[A횊xNJokQ[990,*{ ٹzgЊ2 <>v ?J }T\ ¿Irt']v[֟#*쥅v,& a|p7`{ɡ1.G0,$ܹ K/r-#Ո@_V[VP# zn ᖳ*zT^QڠʻFa=stl.K)ezQ<~՝l5y%~wgYǔpyR@E"Q?(U|cGU2]hxY#)Yx~5'U CDM _}_|8Tˊ=$za,5ͮ P@1nx%IO9 3N4xgD~tn%>+˰}5R2iS.̻ʍIk`տ.!AڼV,ն}BX _ל Qr۲ Ԕ [@xxtvR]:c֢A>HCړ~t"F~)m7PUOT 7bu{rȥNl=-Dֲbn3-1ΐji)^ߎ$OYM+.hBJŷ,!%9U)OD4DvOJx0)D 8EuA/%ŌuoHޔ6y,aQjpqrgq 61Hxi+ieW23A@5eF'u\໺"aguj\6*M(㗯f0}e" B$2?Y-L%V‚A{̆|2&is7cu@ )Lwmwp2g)9b(!&_q҆>by'jg@؉S(BCe`u;t$g0˟ne)2}ZoA' %Dv+zo7h;7LAB{uة5.ZZlCe6M̡$r Y@bw>w8ȉ?hbHxUN;)?;l 18huМJaفVxIR¹k?iKip 9`t7ƌכBwU5q%n6=<%%|i>(WCeQuoGm7Vy/ٟMe[nc~na֟L` jE4ˀ3m|v)3վٚ f DP/ #zݻ.}1mx:sYZz/'/o}Viz{Si1eF &~w3 sga#/H@Gjqfa/uR@h G 3 CœQ`u.KȈQ;fs!"Ns5(gͤg7Hn6[!?gT{xwU){0b8^uL-XBAW:Q ?<^>Qe\9v43Vm_Ibxuce"&MOxv5>vhD)OOr@!%dX p.c"K& @k F@vg`뇇 )& k ߮ش{Άi)k(ij9/wqՉV~_/t4?DDk%PrͶȮvNLq;m(ꢨ,jV\G)U}-MDٻion7\-e.J+)x|D'3fkuǖ ɳr7ů ,me GzbTLkPbjc`wHc0P,:xX\r@ D/::Iit=)]Md}ӔcRf%A!c6k!*llNbwl-z.ҳ12?)DS|7h29>̪{ΦY+BfgYHCE6,&m&J>¤X# W?j>⮧wPv/-`2 B0@ʲ5.<-~0'l_. kq8oHpĤHFF-1ګ=o(tvIR!͔?G"'/ 8 JН +nS`E- 2c_~OӼ/\ MSfs h!;.ϨB-Hr~݁z>O>7"IB F *oٛ#< }?Ghffs 2HQ6Q\s?Ev/joj!Gl*`Pm[(I]{QɻDfk+0}lдTizq2 &GT%$NEmK;e^p![)&/^'R!/!|>=TYy ^viԊCRJvԂr&iΞ7E']SRCuE" O`lj=?о/1&^rr_t.~,CoS{ S PvԣA!S7W2:49m\8pjshu0ޅKoVmpq* ss^/I} _UՋ:_]y)22!~O)OOݥq(z F&zx{&~mP)%QH9U8F=r+?UX$Dރ| M+~۹c!?ɲŔO |!}_}utBb-m-̩IhO4Q\.lYZ? v:FK>TORͥFGfy#VZypy͆XTYn:J Z`@I7//]"c0!<ya^p IQhbJJY+f ,{S,`'\qy81׍D@}D_ ŽTkԙEV0dkԐs+M'OK}:q=6 HNC.+nnpzyfaSG`%wVOP\).u(kLU7sիnimV= RN>vPZ"m8I JH/_̠2:S`lSA1 4 ʲpknN1=c!c4Mce U< kD*菷9dߚLN&Fj>]Mx­jvo=\#c3R&|2nfOֵ(x_ݝɾZ3U\5?b[+ܘ6 5ӝ^#}6X_ƽΊP(^-JH+b}BY}xfU ]>l.=V{zzG M@jF%?ɠ+sB~?9$ÿQC6 V`ϱϾY2C(:*Rݕ“c1aT~\պw+2т1Y̸,sctl$Pz ݚz+ 1B)4?%^=r%6X w@m"%G({ݏA9é<e9SAnxEdmu*f? ?VY߲tі0}(~<,dޅCs'i4|GhWWv!^{*ӟ {Bx!|-8u"4Մ}mwقV s Cz{{v2Hlf,M.,\l?imXpGuӫ ̣+$m-&/wC#2Xq#cm'n`pݝ˃fNYpށxSxOѺ?Z'q~S﹓`ߝHբ|r|~G[S@ԍhoY9*젼pR#đk_h$RL˹<#>w XNPϜu!__Tl|<PeKapvRY"BW-Ի!vQt6t˱*)]h4DJrw+Hg t+̠v.#l6gV6&X KL{6`rԯA$ͷJئ#SjR'']MS0*WQDCGw<B/q{P`7w1W=Uh 62=™ssL yq ޵i0 XeĎ̲CuQ<䪕kȒcY*t1RܛUUpˈ 9El6)iV:'Y5VNyN#Rk5"$ksL8 1[yI\ı?f? uh#Me"wM' 5tT{cBoZ&2 3fqثy*Zv+X2C;-xʊ^]7qPHͶ[j+h=xPKolڝe7KS{C9Y9;2aD[ rG4yޢ{:NnwmKǪP!cg&WjOsuIwzM$IPJnco7&}rf%~A0t}c8X#$NºR"fA^7߃6\z7պ$hWY" ' ʇ;=窱tMG"ģ/IEsN} [ /0:e`zy%G '/"x(;=ڭ&fvexM-, ]THHUWbϔ70?j(x}xQ][aol5 ^׌R5qgšd۷;~~xlD9^DYKk tP(@Eu- #-bۦr?%+R@/=OUju |n/uHź,~b Ö A8j2͒VR{-\&P ;ZgIzM #B`h#26 ?d<]o b5G !pTLPl)I n;K!XqmJjjrA:^MSe߷=骾ݸ"&Gcw }gKpܼu.o;6. C/'u].pfV=[_h쭊P|s:Zū"KVx5φm6We4ˉ꧝X3tPe^J36,P lHoh*Qʛ?.~`TA*wfv$doT77nwP]/J8o Y /ibk| %Pj:*SqQy_3xQ±-8pЧDQjc6Dsֳ&c!yQѱ-d]3`I)T #T.2ĕrDvJ5 _Dio eVNMx2y_7MX5;hC 纝*K|օFՓH ѩ5|{pn'ɯHQW6αX٭R DuO"%V@<F6I9=\v0<a!-9(mIh#7uk6jgmtk} >2rn ckE>pwCF`'`Lh\"RZl`$7`2Ƕ;6FFҵ ņ) 2Zj@ To[Z%&,K:bsv|zӇ8Y ]6/{)bb2 m¯8,y>̹NPbƓ2AY;;"C{g}%=> dZL(ʓj`v$&rV[;or,3]UDbqC1K>1`´&_/; FeX;T"ƥvzk`qNAD.# vrĵUZ)5{Bo-!0ˆ"HњaeJ5؁3:w%&"uvԌ)CWoo,BE_Gkk<e.p,paerQ̸ղKۮ-G/-gпftdS[Z>O"c}ii_¯پ!4ja sRGII2?ƖRX 6tE|;f/ׯ=f2U7*(8ӫFЋl!xhl{΁eI77Kg/{Zdw!W_-dqFj)7ټf=he~cq ^ abbtUcLdAC;$wWSPB)joUwTke-խË wwnV:9Xͫu+ d6'}_}UŽ|٩®Caߐn{2<ŎӃbl,cF9{Q΀"諒߿7yR켇8%#J0 b*P '_-fE4oW8P&bGax${ŒH*/5`ʦ1,紾L|#(]Hu^]0%@|] AYF5#ɹ&w!fo^x¡c]\L]@t )7!#CQ`JUxWL9-;r`WJM<\yxPƧ5lto}iFOk޽B,I625)(o5T& 8^qsx吡8a9G ^f8=3=}()N dSUV/EѮϐ͓ST}ac|!DL /9> Ro=½jzbrN"N=CiV)N694C=xr>|ʼnT('tWQ D[>]"fcN{/< RuSnj{-bZ] `L~K^SaXwww:}O̵'ksY^HO',4EP@Ic7oRnbѫab'ORz}=FrKa`j鋮u%a2b[\#t< Cw+*ɗ;f <m_("8c‘!3 WgoZO%`VLhu_B YEVT7;o@)' OmmA(J;I*!ʈ~A`Yơtڑ&@[ї\Xm&K;(b;eVSJqMz3mC啶 kk\D+ĸ"̹ yQJ>9IFD.89yGH!b{QX{55SD0:5Bڭc;sd+|dmf*`'Q7IIqb4 x#aq(b?8e_s U/0MRZN˄T( Fkѿ"`zH.7IWx7;V9&zS[̲he9!8ipж_oA8 %{$+Y6pǦrk7ߪ]/dBO-8)5S}$QܞfyjJ4Z_c=m7؄8sю7>o>jf#|#J4gJeP bX a>k5@c=lhҫ8^6I%cz2<0q.puԉb^ҊR?^ a,*7#ޠl(F{I ]iMbH;xh3uI9$`8^th |aLKFkݾx&(r2^ȆE C%<RlvFsRn%WU3|s/ _$Ub̋JrMkr"TVJ<c7,tb֫YλsԶu`VY!Q*,Bz?l8D]cxBn#ʕ5_;v5b<"'O*͞sC TigY[v D暀%Tx?f;-:b>0IH-ybW6H0L 02׶Y(? 0W0o}g"P<=^0$A4SUU4KpuEϖL8;>jd#aCt3Ib7 kUݳUi'5j_&]S5 ?\#>VG~\=QrENعpXO|:1Y;-%)?{˝K'>K.Ƒ%{ n=hp3.rbMD]Ip&]KAC߳.΄Q[UߢmU%3{E})A+kkH?1 g<7K-@> [&?)y룬Iͳs-PW'1ũMI= 74^1 zfudKwֵYlTBH~[ r v. zݩ ޛci.7 Ӷ8 "\ڦolH0"ݍgr]ˌvL5{:1\}O<{t!Zފh5rrvo>KH-4_W,ۘd*L=b:(W3`%~xpZ篽zGJ;xI314|*n\e'~;LۏFh^"JݜEŤ'mCY 9x4/푮?B;F4Xzr3;ZZNUg|hw+k*cv%a0uw<\Hff8=^ |Ж} I:ؑ6Q彌 ^Bh44+QAWh#drW_Mv1oNc߈ȇCˤו2&ژN2 U҆M IEk&̳ `0!.Bf_gsְ.4}|\$mflO¤!zm,F!?cSX2^-"'{7ߟeZdn8ՊBCu6rDD ]eDZ|+#,6ѯAYTKnm8ZsSw 55bIz NQD%^}68n/k>Y rmJko* 2SmVdR5AB ^CA[D ^6#h#wS^vyarV}]= IO$rQ?H~QFc .@uNy8zGx(nc̯w q.>g4yRE#(qxNҽ;k?弎/\,8 ҽ[mrV6{anJLyM^+)쏺GeW5 l#x=UN_pƠ)Iv{n X]&o1/&ȽDvQkLMÎ LCz)[@(TB̫oq? !R[Ι1D$#Qϲ\-L{ E+qpԕkZ{*aՙPmZ7X\( VGT.D'4[L+sfjv9imJ%ONK%RV?@ (%^Y}ݝ;Ql0ߗLq)8%pt]iI5Vp譸OU|{_w?8Z<Y-6c< [f&`VfWA#-*dO g՟H"w;jFOA\N{ 䤚F:7G4zd8hƋw֑QFI K!]ь!\t~FrkrMqgڱ\H::]!$;%- K|xyCLG]73ajDq{&6[!eB-cɢi%T8 ( ~X{ :*cw``֒d^^O-y [tעޔ?RR$YklSś-$gc=\nv԰iӓ ~#v=ы_ԒZs7=Nq>I}_f=y+bGW4UB'$<ʍD,ʉ_e?5Ym>拌@W pn5*\uY[$>;V,-.vX`vPiF a37'N fnHv{h3)2zHG*I`I_rqdVM`t%4-ѨR=f?Z.L^CP<3\ 8k DBWʽuQLyOu?*v`j x=s1+[7)d3~ NrZ,B`:{* FA >V9E=R SZ*UlqCa1zœ* ).ǕMV%*M[-J_{]4QGRGM{gBBY_~maNl6/g(iPk04iUƺMܔ0 5pr."r~֜_尼Z?lVuo?8R%e!(ssʄ::^bH͖,m/g3-VQhwCŒ]p9(?7jȍ8>Jkk:.Z\HI.q>gY-ĀǞpxWL.~]d! 2R|k^S)mFI8H 1U\.R NlyxaXNc[J!-K89ȁ:1jhDܻG{cR^Pgo/zrJ$V f'ќc#qˆúyD,p6r[*_6b/gp:D=.Ol ~(v\!n\Į^^=37YGwҔ/p6uF%OLiX:} }Mܟ0Q}\{^ ]WD>K8oy)_Qr ;Qh h@N>6>t!OpݙJw9Uk]i췯Ƨ*I{jrM}GHMBԡzخے)!IB]iL{="P*Opiߘ7pLWp+ JH"Y>)x5lQ'܄^el,z@¯o(ȨCl6 8!(taq\My7Iދk;/-ΑN_E3÷u-_7A0$jN/ɷAӻ+5\ɝ)TCumIv-L@ql0uXŪ0 \;}XH%??˔ؑ2FيZ% : 'Mh]hH/3G4:,Vvj`Y.~ЛLǬ6ܺC7Wes)>˥(l ކݺQZ?`_+Π 6t)n2xnտ$RLQ@%86**jzV=eg7>@ `Ӯm f%fBAU)*#`4܌D/:dW#C5#'v3x?;8P;BƵEЯ/,TP4)t_#b< z<ޫ35/JA={Sj_dg :Y:L-̾O*FV<`HP sI+? 1;vky\PrfJZ?M6Frƴzc+z*(/9v'L=Z|Hw؁`:$U#p+7bKҦEYp"Z~5d̗wdXq7Z=no~3z#ר7pg56>D6`^(0~s򤈒"YۢtqO?r=nr/-}d]aJ* 85{;%pΩ}yj+ٲòCg_%dŮ5 < RO/o4_ j5\^6`͵H< H]ġikjju4a-H:+]S8;HCG6Wdrlk=6[ʎղ3G̐w}~J"vo#K?@ WӪ:;s0q@_]z˔)VO:f*{?y@ۀ@ܾͧ@xQ"Y툰rnjW &ﶨ)uޖ.FOJO?3&$ oU' !7tyf%[㗇tJ„~FX8&fԙaw݆n{o+?vI6QĄ- TZq'U/Y.l>d)0rtV)gUơEIm=+.)N@41lއuFRqwdm؍zZW 4}w/F,xH fSJ[sx`,$oKϿ<(@үidDo8{Rcxwg,Yg$-m,{ jω% tVyYgq CiNٮ>}FnT2ݣ|ZHrWJp3ÏQ̡aGh5.\gLwb}2Yd6xx#Bǥ C`-f!'nNf5K-AևxA>:1dH2}1@"Y3C$$bmXLمOT|0aѐAr݉! kX;̕*o=R.5.2pM_V Ec+\[^%Qި$_a,郜Bn8X`׼ˊ5g5NOg A eAr:8Se`"'ˬz-Sҙ.2da]hw ;MJv^irew5՝c4Bdd+$]*8iPyUR3Nf [j3\eӃX.L%lT+F\yUldr..SXxG+..Y_o^7мօ vȎt& 1$%e (XZ'KH 9U?;~sEZ;'Ն G+P.WY_zYÿҹ7WFdUL->f4M6M sXc{ Y PÈ! Q .PafpL`;bl֬{OlR*;N(in_ݗ{>rhS]|dzLW"EsSìǎz>r4L$Z'w}%GW0TXNgMY#2hE398L4iq!p4ơ=qԬh,r* R7WKD--±&KPHYY, PI,gٛ[^YJd s*,xՀZ}{lX~޵db̄"KoZOnc~[a7zߊc]`-tt&?nLtİxI]1&aA Vr5dQȷzʛ,Xq;(6y椱7ِt~"KSOMw/OS[ﶮɌ{o7Q=BNRgcKZs"xxƓF#2Pw){Z ^{P; km @VGbk#|tO=wp27GlOHڋ}{w|ؒd=3 es]T=r(ڧYGr/gvQw4'v6 vgrjIdƆ\d:ws'=dZ(T#4țrCp-F4[~H(t'FVU]Iq+.k' o[fc6t?]hԡ"bhR} eDMXoDO<O9sbKLut$w&٣{r +q$%}Dmr֥)I^HKOG,1h%E0`pNP>9 ;M˻jΕVj6L*y`bGƝRuæIZ:t Rv9,fvf 7QuR9䯨i#sgԡuedWݺNaXs}Et 諨3j?~GHɩުQ̖QrF/$`%uqmM)%&=n2nr?!pBD |W^(,aRbOAl ]2gu[A6do^3d8m Y!zSVk =x̞49lLXZZbӔ9a7Qs,"4:.y7@⇇AI(a$1<A6Tc*nU ʠVzGS~EJ"(\S{e3Z<U3Q :WBž1;|'TUӞ_'%捆CyN}u֠]i,\g֩xBiUQ3}ţvO$y+#BRej9& G;4(H{ E_uX|"0f~I$ĤtT~yp ՟H["$-F0歄BB{pcf i;g&=d +FaAh۩T~PudG7D3ZX_jxh j`YL yDѰ7Rh?{?Ń{ba.w/geİաmFQf6^ g@n{ghZ00[`0Nɋ#t,d|k|pRveĎ&wqJB쐒 ^^P?ІT8u#0/ؗn箤` ij$ќjQunkmZraV%^@4t-/^c+ vNmsG߈0f!/\) n+M(9%SՉ ~ =5׎{0:KxlUwl}OllF$,NYxWĤK\ђ2w);}BJ7<݊_Zޙ?1O#Si)shfj΋ޘ*\YlpWa֩U`mKe.!`E$p'@vymkL֔k,i20Q+; HVi-a rtua5ʕO cqd)-@_nch q7ujNəY'|5qV'[&F鮫'tpf#Nb |#߬dbY)*+-!C²>V޷<#KS:0Wc0k?/)f\t+r i~9 uo1 nڥIPBYGNinPZC`?ēߖ[ĥg~#,hj# G,.yAIE͒Ń&\6V~zpÏ~ўs/ ?^g s:8XŅ&_pl\H92'VaiOziKHǼpjE_"M*w/(k:\mFw#BJf_Zõ:~D0';Bei̒?>`כL3 !4}.r>GàEAyY|KS?]Q ާ]4:{Em ʉ?ь ]fܒ+*#س\ɬҳb~ p}ںS ۆm\ainedAYA\Z$FR1봁SS%vIcY/(z[hx21J.| {!LxϏ%j {I~)>d`c9H%LLxkkvc UJz5mՐ{ -G|+EY/l)]px=!Ւɻ&jjn6@(ل|Lr_KzU1 2FVԡgRxXQrG tohTS%(lܚf"cGJjOFa û=CyJ!x]ʭ/|S2\GQ3plrZHVfɃ- kð0٨jJm^`ڎe>A ck /%^䖈qPF-hG$m҄9;wq-+T) RL¸~} W G4E|OÓ괪jhv!Z׎u8p-a:͆VGAՊ N F01udY)=#WMتo0 0(WvHc2;+ aG Tsas~{#ζOH- 'UtvbP*Nr/zGĬwmȥTzNrp57G64si0M֮Ng:nS{qdoAW Ίu/ Je.2N?rZ9ߦ/#?sk@mZ,'5KLZYҫz`CQἮ>A'FZۻW" P *󭥕ð5sUgS&!2ZwצrS[ƃX=!+2i0jhM[@{yeueMkQ}b8!*ttiVԥ_C3:nquq%3fah 9pa-J-2zD i [2]kǑA~a>櫴Q5?[Cxw7 ]AXAab|yIV&--UBcx$ ҅N֧ȅJOMn5R[bP5 ;D$M1։OP29.K]٨97iLv+a;P75_xXiKΕV,5uJҊ5PfTv畇_]>Mm4 ;L6+$-Jԅ34\lX㘖x>6 صbi[447,qtafHS; rhWR| V\"l鐗 -<5ԟs%^WX44 ~G8OvozYڅ™ l2IYBmQצr艼qjI)>IŲў;PoI@[~^rPAb5t`X8xfm|qɋ m N[GGre(rΆ7I7#7Uhq'gX$]Z9u։ːG=W W%PSC=H5HV{Ɉ'-nG/H-L8" xdM0'p3 B@@/w{t qݷ'XƟLOs~"r~:_ڣᅖtC~؏̛|o끧{>'9(KإBs Vݡz"Y.nMlD fٜˡQ^u+z1E\[|QjrIQVP" 7ݖK*oդ36ZAOY]hGSSb\w6n!Ȏ4/q|ڳ騋IG= 'ޖw#y@&oz;lЍ$ZN?PޖH"*?(Hj)*TB&[VMJqQI,H T!!Cj>A<6a݂UL`AQg`jatx l d׻imPipYXRI,WOz ,."t9 ^RcϽ- FOs#U|bቹy(d7S>p{0۽Б>x^kc^ C-)gbZjBLA +/ʶK٪~K+r&>ZtQI'Xz1rN%N+qᠱ'O_~[ՠy?@)uL1wR'V;#PDCu.c=FKt#0oᥲ$:&]glP{Q2SZx)tCDZROjz&H%߼lIx%ږlDf[RSmBnd+=F!'bYaQ'dsL˰Id)Gĉ$U=׏BTV)|<ƌp"2o[ !< Ced}1 7Olv W#.(d\wtgtP3Zq5N`tAt1f斡r'2BR7Cmgn|cKF?qf`[!A=EeZXT22ҕ At+1ԣb(+ku&rǩVFD-^:ƟvP榤~~])ڃq]G$CY4,d =A1BGi M\Oq35 vn ;+'RۧկaFWX[]`{XW ii(.i/LOطUofHMP G`$2P涯.u.fS S$F1h=IP C XʻRь} &}(wsQӄdTnPo_^U}ٶוûԤl!2*:tnP?Sd(G6՚r~woFiX1(kG5JG܍74Cpì_%Wc+9>4|)68@(akZSNuL?bFb9#1AB.TpxL |el"x] At .YQ0)!namTI@|vNik@I[S*|5Dp2Y"K.Guy@>\r;2/9F0Gp( 8JuƓH_c &'%;dhdx+yG>iD)nf1])Ɦw$Jڼo"׈[Y슣JβT@e!QH{$# #"ѴSj UW咙 cսu+`s"rhKi]ui5lV>ik\"~\ x 65ta[irO7-@m7)F7XC8ȥ̲oW>?8Q"NⶬlT-'2,mLx7a>cc9hd9r~s֍ߘx6tdF^Y}BPJeQ &pthGtDI=ѹvR|+:7펛2!N #GQv`mrF,k9^[۸4X &Iz7t%}!/cv>3,>5Ġ%D@BTiάY 6!Fb=`Oޅ9y+!ځBi,ns;oAi5 ]_] \#jy)%-"ҔnF\sYU*[y|lC oTVB-R!RھYQY3s C Pփ9{_;FC%TzHTB7I%ǓxI,Ƙz۵UbvY<ҕ Vv2Z\ fs090Ѱۣl[3L477ɣn@XWm#>.H9a3h[U\dAUFvGNftL8Im" 'q^`uHQʑLaLt8fˊ |[J ϣM#:p< M~."lyr>Hx (DP[U= b.D%#EEw(>`s?=LqB􈦽C\A'DAjoK,A0݄3'}޺/g=0F&S.ɠl&O=H{"Z~`=$s9:78lTIThF!WGPH||p:a6QhBq#Ҷ/W *4Gw&AqiKu'V4-,[*;n6ؖ\ZNjS) ;g's>Լ6>+EB( ,E&%]Z:oY>98A]ܯ!' 0Bl 82!fu›3@J֙ZEᦃ4zUR }lǚDž@U*fUĥ{ۼL@/ifYunp&[BGsc' ׼IF>͑߅֢LH`cbug/6q ycHy\\"BlwԨH6m̿\Vo9Z!Skm< eKOzJ?)ڇÜGO5 K } i#<|͌p}TƩe&'k߆1)w?|B:dMK1fhz­xN+<\auLi1ddLJن3B$A <CP`2rX EWCSRי)$NF=r)m{tG5&^'US">}?/eYո!QʞElnDd5y ؅+8oXA1rJT3u 3j-L:?N[^oyb~7+Hڣ7@7pyQ8 fBpх qna%elR !`?$E`=4;aՈ” |W Gp'B`A*&L >{)46 |_TQ;$c L%1yYX%s«"i=[گ>y ʛ_nHAz A˻ЦCFdQG K#&߄]c(2s0E/c^ pk+,&1Ԗ% b0.Rlِ,I|כf8\~z:n&i]d 鳝7&|ptfsץ# rYJ@.΢oQ Wi&y+Ѱ@:lM|Au+\5%|=Dw cጧ޾IZBoքºGQ^?ǐ͓-0; kmxyvm"&PI%+S Iէ1vftY)!M YW`~׺^+1"Ӂ0gҏ龡?TS[b;"9h {1K{=R@^~zkjJc/'لMDMi!$Ǖ#Ά):%%rΞq qK@"TGt|T/ p7db=BT\ۆ[Kkgw:F\^¡R.Dt&)든繖]`ᘜ$!8ف!c}k[yӶ^QB)8$go7)* ڧ.=<߲xohm}2[7h9c!Z|Oѻ4>[ w=BJa5$5yHnrbL&FJmCpҚZ3[@>9? q{? ϭ6xv+ MgjgV08<^;lW#Y9aˆx_}I:#*Di_i?_Ȋy8׉ vyJY" uhK(#s))]=VP]̞7|LXztzt!bwAM)&@sE:C+/1 )L0[; EF7.lzݟX.GAԞ* az5\`]m9 LB^?OK|3WPrp͌'8l=`Cǹ̌E9/1 +JCyQy kT¸&kMzt/]!j_mH׏ڄ͸5oR+;.BR A#:QS`ļQ~@>GD#0ETC?L@<{A~#P4Ն8"t#>>DbHl*F64Q NBOQ5d@*zc" N.V<5i)tO@!4sZ;N6!^`IA &ηhn yY>![L .!m8gYmQ*av{f%!M44,Ăr|)OSGX(3@ aM8B b!gbr m'f '.[nY9 q& "CH !A : ;,r)y` h ӫQӲ("βzgN1::u4~FV}P+U ù(8:MRMN@Q톩Vj,φ%wz4XibY:ꔷFf#ӌ_e=&|i Q]B[$sMU *ԋmՂL^oHs&I:jTL{x a~ po2h`!sGuӞx+F |foBggaĪQ.Аө_g#ŰZ |s&/o!؅ǶoT6dbGw\1q›& KEFΦ& cGa\҇fj7?wHAMYUף MLӬ2bO4@FZ]ϗ!PF =zZ9ׄ }akʧ7F9? b@;I;㖒1k jK|_&0 MbzP$WKyr>X!>6ݝpF@AМZb#{ϊ(0*&ڰRx%XZMl9#0>jKuTKn~ȳd!wk{.$P"2yە .+V>Jx+,&arw N1I >|d~~%܍`{mʰ+ёuJJ @HF-- Ngw,lZ}YIFI+q&1EDžj{;+ BnuD gzcǁ⮋iZyo8L-҈)%.#6NY@K2JMq^TnseLo`wX^{]j7<'cڪ"5UFh {X`3!MhʲyU3+irNnVS)@1.4g؆29]4n fdL8|)Q\>ߙl"GWj3Fa 8)B4NHCecG1 HSMÓw,Fw@5R~>0Or.M5m#BYwcRUz2$g6 PuH>`ai)qD]4gQl* 2Ær2±Ui*Z«o&bVJzZlCP?#nDi&mopL9#B?%N~aρ$ˆC jS9t]:sHfS;`n(t9ἵy-2k;iiHA^l&{W Cu01-tZ@`/5ff@/ÃFXy%VItKv4ܯ/RqȄ=倳(t6O(JǡXtI u2q'G:jqPss>zPTۛ3+2N$V -~ b*.ńsadžrg`(Ʀ6 ??rWD)'73,-3Yd3kqvk$,<nwsRrϩ%SE!`(3ڳe?} t2L.|M0BuGch($f>|Aʀÿ*a#5S3W[池&dVz`q5" 6AR˨G™$=Ay .vOhQw2[$LS5 fEPKo7'\>ĭr:Hfyc)icJӜ2,8rQH-Ï-w'XPiJi]L}&]iHdF!() ӆ{F\RXBaQ]i_so'rfQu n @ 9)S;ՔD[T+p +;ՏüaQ@gYY4v lCvo@Ecicd9Ѡ &*Q$rNoNe{~`1!} uEc8q ]K! e8Un NE@ -DyFDLR1οiR" p+V ODEDq3W^;Mv򻈜]T[>}ɡL΂gD*Ց7 C}O@JH=ޢP&@h2WaC $\nn3?Oi\ffH -77B` _51,K#8 Ӹ&P=u7;>37uP< Wer[DV *91tI`=' V] Ąp5u7)ڪuq*q5U?s@TKԼ;.J3N\5lkDD~6UJ^wzid.w&aF"׹hvTzLr*O,ݮm$gWqI9 2[.!8;  S w<-x}Icֱ߾PH/o/( ty?GT$ 8${3>jK35 )God֋'Q]I3El*]~ZnղRH<丮oE Zlѣ0~iI(;W F=~tױ=M:C%! PÏ3]aV7ER:_a4kYˋdEgņ1"jNRg9Ts͗-DXĦ' zj}I?9Hk"V)r?| W8yġ9{̾pkſfr$Wj#VlF?B8ڷZm{.>$&i޷ЛjMnc_B *9n14IЄp8=/ ܳkۧ6j&,Ǻ7~V8~_=Ja#TiecH{(g<ī?^D1@+Tdx_!k ό^RS ^jky] #IP{-aU>UĠ \8N"/վQsjVj?-fH썀wVR4 . f켂9ᢩ<{ܫ 㬠sV3kճBE~kk0^H.y#pz `q+F`~1wfPo. +w߇s̿L,߻}䱰}V!\[t~f `!HmY` lrN q@F7%ۥXZX+55qy8 xu!~& ۰Y!O[GuvR4,+G}Owy "JIknwvRI@!$ƹѲrPo%B  ӃA\(e"`:0?x,K7p@Z˙ߵ0G}R5,lo/\%h*b* kԞg޲Yk1vYվ@항vyY.KM@Օ*V韄ט{\{3\"%فdp=pvbďR&xoNB`o95֢ Ll{Ec_G#u[T,QCWIpCkoqT@C%h d5iͪUQ0'{1D!H*3c޿6y}p$"1 Iek9r`1K9{M'X<0PzbQVyMTAf9k]z7l@=2{˫׽%[l1VA"-Tw0 o}ͨԛi1~/zzENrzo}PrUSyj#"y;d}FRp;D X βh(RIM/x}/.q8h,O M`NXfʂ^dK|Ŭ"Jt? ~JjClf_2ͿVg`: %]" TY <_R+ yGtRdv~GCDupܻٿ"f0}ݽJ!@0}5QHJ Z;4JvO1R1\T(2bLIjbJ: @( g[icD+ZeRx -=H c?cկ3ٙ9v;«5{]}[(R_8߂k7=KhϷsӵe}VCzFĔZm܃]؋v괗ѝ}4w놸 )2]QeJ}gC&tm+yhMgd,;`dIܚ}W,X|Rɺq Z]4|l٧9SA#֊AGkl]Dc-k.*7%v7gf7u]${|uffY<la^#&$uC<(HtVF$[|zBmoh~\l0Pf{B08#Qd!+v ތTxOk{"| ?8l&Ꮅ:sQbR9zE'Ժ [:*U^*goxJYj"gnP pQ& U Ԙ ks๦M J"=Or0)*{%ȢC' }Paf-A`J:gfL E7e D̻S`!B'3D ˣV2nˁ`_H㰘f253( Y3q\㎊啪Hˡ~qfR>f;V(i;fJ~> {GCgN?X{ȫ+mW/I E:.ŵMysV\o,/9}&Yd rxS2f<obX}IFld/U_68qz.f*qi65Kzh,aѶLDb)g\67c]g5PK3ȯƖ+^=aǮ] O,~]TEs!K gW5H]V@fbj!Gdv[RБOe9ݪ9jG!c`8]9[Rl/Ĵ1C{rg٢y6Sm UT%"#,bnE3$"yc5c/ÃIp;o_"w,q! &_㟅 *3L5Iad7IȀuzH災%#@} 'HmDra$XRSzh/( 9εS,%5ɡ>+^,{_lj/HP_ l( u0t86)z?`|"Z ِYYcW=2jeyt[=3Obg W;&2 ͢"#h6ZOF 8M8!!iаiݧ,wa1'2G!Q[xOSPΡ~Pa**i_acI%ŌvOqv&RaAw//DfnZ}Jy 2T\˲Y2,zTAr󞊉9B $vڍXќ U:! ڹܝ41Mt59_RKiL;{G#. eT)6HXtezo־5|=dnvl'؉(>zTq/M`cRĂO gm}w[ȡteg>%I %C7="nߡ 6я9:ڡFw:Ipy4<cPvi1\YݗkvݮQgm4k\b4:&f.^ &Ib'kJz*t^ 5 oEZɛ)=[u=䣈Wn!F NJ y^u?huLLMtyޔ,jXİM>Z9GhoߏuPH_Xw:G%8c^Ճw-3Jv=S|aZ,GՄSx!uF}iÆޝd$۰(߹J#bTOlC]3c~4N׌dDsr#_ :іnvxSiycY⺤U鱟q rŧ,y4JK`>a]Wm}Iy {^A gIRkGE0sB$96!c_DoK9zkMm@hxԛ}4?%v?B+B_;q1ӹ!:ez-pQCcg4l/C+=׵J1 K{m$\,͈?! 1]n +gOGnJq_E|5>{dr?X?`/KDi!0;6P'ɫԐ6u_E') iX ۺ3!denPgi "yޜ VdAxŒOt5:#dr$U˜p=kOc]T?D:oD|{#R6,ke\ 6tIJGK]Ѫĩs33k{ɒ{Zŭ+4C ٢]s Jjۢ%8B%8u.lm ;Cb+a/:JkuhA\J8bk9&uѷ-X m$z xD鑉2򲄖: "o?dNU\;qG9-`V1T]m2/2D]3U\.(zsvzx>ï1_S )۰+ -GH+ݐSN;رݪ?d}m?]k=Ϥ!]yWd*ORte_V$?:5JSY,q|iT̄B~#N +oWB)pVYݙHʈ-ᣃ霞%^ծf@[ L}(6nQM:` %˘Ncv87L h_#)'$*Hy8rlWLT\z RYWX]c0umNYq`0fnrp`/4)VFLBJU$AQ92} НZRH1p"4ψ4 s)I =^F;P&o 3Ez[P3z,<n =Ŵsݟ]$t?gȥei5$)S{#ς6(v,1tiFb\vC.?, 4uTj Wy7`] <-&98L0/^?0! ۖW` ?sU֌Uu+=9Ji +%pzZ"8k"O8 [mS)uB L&qR"]Z1̠ze y𘈟Μ6ˡAZl ^ y˗1|L7^"V/})";sج434]c/ͳ0Giio"{Ǒ٩ů<#N8g ӏ\OVE3(UϖހqP.~;̆~GY$V[c$"cn C\бwĨQ d/谄78d̦@xRl JCyf!QҒ6Rtd$rJjxg@󆞘]؞蓀~%߫(ΣW37@t2ԋoW[ZǞ/+ I(cl=;9 H_ -O㛀q1!ܘb \z=)#o ec-l~F}}Jaj ^?qPѫA,\a-F3sKg7~NO<qtBNˊ^`F_Z/ο4ܤ,Z}gx[OnPfN5oD͛^nf7焲5 lN@zSΨ!ed:n5XnKgM-ĴfSqv:HwY#7Tx\-ÑQFǝ{~:F-!uZ\Ojl$أ) ^+0kP}iML8k nuLM0' AOCX2DĒRM*H'rVhI%Д +r_`.QW/ZyBu+~LEȏ,CaJHD~9=Tgk*5YDJ29dfN2%_Wm,*s>7Oqu)jw"NzN脺@+\ɉ8l-E{ʡ[ۦDl!{_VguH}x 6v TbZX|?w<b(3;=Er ZlGZϔYP@崢n"擈l#c%iNAq3H߹v$6S# MmFlUkD1AmR~G&jv]fXM Q5s2jN{yI#3acΜ˹p8'_ vGJ[^pbi!}L7FQa!Q([ _r{uϻd (Þ= (Goe$- D\Jk}l:etV[,F)=b͖ $bFy>'H.gmj\˩Bڴ_JW$ܡ%tnT"d^!raAuDDc% x4 mU&3p,!`V+K* e!j`_q\l9o9#DÜ {$oQ 2wU|KB0DGI5_-4vg0}P{䤌i72 :f嘸Rt-:B޽H")饺DU-*+V\1WzHR5 ã^Qϔ]@m,śH1BL:ƴw7ʭ>w}One;Z4%RyŸ&a,+5PPMjO4/=H_un<͌ y̴a4X Kt|14QQd{(G(]ӥt=DxW|aS?Q4D*F=+!)-U3wh%cVhݤgL2(AɌmȑȋ2 MۅM ^pn7vba7ls潾ަJMmG*ql-"zM8TĢRe]6_oe^O-v'3ׂTFWgtyDBPnSjzؐe+ʮ=<Y uZ2r\;Y0An5DW|jH:/.)1;=Bwo:3魋QhDh9BS/)?;@_OY1==gBɢ7%ŤBQ:޿_ +x J _3\pUl+ECzW" EqW;8rFp/%ȫY1Lt4y_MW+S3Ac7TAl<"a@_{|.;Jm2DZ>}*C,}sL?Nux٭;^VH#Kڸ7ܘjN.;M9|DGoA]?.E߼IV a|V$YX.= ;Щ0"r"Kמ@!&~FyOsЬI{͈ @" `j`}Zf:)+ f;΅2#߈r_n܏  hKe_)M$ Tøt5Ɯ]ek}/FDw"G5FT 61'Fi@Q19ZL{`bO"IźYB#L:e!8Djdc@  ~ύb.yGwVG2v b9AɩMDL Z ɳd"p_8 (F/bZDϙh%8 mAۅ#gbFa um e:9Kve~ٮGkgsen̊@裴x\; QoX2!zh4,Uq %E@}o3ls┎x+nqRbo@h"aZ:Y>9##2LU!rWYھ1aÐ^I)&{t%i:G<~wqI3AoߥL)U}7V9/ JC8KL ꣪(rcpe#}ⰨM1AEY~0:mVz(}Bޭ{Hy)K;Sa+Bթ;wa QmuPˬa7'wOE-Xjlm5g'Yk-%zڷР#4S cd~30"xuwTFq}\dt .Tnklਵlg:!iFjt׀*IQaں]F((@;q߯~ѭ\ZcΑmU.KGC!<I lr=`|`I5e.SL%6C,4E=YVPl,72)NF)'‹Wfi dl~T$- \1_>7:d QҟnD7Z|n@L1eT`>,eM^޺5"rIJ4R#$7 Tܮ֠s`l@֥Q}6yrmw,f`{MH2&7TįeZ;@1m]~ɺw~f&z9-srڙ̛Ùo +ժ-%_xbح AⲫW@k<1(<˫{ۘL$;KLO҄+T@Qro,{9<δVL&RP8)2]t&;W"jB[R:,h֟%`kژr J=^qڡ!y)vCZM |]C0dI^+ݮ +OpRab vcx-{8TR"q&/qfqJyj GnX靫n/XBG>2q=XO;F*)֙a1vKLHWa~kpuXHߍp( h %9zn \M ·/@;]Lw8l0NLy;|v $1G##U`0[f,*V.-9qHज[Sf.E׳<NEz1f~de:S [SRB ˾כ"3l9AD wq᭕`שfر1U,`qtKH;r DžVj|{bD/b%.J& ]W{"53Yjғ~O]?pV͖XZb!;+{pH*4=85t3df^V޵ùea&5kqϬ/^7/ ^09Ѱ݆gZxEUBVg9CQ8Yo AdvC:X]/+%)L6cj'Bl븶`xVLEQ1ӵ9s#vޤ&'9NJ3E? x˙QS_2 l1J8ybDwGm0CBiq]Iv5ALykB`QdH 1(6C_D,^nKLEf7fe3U@4*$$; vG}E)ط7ÝFnq&H.4XQzK'T91,H(qZF?R?.Gp /C5pabEa3ےހ A @Sڡ69,%2B .:題8FrQ 7{daiVl-Z#q1޿nVV0*S G*N&0 p쏅O[x4W_Jq *#ѫo+"R|$j4!lN_ >O?34&Ϥ ~FHjك߫B!+p-^08Kokj%jJxMOӭM3ц'Zn%[D7]`V$,?/MU]oB?I [eҡQdC! j(罋3%YHpn|`43@3Ba9+$`ȃNI|B:֒u\괤t}3JDY)`yl+'ЀBmM_u+DC8QVag).'ͼU8?߭P噊viNA2=G+<[w' u5! 2ApP^]- PO!¾K?5tyɄy5@&Rr4oD;S9Rs-*>=Sx~o1?i ?kLx7Q-T 5="5]H!Υ ȵX-+nl[m5~pF,qN6)ǷVo X,'CbqQ8dkU(VSGE:/6GMvx8O<> 4fkL|̑zO,b ̓ o=ͺ Du; yկ-0?{|I`Ė.¢Xs_8:N'Se:w"[p6g N0F{;ħ w0`-tSVXm|2Li^"~JvVqd|ARN[l5W ΎL4-/uXşdM?A(>[fYb# NaQ4O"=-4F|r YZ