nfs-ganesha-3.2+git0.8d07e25a7-bp153.1.23 >  A `f!M@eeeKpj~y[Oy"+~s=ۀs" / >k {Cm_zlraga,NKEx,}KO^Yܝw&K Wn{ uf`e^Hrbn&E?'-6s2Ֆ^ώ6f# Qa 10^TaETRz0tQMZYڅ;>59\8 '=Q , !T^6| LoȠp%|aR s3 錫|`sMDlH'p_"jyA,6) IWd1AsP>pIs?sd! , PX\lp #)1U ++ + D+ + [+ +4+ + !+!!"\#($18$8A9%<A:+A=gk>gs?g{@gFgGg+HhP+Ih+Xi(Yi4\i+]j<+^lbncndo#eo(fo+lo-uo@+vowq+xrh+yszs0s@sDsLsPsTsZsCnfs-ganesha3.2+git0.8d07e25a7bp153.1.23An NFS server running in user spaceNFS-Ganesha is an NFS server running in userspace. It comes with various back-end modules (called File System Abstraction Layers - FSALs) for different file systems and name-spaces (notably the Ceph "file" and "object" back-ends - CephFS and RGW, respectively).`fobs-power9-06W|SUSE Linux Enterprise 15 SP3openSUSELGPL-3.0-or-later AND GPL-3.0-or-laterhttps://bugs.opensuse.orgProductivity/Networking/NFShttps://github.com/nfs-ganesha/nfs-ganesha/wikilinuxppc64le if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in nfs-ganesha.service nfs-ganesha-lock.service nfs-ganesha-config.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi getent group ganesha > /dev/null || groupadd -r ganesha getent passwd ganesha > /dev/null || useradd -r -g ganesha -d /var/run/ganesha -s /sbin/nologin -c "NFS-Ganesha Daemon" ganesha exit 0 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in nfs-ganesha.service nfs-ganesha-lock.service nfs-ganesha-config.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi PNAME=ganesha SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi pgrep dbus-daemon >/dev/null 2>&1 && killall -SIGHUP dbus-daemon >/dev/null 2>&1 || : test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable nfs-ganesha-lock.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop nfs-ganesha-lock.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in nfs-ganesha-lock.service ; do sysv_service="${service%.*}" rm "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart nfs-ganesha-lock.service ) || : fi fi &r#(5WSIbHR" &A6xr03-k%4 XA큤A$$$AA큤A큤A`f`f`f`f`f`f`f`f`f`f`f`f`f`f]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<]<`f`f`f`f`f`f`fa0ae4c2156edb328987be04e689b994dfc05258dd33aad7338c64674ec8dd0b573b3ba2287d9cab3c09dd2f78e8d72134a9008d3c09bac28551e3a8ee3ea2013be66e154562cba1b49b6e005382160828e9b6e08f6c16da08c5c11043e015d682e3b6cf504b89a00572a37201138af860a88dbef1e050823eac97d1893dd7350c22312852d66aae9a88b45977a4f04e032014ed036d2a54791f389f7cb9d7dcb085176a87bbdc404c35b3a484dc3914c3e0c2ca158632e851fde6785ac59e36d05f7e9b687b4d85ee950e59d16668482ba96f62bdadb05c7701b1a2db0282191eb60b010968b0b668c799c39624079dad9cdd687a56c7e749d54a68fc20cd71cda7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768f251c62a842a033bc1bc40cd8089ab330202b45adcb279c4675afca4aae7a798de030709da56f6a4fe204614a7e7e8f21f42ec45033e9b8192887c1ae9c0f298a248c78622f1233e9dfc2ab60122da51c14efcafa6f905a6ff7fcde9fd842ba021901d1f161002f731717fa926c1959370d5fa5deeecf1cb295ecccede569d03677ea319a23867d4e05d63d80a94cac161beb818af9a82f39fa660d6ed71297f73b3ba2287d9cab3c09dd2f78e8d72134a9008d3c09bac28551e3a8ee3ea2013da070ff9cc7f5975dbfa63dc1b5dec7d01d8a33663aa0b7e9ea639af127f23b70bb96599359d4ecf9231e1b450d0fce1e142ed7a853f075620bfc1d1e1f64b3ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85591a08a00a9d36194b1bf5dbbb76b0bfde327828b95ee3e26ebe59ec0d610f079f84c39e29cc8fb5c05c74d5095bb9a8d42148fbb4ff8a5d20a9bd3898cb0595309f062ff20e7e92da04eaf50038e5fa3c88b23a0a68e3168b3b36308ed3f84772f5d1055665b2979b5b9107e80276f9019495ed448a3f728c819c8aa00c89aaadbb084a2b12253de727721e8d17c7cc8d0becb3f64d020ade4ebac057340f713be66e154562cba1b49b6e005382160828e9b6e08f6c16da08c5c11043e015d686b3aad8fc4e780ee032cdd4f1efe66fb4f69d72ebeafa1b46a84077654cf6239e1da0733ef40c545c85c3f1f31fab01d9743715d23c9d345e08f0d33a25edbfc748a8e085623d94316c464464ed728d324483e6e243ee6e861d00bf48f32cf52664c45fb11265f39739429561787db9bba654a5d8dedc145761394808a899dfaa7f95e122b43f75fa006c8c0fbd755b4dd1a7c155067c11f9ad733a6cb1b883c2cb789b374d7e9f91f123e22cd4c3af6d86f07d00d53e4ebbe45709c257d5e103e4a08a65a579f57b5c40856e10fdac8cf43108258883f7d62d65c59af2d8426253df0daa5c38be4817c9962d32d5cf879668f186893059c6179aa98935bb3b95f2392af2fb955dde43445ecb011e718aebc585cbc1ef8aa53c7e950a300a22979b6868e5d33f2dc91acb1bc53a7fde9e38a13edd0a201fd5cec0113c922ff4c25419eb115bed57b863c8ba75d2cf89e257dfb409b109fb633c12e1540cb020d28a1186e3ee08c588142bd6a565a3b7934c3fef3c360d49612c2ab26c538be36888f27e7e1331fe12d0e18aa4e3c32d5d1650bb44ea0798c8f8a1f461c29597frootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootganesharootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootganeshanfs-ganesha-3.2+git0.8d07e25a7-bp153.1.23.src.rpmconfig(nfs-ganesha)nfs-ganeshanfs-ganesha(ppc-64) @ @@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(nfs-ganesha)coreutilsdbus-1diffutilsfillupgreplibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.28)(64bit)libganesha_nfsd.so.3.2()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)nfs-utilsprocpsrpcbindrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.2+git0.8d07e25a7-bp153.1.233.0.4-14.6.0-14.0-15.2-14.14.1^0^Nt^^^,^,]f@]7@]@]߶]@]Ik\\@\@\@\@\7\v{\o@\f\eX@\b@\b@[@[_Z@ZqZhu@Z7Z[@YYKY@Y^&@YMY:Y5GY5GY$$@Y@X-Xx@X$a@X$a@X$a@X$a@X$a@X#W֘W@WW@W@W@W@W@W@W@W@W@W@W@W@W@W@Martin Liška Anthony Iliopoulos Denis Kondratenko dkondratenko@suse.comDavid Disseldorp Martin Liška dkondratenko@suse.comdkondratenko@suse.comdkondratenko@suse.comDenis Kondratenko Denis Kondratenko Stefan Brüns Nathan Cutler Nathan Cutler Jan Engelhardt ncutler@suse.comncutler@suse.comBernhard Wiedemann ncutler@suse.comJan Engelhardt ncutler@suse.comncutler@suse.comrdias@suse.comsupriti.singh@suse.comsupriti.singh@suse.comsupriti.singh@suse.comsupriti.singh@suse.comastieger@suse.comsupriti.singh@suse.comholgi@suse.comsupriti.singh@suse.comncutler@suse.comsupriti.singh@suse.comsupriti.singh@suse.comsupriti.singh@suse.comsupriti.singh@suse.comricardo.dias@suse.comricardo.dias@suse.comsupriti.singh@suse.comalekshmanan@suse.comsupriti.singh@suse.comsupriti.singh@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.com- Add -fcommon in order to fix boo#1164548.- Backported patch that fixes compilation errors with xfsprogs >= v5.3.0 * added fix-compilation-errors-on-xfs-ioctl-syscall-structs.patch- Rename systemd cofig file for nfs-ganesha service to support upstream service configuration script- Update to version 3.2+git0.8d07e25a7: * V3.2 * Move async callback to svc_req and give it its own wpe * Crash under duplicate request "being processed" * nfs3_FhandleToExportId returns an int (not a short) * Stats for all ops by a client - Update spec to support 3.2 and remove Obsoletes- Drop -DCMAKE_BUILD_TYPE=Release in favour of %cmake macro default.- Use %cmake macros for build in order to respect $optflags.- Update to version 3.1+git0.4de09d665: * V3.1 * Pullup ntirpc to 3.1- Update to version 3.0.3+git0.0c2a4da66: * V3.0.3 * NFS uio setup calloc size incorrect * cmake: Add support for Open Build Server + remove sle_build_detect.patch as changes upstreamed * RADOS - Log a message when requested backend isn't available * Handle RPCSEC_GSS negotiation or wrong cred messages * Protocol: add config option to force utf8 string scan * Clean up UTF-8 checking in preparation for config option- Update to version V3.0.2+git0.eae6d6d35: * V3.0.2 * ganesha_stats option rename * cmake: LizardFS doesn't need to be a STRICT_PACKAGE * Add fsal_test_access to exported symbols. * doc: utf8 characters in ganesha-config.rsh * V3.0.1 * Adding trace in FSAL_GLUSTER * call set_current_entry only after checking state_lock * avoid mem leak * Avoid twice free.- Changing service file to build from upstream git - Adding patch to correctly detect SLE during the build * added sle_build_detect.patch - removing add-missing-CheckSymbolExists-include.patch * already in sources- Update nfs-ganesha to V3.0 + libntirpc + Use non-blocking writes when we send RPC responses or make RPC callbacks + Continued improvements of readdir cache + Use of gss_iov for GSS integrity and privacy encode and decode to save buffer copies. + Change xdr encode of attributes to work from struct attrlist and other changes to save a data copy when returning attributes for NFS v3. + Implement xdr_putbuffs to save buffer copies for READ and READDIR responses which also has the benefit of more completely filling the maximum READDIR response size for fewer READDIR roundtrips to read a large directory. + Add LizardFS FSAL + Completed audit of string buffer handling (strncpy, snprintf and such) to prevent overflows. Also make utf8str always NUL terminated including on XDR decode. + Make python scripts compatible with Python 3 + Python script enhancements and cleanup + Enhancements to stats collection + Numerous Coverity issues fixed as well as other bug fixes - remove CMake patch, as it is already in V3.0- Fix build with CMake 3.15.1, https://github.com/nfs-ganesha/nfs-ganesha/issues/454 + add-missing-CheckSymbolExists-include.patch- Version 2.8.dev.29+git.1557746732.251ace12d: + FSAL_CEPH: fix length calculation in reclaim_reset (bsc#1134302)- Version 2.8.dev.29+git.1557398426.e91b5c34d: + FSAL_CEPH: use a unique uuid string per export (bsc#1134302) + Note to reviewer: compared to 2.8.dev.16, this version drops the "nfs-ganesha-devel" subpackage (replaced by libntirpc-devel)- spec: + Reduce scriptlets' hard dependency on systemd + Add missing Requires from devel->library- spec: split off NTIRPC and NFSD shared libraries into subpackages- Version 2.8.dev.27+git.1554731117.4db414992: + FSAL_CEPH: don't abort the connection if we're deleting the export https://github.com/nfs-ganesha/nfs-ganesha/commit/0d62e92920730972351ab897e1ff2ed2f39fbf54 + spec: * drop install command for ganesha-rados-grace as it is now installed by cmake * build: ganesha_nfsd as a DSO, i.e. libganesha_nfsd.so * build in UTF-8 environment- Do a Release build to not include build host name (boo#1084909)- Version 2.8.dev.16+git.1550844464.79f319b6b: + spec, cmake: fix packaging of config_samples directory- spec: update RPM groups and descriptions- spec: + drop with_systemd macro and rip out non-systemd conditional blocks + use %_docdir instead of %_defaultdocdir and list documentation files explicitly + stop building nfs-ganesha-utils (no longer needed; requires Python 2) + use "BuildRequires: distribution-release" to avoid exposure to rebuilds triggered by sles-release and openSUSE-release (credits to dimstar for this improvement) + drop "BuildRequires: systemd" for SUSE, since this is already covered by pkgconfig(systemd) (credits to dimstar for this improvement)- spec: + use less obnoxious "NFS-Ganesha" form of software name + use less acronyms in the descriptions (Reviewer note: the only FSALs actually built are the ones for Ceph (CephFS and RGW) and XFS, so we don't care about the others) + fix the Group lines- Version 2.8.dev.16 + spec: add liburcu-devel build dependency - from upstream commit message: cmake: always build in liburcu There is some infrastructure in liburcu for handling things locklessly that could be of great use to ganesha. That library is available on both Linux and FreeBSD, so there should be no reason we can't use it with ganesha. Change cmake to always search for liburcu and fail to configure if it isn't present.- Version 2.7.1 + Spec file: fix ganesha-rados package installation- Version 2.7.1 + Upgrade to ntirpc version 1.7.1 + FSAL_CEPH: open file as root for COMMIT purposes + FSAL_CEPH: add an fallocate operation + FSAL_CEPH: enable the readdir_plus boolean + FSAL_CEPH: use ceph_ll_sync_inode to handle COMMIT call when available + FSAL_CEPH: abort the connection before shutdown if server will be restarting + FSAL_CEPH: rename onto non+empty directory should return NFS4ERR_EXIST + RADOS_URLS: enable them by default + RADOS_URLS: permit pool and object names containing '.' + FSAL_RGW: support directory object as an export + Doc: Man page for ganesha+rados+tool and ganesha+cluster+design + CMake: Add support to build with libasan + specfile: Allow packagers to remove dependency on rpcbind + specfile: move ganesha+raods+grace into a separate package + Async/vector API for read and write + Improvments in RecoveryBackend support + Code cleanup and refactoring + SAL: don't revoke delegations on export release + NLM_Share code fixes + gtest support + nfsd: handle rpcbind registration errors more gracefully + Avoid ABBA kind deadlock while IP release in grace period + Use temporary fd instead of global fd for getattr/setattr/LOCKT + Flex layout: Encode ff_layout4 and ff_device_addr4 + ganesha_stats: event log for statistics activity + FSAL_MDCACHE: always lookup newname from uncached + Disallow client to create dirents with an empty name + Coverity fixes + Fix default config IPv6 connections + Log improvments- Version 2.6.1 + Spec file: use ntirpc version 1.6.2 + Avoid double free of subhandle in mdcache_new_entry + Reorder initialization sequence in nfs_Init + Updated man page for RADOS_KV + Fix fsid comparison to include fsid type + Better debug print for FSAL module refcounting + Don't double stack MDCACHE on FSAL_PSEUDO exports + Fix leakage in netconfig entities + Fix copyrights on FSAL_MEM + NFS: fix delegation conflict check to open4_ex + Fix dbus release + RADOS_KV: do copy in rados_kv_get before releasing read op + Libntirpc module: set the cmake module path correctly + Make code python2 and 3 compatiable- Version 2.6-rc4 + Spec file: use %_fillupdir macro + DRC code cleanup + NFSv3: Fix file descriptor leak + Fix log level for FSAL cookie + Fix new warning for gcc 7.2 + ntirpc pullup- drop rpmlintrc file, no longer required, bsc#997880- Version 2.6-dev22 + Modularized recovery backend based on rados kv store + New config option "rados_kv" + NFSv4 delegation support + Explicitly mount specified bucket in librgw + New Reaper_Work_Per_Lane option + NFSv4: Allow '.' and '..' as target path in symlink creation + Fix root squashing for NFSv3 + RADOS_URL: load nfs-ganesha config from generic URL + Stripped out FSAL ZFS + Allow configuration of NFSv4 minor versions + Ceph: wire up delegation requests and callbacks + Gtest for FSAL lookup latency microbenchmark + DBus interface to extract FSAL performance stats + DBUS interface for purging idmapper cache + Removal of support_ex + Use 'v6disabled' flag to know if IPv6 is disabled + FSAL_CEPH: no need to set credentials- Add BuildRequires: libnsl-devel - bsc#1069819- Version 2.5.2.0 + Add python-pyparsing for nfs-ganesha-utils- Version 2.5.2.0 + update to upstream version 2.5.2- Version 2.5.1.1 + Add license GPL-3.0+ + bsc#997880: + DBus: allow root users only + rgw: implement compute_readdir_cookie and dirent_cmp + Fixes in hastable + MDCACHE: Fix rename/getattrs deadlock + Export: skip export entries that init_export_root fail + MDCACHE: Debug mdcache enabled by default- Version 2.5.025 + RGW: Minor modification in config example and man page. + Fix closing at termination and non-supported services + MDCACHE: abort unlink on real error from the sub-FSAL. + MDCACHE: Don't update attributes when they're invalid + Let upcall events wait for initialization of general_fridge + Dirent/chunk LRU memory management- Version 2.5.024 + Man page: Updated spec file for man page. + NFS4: Add result to OP tracepoint + bsc#102471: + ceph-common required by nfs-ganesha-ceph and nfs-ganesha-rgw- Version 2.5.023 - Upgrade to upstream version 2.5-final - Parital fix bsc#1031444 + Build with man page - Enable nfs-ganesha-utils package build - Disable gui_utils from nfs-ganesha-utils package- Disabled gui_utils from nfs-ganesha-utils package- Enabled nfs-ganesha-utils package build- Version 2.5.022 + New config sample: rgw_bucket.conf + Logs are now stored at /var/log/ganesha/ + Use "nfs-ganesha" instead of "ganesha" as service file.- Merge upstream v2.5-rc2 - nfs-ganesha.spec: don't build fsal_mem- Merge upstream V2.5-dev-20: + Add ganesha config editor + CMake: build against luminous librgw - Fix bsc#1024711 + config_samples: Fix unknown parameters + Use ceph.conf as default ganesha.conf- Merge upstream V2.5-dev-7 + CephFS: add support to export subdirectories + CephFS: config option for user credentials- nfs-ganesha.spec: fix libntirpc.so version number- nfs-ganesha.spec: disable PANFS VSAL- nfs-ganesha.spec: backport upstream changes that occurred between V2.3 and V2.4.1- nfs-ganesha.spec: add ExclusiveArch for SLE and openSUSE, to match what we have in ceph.spec- Merge upstream V2.4.1 - CMakeLists.txt: handle openSUSE- Update to version 2.3.3+git.1478706663.6f1c7a4: + RGW: failing to bind to librados should be caught- Fix bsc#997879 + nfs-ganesha.spec: fix license string/identifier + nfs-ganesha.spec: install and package LICENSE.txt + nfs-ganesha-rpmlintrc: drop setBadness('invalid-license', 0)- add standard copyright header to spec file - Update to version 2.3.3+git.1472466979.bb9cf0a: + nfs: Use option grace_period to determine grace timeout + fsal_gluster: eliminate duplicate code in gluster2fsal_error() + FSAL_GLUSTER : adding logrotate file for ganesha-gfapi.log + [FSAL_GPFS] prevent negative values to be interpreted as read amount. + RPCSEC_GSS: When using kerberos validate principals but not handles + FSAL_GLUSTER: set default errno to EINVAL + Avoid setting socket max buffers + [nfs4_clientid.c] remove stale client_id reference from client_record + Handle clientid and client record decoupling in nfs_release_v4_client() + Stop MOUNT/NLM as additional services in NFSv4 only environments + [fridgethr.c] Prevent infinite loop for timed out sync. + FSAL_GLUSTER : symlink operation fails when acl is enabled + Remove duplicate definition of posix2fsal_attributes + NFSv3 SETATTR should NOT set ATTR_SPACEUSED when ATTR_SIZE is set + Add ATTR_FSID to NFS v3 attributes + [state_misc.c] Remove assert() for invalid owner type. + Explicitly set privilegedport to false in default PseudoFS export + FSAL_GLUSTER/Upcall: Change poll interval to 10us + Chomp tailing slash from pseudopath + Rescan /etc/mtab in GPFS and VFS FSALs one more time if claim_posix_filesystems fails. Added init_complete variable to avoid rescanning at start up time. + This patch is to fix the bug that changes the owner always to root when all_squash is turned on. The fix is to not change the owner if anon_uid is 0. + Clean up log setting functions + Add COMPONENT_TIRPC for tracing libntirpc + RGW: look for librgw.so in either lib or lib64 + idmapping: add only_numeric_owners option (off by default) + Fix spurious compiler warning on some systems + rgw: add 3 new config options + Enables permission checks even when state is already present to prevent READ and WRITE operation using stolen stateid + find_package implementation for CEPH FSALs + Tweak FindCephFS.cmake and FindRGW.cmake + build: Fedora _hardened_build, fix compile errors + 32-bit: fix warnings/errors w/ old compilers, e.g. RHEL6 32-bit + Version V2.3.3- nfs-ganesha.spec: drop explicit ceph, rgw runtime dependencies- Update to version 2.3.2+git.1470139165.7aca631: + _service: migrate to SUSE/nfs-ganesha fork + regenerate tarball- nfs-ganesha-rpmlintrc: + fix conditional in %post script + add Requires(post): procps for pgrep- nfs-ganesha-rpmlintrc: disable invalid-license badness just to get a testing build in IBS- nfs-ganesha.spec: move ntirpc headers to a separate devel package- nfs-ganesha-rpmlintrc: new file (to reduce badness) - nfs-ganesha.spec: refrain from packaging /var/run/ganesha (and cut badness by another 10000)- nfs-ganesha.spec: install sysconfig using %fillup_only (thereby reducing RPMLINT badness by 10000)- nfs-ganesha.spec: make %post script idempotent (check for dbus-daemon processes before running killall on them)- nfs-ganesha.spec: + install systemd service files with 444 permissions + add %pre scriptlet to fix %post failure in OBS /usr/sbin/systemd-sysv-convert: line 62: /var/lib/systemd/sysv-convert/database: No such file or directory- nfs-ganesha.spec: Requires(post): psmisc for killall- nfs-ganesha.spec: + fix systemd-related build and runtime dependencies + make /usr/lib64/ganesha be owned by a package- Update to version 2.3.2+git.1470139165.7aca631: + Revert "CMakeLists.txt: source /etc/os-release to get NAME" + CMakeLists.txt: source /etc/os-release to get NAME + CMakeLists.txt: handle openSUSE - _service: build from smithfarm/nfs-ganesha fork (ses4 branch) - nfs-ganesha.spec: + BuildRequires: openSUSE-release on openSUSE, sles-release on SLES + enable ceph, rgw build + use libcephfs-devel instead of deprecated ceph-devel + use librgw-devel instead of deprecated rgw-devel + install documentation properly- nfs-ganesha.spec: enable ceph, RGW build - nfs-ganesha.spec: create and package a documentation directory- nfs-ganesha.spec: hack to get build to start - _service: hack to get build to start- Initial submission based on upstream V2.3.2 tag/bin/sh/bin/sh/bin/sh/bin/shobs-power9-06 1617354913  !"#$%&'()*+3.2+git0.8d07e25a7-bp153.1.233.2+git0.8d07e25a7-bp153.1.233.2+git0.8d07e25a7-bp153.1.23 org.ganesha.nfsd.confganeshaganesha.confganeshaganesha.nfsdganeshanfs-ganesha-config.shnfs-ganesha-config.servicenfs-ganesha-lock.servicenfs-ganesha.serviceganeshaganeshaLICENSE.txtconfig_samplesREADMEceph.confconfig.txtds.confexport.txtganesha.conf.examplegluster.confgpfs.confgpfs.ganesha.exports.confgpfs.ganesha.log.confgpfs.ganesha.main.confgpfs.ganesha.nfsd.conflogging.txtlogrotate_fsal_glusterlogrotate_ganeshalustre.confmem.confproxy.confrgw.confrgw_bucket.confvfs.confxfs.confsysconfig.ganeshaganesha-cache-config.8.gzganesha-config.8.gzganesha-core-config.8.gzganesha-export-config.8.gzganesha-log-config.8.gzganesha/etc/dbus-1/system.d//etc//etc/ganesha//etc/logrotate.d//usr/bin//usr/lib//usr/lib/ganesha//usr/lib/systemd/system//usr/lib64//usr/share/doc/packages//usr/share/doc/packages/ganesha//usr/share/doc/packages/ganesha/config_samples//usr/share/fillup-templates//usr/share/man/man8//var/log/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -fcommonobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP3/standard/738d50dc7cdc98f0dd64e084a4884dc3-nfs-ganeshacpioxz5ppc64le-suse-linuxXML 1.0 document, ASCII textdirectoryASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=2e922d4f7c6ce291de15d3cb2122e2f1bd3fd3ab, for GNU/Linux 3.10.0, not strippedPOSIX shell script, ASCII text executableBSD makefile script text with ".include", ASCII textemptytroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RR R RRR RlZf9systemdutf-878fe672af81158512df1cdc3b2acecc01df20b483bd93519bcb73e2148638309?p7zXZ !t/sOG] crv(vX0B.%Y@ 3sۅ-p>yDY9wY$̖eXStL`8\ l#yɥ* } 躃D¯d7ݕW{Q/E : LےrReʇ`Z9Cf_mbu Kܝ^ԕ&$s'3e&uyPKKɖ$1d"zlp6L9)! ® 74շНDO*KytK D6} ƅb:GB#C5إ#ZM>渷/v`ĝ<~X\*6˯{EA<Ba\-m*cכ'4KMMŖ$GQ<9K6 QfjDΘ $6/MSX8Dn Ou TM ~3,} ցcEhO 9>UߤbD0aq9qF[ CyY##ٞ/܇z(LhH%c?mP/nGtLO֚ f윚n99;"b6ps\(4apw,ˏ^J|@@<0ߙANpNɆ1dRhvm4+NvRW~dfl5G) 3Oc'%+g^m6*;* 9q@Z:A۵tz']y;R[=P^ℛLoŇvc,muyMcm! w]5rQ6$2XC &eD<&L=f2V5Hv\ǎ7ʸ昏4^۳;yY4.P)M=XJH+ˎ׊plC=8qֹ5ׯ:RJvSPyqj4k( ZFaOz0%J[z@}vbp!&/[5 Ke`1۟K;lFBG z s$QZ`2OsʚlvdkWO_A7{y]gaY 6"lTXXT?v @~F8qzS~JsYGKؖwG7'v02>쁸3|v 8<Wvݨ/#>?ll8zlP8 ÷3m4~O6xbR/lӳ1Ey5`l0 [Pׁ"fq3=1H4\O Nt +k-(Q{8Ebmdw͎@2j QYaR7(m|.K~%b1go7?qXq l3 dEZ^]t8/5H` Olt4."( `>I+Ӻw8euVƔ[l ΍% ;^]  >@eg\Pp)%UT'*x *|^UK_:)R=\Y&j4g枵Sݣ=k 9 ɓ5s͊:tGpZGcZJ[L;hQтl&ȃf4gPݑmKk[tA|88?u/Kf$="ɦ6ON,育VOg F PNȖf# F_9M7{G~_t:mJ%dнYf%]4TSu1~4fGK7DBbZlXXe694G<5,{l\|Tl ::2VGUMD2/(ʞLσpv1֤; 56vmi+FS/M֘Wʌp@[x,[`t}gbhFn;bi>q~N_$1 sUJp(94eV}bZ{g"h+2g%BlH[V)egu;nNϑ&Hmk?OfWp;Y6FYtZi'kmrde+fU+ MmzP@'û2O,JER7;Oܭ3_dH AxEe!ñf6Y~ b_Uf˳/rs%Ԑ%eΉ3mRa^g7߰ZU@B QW Od6e2ktvG5QTxٳPLC//{׻{+lJ .3 E0A= Z|HRȵ/_21'/%nz^ zi}x07qU6uL@죻u8M܆!T#2 }k#|OT"KcdP1{],8^x\[b021\l:vFkTmу]mI%G2p"U ܳTO1qQ,K mb9 ~ov'qnxP"?]cwBM(4/pdu!832uJ&&XvB+u#&Nv 4͍hM#Eg7z'h-5aJ{tN_WӠ Α !aG4I%j>#DH*].l5zRlK|? o) *pq/&]et瑳KTe`f=43e/q xTkYm-r2[/{ZegNC %x8LH[ Pk+_1fvg'goWw;_QiG+3ș 1=Y´2uv%Ѝ-GвրEA]nz`DO:M)۹x+aB(^%(ַ9A;wX.vD&"yBթr@w Dj[0(?,' 4 [;h uc!2Sʼnš}էlu^Ԓ~jTdv@[|,){SՊmM'mpzT?b5M#*Z\ZJzr9qo;%I' 3u̜sTqV :_wF {JP ҬOCsb@ "b}LR-e&]zѧ|HN2۴3H4/V:Gc,S͝+ AC/)78樫I#-{r2ȋjX7v4;/OgX2r_/4^Xx{wnm0;FYAJ93w?tI|Ǩ&bGiɺOT kuSnnA ^Y6O0ށ 8C<&l#Eł*$ 0.LZTdnv#RAp.D_ VHHjfy)Rgf∍{7Cw t5DQ_]Xd ==64}:39;=k ΰj(<pMq`X?~C%WBP  x$/X̥No]LZz4 ͺڗ[OrW qeܾtrc2XSMʋv[7/ VE4`QjΡ |ҳob"3RCѸ}%O8ǰC.`qA*J+r\[N?k1 (!8CΞ:9w'Gws7 '~WK0v/ڋaLqE^(}|ي ;ous؜ mlp"zݻY8+x)0Yd-b-0{i%yF_7;. +Sw WonpbS!#Ӛ>aRWȥkmS2;JvqWqٻ/ߗ3Ypc?loEQu)4:MVhk|fڿEYy 0K8 ae3z<_h:0Y"6c6Rױ0'2 Iep5X˹!h?Z慨?X΍mMԇWCf%9\*!,b:~B ca=(QC3ćM\^  *U/}#v8PWpI %<mB=(?N3'Ĉ1ɡbXI'BD-ߨ1Ə@U Wd,PvQ/wٙ< XK\|7i9ʖbUUMr PYB؏u\/ !3I ,76=+LM~ "n2 l8rgH LMB?4%խoō7ۓ]β7Bus[$ []R0c33<=Y P;ߴZ{i@'2O> sPnxnMB9MEs,9kM{$Gibj]?9I JW$Z'Ǐ`(w!S{!C@gA(0GPZQ}pBEoZqr#;:(3 #wjSJIyrEB%R`f-mqbݽiʠg(yQ.4[nUkcQBf@4bzAKGX?eҟhSho/DN}uVl38`iN %yY;)x`>4V~ qh+3B;ϾRħ e{ZᨂUH2Օ)lBE且GsU'sVKpEuui,Ҝ}U޳Dɪm2j$T\*!kڀ{Q^y;b~֊x $-#ta&BK R!>0B.J8B"`*pTwS4a֙\&:п&\ٔ e ,hꏨr/FVY9*z2 vqw@qbD*=щ[(^ XBsNi^*C<_Ͷy2<^Jx ϔu5uF ;>p_e5A/:cI$IkRDíie0&b2*9QBRزmT@ OF}n$u ڼPc=f !V #N` ^YHZ?}1&(p_ٸc\pZ[0)8gRyE3[\Zh'H*gxK+I+ę=Sۡg?zJqxf˾RIpsmhAKV{ټf '8(>U#jJȾnGMj "eL,#8ʜZ:~u#dz ay3Ü# dİB;Kmޜ]8h\{^t1p5{=gph ͐|џ@Ꜣcai*&=aư~ *&T8vt9zBC ʈT4J@J:+ +E7L2.G3Rp\ ץ@/TfvF͘ VU7+G?K\Nng"&(0F ES}exP"{lk%vGBGR0( @q2fы T( WebK}E;et~qط>'B+ ޽?0OyV eO`< kM DŽtJS']}5۝I6;lhi e#Cأ|-~ucbBuk}:9KwaE抁c, cgyC7yh%;&KB6e {jIr~oiO.tEWuBYcQJLo|&ήW]jSEz;Э)npn\ʀΧk̝Nl-3ŭ|9Ͽ fPf ONTkRjUuS.-tgH6} ¼ڢ<>7 r ,Q%3]`CDnjl5PBdw=mB5s|X-Ҧ).GHO*sM?Ԡ¥4XNA5[B)V%CZ*;m9xڞf;(EuJ/%VEj+)\gfiQiZ3b 8-u[/F"%Sio_E̓)[U%+q}jmՖeƏyI3A V c}Q<]!R̵(kng@7KަQ^ f*1mW*O> ОmI #-~ podz5'$XbV/]xYӫڡ}}ẎӖ)ȟdV]N[zZt#yA)rrx?un w߽S)]saլ82yl7N$7ɰ!2ߣ_e R߉N&Y>p!DP6}1B!\_JcO 1Mj"R%u6 @)jb%>kؗ%m/mUK[G!՝M|(b#p4^z~G˥CjQ䱉yۿ]\|8;T5~EP }\*?6~cSq6`C;j-0iZnjSs1gr]6'9!֟SLƅ69JTԆWCOycXdP="kKX%PC?Ay-!\&A⁅)-MŖ*"OX:Zٳ,yHe,y֘kvM罷>џ,oY4 խkK8ŗoOe[eGcT,z$Dγ C.0gX3fIb1eUyy>-)NsqqHm`^=K$pbC߷G󫙥kbcyCg9*c3ZC2d|/3 73JJ3Η^!N2-kGj]~Wv eoD9I 2~s nûU+{Ijs%0#?.7T-2f/7fx`,f>+&EN KːҀ!̆ b^? UI?i3M=GhL?\*hx=5 5&%q4L^Q 5 )[ube2Y_23 [Tm9S``:COBCǐ¨36at9XksdehDVɊN(Vak #M4 wX TX&Uk'0/u[ oWW 9\71KHOz eyӵj98f.'tK ;zfcSbțj.3Ntÿ́G’H)=mŏ`PK`־7 ȃFi2TkQN%diU*̲z}τP #7b}BG &QJ\L5yy7u?N Zi@RPR|Ŷ2*O]T+D02T2#KuCh%em|96|rL}=zϛNqpq9:HtӚ &yw)۔˕C[ Er5!6g3 cu]FyI)HB_9*Ncw̓k*KyraWןY&&D>r$cq):w,ri ΙHsS_NjLKy  MVQդ\N;uP6_/a q"1_3m7Xt \B5m-3]b.-^<Wffo0xqpH; LnO08k]hX7L)˞..%/[Fve>wt#7Q DSg3E6e?. ~'dҚzgv EoE̔f9@;՘@D7݄֗uEo81] fA+V hs0 ̻Q5Hr1,p| *`АK(V˻!cu؆S4SʻՔPEX?nb0[c πCE {ImeMU}ğB/vD m=ЧS>9_)hzKjoùP{7[2:X/3PAgMzIOhːc|]#qbLl]ɿtq H?ijw>^#iEbՅ^ԕ'b6Ś pM,'y+im#GAOcǓX9vK:XN60Jk&ߊb2]Ӽxcy6 (jh,L&Fhf2ƪd;Y|h5T٣򊐷ij=;i\_AP )1pr6.N$;eiA}fB - tL%QWRG>^J9y-goi_wFݾa[ "= {BtPcش9ݦSNF.guV^{*t [>kԛ[̡;  lbDπ?; 0r 7W^ c}]j$6Ny%k=$;bPZQWG}~o="ӱFa!r\Cϻ|Kl% F-VN(YP9[p(jGZGv`B"_EjrGayz=9h("b|bHgSf+MK qOz쀁;$kWsad_tM=3c}֎}p05(@VP!N>1T\zt`2.q/=PX , I#obЖNڽb5\6>Ty0tR%|$d^MPy}@%{3K58?%4ܢ8Kk8|^}ŦB9jܚNdzzT&?Ů 2EJtA$v=:9N9<BlcfMh2'T6Noc֦t[)ݝ玗3wp:U S?hk&1K=0RhFD}@(@~HPO![>F #G V+)+O|ge"#\7|V*E yTuy Dc)/>-IbN ;n-U;EmH:l#Г(E% 1M~_5kYob8Qd̴s0{{0+hsAՕ"L~7"0Iv1Rx8e8[y5V +,!5q7_ꜵAW h5oIp6JA?+[yŗD>K҉t.MS+?yO ={v!@\_ wѕq sEӪ>gY8C:#ĸY+}om>]Ch<$P. >7+@dE"G$7h ۗ#`9)B(kBϱ߁%!މa°dgrdMrȿ|d|J6zcRvI@Fߩ)P06bݻ(< *RyjXgغ4p;;?}2*I񸡏ׅuأ֞.vGirZXo _PyGuA4Wۻ#>kR7A'i7v9 cIB>?|XAΑk) KG؆Ax;m:qO/PUoܘ1n>=sCSJAl{dj ;EX J]Xiw" oy?)-@ô!T/w$ aîyZhK1uG;װ^[ڥ׉u.EIxZڹէYG, w0Ԓ4dYҪ4ސ0޳GψqۿkA2Nn"/ى$4^ޢ&` GD$zt|IV{E[ k/#RgO3TXlm:RC[DxnޖQ[]hOXa/Ary4{։JoYQ$RJEH1Ѿamu8-;ف_U7$Do\ M6=w,?Xge3G%8'/n`kbCaTrDL&k>ce ,B!/|._"3,Ȫ M 8m.omouc=OM}" A'd C$"/. hP*B[TJ Si'(|HNA7ф$'SFX cI $K^03J 6OsVCQ&AΐHBD\yi^>2/ė!HmƜ7-qb dGE1ʑeyvD%}v|{ԯ j=3_ ,%roϮu@ه,Too/] 8uTY֨[ix6,^wQ$O1{ !ьM9fm6.( Y;7oΒqjSk-G(ٱLhr:EOgsII(п0cW *] 1U#ϝd4Bo3v`)= Ϥo@LS q|l^^ޑYwC_H('kdմ-Ue21wBO52A`RJ O'JFBcŴ*o2i IG[R+1-g0rj?H#kXâJlIdE #xJ\4٘*.`: suAd+coFFSؘu)ė4 9<~\^=["~(6.޻B23bnjXyXFYtR\T~+R8d‡ȒoRئLaec sED2j^āC鯿K5,BOϟbDM:v8uVJ5w݋'8߁r񦺘uamE(N+YRg\ :3(L@L}iUM 3"?T ]VnD$٨6~WtQFV@YǥǞ^t%Z.o_f1iIw#PP+?6t;i,mNB?jyH+{2Uvpa{hGW]Q#=ha.2&0O?cye9 .ۯH!QRF}W9#PNu/W u/g"lIrg 5ھXf6dOç8Cw}%HIÉf}[2GsCrclK5TqTbNlx!aɡN'Ys J ROxNA Z"-Gޞ]E&)%E5l{y(bz'䠥8ReOT`9vih 8Ά0c^a!OWʊ@BzR inj. }U)]"Ȝg[2{Oܿ7 U?8=4-W "nTv4R`{^_һ<}ESYf2[p2nնpآOIBr<m@{]q-@߃pڝ?AE(cp0gYMZ؆]k9Bm O~>̡UWPV5Tx򗅺z)꤫J*beZM?^x-yE189*>g*T둇-~RU{DH tGpsνI)OJ}MHERw%0@+s4w_jMR3bv|.ɀ}1NL2۫?vDZe`P"Çn6j 3RG Xt,"tY;a6E+Qu=ۉ@*!ZR2RoQE.wxkHX"XZeO+ ׁXѽ!725E^W$i-+uMn#0!!RUr,N/yְPvolm@FD!^3z# gÀBq Iqsm^"vCn,x.Q(?+FtD%m'L핮wf1Et9Őq5MbB/AW(B*=@EOd5TH'CvAM R2(~&]\l/Zb[ _egBd IOJ~+ii)4ӆ2&ǸSs'F"ҜG#G2 Ĩsj҃(Wކ{ 0]:^dӤ_>ZS{ he9f-H}"Ž;F!7"hZoI-;Rhe׎}OE?ܲJ#,eq(x`& }:9#t `<9;KFrEGs9_'T6E5a= I ٽ⎃H2*M JR.TC$ncqBffI-udkƇ]aV^slRf;[3uIxGIeUf[E'}^#~e[^ﲷ:IgeC{{JFe&`Wg;zwcsc Jb,a٧8Qb]h43N:ݔOtSxڧFm$'b,lWBrz"o,\1=R(K.Jxy[9KaLA<&|Ȉ{#&'ƬzVeNnB{بH avmK&Gl\ 6(\i#JHx]vgcY?QMc_U*f}y'erM;f^2g*V:7LJ F[cq?xĶLX c2.7 `lkCaL&LĔLȰuܳbH@gߖZ]\0)R&~$(N,IoyOjwMҁKW:haHmЋao-w'f!;[դcxh^DgQ (dKbwH7CHTrMJ/f4 pq˓ǹꄱkM@*Czj3_P8v5|q߽&ȗ,i:i^jF2\eD61`|-;+,4D-i%,,zQ5~znٔjJiqx"Vs;FEkQk.L,|_,t@o˴}YiS[@oy(5ĝK *E}%M%/_"r6O:b cBcMbYS4{WVTDRuut%͊> _ ࿻G̀`5A"eMgi=W U9@#Z|z@p^Ί0tPjF,{6%&ZC3!?i;Ն8P< 6q%⎻_hcϭ/ ^_T҇'FALVg0̔ƙ,` =+SOC|̀&XxFĞKͺVi2dڬ}M2:'tؓrwDp[.M&^B )E|C&&B|ۣthF}OGO%a~M IiQ M]*Sa:hݫ͋˒ ǜp2Llm]z^PZ[G nX9҆򃆄 5(nyXB)yy«!P&%VBja(vV/*ӵ'&!]9*(Pu s' Xmo&큜}h&/M8 ɇ1d,&N|R82xߌ(wE|ϮGͦO%{]M^7Ј"CPZp#n?g1#nXr! e)ej֟|LhO3ͬAiQO aq")UrU!IJt@c٧$`-dB}v)#_SW9 d E+NpOBW@>^ 3H(NV\M SgO/j+R`xzŌ/wceLz}=]~(U\ 6?+ϳ'&(1r%ziL&% '>̗] M〄7pGmS.rjw +E}2 /8^5pf.vN7KPI I&`w:%] ˊtmWbkh|rtUšwXDEсBBc#\IY|lJܽ vTsIaD6TvȉL`k #;B;Ӟt&mZ{cń1e\C:^:g1fxn88ZyaM!k p+ F1{fA^g5:|)zZ^Յ2+Rkr$qvNyB9ѸQ0y D,q 95F.ʦ¨N SCdy#crB-7 Ɣ}Vw]MS@>w{RMuF{%r¹uBLz(7Q̞ 9GjnT"Iz[db8}h,nqL#L/wS#7դLk]*tVH Du"U*x=QJ? O`pDE $5+A={\5-4b_W4)kEEcY8ʠ碓mA[.QAmM*/5޹fd"4=rэYPvz xv?'B&2% G3!PpOuҵ;ɋ xeBoƠXHm@`]˦Arc{ S 0]fE3]XJ`N V,bH^o~}M]Es-'w_%ml%LϿFWF`5] ϐbY(OA+,Pѫdݪo2cq݈C{5|;"n$Mg(:t:.& (tN~D1\7fAƧIye hUb36<,N!y<] 'LiR>aP=3w4?=3` Oz!I*y<][蚥y"/^&qi8:^IaNO_,rJiQ`vh:puy`ze*ׇST. KdCtY6sQ=ڄdYtm<: V`p o&gygzW̎6C^f/j[*L2LRt5@Y?Sǧt~WxZ-I|5wh@@KWj#BňRRefp3ޅ)ih>}TW,"^A`&;:qv [t`ȶۯ;ne|{r&pېGk{pcu3Á <kKT%[6# p#%`ۧ{fFvxxib u- Gڴp]6g(6:whkV}bϨ^FiTո88/mr2{V԰b}k /{NkH nk PJul&mOݙh?ݻ9UB.7(9? ǂjpش6)EkX.B&B%vfPTlo4gSka 8d8F߳[et!o1jݎ+3 o J3侫s#-+ a8a؃ٳaO2L,gX-xL/OۄgiPzSI",J6\ ^P^18ʼ}#UK (T \FkLD=!YT-|tͷM@ ODT9+1ϵ#|hG8 !xyLNkYܲ#gz\yzC>U $$ֹgڎiNI7M F@S6fQN[ ݿ7gKW|ɝz1CK@/$=tOӭT?Q LOt ya^ B?+Xx>r )UJ]Z} $뻓ww.٢)8Tnqʶp;5 }Q0xXk$dg.laN) lNr`J[jQwBFJ  "[ܩ89'8U/ROiZ?\xO7VNlx(imVQ./x݄)JƤ|ۿU֑XI`z7'ª(\7|n;y֌?hԻ "ev^0A L"1Ce=BN+J0 sV<I\֭MV'ۼLEKLskC-2ZC5 Jd6PEʊ1mvn쳆Qqli\̾c#4>N/* .YfCTIskiד؊؈CNp ͯʔhONN;׭B3'>;0FJ>z]';'Q3[q ocKJ5,Mi5ojvl܌r%v+>&eZJ?}PE7\M3(`»9/V`E94[z[z3Okr*f\OA&8RR)!ۢu`Ԧ%.f۴-~Al Ā+9UiTޓeLlHL~cy 9R_jX_)rd.% |Đ@3x/=T;&LORtSs?7>a-H򩊪 ,mʬ+d{cm?㟝\06!g%kAٕ3̣;ljԥcKVp <;I2~(T#WfRo&%3^r<ZH).u.9J&X)76i}_ -Wkף1 31 2 E6gAKK0WCYUǪEOkdf-K#i?{0ϔ+@  ƖF쯭 +;iŧy| k|K{lL3Gxe0 逦7YqRqݕ\*pEy!ET)NNHc 79};&o,/S$P y&)%|0OvmAd"wRxvt\4CoζqEYJDw8f~.aBQ/iqf8nO2͡ʤ e %nd % @1,t7蕦0Li-An6(o8u.ESlORE]VLKk,|I\_%ʅB6ۡ*L>]@ySRs$f.JW]+ba\bZ=ս~^s+K ņ3;]/čh]g+=kG< qkL%5 ,n}]gn! B\KH4xRK(3Kk9}X:KALJy삖6l}Cp<)׍i'זT-DGw?F/'\ۏG]TAE޸ `wj3Bͯz1u4^#U8Oe e2Af莴2Ci,K˺kv޶׌%EEN g *A,ܳC|'x%jAW(×/2qnPg Ck|Q$cFށջzNBht2C 0#vžf? ^ =5u^DR?m ÃDgi )lCniw)z#5Nkå_$GGPWUḠ2{׮[̹(1,|ԞTpЈHQVp˦oInBwn`ר6ĺ4ʍp  }YraLv/DGߏA8VK a`EQwsJOWEj yD k\bi[!Z xm*Cc CfeOU{ h]~-Cv+:caIM9ˤ"ff3}" $tx㖊pLh+}ecN=; `˅bY T=ֲ9mbojL[Dbq3ƕ?IcyJE,@Z?P3ӈ\F+_efe&_(! hO25xJG6 ePߏg֗?NZ$OJIMmh͹|hoF8w1Y{)=U{* g09@}7̏,G<b/ٮ 8YOM9ͯX5}UAHpLT^a(hݛ'hNefAD`;])c9 X6rudNqH5Nz.xz*Vk-Kɚjs4rlOOj(Y^࿖93tr65Յ ol-C_,½P:k?v4ʰ)ѧeRTqjެWъ'Z{(zb8\'1`Iշ]SQ2n3ۇ˷|+4xѓu͖ԎauKs"o^F(vU WY0}_')M؎3'I` $j^m0֓ջ,(^pXQ{'N*% Pmԁ#ȆO=y13a˪TxeO%gϨPԦm0R0QWC(%lW B vNNp1+i2{# 6JS"%/f7}ɥyb\ g0PEp2 q7Q& qma^յ*gw?,2/LJM9/5 ;[Q~\ ^Uԥ,ߗgN{ iFq2لnY vih[U3l\u]JIsofY!Cy-X4w/-BշGuiM{?l]խ@lCdU9Q$>,Eڦ(f''f^ߔ(Gz(tΌO}_>Ѣ[pYOLDl~9QwsTDs":]{i8) :QVgM>>6ܲϱX?IZn2-iwUnr{.'ݦ/], B!2UmY!hX:,0-ZA[3SŐz@< _T:a0/0~q XGrRSj-YyJn 7w&nЏ ޖmjV8(Q?2"pc9&dDWgY 񲙾-=r&w;ۇ"1TTXk:LCO8V{?i ˋ'gbѨ@/O*-[~~R3(9D=Ƣ%LwYϔ.E3 }IRfJ P.XSbS/&'j:5W6ve;;H[m%EIPJ٦3#:j&ܡJՆh~KY: 'y@Lbja0r%1rSe 3>r@5"aGHvd(!Yҿt! e%4z$Kc|mޮ"lPM9a( SR5g``~vr }rFxzZpG 9γxH{U{($M_o$yO̾ -z ܄z @n80W34iAW=Z6-f$G z(*2g=[M0KLvoοGS{ Oh,޸ځꦿ$<2j bY OC]z<8871iuhCHx -HCA﹖pFQ.jPi 45{ xhvJJt_2{P5چQәo&Z؟刷Kג`||d%UZߵԻBKCėTp졎@b$VZ_fDZۛg2Zk%ojw+7=m̠f<}jEYyC 4nQ] a}=Pju+qj:5f![f'1"` y2oO qpТn>xUD(E lN"ɥ#=9X )0[t{{Gi'=9YZ!Bs(f~M~ 4r`)Ȁde׸jNٔh]@iK3U Y2U=C|XҫkȲ2ad^\us0kL=ꀋ %_K R2gk Ca:#8z$"BwFV9Q|,Fe={鰳;gx#o*iOw#6:LkK٦َ‰^3 evpڰ 6?Y) |ﲌ>nA$?Yw1Č_vk#Mޅd+|z;Z\oc:;$ };k) f46Z*H5fکh ^ D8 r78GAn( kvQ{oֽs*rA?W,p 9JUMH Mˏ4sPl3Zu|WVt[p\./˞ԗʛZ\,Jj>d蚍涒s|8v{2썄Q=mT,m~Ew % @Āq- "WXh4 /·~^9 p9Xʤ_ԡ'vqɫ55 o[.=O iv{FYd@98 UЀiшO UQi<1s[/9B`$+=P0w h2BA:$f(eG۷9Gx٘o GBή9Ez8M?ҍyizJ~\\J{!ģr㬲Z2,/x9c-ig[TR*`G/-bL|@i7w.R`+ ?p`j[*oq_ J.9B #3klakiUe=bSl!`5t^&}}ї[JS'CACK},΁֗y{lJ 8kcauBQɹ6ݸNmf?۝yEae…/gl (Xő[f.-vgmP|Dk&&|d:)ϹH-:v4aw|O~a6,SpZhR#"O%_!B'7viTnw``wQyXX)7#t*\'CJsCqKW<;cjtBMr!ZNE]n*Sc96h7^~y]_:=)-5Tw#p5Rם"Kodc*ud-G䟳Ĥ=EMn[\nNtX4#kp P YR z*Ym Y$ewKghRM‰)vJ ?KvYO†Hبяǡ١B(0Pil\zxIR"} "\KZZ6tEV1i{a; > kem,}\I1V"TC#S|]i'Kw40٘`kpapM4%v /'W|h * ™U[V ZiMKnb&vq\[YiNZޙ,42t1 ħͰ2}gQDyeFk{o^i*\qx m~4q)ND(:Ǖ?d>nKG}[!*_ggjj/wO9A_舸{OGӦQQꤪBE[볨4%ov͗R(GYb*6ܪJryg|Š6X&̇^+ö* ;pWMr3 ǸVeچ_Ro}ʹ?o NVGF'qa>l,D{u C H\BݕxB= 1@{A+߭ 6XL/C-Sѧ`Q8)A Tg1"  +zˢt9"/,ޫ)}jB^+:,&ߧ+V펨4ZK /.8-w5rߥAr|ҙr< "q䷈2WMnf"'ɏE %izN.Y8:&=#C/oqAX^F9γu ,N.+*)}!+#ʙY^MЅlpqSxWO/v 7Ph )`by:2wO1z^4ɿΏA{5l.dJQ1^.aO 4j 8"uA(Ĩr1H*#;<ڃ;T˓N˃[\*Fx7~ >Ppֆ|"𼍚ǩ0qr|fj'>9:OȘT%.â9>d M<{A^wW0P,iҦY;JCQv%s;ot5L#n4U5(-.:&; N@lѵmaZUXs2sE2ӵֲ0C۠'7AaH]=pcý0AE=Ç su 7}xnؓi~~+>}=1cv11ץHr\'3~7o(gK$oQj5Y2k[וQV(hybD=͚=&>+ ϟj >lu ^;ql)'z\B>'9Av:= >yj<+ ?Z {]  {O% ?#$ Dkk=%:t0G ^˧kKWlQxOh[굿W'(^֔qLO@|MIO&A.\0c sF@5+n{j^{ Aĵeܐm\JC/)칶`gĉ6M)6';'7z+lDZV`bohPopIw(|+h *;έ^5ék,C1 |p8y)NJl1)fmD(P.,R_ޘN --)$ hAu\;18;Ro?^ 5=7sEf# OQ 0"WhrU2c>3nƀ3\8V71\SIux{ 1@/kq*=0 -~1 Ⱥ4b=mP% &0G3Ero- g&ulJ f_ $PNe΀V "M?}-?8xc7sRvOM+zU)~k9/%}2!J(}v 1Rxש۝n1P6]>$yS S"y /9ImW/E}{KRٵ(0cD X7L&{ 6+_ KE6 aRF'.{AZl|SOs DR9i5wS@hZ%sG/cBv5S$}<~:SX5]6H⷏ZG]|TtLk`ӌxѬ'R6?v|qky`p_NՕ6owߠ#ɢ$UP+@"pC RibUP@ ,A!jlq/2+sUnaa+qp1^#C 2&B4V0HDTiXM-JMx=`@YV EEoM̸WbHܞv(b~TD C%<fdb!?m?uv*m8bLQ>ip&<]Ӥ*Ydʿ'vSDCXˌ]ۈܙtw^UWzHMm?\e#3cH=e1!e~Gff+`v30)b1ߢ>4W]Oqoof89ĂVbs:2xdȜ~Hg;딤kn{,Q25}V32#,Fx3aRƻPw>.پ6RSCPyL*8@iuF<}C}uן.,JV]*(im^}ue1xх7/`}m5M2ctvpaꑥl]zjh"Ð'{TOW;ʁ6}nXL\2;1A3Xy ‡"89 92O/5иiZ+m:xF𮺧:+w5nLD> !FGh.: aw4 7Gpx:cK= @ҌD-z"Kz=6ܭC .Q˹7,t#%ScPqecW"1bΩ#WIkmo<#7ySF2z(!!JBEHDPxɾ7dw[VzK)|d ˁCeaQkxz@G r:}#&rSia CG>vrltf/â/}5[0^jQ@Q̓W _}xaPI 'J?)1Mc:f7C6kaⶻ?6?z!/6[b!uc Jmu\&EX,"C;Ā5^`-Mj(|W*Wf!OwJ>E_Ufe]KgoVBB[!q48a{?o> };}jYz^Ԋxh ,qQ֤*5R=Rw(=[휜jtwurm*= 3o!w($QYyi Du&,8Ej=:, >6.u&!r~k"S넰3*l*6i6B]EA3{p f'FǩcFsQY a;{:MbΥssq.qjdb1Ķ2FV.⷇V_HCán)JJP m9yy5DJ^1ˑ'oeDyQ-LA|VJl;Z`yw*lR. S^~jXP 6'*:W.*6q['HhmU{eze Zy]AX9Js_ zrUoWdF$7*SH.0skzhllۣRGDdSNĘU˧N0o'r8r>R27i[l[%\ڃ6?~h"'B'qqҧ<:\HҶNwޅ4BVG]!=uK;u&|  ҳoRV0Nh=>Wf6;!BMۍzw$+t0p+pDHOUwÑ;jćߘ%(|Ɵy*\)iUPkYe[9%3 6(5扳Llw)ǝ,pB%]Ok[,?``?$$E` c~Du|:FZ\28&˟G{}_cuj\vrZJ԰}WS:㐈ٳ_$(ʪ5A[կT3&gCH|4gl@S&<_QC@ r&S܈Aj~kP EZ pVɭ9a2 $ܸ\RƖdtܵNB i݄s&: 1㜗"' b3Q/ YMƫ/ d g1 }/J oLf+rz5mɓ)NRQZp̡Y`60e,#%="ʖ~- $] IVn0Se4cMNf<M_Fq8]p aCVºR*^011Zpui对 XU!-*?B%CgL9tkb H堦ǯ&w^~J GfeYӐpeeӥ:jWo&'v ?65C'H<2$n+}e]ReA.-̽nT8]yյzBVC-@&{^? nAUf`Ș'\&h zyW0: $٦_nbR+@ٰ~e[4Y.6QInhwNtSf~{$;hx9$-rqΤ?,WҋI<]EI@4֭՗T{|:jf1q:XhOk85@c0YsBU*N'g[ ,aJ i_C{5T>B/@Rp2dc= |p`CfHqd)#2ц:Eũ)xaRb?}i¶u}R^UuD5s/C#r5`OEC*P4`Vo?1'@qSw-gZI~NZulR!N@&T! e J_~W/gD?KR5ʡX2*^gD{3yWS N.Hpc @&dH$0\5&>.ଂM ω}CH>C+rz\]jnLMD?0\2)aa/4|FTa[ /' ^I,TPq~ɐh,0 CWsqs8^"[y-@Cv˚6U=l<%;DfdXuT?(JgXjS"-oĬ6evPbhFY\_UO~ޯ %%3Fo~=P,B[fdō[Ayͧ>.pWBf8|bV%}CyG3.YR..91I/F+h%r7Sh$U)w^n0&%N\̓?wXr^IMieŽT$HpA\R7#="97e#$ U|lb(aYjʚKEl5_ ^_ YZ