nvme-cli-1.13-3.3.1 >  A `Pp9|0XZPUz>&Gre&#]%v #Gc 1Wďm^©)9x!@h0cƻo$)VaK#FO>k9`U )S'l*IB]f__=^ ("`d${qŁ6[0 ~e78Q:OZ |ʟx#L4Rݸ,#ͪJMMpq.Ey!5ed97ee29ef42ae68a8f1f6aac27dae432f6fcc03fc2d427f25fd646327ff7bf8a1aff58c1267bbf12d4422df4ea004ebd85f599W`Pp9|ȧ~ITTb7॥ՀLK-5?zGM5bp3b$MU'f8MBZ`vk[AAAIjajvX0uV*<`G5`=-2Ɉa1Q OW#mWvV#銳锟'-N{!0nk9mZXj<?m<΁)W >pH<?,d   3 1@gmu u  $ X  ; ;>AD D<FFG H(H8H29I2:M82=i>i?i@iFiGiHl(InXo,Yo4\oL]q^ b cd7e<f?lAuTv wPxy zDT(Cnvme-cli1.133.3.1NVM Express user space toolsNVM Express (NVMe) is a direct attached storage interface. The nvme-cli package contains core management tools with minimal dependencies.`$ibs-arm-3 PSUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/Hardware/Otherhttps://github.com/linux-nvme/nvme-clilinuxaarch64 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 nvmefc-boot-connections.service nvmf-connect.target nvmf-connect@.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 fiif [ ! -s /etc/nvme/hostnqn ]; then /usr/sbin/nvme-gen-hostnqn > /etc/nvme/hostnqn fi if [ ! -s /etc/nvme/hostnqn ]; then /usr/bin/echo "Generating random host NQN." /usr/sbin/nvme gen-hostnqn > /etc/nvme/hostnqn fi if [ ! -s /etc/nvme/hostid ]; then /usr/bin/uuidgen > /etc/nvme/hostid fi 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 nvmefc-boot-connections.service nvmf-connect.target nvmf-connect@.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 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 nvmefc-boot-connections.service nvmf-connect.target || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 /usr/bin/systemctl stop nvmefc-boot-connections.service nvmf-connect.target ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in nvmefc-boot-connections.service nvmf-connect.target ; 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 nvmefc-boot-connections.service nvmf-connect.target ) || : fi fi<aH <zFk`U 1M~03  C YF\C$$;(V5O'>RX;znmpVq {1F}4mp`@_-cp~`[1# M/8B15fVL#AAA큤A큤A큤` `"` ` ` ` ` ` ` ` ` ` ` ` `"_w`"_w` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` 555d31ba145b0467823b29e25b022e1b3062089055f25de053edf48c226deb9b755704c07ff6229461faf4e54aa7712e35da8c4e1a293485be3505268f95cc32da12ba7eb025db0bce0b8d376983d5b03e2f47f65282b210afb185686ee43e2aefab61aa505df8bd1026b5aed6ddfc79f7322988d21f88289cc06895e87d203713fa3231b263bf4f9d6dff0bbc33c278dee12f834b687b9662c5195d350019bda913343464ebf7defb947e1ae4bedce44ee2e3b3656c6f40843eb653d05d7c6176fc8ecc91d67135a956130862dd58b984b0c8d07fc8b177651554e301bcb1cdaa16e9b90033af81abee8bcd75c2b5e00be3d85a7e6418887131d9bf03dcf5556f5f6d6fb6fcf205dfd46ac8ba79fac23a63d48ab77a3512e09649b55a88ca885bd82cc40d18e94621a1cdc39bef00b7e9ba77462e560a1da117aec15e42b925a45d0bb572ed792ed34627a72621834b3ba92aab6e2cc4e04301dee7a728d7536b624e614b638bca2c5e7d09360bce568202f20ecedc7e7d2afb35aebe5006c03007dfc24a32bc91d20954a79e203be562c4248f35e1a268a71e40d75f75d96fd2e15a88673786ba2c8d7319b0fdb5965e53da43995d9a38347a546ef30d8a9c737482ac89efa903f5c07258df121944df17b3446ff65c490ce0db0d2fea43cd815631a9cdb6aaf07ae801e572824ae8454846708a200e7a1fa332d4b6f9e224dc29d445f18f34fc22f6b80ec3be9950d07be8e3ba4be20ee43f65c1c11a50c166d231f888b268b831ab8a0e13745c03fdbdab8c5bbedea012aefae0d468ae5791126dc1bd63f2e06813d520c0eec4ad579bb8ea7e3d00e048c39d4a6fc228333f6fced2b072c0139cb75611992c4b2d5e8cc8adaafc9b089b11c286636916a88f5b8e543d53f2eb51fe420288c875e169a56820b07c77cbfc4f30e6ea2263a8d382eb931ca245cfc4a1ff88013f75e8361847135a769c6069e927286a01625926fb8780f937fd459fe2cfa542ef4d6ada28d611ca1b752397b5b72dfbf42fd4902bba0d370bbd1d41ba779dc170d28f7c677bdb9f9608092dd61347083a49fcda60bbb87410a0850aee56e59df5fdf9c42d394e3e8a749c7af4f6585972f70077eddeb8e8d65a8e419a4d20da7ad4eab47837877cbe8f5930f9bf6a3396c55c0f112e13c4498f441eba81840d4837c4d2a289cba06241bb0fe6f59480d58e4a4cb2b47d88c75ad7c28c0575ce374ded5d408ae5856010f979e4a5e78806f5874de57b13fa28103bf8718125c27dd02ffb65e1c1a07ca40c5b5a450154dbd2ec115c08e518395613d8270fdc4b757000d42d2fc56a0f93ae435c99dcb34922cf99d483b194643b9c6701bf20bf6c020784fa43076d85ca480ca16fd441609a033d9bc40e2e8e25d28c86765103567339d045ce35ddb91b05f4ce4d599f5739c506f44c4fa6a30147c4d3556b0616c3a67e9b437597562a6fc03a65da420759eca8000284afa8181a91c8f2db20da807b70ff65a6630a5ac9f9725b07bfb0a4dca247aa928252e1e8ec43b600320d08931624bc1c429bcd6f50146f7b5f89258a697fca2b19038934bfdfdc696ba16700e0dac2d47097a2b9ba37c6e6fdf910da680d78ca43ee88401ce0e8b17bb9f6177ff046e5f4048e71af59aef45f08a6acb891cb0c4a96eaa4bf5b649c56e85b4dedbaaec2d97f83dd4cd1f666befbf52a95c564fc4c15a4a1d85d922f35c2c51904401743615eb834daadf98d0e9d4cfccb6352e204e66df2a9a098ae1d36dd40d324736b82aaf3fae78538c9a5509fed54e5f14833211a444fcedfacfa277cd2444b7df63c3c8b93911d11c66e7dd61fde77352595416da430af840e266ae7c19dc139076b583de0a012f31159659fc1c0a3ae1f4bd48f01bc597fb5692a0bf06828b89aa1d98b228be6015d76c2525c8a0915b50b9e643f5da0ec33284e620b9985a89dc7259a87bb32b9a899f75c8e0ebab6aa2d7253ee172ca414d6707a993758787fc376c7e4575c0001bb5bb3882a27b0701f600504c4b711eda7dab0e462898204e34be3686de53749d3d8ef09c2c04f4e0012056aa0c32087d71cb14726cceeccca2c99486ccb0251736f239288fb2da4d942caaedd90b63fe38420f534195b408611862fd7984f47155b64365f30088228942e5e5cf4741d3f1209b4dd7dd6043ee876a228a0d304e4b75a897ede1107a0607796d4f655e351ca389793afa6d8c0278a7225f526b21bcd3b43ad59098cc83fb46fa9eacc4ff4b2ae232700a7b64242edc06e5bdca3eed3b53fe40c72d4ea2c5fac9f58fbd39b27f7661cdc4ea36f00cf956fb2b82f1d7d126909699b43ef11960be55445c926d2882c631f5d5782e46791bb2456f2a538170c19395d09acf939cd6b2863db976c8eb3c6c39c830668d5a20c80a68782b29a44b3fd405d08e46d53b6c262a0e72510f9080664a7d87c73b8bbaed0820509eaf5638db42a1cb3e32eea45fbf27e61e9282046f2e31194cdea27fa50f3cbb84ec7941cfe2ace921e6988e988b3a2a911b3b93f9f3ac9ef7a649c98690d585c256081e2c2e6f1ed790295c98c0be03636c2707a7e5584ca18f171bd91698437c201abd64ffdf66bc3e96b910a2ee10a12458e5cba53af93a7bcb4af4a5b27137c9b4c2519806e1d1db835fcf92c8c7c526fef449e5d94a1e6425da8f45aa2982993c8b9a60341da7e79a85161892c77e948124ec4d765095581440e639a4cd19007136adf8f88e0039dd71dfdcd540378bf5ab0f9dca3b625e2e1881bd838a0c37a64d9e5fe54567e491b3a5c09d3ee2bde45762ee83a3d2a7258232778bac226415e9d19617575cab34e8958fcec3ec288fe4424cafa62dde22f28ea48898c1ab35476eb4c9f68cd0b5dc06aef10d5a2f36ba262a150b23413f5fc72b0c962fedb08bb3aadc793f104bedf5a02650271ca0c63fbe507aa5d32cb8bfc216990243194b06a634823899e217dd8a0cebe99131e4a7c8f5ed7194c09aa9ae70f0a04e6fe31a1870d8666d0ba005a823b216c98cb3786e79b54462d9916c52f95455f594ddb1c4cbc86c9f14a4e019738f9b23da9e8f6e468d6e9cee735e6db91dcb03da122f7f238e1995a3e3636f2998e12a5107a93b1064cd4d1845b02643543f42bdf28ea996b011788b82d308f844312df1c5b962fcea050fcfd06377f5de424f35c05989e9c6c7fba5e693007e17443ec991be9e9aa3e14f9cb438118c30af2399137c4cfc7494519456feb2ae9d01b356a2fe090911699de5cae269423812ac1b5db4adc11d3be35b4b461ba2d1564829a7f80be765b14ae0d68c225a54bbd4eed5b8b71471e21526768b677881f98d01c2683b37835217aaafe47003981b89451547e7a8d0ea9f63b00085f95ac719ae48ad6c07bf884161b0be3a4496a13e759990f6020fe354428472cda609d94d8d773e971a567cdddfa597e85f791e13335e2cdb91fe9d5c6c739e43a3d379a6d924ffd55b4784962d7f4bd9e8069a02508cf40310fe291014d7c7b7c63ea8f89b93671958ef0f410faf3d4798250bb6516373e4f78336942c0f143b1f0c4accb9d84ce3ce91a2f07cbbfbbf9d96cc65f9688d2084635a1a8f26fa40f5d7a7cb1fed47a9710423454740ef80fecbbf31ac5785810806b98fc1373ffe40c6698f21ee57fb8510701c8929a38adaee10240abb44e13f65c4f47f231abb68bd7ae66366ed9a9f7b324c90109444f50df4e1347d0efa5e7d21cba88aa4a91c4ee26b46314f5119ee995e5a77a4fb3d437d91ca806ec9ef2dbaebae023f16d6e962d0cc11c63a59d8984625a31288978e20ab463a15dd39c9f78f819bb05ea50723d89d148a14b9bd5bebfb22eacbc59c95119c3d77eb073a95e8a3494c883069120de1b668a87cd00caf48c6b26cdfcf7e2387cdd19152dfa7ecc9eee4532e98aa54810bc1eef84444976bca77227605c89b8e050e94d4c6d1e1383a064e5e50f53f24b9bc355759ae155541f1fee5053064b715fc5fb5223ea292e5f13832068e83ebd63b4ffb9ff408da54910c193d4b86aba86ac58c08c2e114c293b78896ac70bb61d632767c75c21b4f8ed434a9d06cc668b6bcba277f63a777adc1d8923de679e4622a3aa558bf08e14b8727eae6fee57df3871eb703a901f957d720276faeacec32c48135187075ed7d711b6f8d4c14b9a5a9a4697085fd451a77d543113c14626c8c47c78bbb485ca19fac65af32bee9ae308cd6caa9f943f0bd8f2364f42064612ded5f2c5e2ac8ca5dd805804d5094373f0eb8fc4edfc79d6130f23179551e427369b1474a67b8e4d6e1725981e98086446ba41dff395d08479342301be7b73d6830cd42c115b0bce1b1fd2cf22f04a59ff7c93ab11a2cdad8ac70841c4b3039f2bf3998fd1116ce3e595d1c558a32d6c61ceab539d6ffb18a2655bab197fc93d1ede689096b6e36de14a8db9d54f385019ee52e3bcba5388ad224e5e98bbea79cc676b6c15bfda2b2edc6bf74f848ddbcef9920dec5265f1c24c3417982af00971dcd40f4661439a278160b659b3336a98671621fc51dbbbbc8f85c30d6ddff7f120e2d3cdbd26c668fdfd77301e345f66c2a1f6048904264eee6f69abaad15338e2533ee4834944ed628f47fc61cc1647f858b6945ff0ba9aca9a4b20b8eaed34217b8a1ffecc8e71523371bc8b4a84b5013be07b6d9f03ab60f811d89ed3ba05c8b7540d06d89052ee48ec3bda18b07f1ad5ae0d23eba937ff043e73009be8be7a424de6dfe4fed448729218aab64d62ef828fc54da8b7538d2018b4687a7b916aaec5319f628ced8ebd56620cbcefc16d4a044666d6cedd7ec367fb78ac380c3e50884481caef471adb8dc61787358537f51723f24f44c47cdd32321990814260861cbf6b5cc1dc074b5b1c544471eaa216434eda002e5e40c40b5c3371afec5da0b8bbda0d44f32d1a7906f7e0947f86f7b66d2ee0064d94bc3d0c5a161f20ea22de3881c5034e49d02d997d42010b97f5da15ce2b6c16ece74ae7bc398569f1303a3877124c7bd7fdf8dc19d68290affb89631a770184c967f5fb282d5affc3b55624da760fbaa23f2b2aaf0b263d0f9318659b15cfbbf0dbdab5d6821be339874ea4dc60ab4a8b46ccf159fc6fff8f9a851e6d9aefd4acb0a2981d5321ffa428857451fe950872792b9b66ae1ce67b1a4df9ddf567cebb178d02e115531282d2ffd99ef90eb11889510b331d47668da363001b10e1265ac388155e9ca9557f2f5737f05e389ef1b5f8b62313564079ffa327a72e9039e3d03eb63581556d64f89166bf8555669f74ac5ae4593c792a32cb07c2ca20c853451f8c5aae690df6aab192547ea9c53985887f804beddb9236055bbcf6043f2246742ec8c78bc19f824cf2a8f6f0e478905cce256c5859b7ad4f381c1894abc088313cff9e406534820e11f894486baadc6046b03a9776cdd7051dcc12e2b9de6f1e496a5adb297d1d8771187e8f288bab465506571f90ddd4ce17aba03436ee23a45dc5aa934b3157ed36125678bef09010702bcecf2a308ef2e105ad72879a501658086d04cbf53413dd4af643d374b1d2d9876d21522cba87b6b1cc3db6efad5571d09234b76a625067dcf956024498cf936950f29a7ba39bf5b49dcdb2b0e1d01e6cbe53a0424701f8cbe6048420cacedeeced3b510ddfd780f059caaccc759ff9f2fdb088e584d60021c5a4ec49de3c2526bf0c5f6947a9ee6b58bb33eb727783dd6d674045278ff19ff9c67c964d284f68047dd24ce0d2fc54619a1105c7140abebde0cf397292de9b342ce5b10290ee0c6f570789c57ab8d8bfcb61f9db8256d75d014f345aba5dfe9d09082b74535ad2bc517b856afe4d232de13278d1fb2ecf75918a5f15807089f9a25652679d3549f1d6091bf180f6c1cbeebd9b022d57f32259e1bcae9094514ec83cb21184131ac504251ba801ff3df38fcfb32602f1a80b9a4ea4ed793d247bbe309a763d28cdfebc1b065a5ee7844b5966fd45d639ce8abd55a9182774c394dfd9b5a9dc2d4b2ee59388f0efde2a2cea2a0c80dfe6c099e47bda012e1af069803cedbcf96e224ac6f5fb627be8bb11944a682df7b528041391a247855e1946b88e99033a3320e80a07dd108cf37e91c917125076dd89e63b30819000f3c9895ca84d366042f18ef2936e3b9f4ae725e4174ed2b3184136117ecfc2b82c5b76b0ecca734bee8a2d9e3ce921c0d6badd2b4c0020ca80c9820ae553a9d76f3c0302f2a42eaa44a6c664c97cfb509ae86e462a3fcbe51d85ad8af14b8e92ad82f27850638eedb8006c8c55f561aa0ce46c65d1dd741418f4349f60bccaaa93310d2df5b1290e556fc918dbd671a53c8acc492c37b749a72966614d07018429313c71667b84c3dbf5e85a6e324301d8ee6db2177f6d532ede52ba73e6185b0ecb46231b677e864e8168254edb01ff49922b06ad2603a8cb42ff9ca2e5cbf788632783f03efcf99d2f95400f4c72842c3a07a314fa18b6e4ccee6c6048487cfe0adb74832e6ca6754c99b73b60da1e4300f1b43a38417815e639df58e2305e2615770cc2de5e7736aef47cc14a362b0f8cb6d03e04ead6f199c3b0dad6134e7a6b7d689894fad836@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootnvme-cli-1.13-3.3.1.src.rpmnvme-clinvme-cli(aarch-64)@  @@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/shdmidecodeld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libhugetlbfs.so()(64bit)libhugetlbfs.so(HTLBFS_2.1)(64bit)libuuid.so.1()(64bit)libuuid.so.1(UUID_1.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1`@__9^.^ P@]@]҇]:@\@\@\\!\}\\ac\P@@\N\73[[m~@[i[@Z@ZJ@Zľ@Z@ZV@Z2gY+@YB@YY4Y@YV=@YP@YP@YC@YA%@YXX @Wڍ@WWWN@W4VVVVwdaniel.wagner@suse.comdaniel.wagner@suse.comdmueller@suse.comhare@suse.comhare@suse.comhare@suse.dehare@suse.comsschricker@suse.comsschricker@suse.comsschricker@suse.comdimstar@opensuse.orgsschricker@suse.comsschricker@suse.comsschricker@suse.comhare@suse.detiwai@suse.dehare@suse.comhare@suse.dejthumshirn@suse.comhare@suse.dehare@suse.dejthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjengelh@inai.dejthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.com- Add KATO fixes for NVMEoF (bsc#1182591) * add 0001-fabrics-ensure-zero-kato-for-non-persistent-controllers.patch * add 0002-print-device-name-when-creating-a-persistent-device.patch - Lookup existing persistent controllers (bsc#1179825) * add 0003-nvme-discover-lookup-existing-persistent-controllers.patch- update to 1.13 * support for zoned command set * Identify I/O Command Set data structure command added * Added new namespace list command on list-ns, 4056 modification added * Added temperature information getting and text formatting * Implemented additional statistics to display * nvme: add support for non shared namespaces- update to 1.12 * Corrected text output in FW activation history * nvme: allow addr family to recognize loop * Add log page CA parsing * nvme status code updates based nvme spec v1.4 * Provide documentation for log page directory WDC plugin command * Fix status displayed by vs-telemetry-controller-option wdc plugin * fabrics: ignore hostnqn file if its empty- Update to version 1.10.1+git9.872e6b0: * fabrics: fix connection args parsing * nvmf-autoconnect.service * Fix status displayed by vs-telemetry-controller-option wdc plugin command. * Provide documentation for log page directory WDC plugin command * Provide WDC plugin command to dump log page directory * Tests: Hande string encoding and handling failures * Makefile: use UDEVRULESDIR instead of UDEVDIR - Rename 'nvme-det-hostnqn' script to 'nvme-gen-hostnqn'- Update to version 1.10.1+git2.797ec65: * Makefile: generate Dracut config according to UDEVDIR * Add additional smart log critical warn decoding * New tag for missing docs * Add new wdc documentation * Release v1.10 * Regen documentation * Use asprintf for long names * [NVME-CLI] Add documentation file for vs-error-reason-identifier WDC plugin command. [NVME-CLI] Minor updates/corrections to the clear-fw-activate-history and vs-fw-activate-history command help text. * [NVME-CLI] Add support for WDC plugin command - vs-error-reason-identifier [NVME-CLI] Reverse enable/disable bit on the vs-telemetry-controller-option WDC plugin command * Fix systemd service script use of CONNECT_ARGS env var * Shannon Plugin update. * Doc/Makefile: Introduce 'quiet' build option * Makefile: use 'quiet' compile * Makefile: Use special variables * micron: don't ignore 'system()' return value * Fix libhugetlbfs flags * Regenerate documentation * Micron plugin updates * README.md: Mention the buildroot package * nvmf-autoconnect: add udev rules to set iopolicy for certain NetApp devices * Fix intel json latency statistics output format * intel: Add function lat-stats to cli Adds the lat-stats function to intel plugin. If lat-stats-tracking is enabled, lat-stats will print out latency statistics according to the user's desired format. * [NVMe-CLI] Update documentation for telemetry data retrieval to vs-internal-log wdc plugin command. * [NVMe-CLI] Add support to retrieve telemetry data in vs-internal-log * [nvme-cli] Add documentation file for new wdc plugin command - vs-telemetry-controller-option * [nvme-cli] Add support for wdc plugin command - vs-telemetry-controller-option * Fix typo (bulit -> built) * Warn on admin-passthru opcode not matching read/write flag * MAINT: Fix format compile warning error on 32 bit system * nvme-cli: Check for sysfs interface before NVMe discovery * Revert "Add Dera plugin extension." * Revert "Add Dera plugin extension." * Add Dera plugin extension. Add stat sub-command to retrieve Dera device status and additional SMART log. * Add Dera plugin extension. Add stat sub-command to retrieve Dera device status and additional SMART log. * Improve self test log command * nvme-cli: Update err to 0 in get_telemetry_log * fixup up self-test log when no test is in progress * nvme-cli: Update err value to 0 in get_ns_id func. * Add Dera plugin extension. Add stat sub-command to retrieve Dera device status and additional SMART log. * nvme.c: create-ns arguments are added - Remove patch merged with upstream * Delete 0101-nvme-add-iopolicy-rules-for-netapp.patch- Add libhugetlbfs to the list of build requirements- Update to version 1.9+git122.c5097d5: * [NVMe-CLI] Get DUI for SN-340 failing with Data Area 4 - Buffer Misalignment * Minor intel-nvme print refactor * Use simpler nvme ioctl api for admin * Relocate functions and constants to the files that use them * Move all spec defined structs to single file * Update build rules for .c with no .h * Update my email address * Makefile: fix cleaning subdirectories * remove unused "paths" controller field * reign in line lengths * Add print for directive receive * Unify print routines * regenerate documentation * fix fw-download reference to committing fw * argconfig: Remove unused paramters * fix huawei filter to search all namespaces * nvme-cli: Support for hugetlbfs * Remove all 'struct nvme_command' usage * nvme-cli: Update PMR Capability and PMR Status 1. Adding Controller Memory Space Supported(CMSS) in PMRCAP 2. Adding Persistent Memory Region Status(CBAI) in PMRSTS * nvme-cli: Update Controller Capabilities Register 1. Add Controller Memory Buffer Supported (CMBS) * nvme-cli: Update NVMe Registers 1. Add Controller Memory Buffer Memory Space Control (CMBMSC) 2. Add Controller Memory Buffer Status (CMBSTS) 3. Add Persistent Memory Region Memory Space Control (PMRMSC) * fixup attach-ns documentation * Add files via upload * [NVMe-CLI] Updates and fixes to WDC plugin command vs-internal-log for the SN340 drive. * Regen docs, add host-nqn man page * [NVMe-ClI] Add Documentation files for clear-fw-activate-history command * [NVMe-CLI] Add clear-fw-activate-history WDC plugin command * fix namespace checks for legacy list * Reset wdc_do_cap_dui default parameters to the proper values * README.md: Mention the OpenEmbedded/Yocto recipe * Intel plugin: Adding fields to id-ctrl VU region Per https://github.com/linux-nvme/nvme-cli/pull/584/commits/f33510efbf5192116e5757d13a02463d446a1dc5#r332178975 removing pack pragma on vu_id_ctrl_field struct. * udev: convert the discovery event handler to the kernel support * Use a systemd app-specific machine ID for hostnqn * nvme-cli: Add 'transport type' error to the error log * nvme-cli: Update nvme_endurance_group_log structure * Adding fields to id-ctrl VU reigon for Intel DC drives * Check return value of scandir * nvme-cli: Add namespace-id option to self-test-log * Report invalid output format for 'list' command * Provide no-binary output format help text * regen documentation * Documentation: nvme-wdc-vs-fw-activate-history(1,html) generated * nvme-cli/fabrics: Add tos param to connect cmd * nvme.spec.in: fix rpm build error * Correct self-test-log output * nvme: Add 'Endurance Group Critical Warning Summary' to the Smart/Health information Log * [NVMe-CLI] Documentation file for WDC vs-fw-activate-history command. * [NVMe-CLI] Add new WDC plugin command vs-fw-activate-history. * make: install-hostparams depends on install-etc * MAINT: compile warning error on 32 bit system * nvme-print: fix to print ctrltype when human-readable * nvme: add Persistent Memory Region(PMR) Write Elasticity Status Registers * [NVMe-CLI] Fix Potential Memory Leak with vs-internal-log command. * regen docs * fix admin-passthru documentation typo * [NVMe-CLI] Fix empty file issue with vs-internal-log wdc plugin command * nvme-cli: Fix namespace list output * Fix builds for missing uuid * Revert "remove LIBUUID things from nvme.h" * Revert "nvme-cli: Fix compile on non-libuuid machines" * Revert "fix uuid include typo" * [NVMe-CLI] Fix offset parameter size for vs-internal-log wdc plugin command. * remove LIBUUID things from nvme.h * fix build error due to asprintf() * id-ctrl: show Flush command behavior in VWC * fix uuid include typo * nvme-cli: Fix compile on non-libuuid machines * [NVMe-CLI] Add updated documentation for additional parameters to specify file size in vs-internal-log command. * Regen docs * nvme-cli: Code cleanup * nvme-cli: Macro'ify argument defines * nvme-cli: Code reorg * [NVMe-CLI] Add support to specify file size in get DUI data for SN340. * Regenerate documentation * nvme-cli: Make 'list' more useful * id-ctrl: show Persistent Event Log support in LPA * id-ctrl: show Persistent Event Log Size(PELS) * id-ctrl: show Endurance Group Maximum ID(ENDGIDMAX) * id-ctrl: show FRU Globally Unique Identifier(FGUID) * id-ctrl: show Controller Type(CNTRLTYPE) * id-ctrl: update id-ctrl header for 1.4 * systemd: fix echo call with absolute path * nvmf-autoconnect: fix absolute path for systemctl * make: install udev rules in sysconfdir * Add an example for attach-ns * make: fix discovery.conf override * fabrics: fix loop connect-all * nvme: fix compilation error * nvme-cli: Enhance format FNA detection * nvme-cli: Warn and delay before formatting * nvme-cli: prefill metadata buffers * Fixed bash-nvme-completion.sh typo * Tag release: v1.9 * Regen docs * nvme: UUIDs for Vendor-Specific Information * nvme: add Persistent Memory Region (PMR) registers * get-lba-status: add Get LBA Status command * Added openSUSE Leap to README.md * id-ctrl: add 1.4 features to OAES * Update packaging state in Arch Linux * Fix code block style in the first section * nvme-cli: nvmf auto-connect scripts * nvme-cli: add --quiet option * nvme-cli: Expand --device argument processing * nvme-cli: Add routine to search for controller with specific attributes * nvme-cli: Add routine to compare ctrl_list_item to connect args * nvme-cli: extend ctrl_list_item for connect attributes * nvme-cli: Refactor to create a get_nvme_ctrl_info routine * nvme-cli: allow discover to address discovery controller by persistent name * nvme-cli: support persistent connections to a discovery controller * nvme-cli: ignore arguments that pass in "none" * nvme-print: show new CMBLOC bit fields added in NVMe 1.4 * nvme: add support for Namespace Granularity * nvme: sanitize enhancements * nvme-cli: Update manpages to reflect discovery particulars * nvme-cli: mask out invalid options during discovery * nvme-cli: do not use 'queue_size' and 'nr_io_queues' for discovery controller * nvme: Enhanced Command Retry * id-ctrl: add an indicator for get lba status capability * nvme: change format default namespace id * lnvm: introduce alias geometry for id-ns for lnvm * lnvm: introduce chunk-log command for chunk info * lnvm: make data_len to sizeof() instead of magic number - Add patches from SLE15: * 0101-nvme-add-iopolicy-rules-for-netapp.patch * 0102-nvme-cli-Add-script-to-determine-host-NQN.patch - Drop patches merged with upstream: * 0001-nvme_fc-auto-connect-scripts.patch * 0002-71-nvme-iopolicy-netapp.rules-add-default-rules-for-.patch * 0003-Add-nvmefc-connect.target.patch * 0004-Change-service-to-type-simple.patch * 0005-nvme-cli-Check-for-sysfs-interface-before-NVMe-disco.patch * 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch * 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch * 0008-nvme-cli-Add-script-to-determine-host-NQN.patch- Update to version 1.8.1+git135.9bab71e: * various documentation improvements * nvme-cli: Restore support for older gcc versions * [NVMe-CLI] Add support for larger data sizes needed to get DUI data. * [Log] Memblaze add more log infomation for S.M.A.R.T. * nvme: add Verify command * lnvm: do not print 0 when the arg is not given * lnvm: remove redundant whitespace in lnvm_init() * nvme: clean up goto labels without whitespace * format: check BLKRRPART failure * [NVMe-CLI] Add support for SN730 to WDC plugin commmands * Add verbose capability to get DUI function to improve debug * nvme-print: Show value for Transport SGL Data Block Descriptor support * [NVMe-CLI] WDC: Add support for 64 bit data addresses in Get DUI Data functions * nvme-cli: Fix more endianness issues * nvme-print: add JSON for NVMe 1.4 NPWG, NPWA, NPDG, NPDA and NOWS fields * fabrics: Return errno mapped for fabrics error status * fabrics: return error when discovery retry exhausted * nvme: Return errno mapped for nvme error status * nvme-status: Introduce nvme status module to map errno * nvme: Return negative error value for internal errors * fabrics: Do not return in the middle of the subcommand * nvme: Do not return in the middle of the subcommand * nvme-cli: Report the NVMe 1.4 NPWG, NPWA, NPDG, NPDA and NOWS fields * Introduce NVMe 1.4 Identify Namespace fields in struct nvme_id_ns * nvme-cli: Skip properties that are not supported * Fix various bugs related to endianness bugs * NVMe-Cli Shannon Plugin-add support for shannon systems. * nvme-print: fix json object memory leak * fabrics: Fix memory leak of subsys list * nvme: update description for "nvme list" command * nvme: update list-ns nsid option * nvme-print: add pretty print for estimated sanitize time * add namespace to json output of nvme list * add free call for json object for commands show-regs * add newline for command show-regs * nvme-cli: remove unnecessary initialize of local var * nvme-cli: don't try to disconnect for ctrl with pcie transport * Fix sprintf truncate - Reorder install steps: Install systemd services first, since they are required for the udev rules, avoiding a theoretical race condition.- Add new subpackage containing the nvme-cli regress script - Add script to determine host NQN based on the system UUID + 0008-nvme-cli-Add-script-to-determine-host-NQN.patch - Add new udev rule for NetApp E-Series and adjust udev rule naming scheme accordingly. (bsc#1124564) + 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch + 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch - Update to version 1.8.1+git64.b969cf0: * fix json print for list-subsys command * Add Virtium plugin extension document * Add Virtium plugin extension * nvme.h: Fix typos in status code values * nvme-cli: remove unused NVME_AER_NOTICE_ * list-ctrl, create-ns, format: Do not return directly without freeing fd- Update to version 1.8.1+git41.2c43c51: * nvme-print: remove Virtual Management support from ONCS * nvme-print: update self-test log to include 'aborted due to sanitize' * move to DocBook 5 * nvme-cli: add missing endianness conversions for telemetry log page * property: Fit print size for a property * Add Disable IO flag to wdc_dump_dui_data function * Reorder primary commands * nvme-cli: add identify secondary controller list * sanitize/get-telemetry-log: Print nvme status in case ret > 0 * print: Introduce show_nvme_status to print nvme status * ioctl: Fix wrong return case of get_property * ioctl: Fix double-free in a loop of get_property * improved Documentation * fix compilation with GCC-8 * fix CFLAGS parameter * nvme-cli: fix compilation with uint64_t cast * nvme-cli: minor cleanup for submit_io() * nvme-cli: align all the macros * wdc: Change device capability checking * wdc: Add additional device for vs-internal-log * wdc: Add device unit info log extraction * wdc: Add get drive status command * wdc: Add clear assert dump status command * wdc: Add drive resize command * wdc: Update device capabilities for clear pcie corr * wdc: Update file parameter checking * wdc: Add command to extract NAND statistics * wdc: Add data area extraction for DUI command * wdc: Additional device capabilities check * nvme-cli: fix fc trtype string * NVMe-CLI WDC Plugin - add support for additional SN840 device ID. * WDC plugin Change vs-internal-log Command to Save Partial E6 Log Data. * WDC Plugins vs-internal-log command unsupported on SN340. * Fix print format specifiers * Fix format block size usage * Add reporting of Virtual Management support to id-ctrl * Fix possible NULL pointer dereferences * Fix possible memory leak on get-internal-log * Print timestamp as a date and time string * nvme-cli: add netapp ontapdevices command * Add FreeBSD installation instructions * Adding a helper to format command * fabrics: Return negative errno when asprintf() fails * fabrics: Return negative errno to check remove_ctrl() is failed * nvme: Support raw_binary and json format for show-regs * ioctl: Free memory if get_property for fabrics failed * nvme: Use ARRAY_SIZE() macro in common.h * nvme: Unify min(), max() macro as a common one * nvme: Simplify description for virt-mgmt * nvme: Simplify virt-mgmt options to lowercase * nvme-print: Fix evaluation of ctratt on pretty print * nvme: print I/O error to stderr - Drop obsolete patches: - 0001-wdc-Change-device-capability-checking.patch - 0002-wdc-Add-additional-device-for-vs-internal-log.patch - 0003-generate-new-documentation.patch - 0004-Fix-compilation-with-GCC-8.patch - 0005-Fix-CFLAGS-parameter.patch - 0006-nvme-cli-fix-compilation-with-uint64_t-cast.patch - 0007-Regen-docs.patch - 0008-nvme-cli-minor-cleanup-for-submit_io.patch - 0009-Regen-documentation.patch - 0010-nvme-cli-fix-fc-trtype-string.patch - 0011-nvme-cli-add-netapp-ontapdevices-command.patch - 0012-nvme-cli-add-netapp-ontapdevices-man-page.patch - 0013-nvme-cli-Revert-stop-on-failure-with-connect-all.patch - 0014-nvme-cli-Increase-size-of-ONTAP-namespace-path-varia.patch - 0015-DOC-Move-to-DocBook-5-when-using-asciidoctor.patch - 0104-nvme-cli-Fix-documentation-syntax-and-typo.patch - Rename downstream patch: + 0001-nvme_fc-auto-connect-scripts.patch + 0002-71-nvme-iopolicy-netapp.rules-add-default-rules-for-.patch + 0003-Add-nvmefc-connect.target.patch + 0004-Change-service-to-type-simple.patch + 0005-nvme-cli-Check-for-sysfs-interface-before-NVMe-disco.patch - 0100-nvme_fc-auto-connect-scripts.patch - 0101-71-nvme-iopolicy-netapp.rules-add-default-rules-for-.patch - 0102-Add-nvmefc-connect.target.patch - 0103-Change-service-to-type-simple.patch - 0105-nvme-cli-Check-for-sysfs-interface-before-NVMe-disco.patch- No longer convert via obsolete DocBook 4.5 format, but rather via DocBook 5.x. This due to asciidoctor 2.x no longer supporting DocBook 4.x + 0015-DOC-Move-to-DocBook-5-when-using-asciidoctor.patch- Increase size of ONTAP namespace path variable + 0014-nvme-cli-Increase-size-of-ONTAP-namespace-path-varia.patch - Fix failing service on devices without fc-hardware (bsc#1133594) + 0105-nvme-cli-Check-for-sysfs-interface-before-NVMe-disco.patch- Add new 'ontapdevices' command and corresponding documentation. Requested in (bsc#1131930). + 0011-nvme-cli-add-netapp-ontapdevices-command.patch + 0012-nvme-cli-add-netapp-ontapdevices-man-page.patch + 0104-nvme-cli-Fix-documentation-syntax-and-typo.patch - Revert stop-on-failure patch for connect-all, which caused unintended behaviour (bsc#1132124) + 0013-nvme-cli-Revert-stop-on-failure-with-connect-all.patch- Add nvmefc-connect.target to allow stopping the parameterized services (bsc#1127076). Also change the service type so udevd doesn't have to wait for the termination of the service process. + 0102-Add-nvmefc-connect.target.patch + 0103-Change-service-to-type-simple.patch- Regenerate documentation (bsc#1124713) * Add 0007-Regen-docs.patch - Minor cleanup for submit_io (bsc#1124713) * Add 0008-nvme-cli-minor-cleanup-for-submit_io.patch - Regenerate documentation ((bsc#1124713) * Add 0009-Regen-documentation.patch - Fix fc_trtype string (bsc#1124713) * Add 0010-nvme-cli-fix-fc-trtype-string.patch - Add 71-nvme-iopolicy-netapp.rules (bsc#1124564) * Add 0101-71-nvme-iopolicy-netapp.rules-add-default-rules-for-.patch- Build documents with asciidoctor (bsc#1075764)- Update to version 1.7: * Use tnvmcap register for creating namespace * don't execute a command if --dry-run is supplied * Remove trailing "\n" so that the output is valid json * nvme-cli: remove unnecessary assignments * nvme-print.c : fix ns-descs JSON output * nvme-cli: fix typo in json_print_list_items * nvme-get-property : Add documentation * fabrics: write ctrl_loss_tmo to fabrics device on connect * fabrics: write keep-alive-timeout to fabrics device on connect * nvme-models.c - search for pci.ids * nvme-cli add ns write protect feature support * nvme-cli: add minimal ana-log page support * nvme-cli: add ana-log documentation * Fix print format specifier for 64-bit * nvme-ana-log: fixup compiler warning in show_ana_log() * nvme-vendor: fixup c99 declaration in huawei plugin * nvme-discover: sanitize options * Fix nvme id namespace struct * nvme-cli: make show_registers_cap() static * nvme-cli: wdc-plugin mark array static declaration * nvme-cli: fix sparse warnings for declaration * nvme-cli: don't use unsigned for fd in lnvm-nvme.c * nvme-cli: remove always true condition for u8 * nvme-cli: fix dead-code nvmf log page discovery * nvme-cli: code cleanup for passthru() handlers * nvme-cli: fix scaandir() return value * nvme-cli: netapp plugin handle empty strings * nvme-cli: Fix the displayed metadata length value on Big Endian systems. * nvme list : fix nvme list output if identify failed on device * nvme-cli: use uniform error message for open * nvme-cli: fix indentation * nvme-cli: make wdc plug-in functions static * nvme-cli: mark functions static * nvme-cli: make malloc error handling uniform * Enlarge local char[] so snprintf(3) can't truncate path. * fabrics: make some arguments integers * fabrics: don't fail empty discovery log page * nvme: commonize subsystems info in a helper * fabrics: add disconnect-all command * Regen documentation * attach-ns : fix segfault for ctrl list wrong input * nvme-discover: Retry discovery log if the generation counter changes * nvme-ioctl: retrieve log pages in 4k chunks * nvme-discover: Re-check generation counter after log page transfer * seagate-nvme: fixup coding style * nvme-cli: Add 'rae' argument to nvme_get_log() * nvme-cli: kill nvme_passthru_admin() * nvme-cli: print "\n" after nvme list-subsys -o json * nvme-cli: tests: fix fw_log test coding style * nvme-cli: tests: fix id_ctrl test coding style * nvme-cli: tests: fix id_ns test coding style * nvme-cli: tests: Add get_id_ctrl function * Update gitignore for generated test files * Add PCI device id checking for the WDC plugin commands. * Fix nvme test device selection to use controller value defined in the config.json file. Before this fix, the value was hard coded to nvme0. * nvme-cli: prevent resv action field overflow * nvme-cli: report subsystem-reset not supported by controller * nvme-cli: fix indentation for dir_[send/receive] * nvme-cli: make read error handling uniform * Use sys/ioctl.h to pull in definitions. * Remove unnecessary asm/byteorder.h * Remove unnecessary linux/types.h include. * Include libgen.h for basename prototype. * Include sys/stat.h * nvme-cli: remove endian.h * We don't need to include linux/types.h here. * Initialize line. * Use standard interfaces to get timezone offsets. * nvme-cli: fix ioctl argument * nvme-cli: fix a typo * Enable code block syntax highlight in README.md * Makefile: fix bash completion install path * NVMe-CLI WDC Plugin - Simplify the device id checking routines. * nvme-cli: Add wdc-plugin command vs-internal-log and update wdc-plug cap-diag command with transfer-size parameter. * nvme-cli: Add help text for wdc-plugin command vs-internal-log. Update help text for wdc-plugin command cap-diag. * Update documentation * nvme.spec.in : fix bash completion path, require * nvme-cli wdc plugin: Add get pfail dump command. * nvme-cli wdc plugin: Add documentation for pfail dump. * Re-gen documentation for new files * wdc: Fix strncpy warning * Refactor plugins in a file hierarchy * nvme-cli: fix sanitize status endianness * nvme-cli: fix ana-log endianness * wdc: Use const string for suffix * nvme-cli:fix a typo in SELF-TEST log * nvme-cli: fix a typo * nvme-cli: fix array len to hold string of size 4 * nvme-cli: fix endianness for the structure field * nvme: Handle supported capabilities result for get features * connect-all: special treatment to EALREADY afetr write to /dev/nvme-fabrics * Added zsh completion installation * nvme-cli: fix a typo * nvme: fixup ANA group descriptor offset * nvme: introduce get_nvme_ctrl_attr() * nvme: print out controller state for 'list-subsys' * nvme-list-subsys: Add device name argument and print out ANA state * list-subsys: Preserve line breaks and spaces * Regen documentation * In json output, if the commands add zero length string, it occur allocation fail & abort (cannot display empty value) * Fix printing of large ANAGRPID values * micron-nvme: Replace direct use of ioctl * Fix printing of large ANAGRPID values * Fix typos in docs * Fix typos in tests and utils * fabrics: support fabrics sq flow control disable * fabrics: use trtype_str when parsing a discovery log entry * nvme: Add TCP transport * fabrics: add tcp port tsas decoding * fabrics: add transport header and data digest * nvme-ioctl: clear rae for discovery log pages * Added support for virtualization-management command * nvme-cli: Don't print result on passthru error * nvme-cli: readme: fix typo in Alpine distro support * Added gentoo to README.md * fabrics: pass in number of write queues * fabrics: pass in number of polling queues * Update documentation * README: update Arch Linux install instructions * fabrics: allow nr_io/write/poll_queues and queue size to discovery * nvme: Adding a block size selector to format * nvme: Regenerate documentation * timeout option added to ns_create/delete (#440) * nvme: Remove duplicate error message * rpm spec file: add zsh completion (#447) * nvme: Release 1.7 - Drop obsolete patches: - 0001-Use-tnvmcap-register-for-creating-namespace.patch - 0002-don-t-execute-a-command-if-dry-run-is-supplied.patch - 0003-Remove-trailing-n-so-that-the-output-is-valid-json.patch - 0004-nvme-cli-remove-unnecessary-assignments.patch - 0005-nvme-print.c-fix-ns-descs-JSON-output.patch - 0006-nvme-cli-fix-typo-in-json_print_list_items.patch - 0007-nvme-get-property-Add-documentation.patch - 0008-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - 0009-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch - 0010-nvme-models.c-search-for-pci.ids.patch - 0011-nvme-cli-add-ns-write-protect-feature-support.patch - 0012-nvme-cli-add-minimal-ana-log-page-support.patch - 0013-nvme-cli-add-ana-log-documentation.patch - 0014-Fix-print-format-specifier-for-64-bit.patch - 0015-nvme-ana-log-fixup-compiler-warning-in-show_ana_log.patch - 0016-nvme-vendor-fixup-c99-declaration-in-huawei-plugin.patch - 0017-nvme-discover-sanitize-options.patch - 0018-Fix-nvme-id-namespace-struct.patch - 0019-nvme-cli-make-show_registers_cap-static.patch - 0020-nvme-cli-wdc-plugin-mark-array-static-declaration.patch - 0021-nvme-cli-fix-sparse-warnings-for-declaration.patch - 0022-nvme-cli-don-t-use-unsigned-for-fd-in-lnvm-nvme.c.patch - 0023-nvme-cli-remove-always-true-condition-for-u8.patch - 0024-nvme-cli-fix-dead-code-nvmf-log-page-discovery.patch - 0025-nvme-cli-code-cleanup-for-passthru-handlers.patch - 0026-nvme-cli-fix-scaandir-return-value.patch - 0027-nvme-cli-netapp-plugin-handle-empty-strings.patch - 0028-nvme-cli-Fix-the-displayed-metadata-length-value-on-.patch - 0029-nvme-list-fix-nvme-list-output-if-identify-failed-on.patch - 0030-nvme-cli-use-uniform-error-message-for-open.patch - 0031-nvme-cli-fix-indentation.patch - 0032-nvme-cli-make-wdc-plug-in-functions-static.patch - 0033-nvme-cli-mark-functions-static.patch - 0034-nvme-cli-make-malloc-error-handling-uniform.patch - 0035-Enlarge-local-char-so-snprintf-3-can-t-truncate-path.patch - 0036-fabrics-make-some-arguments-integers.patch - 0037-fabrics-don-t-fail-empty-discovery-log-page.patch - 0038-nvme-commonize-subsystems-info-in-a-helper.patch - 0039-fabrics-add-disconnect-all-command.patch - 0040-Regen-documentation.patch - 0041-attach-ns-fix-segfault-for-ctrl-list-wrong-input.patch - 0042-nvme-discover-Retry-discovery-log-if-the-generation-.patch - 0043-nvme-ioctl-retrieve-log-pages-in-4k-chunks.patch - 0044-nvme-discover-Re-check-generation-counter-after-log-.patch - 0045-seagate-nvme-fixup-coding-style.patch - 0046-nvme-cli-Add-rae-argument-to-nvme_get_log.patch - 0047-nvme-cli-kill-nvme_passthru_admin.patch - 0048-nvme-cli-print-n-after-nvme-list-subsys-o-json.patch - 0049-nvme-cli-tests-fix-fw_log-test-coding-style.patch - 0050-nvme-cli-tests-fix-id_ctrl-test-coding-style.patch - 0051-nvme-cli-tests-fix-id_ns-test-coding-style.patch - 0052-nvme-cli-tests-Add-get_id_ctrl-function.patch - 0054-Add-PCI-device-id-checking-for-the-WDC-plugin-comman.patch - 0055-Fix-nvme-test-device-selection-to-use-controller-val.patch - 0056-nvme-cli-prevent-resv-action-field-overflow.patch - 0057-nvme-cli-report-subsystem-reset-not-supported-by-con.patch - 0058-nvme-cli-fix-indentation-for-dir_-send-receive.patch - 0059-nvme-cli-make-read-error-handling-uniform.patch - 0060-Use-sys-ioctl.h-to-pull-in-definitions.patch - 0061-Remove-unnecessary-asm-byteorder.h.patch - 0062-Remove-unnecessary-linux-types.h-include.patch - 0063-Include-libgen.h-for-basename-prototype.patch - 0064-Include-sys-stat.h.patch - 0065-nvme-cli-remove-endian.h.patch - 0066-We-don-t-need-to-include-linux-types.h-here.patch - 0067-Initialize-line.patch - 0068-Use-standard-interfaces-to-get-timezone-offsets.patch - 0069-nvme-cli-fix-ioctl-argument.patch - 0070-nvme-cli-fix-a-typo.patch - 0071-Enable-code-block-syntax-highlight-in-README.md.patch - 0072-Makefile-fix-bash-completion-install-path.patch - 0073-NVMe-CLI-WDC-Plugin-Simplify-the-device-id-checking-.patch - 0074-nvme-cli-Add-wdc-plugin-command-vs-internal-log-and-.patch - 0075-nvme-cli-Add-help-text-for-wdc-plugin-command-vs-int.patch - 0076-Update-documentation.patch - 0077-nvme.spec.in-fix-bash-completion-path-require.patch - 0078-nvme-cli-wdc-plugin-Add-get-pfail-dump-command.patch - 0079-nvme-cli-wdc-plugin-Add-documentation-for-pfail-dump.patch - 0080-Re-gen-documentation-for-new-files.patch - 0081-wdc-Fix-strncpy-warning.patch - 0082-Refactor-plugins-in-a-file-hierarchy.patch - 0083-nvme-cli-fix-sanitize-status-endianness.patch - 0084-nvme-cli-fix-ana-log-endianness.patch - 0085-wdc-Use-const-string-for-suffix.patch - 0086-nvme-cli-fix-a-typo-in-SELF-TEST-log.patch - 0087-nvme-cli-fix-a-typo.patch - 0088-nvme-cli-fix-array-len-to-hold-string-of-size-4.patch - 0089-nvme-cli-fix-endianness-for-the-structure-field.patch - 0090-nvme-Handle-supported-capabilities-result-for-get-fe.patch - 0091-connect-all-special-treatment-to-EALREADY-afetr-writ.patch - 0092-Added-zsh-completion-installation.patch - 0093-nvme-cli-fix-a-typo.patch - 0094-nvme-fixup-ANA-group-descriptor-offset.patch - 0095-nvme-introduce-get_nvme_ctrl_attr.patch - 0096-nvme-print-out-controller-state-for-list-subsys.patch - 0097-nvme-list-subsys-Add-device-name-argument-and-print-.patch - 0098-list-subsys-Preserve-line-breaks-and-spaces.patch - 0099-Regen-documentation.patch - 0100-In-json-output-if-the-commands-add-zero-length-strin.patch - 0101-Fix-printing-of-large-ANAGRPID-values.patch - 0102-micron-nvme-Replace-direct-use-of-ioctl.patch - 0104-Fix-typos-in-docs.patch - 0105-Fix-typos-in-tests-and-utils.patch - 0106-fabrics-support-fabrics-sq-flow-control-disable.patch - 0107-fabrics-use-trtype_str-when-parsing-a-discovery-log-.patch - 0108-nvme-Add-TCP-transport.patch - 0109-fabrics-add-tcp-port-tsas-decoding.patch - 0110-fabrics-add-transport-header-and-data-digest.patch - 0111-nvme-ioctl-clear-rae-for-discovery-log-pages.patch - 0112-Added-support-for-virtualization-management-command.patch - 0113-nvme-cli-Don-t-print-result-on-passthru-error.patch - 0114-nvme-cli-readme-fix-typo-in-Alpine-distro-support.patch - 0115-Added-gentoo-to-README.md.patch - 0116-fabrics-pass-in-number-of-write-queues.patch - 0117-fabrics-pass-in-number-of-polling-queues.patch - 0118-Update-documentation.patch - 0119-README-update-Arch-Linux-install-instructions.patch - 0120-fabrics-allow-nr_io-write-poll_queues-and-queue-size.patch - 0121-nvme-Adding-a-block-size-selector-to-format.patch - 0122-nvme-Regenerate-documentation.patch - 0123-timeout-option-added-to-ns_create-delete-440.patch - 0124-nvme-Remove-duplicate-error-message.patch - Add patches from upstream git tree (FATE#326925) + 0001-wdc-Change-device-capability-checking.patch + 0002-wdc-Add-additional-device-for-vs-internal-log.patch + 0003-generate-new-documentation.patch + 0004-Fix-compilation-with-GCC-8.patch + 0005-Fix-CFLAGS-parameter.patch + 0006-nvme-cli-fix-compilation-with-uint64_t-cast.patch - Add FC-NVMe autoconnect scripts (bsc#1103354) + 0100-nvme_fc-auto-connect-scripts.patch- Use tnvmcap register for creating namespace (FATE#326925) + 0001-Use-tnvmcap-register-for-creating-namespace.patch - don't execute a command if --dry-run is supplied (FATE#326925) + 0002-don-t-execute-a-command-if-dry-run-is-supplied.patch - Remove trailing "\n" so that the output is valid json (FATE#326925) + 0003-Remove-trailing-n-so-that-the-output-is-valid-json.patch - nvme-cli: remove unnecessary assignments (FATE#326925) + 0004-nvme-cli-remove-unnecessary-assignments.patch - nvme-print.c : fix ns-descs JSON output (FATE#326925) + 0005-nvme-print.c-fix-ns-descs-JSON-output.patch - nvme-cli: fix typo in json_print_list_items (FATE#326925) + 0006-nvme-cli-fix-typo-in-json_print_list_items.patch - nvme-get-property : Add documentation (FATE#326925) + 0007-nvme-get-property-Add-documentation.patch - fabrics: write ctrl_loss_tmo to fabrics device on connect (FATE#326925) + 0008-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - fabrics: write keep-alive-timeout to fabrics device on (FATE#326925) + 0009-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch - nvme-models.c - search for pci.ids (FATE#326925) + 0010-nvme-models.c-search-for-pci.ids.patch - nvme-cli add ns write protect feature support (FATE#326925) + 0011-nvme-cli-add-ns-write-protect-feature-support.patch - nvme-cli: add minimal ana-log page support (FATE#326925) + 0012-nvme-cli-add-minimal-ana-log-page-support.patch - nvme-cli: add ana-log documentation (FATE#326925) + 0013-nvme-cli-add-ana-log-documentation.patch - Fix print format specifier for 64-bit (FATE#326925) + 0014-Fix-print-format-specifier-for-64-bit.patch - nvme-ana-log: fixup compiler warning in show_ana_log() (FATE#326925) + 0015-nvme-ana-log-fixup-compiler-warning-in-show_ana_log.patch - nvme-vendor: fixup c99 declaration in huawei plugin (FATE#326925) + 0016-nvme-vendor-fixup-c99-declaration-in-huawei-plugin.patch - nvme-discover: sanitize options (FATE#326925) + 0017-nvme-discover-sanitize-options.patch - Fix nvme id namespace struct (FATE#326925) + 0018-Fix-nvme-id-namespace-struct.patch - nvme-cli: make show_registers_cap() static (FATE#326925) + 0019-nvme-cli-make-show_registers_cap-static.patch - nvme-cli: wdc-plugin mark array static declaration (FATE#326925) + 0020-nvme-cli-wdc-plugin-mark-array-static-declaration.patch - nvme-cli: fix sparse warnings for declaration (FATE#326925) + 0021-nvme-cli-fix-sparse-warnings-for-declaration.patch - nvme-cli: don't use unsigned for fd in lnvm-nvme.c (FATE#326925) + 0022-nvme-cli-don-t-use-unsigned-for-fd-in-lnvm-nvme.c.patch - nvme-cli: remove always true condition for u8 (FATE#326925) + 0023-nvme-cli-remove-always-true-condition-for-u8.patch - nvme-cli: fix dead-code nvmf log page discovery (FATE#326925) + 0024-nvme-cli-fix-dead-code-nvmf-log-page-discovery.patch - nvme-cli: code cleanup for passthru() handlers (FATE#326925) + 0025-nvme-cli-code-cleanup-for-passthru-handlers.patch - nvme-cli: fix scaandir() return value (FATE#326925) + 0026-nvme-cli-fix-scaandir-return-value.patch - nvme-cli: netapp plugin handle empty strings (FATE#326925) + 0027-nvme-cli-netapp-plugin-handle-empty-strings.patch - nvme-cli: Fix the displayed metadata length value on Big (FATE#326925) + 0028-nvme-cli-Fix-the-displayed-metadata-length-value-on-.patch - nvme list : fix nvme list output if identify failed on device (FATE#326925) + 0029-nvme-list-fix-nvme-list-output-if-identify-failed-on.patch - nvme-cli: use uniform error message for open (FATE#326925) + 0030-nvme-cli-use-uniform-error-message-for-open.patch - nvme-cli: use uniform error message for open (FATE#326925) + 0030-nvme-cli-use-uniform-error-message-for-open.patch~ - nvme-cli: fix indentation (FATE#326925) + 0031-nvme-cli-fix-indentation.patch - nvme-cli: make wdc plug-in functions static (FATE#326925) + 0032-nvme-cli-make-wdc-plug-in-functions-static.patch - nvme-cli: mark functions static (FATE#326925) + 0033-nvme-cli-mark-functions-static.patch - nvme-cli: make malloc error handling uniform (FATE#326925) + 0034-nvme-cli-make-malloc-error-handling-uniform.patch - Enlarge local char[] so snprintf(3) can't truncate path. (FATE#326925) + 0035-Enlarge-local-char-so-snprintf-3-can-t-truncate-path.patch - fabrics: make some arguments integers (FATE#326925) + 0036-fabrics-make-some-arguments-integers.patch - fabrics: don't fail empty discovery log page (FATE#326925) + 0037-fabrics-don-t-fail-empty-discovery-log-page.patch - nvme: commonize subsystems info in a helper (FATE#326925) + 0038-nvme-commonize-subsystems-info-in-a-helper.patch - fabrics: add disconnect-all command (FATE#326925) + 0039-fabrics-add-disconnect-all-command.patch - Regen documentation (FATE#326925) + 0040-Regen-documentation.patch - attach-ns : fix segfault for ctrl list wrong input (FATE#326925) + 0041-attach-ns-fix-segfault-for-ctrl-list-wrong-input.patch - nvme-discover: Retry discovery log if the generation counter (FATE#326925) + 0042-nvme-discover-Retry-discovery-log-if-the-generation-.patch - nvme-ioctl: retrieve log pages in 4k chunks (FATE#326925) + 0043-nvme-ioctl-retrieve-log-pages-in-4k-chunks.patch - nvme-discover: Re-check generation counter after log page (FATE#326925) + 0044-nvme-discover-Re-check-generation-counter-after-log-.patch - seagate-nvme: fixup coding style (FATE#326925) + 0045-seagate-nvme-fixup-coding-style.patch - nvme-cli: Add 'rae' argument to nvme_get_log() (FATE#326925) + 0046-nvme-cli-Add-rae-argument-to-nvme_get_log.patch - nvme-cli: kill nvme_passthru_admin() (FATE#326925) + 0047-nvme-cli-kill-nvme_passthru_admin.patch - nvme-cli: print "\n" after nvme list-subsys -o json (FATE#326925) + 0048-nvme-cli-print-n-after-nvme-list-subsys-o-json.patch - nvme-cli: tests: fix fw_log test coding style (FATE#326925) + 0049-nvme-cli-tests-fix-fw_log-test-coding-style.patch - nvme-cli: tests: fix id_ctrl test coding style (FATE#326925) + 0050-nvme-cli-tests-fix-id_ctrl-test-coding-style.patch - nvme-cli: tests: fix id_ns test coding style (FATE#326925) + 0051-nvme-cli-tests-fix-id_ns-test-coding-style.patch - nvme-cli: tests: Add get_id_ctrl function (FATE#326925) + 0052-nvme-cli-tests-Add-get_id_ctrl-function.patch - Add PCI device id checking for the WDC plugin commands. (FATE#326925) + 0054-Add-PCI-device-id-checking-for-the-WDC-plugin-comman.patch - Fix nvme test device selection to use controller value (FATE#326925) + 0055-Fix-nvme-test-device-selection-to-use-controller-val.patch - nvme-cli: prevent resv action field overflow (FATE#326925) + 0056-nvme-cli-prevent-resv-action-field-overflow.patch - nvme-cli: report subsystem-reset not supported by controller (FATE#326925) + 0057-nvme-cli-report-subsystem-reset-not-supported-by-con.patch - nvme-cli: fix indentation for dir_[send/receive] (FATE#326925) + 0058-nvme-cli-fix-indentation-for-dir_-send-receive.patch - nvme-cli: make read error handling uniform (FATE#326925) + 0059-nvme-cli-make-read-error-handling-uniform.patch - Use sys/ioctl.h to pull in definitions. (FATE#326925) + 0060-Use-sys-ioctl.h-to-pull-in-definitions.patch - Remove unnecessary asm/byteorder.h (FATE#326925) + 0061-Remove-unnecessary-asm-byteorder.h.patch - Remove unnecessary linux/types.h include. (FATE#326925) + 0062-Remove-unnecessary-linux-types.h-include.patch - Include libgen.h for basename prototype. (FATE#326925) + 0063-Include-libgen.h-for-basename-prototype.patch - Include sys/stat.h (FATE#326925) + 0064-Include-sys-stat.h.patch - nvme-cli: remove endian.h (FATE#326925) + 0065-nvme-cli-remove-endian.h.patch - We don't need to include linux/types.h here. (FATE#326925) + 0066-We-don-t-need-to-include-linux-types.h-here.patch - Initialize line. (FATE#326925) + 0067-Initialize-line.patch - Use standard interfaces to get timezone offsets. (FATE#326925) + 0068-Use-standard-interfaces-to-get-timezone-offsets.patch - nvme-cli: fix ioctl argument (FATE#326925) + 0069-nvme-cli-fix-ioctl-argument.patch - nvme-cli: fix a typo (FATE#326925) + 0070-nvme-cli-fix-a-typo.patch - Enable code block syntax highlight in README.md (FATE#326925) + 0071-Enable-code-block-syntax-highlight-in-README.md.patch - Makefile: fix bash completion install path (FATE#326925) + 0072-Makefile-fix-bash-completion-install-path.patch - NVMe-CLI WDC Plugin - Simplify the device id checking (FATE#326925) + 0073-NVMe-CLI-WDC-Plugin-Simplify-the-device-id-checking-.patch - nvme-cli: Add wdc-plugin command vs-internal-log and update (FATE#326925) + 0074-nvme-cli-Add-wdc-plugin-command-vs-internal-log-and-.patch - nvme-cli: Add help text for wdc-plugin command (FATE#326925) + 0075-nvme-cli-Add-help-text-for-wdc-plugin-command-vs-int.patch - Update documentation (FATE#326925) + 0076-Update-documentation.patch - nvme.spec.in : fix bash completion path, require (FATE#326925) + 0077-nvme.spec.in-fix-bash-completion-path-require.patch - nvme-cli wdc plugin: Add get pfail dump command. (FATE#326925) + 0078-nvme-cli-wdc-plugin-Add-get-pfail-dump-command.patch - nvme-cli wdc plugin: Add documentation for pfail dump. (FATE#326925) + 0079-nvme-cli-wdc-plugin-Add-documentation-for-pfail-dump.patch - Re-gen documentation for new files (FATE#326925) + 0080-Re-gen-documentation-for-new-files.patch - wdc: Fix strncpy warning (FATE#326925) + 0081-wdc-Fix-strncpy-warning.patch - Refactor plugins in a file hierarchy (FATE#326925) + 0082-Refactor-plugins-in-a-file-hierarchy.patch - nvme-cli: fix sanitize status endianness (FATE#326925) + 0083-nvme-cli-fix-sanitize-status-endianness.patch - nvme-cli: fix ana-log endianness (FATE#326925) + 0084-nvme-cli-fix-ana-log-endianness.patch - wdc: Use const string for suffix (FATE#326925) + 0085-wdc-Use-const-string-for-suffix.patch - nvme-cli:fix a typo in SELF-TEST log (FATE#326925) + 0086-nvme-cli-fix-a-typo-in-SELF-TEST-log.patch - nvme-cli: fix a typo (FATE#326925) + 0087-nvme-cli-fix-a-typo.patch - nvme-cli: fix array len to hold string of size 4 (FATE#326925) + 0088-nvme-cli-fix-array-len-to-hold-string-of-size-4.patch - nvme-cli: fix endianness for the structure field (FATE#326925) + 0089-nvme-cli-fix-endianness-for-the-structure-field.patch - nvme: Handle supported capabilities result for get features (FATE#326925) + 0090-nvme-Handle-supported-capabilities-result-for-get-fe.patch - connect-all: special treatment to EALREADY afetr write to (FATE#326925) + 0091-connect-all-special-treatment-to-EALREADY-afetr-writ.patch - Added zsh completion installation (FATE#326925) + 0092-Added-zsh-completion-installation.patch - nvme-cli: fix a typo (FATE#326925) + 0093-nvme-cli-fix-a-typo.patch - nvme: fixup ANA group descriptor offset (FATE#326925) + 0094-nvme-fixup-ANA-group-descriptor-offset.patch - nvme: introduce get_nvme_ctrl_attr() (FATE#326925) + 0095-nvme-introduce-get_nvme_ctrl_attr.patch - nvme: print out controller state for 'list-subsys' (FATE#326925) + 0096-nvme-print-out-controller-state-for-list-subsys.patch - nvme-list-subsys: Add device name argument and print out ANA (FATE#326925) + 0097-nvme-list-subsys-Add-device-name-argument-and-print-.patch - list-subsys: Preserve line breaks and spaces (FATE#326925) + 0098-list-subsys-Preserve-line-breaks-and-spaces.patch - Regen documentation (FATE#326925) + 0099-Regen-documentation.patch - In json output, if the commands add zero length string, it (FATE#326123) + 0100-In-json-output-if-the-commands-add-zero-length-strin.patch - Fix printing of large ANAGRPID values (FATE#326123) + 0101-Fix-printing-of-large-ANAGRPID-values.patch - micron-nvme: Replace direct use of ioctl (FATE#326123) + 0102-micron-nvme-Replace-direct-use-of-ioctl.patch - Fix printing of large ANAGRPID values (FATE#326123) + 0103-Fix-printing-of-large-ANAGRPID-values.patch - Fix typos in docs (FATE#326123) + 0104-Fix-typos-in-docs.patch - Fix typos in tests and utils (FATE#326123) + 0105-Fix-typos-in-tests-and-utils.patch - fabrics: support fabrics sq flow control disable (FATE#326123) + 0106-fabrics-support-fabrics-sq-flow-control-disable.patch - fabrics: use trtype_str when parsing a discovery log entry (FATE#326123) + 0107-fabrics-use-trtype_str-when-parsing-a-discovery-log-.patch - nvme: Add TCP transport (FATE#326123) + 0108-nvme-Add-TCP-transport.patch - fabrics: add tcp port tsas decoding (FATE#326123) + 0109-fabrics-add-tcp-port-tsas-decoding.patch - fabrics: add transport header and data digest (FATE#326123) + 0110-fabrics-add-transport-header-and-data-digest.patch - nvme-ioctl: clear rae for discovery log pages (FATE#326123) + 0111-nvme-ioctl-clear-rae-for-discovery-log-pages.patch - Added support for virtualization-management command (FATE#326123) + 0112-Added-support-for-virtualization-management-command.patch - nvme-cli: Don't print result on passthru error (FATE#326123) + 0113-nvme-cli-Don-t-print-result-on-passthru-error.patch - nvme-cli: readme: fix typo in Alpine distro support (FATE#326123) + 0114-nvme-cli-readme-fix-typo-in-Alpine-distro-support.patch - Added gentoo to README.md (FATE#326123) + 0115-Added-gentoo-to-README.md.patch - fabrics: pass in number of write queues (FATE#326123) + 0116-fabrics-pass-in-number-of-write-queues.patch - fabrics: pass in number of polling queues (FATE#326123) + 0117-fabrics-pass-in-number-of-polling-queues.patch - Update documentation (FATE#326123) + 0118-Update-documentation.patch - README: update Arch Linux install instructions (FATE#326123) + 0119-README-update-Arch-Linux-install-instructions.patch - fabrics: allow nr_io/write/poll_queues and queue size to (FATE#326123) + 0120-fabrics-allow-nr_io-write-poll_queues-and-queue-size.patch - nvme: Adding a block size selector to format (FATE#326123) + 0121-nvme-Adding-a-block-size-selector-to-format.patch - nvme: Regenerate documentation (FATE#326123) + 0122-nvme-Regenerate-documentation.patch - timeout option added to ns_create/delete (#440) (FATE#326123) + 0123-timeout-option-added-to-ns_create-delete-440.patch - nvme: Remove duplicate error message (FATE#326123) + 0124-nvme-Remove-duplicate-error-message.patch- Update to version v1.6 (FATE#326139, FATE#326434, FATE#326558): * Release 1.6 * lightnvm: fix type coercion * fix reservation report 0's based dword count * nvme.c, list_ns: use le32_to_cpu in display * nvme-cli: adjust memset size for data buffer in submit_io * fabrics: omit newline character when reading nvme host nqn * fabrics: fail early if argconfig_parse failed * nvme-cli: print firmware activation notices support bit to id_ctrl * nvme-cli: add support of RAE * Add a single get-property command for NVMeOF. * nvme-ioctl.c : nvme_get_properties(): fix 64bit offset advance * nvme-cli: add support for DLFEAT * intel: fix latency stats printing * Update doc * nvme-cli: add changed-ns-list-log documentation * nvme-cli: add changed log ns support * NVMe-CLI Fix id-ns fpi field when Human Readable option selected. * Fix format specifier for 32-bit * Fix json output of 128-bit numbers * Replace host-gen telemetry short-option 'h' with 'g' * Add man pages for new device self test commands * Updating version to 1.1 * nvme-cli: Implement printing get NOPSC feature * nvme-cli: Implement printing the get Keep Alive Timer feature * nvme-cli: Implement printing the get host controlled thermal management feature. * nvme-cli: Implement printing the get timestamp feature. * Adding ppc big endian support * Revert "nvme-cli: Wait for device file if not present after successful add_ctrl" * Revert "nvme-cli: Add ioctl retry support for "connect-all"" * nvme-cli: fix compilation error * Updatign the plugin version * refactored some strings * Removed Duplicate commands. * Initial checkin for Seagate Plugin * nvme-cli: update the document for id-nvmset subcommand * nvme-cli: update new fields in id-ns subcommand * nvme-cli: add support for id-nvmset subcommand * Wrote man page for telemetry * nvme-cli: Implemented Device self test and log. * Add user parameter to specify data area region from telemetry log * Regenerate man pages * Documentation: allow to format with asciidoctor * Documentation: fix title markers * fabrics: add ctrl-loss-tmo to connect-all * nvme-cli: Modify Get Features-Asynchronous Event Configuration * Add open-channel 2.0 identify support * nvme-cli: fix show command typo * nvme-cli: Fix build breaks for GCC 8.1 Signed-off-by: Alexey Timofeyev * Add nvme id-ns command test * Add nvme id-ctrl command test * Add nvme fw-log commmand test * Add support for Micron plugin * nvme-cli: fix get_nsid() return value check * nvme-cli: allow block device for delete-ns * nvme-cli: Add ioctl retry support for "connect-all" * nvme-cli: Wait for device file if not present after successful add_ctrl * nvme-cli: show partial results if controller fails during list and list-subsys * fabrics: add option to supply keep-alive-timeout for connect-all * nvme-cli: fix perror when blkdev not given when get-ns-id * Fixes for log page access. * nvme-cli: make it return 0 in case of non-fabric for show-regs * Regenrate documentation * Documentation: add manpage entry for connect's --ctrl-loss-tmo setting * nvme-cli: fix leak in endurance_log command * nvme-cli: fix seg_fault by cmd options in endurance_log * Remove error print for telemetry log arg parse * Fix intel media wear json output * Use fixed-width integer types for long suffixed parameters * Add toshiba plugin to makefile rules. * Add toshiba plugin code and command documentation. * nvme-cli: Add friendly status messages * nvme-cli: correct spelling of discovery * get-log: Make log identifier a required parameter * nvme-cli: fabrics: Fix passing "host_traddr" for all transports * Log error incase of failure in get_nvme_subsystem_info() * Fix double free in list_subsys * Fix parameter descriptions * Add remaining fields from NVM Sets * Don't print non-existent command line options * Fixed a bug where cdw11 was being overwritten by cdw12 * Regenerate documentation * Add manpage for endurance log * nvme-cli: fix typo in 'disconnect' docs * Fix fabrics property commands * Fix endianess in WDC plugin. * Ignore cscope files * Add read-recover level feature decoding * Add support for NVMe Sets log page * Add support for decoding IO Determinism features * Add decoding for new controller attributes * Update makefile dependencies * nvme-cli: add netapp smdevices man page * nvme-cli: add NetApp plugin * Fix freeing wrong address * nvme-cli: make it use NVME_IDENTIFY_DATA_SIZE * nvme-cli: adjust json print according to uint format * nvme-cli: add helper for sanitize command * nvme-cli: telemetry-log add controller initiated log gathering * flush: Use device NSID if issuing through block device * NVMe-CLI Fix fw_log Command json output * nvme-cli: fix typo in Intel SMART json output * nvme-cli: update documentations to sync up with subcommands * nvme-cli: convert iekey into a no_argument parameter * nvme-cli: make return negative value in nvme_get_nsid() when not blkdev * nvme-cli: move print-function to nvme-print * nvme-cli: fix leaks in subcommands * nvme-cli: add print for command name to effects-log * nvme-cli: make it have bpid in cdw10 for fw-commit * nvme-cli: add command specific field to json output of error-log * nvme-cli: Fixed incosistency of error handling in intel plugin Signed-off-by: Oleksii Timofieiev * Use '-' for compounded word telemetry-log subcommand * Use NSID all for error log * nvme-cli: Implement nvme_get_log13 * nvme-cli: handle long commands in help message by adjusting minimal padding Signed-off-by: Oleksii Timofieiev * nvme-cli: wdc: Removed superfluous output in WDC plugin * NVMe-CLI WDC-Plugin Update drive essentials code with review comments. * nvme-cli: Add support of unsigned long long to json routines Signed-off-by: Oleksii Timofieiev * NVMe-CLI WDC-Plugin Add clear-pcie-corr documentation. * NVMe-CLI WDC-Plugin Add clear-pcie-corr command * NVMe-CLI WDC-Plugin Add drive-essentials documentation * NVMe-CLI WDC-Plugin Add drive-essentials command * nvme-cli: memblaze: add error return after parse_and_open() * nvme-cli: memblaze: fix memory leak in memblaze-nvme.c * nvme-cli: Implement get_telemetry_log from 1.3 spec * nvme/vendor: Add get log LSP/LSO fields from 1.3 spec * nvme-cli: lnvm: Make it return error status when argconfig_parse fails * nvme-cli: fix memory leak in passthru() * nvme-cli: wdc: fix mismatch in document for smart-add-log * nvme-cli: wdc: add const to descriptions * nvme-cli: fix memory leak in dir_receive() * nvme-cli: fix memory leak in sec_recv() * nvme-cli: fix memory leak in dir_send() * nvme-cli: fix memory leak in sec_send() * nvme-cli: fix memory leak in set_feature() * nvme-cli: fix memory leak in fw_download() * nvme-cli: fix memory leak in ns_descs() * nvme-cli: fix memory leak in list_ctrl() * nvme-cli: add error handling for a failure of malloc * nvme-cli: tests: fix typo in get_feature_test * nvme-cli: tests: remove nsid parameter in a testcase of error-log * nvme-cli: update documentation of effects-log * nvme-cli: add support for options to effects-log subcommand * nvme-cli: intel: add const to descriptions of subcommand option * nvme-cli: intel: add check for fd after open to intel commands * nvme-cli: intel: fix smart-log-add documentation * lightnvm: enable to set OP on target creation * nvme-cli: intel: update smart-log-add command documentation * nvme-cli: update error-log documentation * nvme-cli: lnvm: add human-readable print format to ns-id subcommand * nvme-cli: lnvm: add check for fd after open operation * nvme-cli: lnvm: remove unnecessary force parameter of ns-id in lnvm * nvme-cli: lnvm: add whitespace between words in a description * nvme-cli: add BPS bit field to CAP controller register * Update subcommand alias description in README.md * nvme-cli: add support for json output format of sanitize-log command * nvme-cli: Remove unnecessary nsid field in error-log * nvme-cli: add print for command specific info field of error log page * nvme-cli: update print for sanitize-log command with output-format * nvme-cli: make sanitize description const * Fix verbose decoding for coalescing aggregation time * Allow hierarchy of similiarly named plugins Drop: - 0001-nvme-cli-add-NetApp-plugin.patch - 0002-nvme-cli-add-netapp-smdevices-man-page.patch - 0003-get-log-Make-log-identifier-a-required-parameter.patch - 0004-Documentation-add-manpage-entry-for-connect-s-ctrl-l.patch - 0005-fabrics-add-option-to-supply-keep-alive-timeout-for.patch - 0006-fabrics-add-ctrl-loss-tmo-to-connect-all.patch - 0007-nvme-vendor-Add-get-log-LSP-LSO-fields-from-1.3-spec.patch - 0008-nvme-cli-Implement-nvme_get_log13.patch - 0009-nvme-cli-Add-support-of-unsigned-long-long-to-json-r.patch - 0010-nvme-cli-add-support-of-RAE.patch - 0011-nvme-cli-add-minimal-ana-log-page-support.patch - 0012-nvme-cli-add-ana-log-documentation.patch - 0013-nvme-discover-sanitize-options.patch - 0014-Fix-double-free-in-list_subsys.patch - 0015-Log-error-incase-of-failure-in-get_nvme_subsystem_in.patch - 0016-nvme-cli-move-print-function-to-nvme-print.patch - 0017-nvme-cli-show-partial-results-if-controller-fails-du.patch - 0018-nvme-list-subsys-Add-device-name-argument-and-print-.patch - 0019-nvme-discover-Retry-discovery-log-if-the-generation-.patch - 0020-nvme-cli-fabrics-Fix-passing-host_traddr-for-all-tra.patch - 0021-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - 0022-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch- nvme-discover: Retry discovery log if the generation counter changes (bsc#1087848) + 0019-nvme-discover-Retry-discovery-log-if-the-generation-.patch - nvme-fabrics: Fix passing "host_traddr" for all transports (bsc#1084379) + 0020-nvme-cli-fabrics-Fix-passing-host_traddr-for-all-tra.patch - fabrics: write ctrl_loss_tmo to fabrics device on connect (bsc#1084379) + 0021-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - fabrics: write keep-alive-timeout to fabrics device on connect (bsc#1090568) + 0022-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch- nvme-vendor: Add get_log LSP & LSO fields from 1.3 spec (bsc#1099018) + 0007-nvme-vendor-Add-get-log-LSP-LSO-fields-from-1.3-spec.patch - nvme-cli: Implement nvme_get_log13 (bsc#1099018) + 0008-nvme-cli-Implement-nvme_get_log13.patch - nvme-cli: Add support of unsigned long long to json (bsc#1099018) + 0009-nvme-cli-Add-support-of-unsigned-long-long-to-json-r.patch - nvme-cli: add support of RAE (bsc#1099018) + 0010-nvme-cli-add-support-of-RAE.patch - nvme-cli: add minimal ana-log page support (bsc#1099018) + 0011-nvme-cli-add-minimal-ana-log-page-support.patch - nvme-cli: add ana_log documentation (bsc#1099018) + 0012-nvme-cli-add-ana-log-documentation.patch - nvme-discover: sanitize options + 0013-nvme-discover-sanitize-options.patch - Fix double free in list_subsys + 0014-Fix-double-free-in-list_subsys.patch (bsc#1099018) - Log error in case of failure in get_nvme_subsystem (bsc#1099018) + 0015-Log-error-incase-of-failure-in-get_nvme_subsystem_in.patch - nvme-cli: move print function to nvme-print.c (bsc#1099018) + 0016-nvme-cli-move-print-function-to-nvme-print.patch - nvme-cli: show partial results if controller fails (bsc#1099018) + 0017-nvme-cli-show-partial-results-if-controller-fails-du.patch - nvme-list-subsys: Add device name argument and print ANA state (bsc#1099018) + 0018-nvme-list-subsys-Add-device-name-argument-and-print-.patch- Add ctrl-loss-tmo to connect-all command (bsc#1084379) + 0006-fabrics-add-ctrl-loss-tmo-to-connect-all.patch- Add keep-alive-tmo option to connect-all command (bsc#1090568) + 0005-fabrics-add-option-to-supply-keep-alive-timeout-for.patch- Add ctrl-loss-tmo option to fabrics connect manpage (bsc#1084379) + 0004-Documentation-add-manpage-entry-for-connect-s-ctrl-l.patch- Make log identifier a required parameter (bsc#1086240) + 0003-get-log-Make-log-identifier-a-required-parameter.patch- Add NetApp vendor plugin (bsc#1080672) + 0001-nvme-cli-add-NetApp-plugin.patch + 0002-nvme-cli-add-netapp-smdevices-man-page.patch- Update to version v1.5 (FATE#322735): * Remove upstreamed patches: - 0001-nvme-Introduce-new-list-subsys-command.patch - 0009-fabrics-also-set-queue_size-and-nr_io_queues-on-conn.patch * fabrics: also set queue_size and nr_io_queues on connect-all connects * nvme-cli: add duplicate_connect parameter support * nvme-cli : wdc-plugin Add support for WDC SN100 and SN200 devices. * Add AEN decoder helper to get-log * Regen documentation * Add Nix(OS) install instructions to the README * Fix the Markdown code for the Alpine install instructions * nvme-cli: make address print format more human-readable * intel-nvme: Fix compiler errors and warnings * Include sizing data in json output that's already included in the non-json results. * Cleanup variable definitions * Add command effects log page * Increase default format timeout * Revert "nvme-cli: add duplicate_connect parameter support" * nvme-cli: add duplicate_connect parameter support * nvme-cli: fix wrong bitmask in number of rpmb units. * nvme-cli: make command description const * nvme/id-ns: do not try to get namespace id from non-block device. * Fix typo in previous commit * Fix long suffix parse on 32-bit machines * Nitpicked a printing alignment issue with the id-ns vendor specific field * Avoid unnecessary abbreviation. * nvme/flush: explicitely close file descriptor * Fix memory leak * Add 'DEAC' support to write-zeroes command * Rebuild documentation * nvme-cli: resync nvme.h with the kernel's * NVMe-CLI : WDC-Plugin Updated Smart Log Command * NVMe-CLI : WDC-Plugin Documentation for Updated Smart Log Command * Regenerate documentation * nvme-cli: update show_registers_cc() to use nvme.h * nvme-cli: replace values of all namespaces with NVME_NSID_ALL * nvme-cli: add prints for new HMB identify fields of TP 4002 * Update get-feature help text * Improve code alignment on intel plugin * Update intel internal log man page. * nvme-cli/intel: Return if arg parsing returns error * nvme: add options for write command directives * Update documentation * Updated the human readable printing for the SGLS field in the id-ctrl command to be compliant with NVMe 1.3 * nvme: Introduce new 'list-subsys' command * nvme-cli: add support to get properties for NVMe over Fabric * nvme-cli: support to set the property for NVMe over Fabric * Reorder command list * Documentation fixes * nvme-cli: add support alias command with Firmware Activate * nvme-cli: update Firmware Commit with boot partition feature * nvme-cli: add command specific status of Firmware Commit * Update documentation to use aliases * nvme-cli: add prints of boot partition feature to show-regs * nvme-cli: Fix small mem leak. * Release v1.5- Add list-subs subcommand (bsc#1072813) + 0001-nvme-Introduce-new-list-subsys-command.patch- Update descriptions.- Update to version v1.4 (FATE#322735): * Fixup Security send/recv to read data from disk * Unbreak RPM build after bash completion files were moved in 7e4c7596 * fabrics: Fix disconnect_by_device from disconnecting instance 0 on error * lightnvm: allow to init target on factory mode * Fixed problem with security-recv binary output not working correctly * nvme-cli: return 0 if disconnect operation with cfg.nqn successfully * Fix compile for 32-bit * nvme-cli: Fix build on aarch64-linux-android-4.9 * nvme-cli: Huawei plug-in. * nvme-print: Fix line spacing on -H option * id-ctrl: remove new lines from json output * nvme-list: print empty lists when no devices are present * fabrics: add option to override drivers queue depth * nvme-cli: nvme-intel implement json output for smart-log * nvme-cli: Add parsing support for noiob * Fix potential device string truncation * fabrics: add option to override drivers queue depth also for connect-all command * Regenerate man-pages * Release v1.3 * nvme-print: Free only top-level json objects * fix use-after-free in pci.ids parsing * nvme-cli: add fields into identify controller data structure * nvme-cli: show more fields for id-ctrl * nvme-cli: id-ctrl: display additional fields * Show help when no or an invalid device is given * nvme-cli: add id-ctrl for nvme-huawei plug-in. * Fix spelling errors * fabrics: add hostid option to connect command * nvme-cli: add ns-descs subcommand * nvme-cli: Get Feature support for Extended Host Id * nvme-cli: Fix typo in Intel plugin and improve generic help text * Implement Intel Vendor specific logs * nvme-cli: add thermal management fields for smart-log * nvme-cli: add temperature sensor fields in json_smart_log * nvme-cli: add output-format discription for smart-log * Formatting update * Regenerate documentation * nvme-cli: add error message for nvme list. * Fix typo of flbas in nvme_create_max_ns_test * Show help for get-ns-id * Show help for nvme reset and subsystem-reset * nvme-cli: Extended Data Structure in resv-report * Update docs * resync nvme.h with the kernel nvme.h * nvme-cli : add support for sanitize command. * nvme-cli : add sanitize command documentation. * nvme-cli : add support for retrieving sanitize log. * nvme-cli : add sanitize-log command documentation. * fix build without libuuid * nvme-cli : wdc-plug-in : return on invalid input device. * nvme-cli : only print help text and return for nvme list -h option. * nvme-cli/list-ns: fix identifying active or allocated namespaces list * Fixed get_internal_log to parse the entire nlog and allow selection of specific regions to be parsed. * NVMe-CLI Fix Sanitize Command Parameter Types * Fix app tag and mask setting * Fix app tag field sizes * nvme-cli/list: fix when nvme device can not be open * nvme-cli/list: change fd returned by open operation from unsigned to signed. * Makefile: allow linker override for cross uuid test * nvme-cli: fix connecting failure due to invalid uuid format of hostid * nvme-cli/fabrics: Add ctrl-loss-tmo param to connect cmd * Fixing macro definitions to avoid issues when these are used in expressions * nvme-cli: add nvme directive command support * nvme-cli: add documentation for directive commands * fix for issue 219, show-regs reports AQA.ACQS and AQA.ASQS as bytes * nvme-cli: Fix nvme ns desc * new bit fields (6, 7, and 8) for OACS from NVMe rev 1.3 * added new bit field (6) to ONCS from NVMe rev 1.3 * nvme-cli: Describe action 3 of nvme activate * nvme-cli: generate spec-compliant UUID NQNs * NVMe-CLI Fixed Status Code check for reset type on fw-activate. * Added handling for temperature threshold values below 0C(273K) and removed buffer check for human readable output as Temperature threshold feature does not use Memory Buffer for Attributes * Update nvme.c * nvme-cli : Add Namespace Rescan Command * nvme-cli : Add man documentation files for ns-rescan command. * Version 1.4 Release * Drop upstream patches: - 0001-fabrics-add-option-to-override-drivers-queue-depth.patch - 0002-fabrics-add-option-to-override-drivers-queue-depth-a.patch - add-missing-nvme_id_crtl-fileds.patch - 0003-nvme-cli-show-more-fields-for-id-ctrl.patch - 0004-nvme-cli-id-ctrl-display-additional-fields.patch - 0005-nvme-cli-add-ns-descs-subcommand.patch - 0006-fabrics-add-hostid-option-to-connect-command.patch - 0007-nvme-cli-fix-connecting-failure-due-to-invalid-uuid-format.patch - 0008-nvme-cli-generate-spec-compliant-uuid-nqns.patch- allow override queue depth and nr io queues on connect-all (bsc#1063462) + 0009-fabrics-also-set-queue_size-and-nr_io_queues-on-conn.patch- Generate Spec compliant UUID NQNs (bsc#1057498) + 0008-nvme-cli-generate-spec-compliant-uuid-nqns.patch- Fix hostid parsing (bsc#1049272) + 0007-nvme-cli-fix-connecting-failure-due-to-invalid-uuid-format.patch- Add hostid option to connect command (bsc#1045293) + 0006-fabrics-add-hostid-option-to-connect-command.patch- Create nvme files and directories in /etc/nvme (bsc#1045931 )- Provide nvme ns-descs subcommand (bsc#1038235) + 0005-nvme-cli-add-ns-descs-subcommand.patch- Also re-build documentation on each build (bsc#1037297)- Add NVMe over Fabrics specific id-ctrl fields (bsc#1037293) + add-missing-nvme_id_crtl-fileds.patch + 0003-nvme-cli-show-more-fields-for-id-ctrl.patch + 0004-nvme-cli-id-ctrl-display-additional-fields.patch- Add possibility to change queue depth at connect time (bsc#1037297) + 0001-fabrics-add-option-to-override-drivers-queue-depth.patch + 0002-fabrics-add-option-to-override-drivers-queue-depth-a.patch- Update to version v1.2 (FATE#322735 ,bsc#1033410): * Include endian.h for byte/host order functions * nvme-cli: Add nvme hostnqn generation option * nvme.spec/debian: Auto generate host nqn as part of install * Documentation: Add entry for gen-hostnqn * Regenerate Documentation * Fix read/write man pages * get-features: Don't try to read the data buffer for sel == 3 * Documentation: fix location of device reset * Regen documentation * Remove debian/ directory * Remove pyc files generated by 'make test' * Moving the bash completion files to the standard * lightnvm: default to -1 on lun begin and end * nvme-cli: fabrics: Fix to pass "host_traddr" to the kernel driver. * nvme-cli: id-ctrl: Fix memory leak for JSON. * nvme-cli: id-ns: Fix memory leak for JSON. * nvme-cli: error-log: Fix memory leak for JSON. * nvme-cli: resv-report: Fix memory leak. * nvme-cli: smart-log: Fix memory leak for JSON. * nvme-cli: fw-log: Fix memory leak for JSON. * nvme-cli: json_add_smart_log(): Fix memory leak for JSON. * nvme-cli: smart-log: Allow negative values for temp sensors. * Don't print unimplemented sensor * Build without uuid * get-ns-id: Exit when no device provided. * nvme-cli: id-ctrl: Add vendor fields in JSON id-ctrl. * nvme-cli: nvme.c: Allow plug-ins to access to output formats and helper. * nvme-cli: Western Digital/HGST plug-in. * nvme-cli: Western Digital/HGST plug-in documentation. * : Correct NVMF enum values to match NVMe-oF rev 1.0 * fabrics: Handle space-padded TRSVCID and TRADDR fields * nvme-cli: bug-fix: use right file name for perror. * move show_intel_smart_log to intel-nvme.c * remove json_add_smart_log * remove nvme_intel_smart_log * move struct nvme_additional_smart_log to intel-nvme.c * nvme-cli/format: use existing LBAF if none requested * nvme-cli: Release v1.2- Update to upstream release v1.1 (FATE#322735) * This fixes multiple compiler warnings for 32-bit and other environments from v1.0, adds more documentation to fabrics, removes the libudev dependency entirely from this project, adds a framework for unit testing devices, and fixes usage for user defined install paths- Update to upstream release v0.9 - Remove merged remove-version-from-list.patch * New extensions, fabrics support, a bug fixes. The 'list' command is liberated from its udev dependency, and no longer requires CONFIG_IO_STRICT_DEVMEM be disabled.- Don't map controller registers in 'list' command (boo#986891) + remove-version-from-list.patch- Update to upstream release v0.8 - Remove merged patch 0001-bash-completion-Remove-shebang-line.patch * Code re-organized to support new extensions. While these are called "plugins", they currently have to be built into the executable. Support for dynamically loadable plugins is under consideration. * LightNVM is added as a built-in plugin. * Intel vendor specific commands and structure decodings are supported in a new intel plugin. * Support for NVMe-over-Fabrics * New output format "json" for a subset of commands that decode returned structures. * Lots of various documentation and minor code fixes.- Update to upstream release v0.7 + 0001-bash-completion-Remove-shebang-line.patch Keith writes: Just a few minor updates and documentation fixes. There is also a new option for passthrough commands that can be used to help detect data over/under run. Tagging a stable release so we can consider features that bring in other transports and third party extensions.- Exclude build on s390x (FATE#319560)- Update to upstream release v0.5 The v0.4 breakage should all be resolved now. Tagging release v0.5, and back to stability.- Update to upstream release v0.4- Fix display of version number (boo#966740)- Initial packaging for openSUSE/bin/sh/bin/sh/bin/sh/bin/shibs-arm-3 1621345828  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.13-3.3.11.13-3.3.1 nvmehostidhostnqnnvmefc-boot-connections.servicenvmf-autoconnect.servicenvmf-connect.targetnvmf-connect@.service70-nvmf-autoconnect.rules71-nvmf-iopolicy-netapp.rulesnvmenvme-gen-hostnqnbash_completioncompletionsnvmenvme-cliREADME.mdnvme-cliLICENSEnvme-admin-passthru.1.gznvme-ana-log.1.gznvme-attach-ns.1.gznvme-changed-ns-list-log.1.gznvme-compare.1.gznvme-connect-all.1.gznvme-connect.1.gznvme-copy.1.gznvme-create-ns.1.gznvme-delete-ns.1.gznvme-dera-stat.1.gznvme-detach-ns.1.gznvme-device-self-test.1.gznvme-dir-receive.1.gznvme-dir-send.1.gznvme-disconnect-all.1.gznvme-disconnect.1.gznvme-discover.1.gznvme-dsm.1.gznvme-effects-log.1.gznvme-endurance-log.1.gznvme-error-log.1.gznvme-flush.1.gznvme-format.1.gznvme-fw-commit.1.gznvme-fw-download.1.gznvme-fw-log.1.gznvme-gen-hostnqn.1.gznvme-get-feature.1.gznvme-get-log.1.gznvme-get-ns-id.1.gznvme-get-property.1.gznvme-help.1.gznvme-huawei-id-ctrl.1.gznvme-huawei-list.1.gznvme-id-ctrl.1.gznvme-id-iocs.1.gznvme-id-ns.1.gznvme-id-nvmset.1.gznvme-intel-id-ctrl.1.gznvme-intel-internal-log.1.gznvme-intel-lat-stats.1.gznvme-intel-market-name.1.gznvme-intel-smart-log-add.1.gznvme-intel-temp-stats.1.gznvme-io-passthru.1.gznvme-list-ctrl.1.gznvme-list-ns.1.gznvme-list-subsys.1.gznvme-list.1.gznvme-lnvm-create.1.gznvme-lnvm-diag-bbtbl.1.gznvme-lnvm-diag-set-bbtbl.1.gznvme-lnvm-factory.1.gznvme-lnvm-id-ns.1.gznvme-lnvm-info.1.gznvme-lnvm-init.1.gznvme-lnvm-list.1.gznvme-lnvm-remove.1.gznvme-micron-clear-pcie-errors.1.gznvme-micron-internal-log.1.gznvme-micron-nand-stats.1.gznvme-micron-pcie-stats.1.gznvme-micron-selective-download.1.gznvme-micron-temperature-stats.1.gznvme-netapp-ontapdevices.1.gznvme-netapp-smdevices.1.gznvme-ns-descs.1.gznvme-ns-rescan.1.gznvme-read.1.gznvme-reset.1.gznvme-resv-acquire.1.gznvme-resv-register.1.gznvme-resv-release.1.gznvme-resv-report.1.gznvme-sanitize-log.1.gznvme-sanitize.1.gznvme-security-recv.1.gznvme-security-send.1.gznvme-self-test-log.1.gznvme-set-feature.1.gznvme-set-property.1.gznvme-show-hostnqn.1.gznvme-show-regs.1.gznvme-smart-log.1.gznvme-subsystem-reset.1.gznvme-telemetry-log.1.gznvme-toshiba-clear-pcie-correctable-errors.1.gznvme-toshiba-vs-internal-log.1.gznvme-toshiba-vs-smart-add-log.1.gznvme-transcend-badblock.1.gznvme-transcend-healthvalue.1.gznvme-virtium-save-smart-to-vtview-log.1.gznvme-virtium-show-identify.1.gznvme-wdc-cap-diag.1.gznvme-wdc-capabilities.1.gznvme-wdc-clear-assert-dump.1.gznvme-wdc-clear-fw-activate-history.1.gznvme-wdc-clear-pcie-correctable-errors.1.gznvme-wdc-drive-essentials.1.gznvme-wdc-drive-log.1.gznvme-wdc-drive-resize.1.gznvme-wdc-enc-get-log.1.gznvme-wdc-get-crash-dump.1.gznvme-wdc-get-drive-status.1.gznvme-wdc-get-pfail-dump.1.gznvme-wdc-id-ctrl.1.gznvme-wdc-log-page-directory.1.gznvme-wdc-namespace-resize.1.gznvme-wdc-purge-monitor.1.gznvme-wdc-purge.1.gznvme-wdc-vs-drive-info.1.gznvme-wdc-vs-error-reason-identifier.1.gznvme-wdc-vs-fw-activate-history.1.gznvme-wdc-vs-internal-log.1.gznvme-wdc-vs-nand-stats.1.gznvme-wdc-vs-smart-add-log.1.gznvme-wdc-vs-telemetry-controller-option.1.gznvme-wdc-vs-temperature-stats.1.gznvme-write-uncor.1.gznvme-write-zeroes.1.gznvme-write.1.gznvme-zns-changed-zone-list.1.gznvme-zns-close-zone.1.gznvme-zns-finish-zone.1.gznvme-zns-id-ctrl.1.gznvme-zns-id-ns.1.gznvme-zns-offline-zone.1.gznvme-zns-open-zone.1.gznvme-zns-report-zones.1.gznvme-zns-reset-zone.1.gznvme-zns-set-zone-desc.1.gznvme-zns-zone-append.1.gznvme-zns-zone-mgmt-recv.1.gznvme-zns-zone-mgmt-send.1.gznvme.1.gz/etc//etc/nvme//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/sbin//usr/share//usr/share/bash_completion//usr/share/bash_completion/completions//usr/share/doc/packages//usr/share/doc/packages/nvme-cli//usr/share/licenses//usr/share/licenses/nvme-cli//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:19701/SUSE_SLE-15-SP3_Update/432c9a8c9db4b3c77818b37b7c5d82da-nvme-cli.SUSE_SLE-15-SP3_Updatecpioxz5aarch64-suse-linux    directorycannot open `/home/abuild/rpmbuild/BUILDROOT/nvme-cli-1.13-3.3.1.aarch64/etc/nvme/hostid' (No such file or directory)emptyASCII textELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=7e493629a09c3ebf29b7c79cf48fa529e5f4e42c, for GNU/Linux 3.7.0, strippedBourne-Again shell script, ASCII text executableC source, ASCII texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text, with very long lines (gzip compressed data, max compression, from Unix)C source, ASCII text (gzip compressed data, max compression, from Unix)C source, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)RR RR R R R RRXɣg1(ە%Ѡif [ -f /sys/class/fc/fc_udev_device/nvme_discovery ]; then /usr/bin/echo add > /sys/class/fc/fc_udev_device/nvme_discovery fi/bin/shutf-8753a40d4127419cd6a03ba60d18247e7901c4719bdf0a76330f82285e719abfa?7zXZ !t/%] crt:bLL ħҖ饫Ho͘o5BpxBӸP ΦոAXu< =CU뗮YZ^_ sT^q`A(~2!^p,;Qa_Y}$6$=!+JEm)oU{C4Y_wA#P$\8>SMĿ¬W|+kfVDWۛ`Z5m$6+,ڨNYF͛ "Wz+7?nd&"Odk8ێJ9T$Dܿϸn9SYu __X(4&jÊv+sӛ.5Sl kΆ^5o-<7ݩ:-Ud|alJ!w#/@e.`Qˊۨ: P }.g/NȘ;ly>BÖ|f@@0oAlK u^fV2um>7 #|TDU3RAMxY|U%XFJiF@64H:l߀XJ)' 4I1F+G @HX64~kbCХBANG@&@l!r6W)73hMxݘ/1ܗQE:%&*aA&s `pC4("ӗ:SDM_iyMƕB|nK?q |4XUJAZ(3$Vy(r},}!H~Ou*N GBỴS.S7< vkgZ0[犩qFY5`\ i۶|Q} ^0rsuJILJ-&䴡h0Vp> HjnT&yu$63lFC?_ z70^?~Xk܈lHaj?ɒ :OF:U |ۮbKm"z``Sy~0O|7غlbɲ>=Nٕ![ڞ%k#RnDt_J׹ b9*;jѷd>)~4!`WC/-1@6G49vISmʥxUбVdfS|lKne[+ZBmpq -ԗ)6m=- b+GYeZд|nf0tƿߒz8iKʼ aTU-'^k@cEmT{,xX_j`SJ8 9իԭEtoG}\o# wD0e(+;#t(U{i8*' ExKϒ=wt36&UʯG8gZs$$SSbHݶ;FY#Udy] 5n-:"sh <.>/³)!)*㖄E5/DJ5OBŵ*`bu' JtF?]+@6LJ`juƔ!!C)QV(]ݽ:WRy>nV>$id?S?;U=<̼cT[hkqyOۘF+mN3v#l^[<>*4\2h8-f],Z.v1ӞfqHG.)WH7yK[)كC@Ze)OoQ2+ܿK!zO׺ůӺ銾ä]~}qZb^}?Ohb* $`AL+Ukt‡T/v٩@}LsKJ54(ij|($jq9&MڎPeLEn+d 8*ِva؄68[W%jƜ 擬ǁ{T?dQZ?Rai>EFl#qKHmC`tn!J} ڙfץwB@aG`)pK|KB0VU HkWk;V½~ZN>?XkZgJ[TڗC^MOݢfCHa0LL3`fcyiOa+T sj /4Z =A;ޣ89P9 qL_oZ)J񁝑b 5Trrc;-i9]2WHV*㪼Tk}~wD!GNZVe/E8hdĆ|*_7Or@k";{,=rD!FF <ڭtloFCA?}[K`|#uw0]QyTQԔECn-Pgxtw_',9HnɜеP y##%@ 7ݦWH`X H;'vA#.Dyޏb5 _;w⯻98@(rB)MKC/԰s~ДP/ {UBL (]QBꆭJ&si+" g+z)d Y]#-P)Lq/HEXZq,̭oSKx bkɣPc7D geŊ+6nBtKo0+eꩯ$Z0B %= `!?\>[tK†;V~&AVhԤgyoT݃HǜW`m [*$2u5Xv8_]Gfx ')m4>[/W/\U5ϳ}L|9h9=Q+HzK% {m se\aTܬID [}cTNT4 WP (kXDTx,yH`CQ2XW{lʩ}wPa|ULp˽h5n|iQ$ 8Vfx*4|] y!G. xw85̹A҂o?##Lᆉ\,o;#1pYmFaryBK%?0!?zCKwHѝ.1|R=(\Ս{ n6ñ3rD|qj;eT^1D, nNUX7#iY]NIyH?@buӴxm¼7cw# 39 B|T( `b# i~*i@Uy@ N-Z32AB_*Hꌘ卛Iuiv)w?I_|"x`zDz~DXpHE*ޗ*~tMj2lB/1I{[|r4`7p[9+3LizTvרX8:LH 8"gP&otR ky}3VNϏ.RXp/.Q?ԏ]+!SIr x%͌Hw Zvӟ%딀q gxG4~'X3@L)AsxNfE,moleq'CR%S>udķ@u 6^mȊ:v~V:"vg!>e-w7Ns&7IcU9KػRd^M>ǻZk[SL )t:r -m/av+s΍2|] [ Vn*OWY*Uw[9oE&Bծ>taR.! .T:e0orm MUr"D|ehF tIqYM2 KA!Ą^;Ԣ9NE{N|єS}Zq`V-_C mQwf d hаQmDDT"*r dΆUȚU5dGZUAZv5U)1(l^ t*ƙH7L);p坟=D)ecʩbgJ客97⵮oaYo4vF11ۍkiXѾ؝Rho@PCU,:ٿ4:?Y}y/T d[hH " _IzjPRdMIGL:}L-~ PD@$ c`Mr7Cy' ٴMt#ZB}8V|t3U8v;ϛe^>DbGه^?qw?bך<&W({MM1`/Mɸ,@ 7 l|7 mxcp+Vn( soLR%1PB>=WJ SE`.X:Tf0={Q.,cQZZي(8\JOhb]Q7 ͐#XS!2I}?dZU#ync/nҞְ5}H|כ$^pHEoq DCuǫ6nF0ɶBWnCRY)`Q-0=di鏉Alc,48gA΅nR?ʤ֩y &Qn%?etcOuA]sfucJ5S$WѐЌ^jD,k0Xly^9ʑpʛ: xNoPwv:`g6[zoDVPs6)A$]l}bWy]4sS1I8Qy<.̈́]ȴBߤ/L= 3}@x#D$Xhm$e\%"ڤZNϦE[NXK9zT4HmuX:FCs̛Wi|f1UQN5G[w̅>/ia{F0 41j(҇(~'sV2zQPdM'<o_y3QO K~mGGv8Wdx19AAS8'@d]VHlF;F % = 6&VE{貊6:~<xR)~]$1o'`"xzƆL^D|Zz(c߭S4k7IRo ĥs 0w-yRh Iz{kfiJo5 G7HUԻg2H4ѤȸapRܩi~׾^:tjcAmd E6F5Y-Skä+~$&6^\Mʍ!~I8/Da>qZs3?2͠٠O9hy?΀"s1* O7,1|Ֆ]ٮ?,|ׯ1wӈ;$,ߑڪzP=潇@JJAjHU[_O̴ؘ#:ӹ؄ |5| a{'95{;皮M*8[J:5J:SG6 H)O e¶'a,͜"su9.ZyDO\8z(՗k$ZX.~'"2NbCN;x<*#zW[3v:a P 3V+>T#ݤfŀҭHͩpf$x`B{\:䎽{(LhY(0{navhe^&)<_R;-@.ϖ_a;O *Э]mxy`_#t,:!C>H+PK(Tkφn)>AvxiCz]g)#y6O)y:U[i-4"B5؏X #lU]5+ۛ-?*Hw.X4 yBq}aTNį>g|b+s!j?qWm>Qj ,ݍc<^wytC [-G=)ɘ㵢g$?2%\D(+u}x('wL|{v RfS4>jQ[gb(UyaYPl|bs31!:Ti03~Tbr} {TVLxr$75A- R@>Lg L *kYL̶4h@lM"<[<ÖIp ,{WN⁜UK ? $㊸%z΋[<"ʦUOa845kO*Tl?<}LfY¬:6\ a1a+{0ߙww3^.4 >Dl-Ȋv2ʪ>XƢ+sQZ&cAD2@JUG4Ԍ-6wy R)/#^PD6M@n~J03f5qM];}L%P@2 _a@z0Ϳ"oB(VC&*= i\ sx)Ti&ES$P !L5HÔ8ԇlȋFXai_|AS?yƒE u> Vk!`*͗CrB b4(0<*gY}<ࡏV)Z f5 Sr$F~YJH SPUܯKo7wf^»RW%pUmۢ)0Hq[ė2ڏ0A9 5+T)ziY_ +A0=Lc cj#tvS蜽wk| Thn J6HjeD: CÎDq"{ <\DOk^^ٗ*d/n{ʠ'N,;sW4'v˝DՓ.;}(HІ'QrE1I|FdSFCoC. 7 Y rsze^=."*UVRZsPh8^ ⊙Se}g= |ce(MB]`,\Yݼ{CX\ԆUNFj8Ԛwx}Ux $\:.IgGs^iQ.TB+~f{ YI%f7/,}zt]xн,wIfb(?KzV[ fB(o${oi(Po~\-Ĥ`Av>B|b%4kN7) g P 4VX-G#>]u"T{8ruy6sOtPx2 D8r8K)S)hΟ,tpdhfoǜGpj@=94 Fޣ[I$}4`;8 +(A4-+α]e1WG"V |O uKGwl)p~Ɇr\;tb=f[!%R򛫨a&)9_+%yPPB?hF#prdF#/u|wB{jE,FNCa<}5 P|mK´2AȾ_x`v2V`(e5ճ&(!k:`K/YI4G|Qa۾m]67 iQ'#T#0.{^ /=I94=Dz%gY+NO *pg\bM=*1b YЅp|z ^֣3pd|b0sڱ@_"LA9)ӟm<5ݝj,qkdk|I}^nWpO2clsÏ&UȋD9-s-D03rkVje ~rKk!T4XE1j%zpȭ;̤s|>(uŖd׾%}-2pʺK]~63G͘} 'T ܁a;wsy:Gё/߫-.3_oW=F'J>fd.2v&%^0Tl)6{O_m$T4i N!0?bohfN浨Wz^o'X3c)=0vqA묅W!f̆1o|מNS'(՘7"L:jAŃ'q0ؑn ;ǫރ!\T@V [2Bv*>Khu% lTizc3YNFC{ KТ+֞j3s˫<dBт4av<+}83% 'lNzgTRB#- Tb ZiŧeicK)RԽ<;E9W׽SmBFGu-2E6`̵hT{6RO84臕). 20!BC؃07\P={}ΜC#( b}Ƭ=q?Eg$QFxf@zav[En2'EFbt "-GA-~4V뙘zJ>oTGm>]v~}qT.KP{j ׄFfՉ 2X{* 0aC"vٷOa'퐄D" ][?H7 _2JuQJmM|F/ZG] b@W t-]K-NnWwϠ‘ݡ UΑu{^I06 `=TU0"JFO]j=h)n:. HYNja?QWc/aN)%µqN]t=r;vjqjɮS"2Jj~e1g.Md,HQ<$PUhx8oD0tK9*ޚ9 _VN ކ Wa_/P ԻfVQ%_fPܨ|,vGJN7Uۼ5ʆَrnT3 Je5M/sUڹ9֎hza^<ӧ_!JR1,ce-55~@=:-p^ݞq\Fmc"k1Lp_M'I#vfy c7" ?1Q+9L [j&kx-ƒs$K) m&I(-Ϳby<8? )]P,At'TP*:'!{"Gl5 dkA"MoDoYMŶY?$ΗUJȺ<5( =<^\ӕvk`" *i; ~`>vs!(y [˟+= ,Yd.zwrV i ґky>%/RUm 2E uŤRZXLa ?!j]7?D<A~ =FN_qnhr+ԁ{la(krf< 1t__E,=v5!mIjR3[d`=yzH埵T_W{4Fsdzt޳Y- ?Av!5 {39`5fX*j^ۑ.+q2y9Yӭ8l@꤅ .Cd)T$s%+j֦BYsq/QW׷Zߌ㐁;x$D.ґCGȘL<iXo-fk^rjol 1.R6I+yޯOM9*A5V1EO=tѯ)NVu#/>$ M5ûYװfL_͛ioL6N1U*בS^6@KȾ6}7iFv";'kAw+QC3茆^:SuFO aߔ5ؼ-q P#.. )zMMZ+r>@hިۺr֞Zu1$̾kGУ}ı~ Zŕ.{gqa.6Gun3lC&Ի7a~9/ѠzqT'W*}#TK$ڲ]p1ӣ*rnPbR᪕2!<`ܴ by ,'N-OG(k3,,SZDX..nv|ژ FeC8<錯H;oւϵ9r}qETYգ֦zPDʣlYT7oIgՅjgѓhbݣT* m?^c\duL5 [K9Jqb".rZcn,%"~NOQc~sg~mT3uTJ+YGVNkyY='qLgofqUo9{|Gd:qΗ߉WfF}0Ac6{z}63 UZR]f)ټqHM&𱐷vjYh,@(:eH6VrW54?}M-KB}NxRDcxF֮OՌ k b L︵d/`}%lGacaK=,֚PApW'6C;a'wo|~Ǡou,Ygf}hS慲@g Q#άM!b3|Xa9f " @#m  BpE~G[2F6ú;U~F7ѨG5b W&wMh! N\#-Ln < #b7sgp)O0jEXLʾ1}-`\R@Ѡj}و]PA @2R|;68@F7}=KlFv?9(4U1.{c[$2o+ H6HSc51ot }M~;]̙%b?/d89" u% t&0FI+esq|5L+d%uIfפU'LOjn{ڟzod㧘s{NJRWKyU o6~JfeXY?[Kqdm'繙$`=;Cp_l )kkO߬X6DVj%eulOӂD3RJTr4զJ㡜BL_+s{*9O l6u{zIBIȦ1N#\yocc0 r~)v4P\nd)8 ﻤ! V,ؠ{L Gpr *$ɕWguwTC)ϋv>B%dW N֗a `PZC|#4eq&5.h>63ڪtWu85,m5S`W[r9ϩBfo apUw8k{zx&W)|^ocN53FY2vrW {B{V U u<|L&+#L)UBmsjD.FC1xlf[qIrm6uӇ2I C9 tA]! IJȅBi+-=e7 #Ç k'k(Sק/&"(xV/SݤjUQx~N̻Z~gjY9qsgQS1Ղɕ%Eoy< V<۠1 0Ef 0eNaN^Gss,bѨ4BND 5L@?j^ZE0Ry4r)%/nG\j129.d 9O@80\,yJkQz "vv;RdM"J?[Nsm>[UxOZR F>\<CwW&Hh tUšn4u@' ڀVe5꘥sZg|iՍY[o}хmߡBP /,Dw]gqR wɐs݊uS/eq\M7iET#Ml?yНZ˦nd~"縎Vk T@ w*4yr}3b1.\e%J=CCU 9^R̒tIecPƃeW 1U9lp\n1Yw#7#"^bbvUCroVmoۯ%_#gQc4?x_}s` .P&@ atBYv+^nc\f.EGc걂i#/5prMWos]g 7lIPٺg-_Da_XQuE͝IJ#B%>)<|9ʯ2NnKѴ4 s~V67 tܤXK<`8w'iX")$55 ṙGH0C q'(q8Z25~grf;: {X!" ^d &9Bo!E+8yo> \r46MGb 1c8 b'DU}`Q*u߉LOu `1[棉\Dd<5U9,~ǮP"]Z8^KtXu>f^,%\J9M{9m >_iug9X=`Íjqj/Z(ϸ8jܟYF Zr"*gLr̃_P-'Ƹ%k_K(C+1xWϢS46݃@äiG3F5Wn.Xք9u>k<ś%F\gK(\o FQ>n`]'1f7xܪV.Bft<0k2ʚuqW֒'&\MʥGRf =9ȷY8=Eᅈi" YQ6Lܕ/Yx7J^r[aAjyTZ])<Qk ]嘳}ʍH,%E1?;0Y,~JtAuCVHF&Xw/;ޣo-3fʺt1]p̈́վ|"˵mׇС@/q= Ӊ,wG@WH? ϮڷWI?ϓ^gQjQaWrJ< +m[hNk!) 1EA|oq]Hw=-l^/>VR`ȍ\z*bpRCwl¹_vK2nػkWIs~w %sEb޾7Q?,dZRVr+)p)73 h}9o-ŬkR@v ػ).e \&?!ŐqRWO:i-()zV@.f0(Qpk!tŽm}zAoF:I{RmkJ 0ZXy"r(Bhv3nt㱑S22>#;~~$0\ \ZyL :,_ToaP9|Ң]b+>!wJ"z{<X;3M ɉBf5o"[[Xه\N˾ _/SIxzq=*MGڷE}Gzs$iޗ8}O+r mbAC0t}}Di'SX/oJþCL fN]#0پozIx԰or eSlgăl4V=絸# 8D(5b 'Gx˗!g{a:\ W~'_Y[x15 uv (^ (-r2˥j:_%iBtB{AǼoXc){;&#?^X%6(.QxL YFN5NfMp[$1Uu+r_؎Kֹ\̠w!L\ٰ:o =0`u 06GE bOz޵lm? )fЌYk((tAvzx6{wVK%:asU.4أ'.P$4iеOF<[QEJy5aC%Ǖ0dHaSt>aS޷ a~6Fj*G< 0 -Rv=pmoXd'}Lf| (H W(:LP{Av!O͌4)ib*أɘאFA X9 mb y6פTbM$:$o|1p M e[S[TKߝqRmOq1%ݓ#@Ɯ7 z,׳װC]8jhY$8OB^p5Q<%z#\xę΋:MLIh26آ(Q W?Ϫ.~/)= C sWL O5jzU3AEk &\=zQ-pUZ3Vc+@M;P! u3ʼnTO5- |=IZ# Aс,z0}Bat_) )5B#TCT^xWk"NnmT/0W Ex 3_RS=TUbR@^PULƺ,5uq V=Z{.@ nBu^i{Q6*@6t!?&L  s+Z@ #+qu C>Ә~yozm569"CԼ$a#>ߌsNCiJfg_J0 CV8@%ՕÝb7AS*^'{'[SEL/6R?6]|ʫ1+ayo܎klCq:`B ].K}z L0ѥ  =Q/a6I)+"iEg#lQ߹WqxmX5ὁ_.x05[^@tgLmX#Yi pP ~5yIewqsuF|t6apݣ|˸[jo]IGק@F<^ ~e3s4KA͛wPybeV* #MY %a\\_fNtyJbŨx;_u3Lkwl.W6 Rψ9C+NZs͒:QWfk* hNC8 Hf97*o]slU*\ vziG@EXu&.M| -@H.b]0,g?ĬQmVdA'_[opOI^ (EP>QR"@W 6]EL^!;NyvA$YF7#KrKhS6d1HMCy {ESKc#)|iËqi8v'g >͞/(T IэxvZ9+|V=}v=8΢' ~X/ؿ!6(5ckq%XUc_ U=źAJg$@l`6REiWvlKEř% J@fa\ai N_/VQNinS^\*E#guC:? ԏwPm1ԒDD4 PgEXU7DS~T?, #tct5ݶn27ٺvSv4Eo6. p,MN/} R' ^oϪ!ϾƨJPZ;ߦ Y U{ؑ+ ͉9B8 :C4갧vuݞ]EY#x 0Kv7-(* u7-w/NtfMǥ KzGxp*R+rۀ0HyV"|ᐡThPYpφ4CdUvS;:В{qpSgu[nsꂻ5bĈj>dp-iwz0?L?BQNd>uIz #يn)ψiɖdAh}nrMQ`ЩW ,':ھْd9?4x. 5i6$\:6[RWkz6C :_a&AF}Kdv8@z(uܗ8r}h/'@5xovE!w@CEAV,.rZ3fT8@:2x /RdOۚxsEA*Cot"7fC.E? #bTģTBzUm@Uվ_q\7MM5vucֈkX|L'`XUmid.I1T=1:S "^vM<#cpthy/?m||TzBBhi0xŒPЪgφ,z,=<]ت+> ;իgJIQ#3g S`#(BaIK22帬 մZm!{u.X޷AfWLNRTjj !ѿ0k~6/5P}^D( mŎ귲QiX0y)."c<>$k-Nt3` rX;ƀO.r2* Lw& ٌ;Z꺕R;n/wBcTJ Uv ?Z)ӸGg.~#By*GS=~JnhrTGfiJpSqhӱ\GrM.uI~OK8@[E0VtyL($D+301uf4wP[7kqf`=^! 1䌟)OFEF(*lu% QSd2El4 \9ĶH}$`9 r027 C} !LJN(şZOfgnH\䊫fYHܢ eh4`ܤcLOJFjETK ]bnYНGcy.ۃQ>}i&>sa[|Cn`7*?#E -Tiskesk%8E,_$מPcf(%`(>< &HJq3euF [&eIQ.\V3ÅkhFt6U ҰԈeO\1[Q{Q9ȗzW` PM,pv[[_˲wƣe4E+|Մpk] Ӽ#}{y]|@TfkX[57ZZOYYp]lDLZM/=WYVxU_ XEa]}aR,nma;)pD>GA$jT&:F8 :=$V/f|/iƗO>;zn:̫2rg^}ۤ!I?Do*{ &*6qVS 77 ]0N@p# lVJM bz`S@;d0`wKd4#p  BCM'+o˜&zYd1`+epX]O!J1$nnȆWa~7 ?WKēMk@Pzqua!:7$sltS%LD-jd uՋ$xfSr/TP>)@h7?%R󪛰0F%r7 X7pɴ͚tK|'EsZ!]!'z>B0 | ݆ɶ-S^,!ٟ7Z@Ma GoJlXå<};X1l6U-FldOms/+?@j1(̈){)TGW _HaȢ(dPDEsxo3"66ɹzc2Amm78s^, cvNSU3  >!&ս 6i ںR̻덠^arD%=`(A17KW*ax*L&{Θ@U:ʉ}/`:+3dEDTESзuJiպ.'d`Ҧ>ZTA#Foo7{e`J.mzP XG1-_L^I3;"9p5"`-?ΛÉC.{fJC|ab4 Rnki~irۜC` W~`}~q|X4<=M梂RDg&* 4DJ[ĐrnT=?Ս97ul`_3r>>¹U 7YH|m2+|+xL.6|r(".wjJ.Sdy$ٔahcoHjLo}͂E*=o[JjG*=scmu/N- 7L;Vao'vأ CeE㮎L~ C6FwG5G O~ʏq{\`[Fox{D-+q0 V@X=pG!w4ze( lb5-U&Rg$+̖UӀrr gEgh PZb0vg!;}&p]=~DgK2p=Ӷ767%rH@-PwHyx↸߉L}8&dd+aR/V?jf7M~.#lv>vQuv D)j8)ŇDq?]h[^QNr+fH~k` &M^u:LGXq@&/6=l\д:+>( *b:Opv[<0;RPz0Zk*9 !y\]A Z׺|#3?ȫ va81!MY1YggWyЭE,CBnF |[rRH+fw D[4U9/@bEFT;)_?bvvk+^ bتI$V} s?l&<CxVO]\sr/N)st&^闗HqT9 D6LTtB ̉+<+YԮQ̒ Td0WU?ܐD%I=!(8e }&񯳻2#dV![ ;k`ɋdZF7͸ж pַ`^CUd$RvP%Ze},4e*B؛BtH2wgj财<*i&>l.R+SI ˆ=Z]NqB5ٝ\(֋KC%0'뎵, BXDwɟQf> "Я: aeBk!D[5W,\Cྐau+֬ wJa$ S&Ck54VѢ@rU /#ͨczd7ZP NwZ" yR<xG#BD8OwVv 7i3ynF`H7oSݔ nHrp5lkۘ׶mjesݯk\lha/ƴ$KE^c$ꋷ37’)1cY(7,{JQM uZdj?G1-jhW%ۘ"oG{!![Q]vЊW S!]sܣP}ǹ&*KJ֩@q7o2BD[s?L$]%DC\E霦ESӵUJ4vpMK_c\!’^!<&$csR y|ڎ IZYNBEg8:p HiwC:B^p <.z4.j%W Ah :.Σ 6IGA][a LJ>V +ϫGѣl@#>UtmEIM -ЌdIspaf7 -1@ }H~Xf|xp6"2@֊F(*CVi#zC73o1խˈLl%ߺ+(j~^O\R9t҇qJ lm HKʂ#Qơc ;,D0(xR7H}i=uuf)MS86eEZl1v^@#$>jqihZB wmH%pv%zs<'gҺDeʹtvD:[^q ] C0ht#`2Qأ?^}BdÉ o-eY4VS5ykVIЮ=3 UPS̥\#ds9RCsŬw)GW+ي*(F@'5v2>ص[ĽR3[ރM7E(i1dho@* 1OQ|zOr`3#h-0j|B7^5cge7Z89JGYrM^^6 s_y_[OsBn:À`tBhf>CLdܹy˲\ aY/!Ȥ?32 h䙵t^DF4 CobHV6[!}Akl`YO#X֊&99 ,DDz<*mib~$ b hNJo͑B'q{I4 3,e!ބށRuJ%KprQ>Z3 ^o\®+"F#xgv=F3OMӵ"rƸ3l0 KBY Ua-rp#._i37Gdk; ]EDQ9 (oab70R膨khEpCD罶%͸NCrsHmjkmmN]Lk6}h`%$:Y\Ae(JXvgT)d]#;nr<˜*6OғC Vo:nn ƣ틯OsH%96m ?)kJr8;kDײĹANℰP %W_WۯG8>]0lr8O- 3O8. +MB;A3NuT0Ȥa )f~%[E>m`6KzMh2z#:b3?|@Ux2- PU^ V}ٮqhn_ _{ss<߲3K02f 8PsW4!Fg gOG Ot lWBqL%UÎW>^Oz{45[ &?jqq r.{?Z>l6Ų$q[u=3tVjNl~ .nR4' JN0/FRm\eyT@?oO8fp@t̀grqʃ[Vj;enܴQ#&_!#RjԬw<2p-AS Z\Hal>^͠':sˀL`bݟjA.HF)l;2Y)h?#:2+rG MpzC-g7+/bepR|JwO֢yq\\]čDby;MVC $y_䑊>ĦA_zďvʩy("g&FD%vB(-1Z/dSS3Q)l&9.ݘtMq 4uSdPU@j@h2u%472ə$sˑGѶwq)AY5!zOT=5rgM>h90$*+.wpY«N|uuz~.u{/Fͣm_O4N9̄HtZ]qN2y|Bz#mfĵpЃЫbF c3ݮaUSAru%ƀ-!u)5!6yJ+' E:i'&-Q.o$7lb"aq8\ ll+`E. H{ G^TvTa)r?Vts|eYj]s=f,N0'9ZB13@7qR?q+m~sʭ 3/'ƚ3u'BW$6x~jՁ j6 KH=C8a/[JPjB<,J:9a>Ɩ"<&`g}ْA±p.!R ¦3#+5s!2t̺ݛ@=KeW׬5;_v _o%{&Cu0}Aa̰99<]quU2Cj>lڳs[=QٯRլL) JsaY 'ӊ!ILy/}5F=,ˮbu|aD'ЧĆ%U:VW,xXO5G%JuKpjAʵU/Ghmjnּ&=y *r0h$.g`V{!кHE$qhؒAE2oxHl-@v˽<%J'HvdyyG{Me?e1Z.U"e%!9y? _ë7qZ9A?$MK31 H+OIDd5%cimtoKx/_ $=5ix_?^Do<^ks&)ƫbpZ7n `U}/Y/U&NA܂Uyɾ`Lj68Y-@hz@8Wsf69Qe] Dfz4reX[ٚ pޖҵ IŠ >{ig3ٯu:< >5~an Y[|>5 4%EjS<ʚ$㛟n읿Aa/[;s7 L!,$X@FhںJ)uA`G\q%Dܙ>$$LLT܏\X-!pގ£ԋpӊiYmrv~)fۘI+J_hWb &Oze)&qҵWbK֍4ǪpC)9; }P $ha u Y\rjV3Xu)Q|F74&j%lY E衐A+n:vVQ Z&Vu;)48|We`ǰaks&D yH)I顋ڈP:Mj3Mt_)G}xgv]E %Q5A[0y\kNG5&!J$Yk?BYP V6!r%y".?Wd@o:ƧL7 ƼVK^g9 2u'qm'/h;,9WD$qgb͐{Tk[ZAR/i\#Sm% /==Ye%D dɑ@9SMB ]܋WptPwM>ESf!WET@t>s|X)|ĠN5WstIѻ؍٢<(ęAk Qjs ߗؒDŲ6l5gO*a[LT^/S3gs>""B_;Ԕ*ֽyo%3`*V<_xaYIVt\&34 L sPΨa(`ղvSH\G7 c^tkLY[}uN[ CbF_BcטCRE@oNE=ÎH]76)L-#> `6vX[Ѽ1gEå @_ A8>pl<%+qGU˧C@FJ{  )6[!E8d'(p#0 rNaBLop)֕?Wђk#,l\Khjkh/1j c TDH%1/gZjY~ME:cn#ӕeg& 12ύZnS, RjQur63X#vtG~vpd_UMh.ִtO)lͩRErO6$EBXx$b'&XMYR iBʊ20P4f w C>D̝SӞC?Yn`&0ZtJ 'xyՄYWTT ZlS7OOQ;~r?Qb^ڙ=\>Аv^#Cu>:+Y$WkguIK.d aMUqҿ`ƷKh-[' } "=BV(?0&Ho .c?e9zԭA&1Q!GC6Jw,ՙVzOEJIJ%&i. [획 &qgfqQ1(-C] kd5_CS4 SBLxNMw2Y/%~|C1L>i;ZpveJzpLh PQ{3L@2XIJ^]qNjDx@X+,c]Anv;?FR1fh&pCw k9Z`j x^n'RA-/^ u{PAMPslO`\} *<dz*}y!B1[Q{% Mn+M HNg rؤ7(C5y1V S¤Q9uU m; (\ӷ&e/#+kѴ?2\b%DG(ӏ]=q;CtRU$E бV(:W)DWoi3X`Ƴs·:pmjMdNw4aO)dK^fZe{H]9[3f @0geRlh+XU|")>Q<ܨ| 32ȱ}sb+YjU|$[0 >Iu -& KɵH{n(]90CK?^'w:'GMkBNZ;7B aU2ʀB֘gCdGχa_EaaJ s׾o V;8fvRy/6.Fsq4K^<~v:[Hniz\ &:m !S1*khl@g- uVF#~&Z]CXڶ"*M8W*{'tMwК lg{{ݞ;9ĈU7LCmMT$n0KI\<^Z_ J56`7% UJ$$>2\(sh`L#Ma'/ Y`CԱȹ:QUQP+MF^/uvϺb, Kު ^KÜz4>cB1F=,2FA0ΜJ4of95:18wAifLF_W)ͶU,Rg+-j/cǓr=Z 4PR'o91=KqS{@*ۨuwTr[bq +|,hZ*?C]eA΢ͬF i0]H^E $KLQ'NTuAʯw+pbU}Xm\MwзI0ho knv7^* *"yǾ VrN }bT!9kY*k}#p~#Nl)!=443r@((-hrҔ"]ZɃeFjpDzsڗ*!ufgnH"6LW=ʹwkr?D4ڵ|1jPpۭVk84 /,9,߶]n|OM9gS7v:p)+[dz0k(.Hhlg:j>9G@|b$|J wa ^xe`Jn-з!-MJ`Vas0`Շ \KQ2+bQ=j"کIGd9mL%[ $`דDNl j趇ot*'q\Ġ pĈk]'9swT$2-[J.׭riZ)hdSM/ZZQ܌@ypk2iب(Byߍ:W@ ` < R hKöP2CO)-eѯ޺4ջ GBh΋:?xJJ~_)fM: _L'/~L_WtHA_D [8|}["E9:49M6GT=]bо#oH&i+_nulv1kG&lW 7G/ }UV=)Bqv2zw54؀ipXWy-/+;( MʵꑸaTydfl~) e% պ2iȘU|yv܈y6CCEn@2wOJURvfVվRzsdB6{HK\__}{KJ,8XĎUo/_]i)iq&Uhj6/HK{9uħk6wfri4yz"xs a{lҨ" e`4t ]6+/:}idрOA2gM!V,`Iys:)*0%8/D|S[U" G-׺{i]1"J\Q hmLrDPD .Q"ft-E[{neSukZVŽ4[81{H2k+^^H齭]B&3sDuJϽ6 fj;QY ;<65PΏ{S>"gk_BB:&_R DSK_|NbKn:'֚ dǩkQA6ihW#jq7s7˸f]WmF#,/#mHZ愘8&(M)=ײ?jK|mOGUpMI|y/^"Eju  16$`NFM#icQ@ Gw?K49VkPOa0I[5Lw6*6l|~}Pfm>!I̦bEywx,־ww \ G;pD6`- ^ƚ 87abcdibPh]ː  ZFo,ۀ?s Ns "ySU u=2gռey˒ y ؓTM/B^Ҝ*HM^l[>VB*%CՈ0p17c҂TN^,7CT+2;6cBL6NHYV)MGxZoy2q[U\-.?R+1ߙ3@'6vg|;$|.n8f BaHqI% 'V tP 7W;Yvϋ]`6sa*>01`| '&ӵF=[*-=](VQLskSSl2na)b&f1d/d+!!+הT"x~.'d ɾeΕA?\oAdh9׍ʎPCBNuSP ٬y]hhe ~h,"j' 0Hb&?FMpZlg@ Fyp},Uߺ=;mL-G#q{HwIE.n69Ł-+=˽u=f"i/dSY oi+">AƵcsnݡph@|aߨ c^jĤ̨\8 %N/2m7d4,َs@e#L&L-$'3~&ːG?+v`byn/RC=N ɳbk3TnnlF:VG$x +N+5Q3zq/uzm7u4lY Ϫ0#G%9*_VHF O4$1B^2%GY4O>(NzC9)t?~1|YY  +d5'/f!ah‚ uo*K΂.&ϜhZ5.v墍'yCMH;N vL|Q[n[(V2;*\R."7ylW̭S(b ʮmNH ܡcI-44 . T5 TGcy47i=gJf2]w4RC=Nď~-I;!1n5> ·Ľ bQUJy;KcO²}X+`KJ-GqZj5uOjӆ8[D8\[ فJ+1cjv1KRgFNz? '$0f(+qs"<$jÏ\s ھ^C]] " +CsٖYTvT{ȕ6Uwqov*4|mTeRWsvߌ yĒ(i[ &Ł1+tW)ŗHI4dڿ&GcYhb,12 \|i86/ەAbJ`;lSc))P:Ғi&Lz)6>ъ@ NHenBHpI&{'0z47'p͚VƔ;ֆZxÿWV8ȮRr{W'gy Ƃh@Ȏ\53ؘe~?Ҙu;LJT-$o9ɲ=YCC{d`RG eur1opЕ;? j7ᖅ)j(f F7x<^`t ʄ%7\}%+%M}b4 i8/+!3h\$FYE?K?S8bK is]Ut.jV!ā畦. kkL Π4~mj{OxcŧȡGv|Pp"?lrG{ sH<qFKVڬnf^~ sybdnϐTg 8"> Qvq++@ڄ3k+75k 0r'Șbv]m RU n0qX {ǝr:Ӳ oE Y$EcMHܒz/&0=m0O.k#)јe/l fys'"ɸvҏ*gIQ%>ʰ\CN)~)}AWƯ-]ŸLuϖs8sۊ^46U"]?IQ&#/8+K*_%myDXH <3NPxdDz۔@ևּ$b%iF͠Ҟ8#rL$5t]>"? ]@c+}1(HwHbrњ碨6փ ٤&c/ruoηcCBcĐL;j9Ԛʿ . %`ʨ ; 3Z]z%{{bj7"3kHHbܗAR}ϧ:z.Vӣl I%/0gp^N|,n#~f+r z~ӛ¿:B"yqT\{ qBqZ )[L`M[9Ֆzi`PiAk^+^8d_ch_䲣  &8ɰBGhjH2j.}@[Gٗ5i +u}b z jzg&}٬ېzV/<4 ]~uhKm_j "lvG(1Ifp i*~je̅|_Ѭ3faVq*}^w9+"DύhfOhA %;Myـ 1zA(p@}.}xQ@ܹU_t.=? }HQ~Eu)fvflĄHZa\~&$w>HJHO`6)KpO8#9 *2'ݷ߅~İR-od]%qtR4 rWp)h4Noz5ah[E8@у93(Ey$wzNvTƎ^$h{y{ĸ(O42fun譗Ǜ%DOWF' ?!9@,>naLچ\t% &~}ϔe] ̵ɪf3, S{l&.HL}\1|O_[dDN\ NV{kghݏE) l6ܽ,I+ZZ'.d0j3T폜}7:'~44RUL5.:8ҕ 0Q-9ɼޥ& OaLOBҕUoSanA]4||}~d'SNxzyTB)8-%H.jPltg8\qfo>j+TIZZu@}!ֶGEJK(87MG @@Z-FanhБV437SJ1^L#WU_X2w.-}Ƿ5^Fxƺ G<>7u:3A@d U&ޚmԉ?|6b )֗};a!xDƘ2%`j9 G)1V7l0Ccy(9 #ვp=c#W9̘nC~V%I$jf`#g1kZ+8 $}e˺D#r&tЛ + /uhMF=Kw吣8*y?^0s\EĿ&F^\LJq8اi$cIǕi5t!9N|4yⱥUL`.14ի.gUj0P8!Ã%ie#jVg $@Z7YM%h"n̞ DS.{Ҁ#gfquw$s*H.ٖtz3ִn 4gl(T !/GO(hY7+@f$ ;{(4MYwbOϣ9Qݠʿ?\DOL5x8jMzТ辭iN}dj m r|VIrwtѪDF=fYz}}XH,gh $<$=ad|[V3mO]ⁿ9x{Z8lĺ@WIV/hW0+&oGX& Zls8;a:kN7dM"*%*WbWs~9(NIsx#5}pЍ#OZRc4Rи [[JFK"r,=\}g+ߏ3P]Hȶ$HLJ.B0AjɺK}Ƴpb**lu\ʹ$IQ;M`2i*(N@> ߪ\~9J@WUܻf RKn]α8qұڡUG*NU*&(h<3C(cQc#SW%/chbr5E{Ivdܨ &0ŷX^4b s]d=FX3qVmu(+5e=p2H__ nNjskPmO(FK[TKf#<O)i?#(T|PE'rxt TW+6 "5/"6Fg@-pd7[4koQƌ@A'Te;@gmy ~FlOSL Q @Fy{ңxRUL>pΫ\gus SCBv 5koG2]VakDǯRt )</QR%+'snē*ijy8a:$Q7ͲuDf: +y少^8(0>)7JLj+4LyQU(shQ~vzdKbj$xM`d%ЎW4³n|@9}ar,qђ~/CM0XUqo&#@ႷPŰOdW/-CB .3r@JZ:oJ{e1LJlb:tLZb #6B9L?B9)'6'5,,8))dU/rpKk{q1UjB>v-ܷ$승`Z. cNS fVqDb#MO{aWk`%c"_CQѻG w7]^}, %i@r6e L Ʌ{Vu tJ㣂Xل 9pnWzœgAgI;GzYB Q^:Z$0ոZPÜY HuE׍Y aI.]NСJgj v]N.Hra9qrA ҉Vg%0w%%ήګ2}o9)Fl|p a?-m7PlD@8%ry)[Q`f վEb/5޸gS?7sϫgt6ڑ,#F@(_~c9vs轏(q͟ዖXYGf?,\V;VVOsG9RAr،u{Vzr;MB%zTу|i%pe$1(Q}ǗA`i#1ߨS^U%51_cFqiH[Q:8Ҡ+wg_`N j$ Sőj$_?HȻDmpxgz8b)6JwvBj1 (N Dﴪ!UD҄D0{}V<.7gcrY5 XN;HŞ"MírJUs k|k]e)m/1Sn /A~Ikn{y϶$)V^ꢓM}M{ݑWI11~&39܈}/؆`$!Zkm >T/ۑ޶ YNs_/ͼJL:,vg/J/:|!T]*]x0h导]EQ?#t4BjhG] He' }?w*\.Rz"}0#tW 'Ӏiv j7~v7'ϒy&\O4eEoS:bBjtveLSIv)`~N۟ǭ*Yra k+#s-_7GgWuR,`A˶6c!|]>MsLCE]"S& &irSpyJ"B`<ab !U.Á7VߐUzUUax$tjx0LScѡd1,}fmwTCݬn(S1A e޺C` )qY~F<9ԋa~Aʎ_ (piF>Ulfۘ=l*|첮]4P{WsFho$%XCb^߸^ '|LzULԨilO=2]c`0n>i!?NHPNܝ21 +Wut&b\C,=H!bE0_z圝Y1}$p@"PgZo(dRf'rKKdɑ0qWzk+@cpf(iLoK&M[\m-. AscusIEpntcs& >O0{N {= *rB6]x`Ė%jv6npq2!TAЕXOЧ`ZcEtr9('E*jؼVG ftvnQԿ1$zcM/b]gOG{@ÓPu Z=\Ip I#͊](xo֎Y&YvzŽ[sƚÀrۺ31bTs0Q l0@I=@:/Z:P?X{y/$+Zl=첤M6\ iݫO\d_5 @49TdTrJqel[""RdJ?1k7-Xo:)0+* PZj<rd\q 詼seꂽA;3PO{3Xx#).U:tT$ӑ"^q}}w% G=(گ'^ |cuғ!p\M5tja }n<b Aj~ j\/g ~Jɾ⥬BAulW~n6" po;jgw?cYωpN|pgPA<5VAvX7mRٽfRgV 2W_DЭbx%:_k sf %i5JvqMdCCAε)n(^07E`MȽ + hT^Tٰx-lU +p'$wwY3D: C7%m~o~#&:l\ ֈ#Yf% 'Lؠ)9L!n]6SVtpsľ} A^7+4{9$'}ȊV]vMêI=k=!rkHkyy7JkmjvJ& w>==`KH+4f&aG}U4)儑 m^0fIIBv,'n^𳂉B#H/641u9CZzնv0nnM$>Iޕl+thl|s@)' p(#w>|7K46SDvntK:Q= pWHKnlY`_},a,H4.m ,w皉BOcXOtH_Bop.MYr55\t/-<""oF:N!oZ%tnocM3vpPdngA4?O~8 5ӡ5_ &UhPӃQU/N qYI+tZ:f/ɪYMYU 4d%CW'V>+HmE A4.IQ9v5&HPcZ~y\RzA S `??HN^PnIAf;3+š[,k.n@WU Ǐsݸm7袎7sb  :3kTMJ;Ki3_6[ыڊf"yCe栴D9J%\1F~\Ml !>CEL;,O^H~75/l"_M)Dgg}dbDSgm!Mf"لxՔy\7DUp#w;⽞QLhl&}xX&3CF6vJsK㢄Ǵ݁☞U t4.j^srkn(RC1yH0tk"mr˗,U{N4Y/G!lG@Hfqn^^Pr%0 ڝxZӯXev'W{oH =列i3,\cZOO:'cd؃91]Tne"rnʋ?Vp~QzY:LgTnTo5Eq= 敹v-F/i# *Ӷʢ/F)潗FSeC iu@ Ķ˳`C,a k3,XZDHajg*zSlmK$CիET:ź.}Ʈ\cQF nT(6UԶ\o8-[w2}m^ ϓ$N \|iH і}f<Q kj%^:0TaLc*{N8qc.>To92.x[,52T׃x;7 PNpiݺ<w3lߗmyyNf$ȭ Q|a/Cr)M%д]#^%bJu &)t)!퇈rc3߬fLV2T3J.L;1;)l:_~$p~,6PǹZ GhI+${ Erp.cp`g: LY˚n5:ЌJ48Y8}&+; ax^P&byB3[w[%xCS sO/"yg)Oͺmk]cdWtږԱW vμ Vk#x'jR3$޽CrP&v\FFJW[ڄ(Msζ%'B1]P$Ԁe؟AXSheTpql1#Pqu0 tpƁL]<0*`QX2(h.RHSjia8Q>^g.<))'c$&0 񾯌XJ[\pqP࿡"ǧ0*a /51\W)K%tH1Dq0 #4 Ccca>K⨫v9#ُLЛuÖ}%-m=[M!&7v~7rgx I 4P@<RHMѴ(ZY8.#Pn$]8\df:U6Wӿ}툪(B*g\1 ~THq~"egQsg?L~k5kYB!{P哕7HQ~w@,U)F$TX>>diڣ^'Hq{yuzpR%q;%/(R˟$>8/=so-1vYSdɷMlDS,,.x%;śK[ِv u1-ޓ%D\*0<=jSLs\o:KT:$Taǃ|!I68<7Cu~5X<!3n_T|$pup"~` ۢ'V4d7X3R:NE }4 PMx{"k>"#~L 782f%VU d)mf_euz~l, [4( |JT6}?E^aJ E֣>Fж^8ǧ&]Z .`,FEdNdliN&3Kױ@sX_B7g1{e|&jc!I c-|,}mj`O}`ƖWkDNlvNc.|_OrG~Sجi-Z!2{&doݕrx?5A͞ f#ޗǴ\&W[#4 @ٚlN9\]ڧd髴aKToD #yQޤoe=BQ5e]]A E3G5ّ6h!nCS""G|-D_xY+'B[/ ZB#!D__;kfjm= t(ߧ|V(P3hu.qly(d=M@Yܕ Ų3e7Cٱ|Nt%bSC|iks>a9GəHs,跭:muk/e Mb:W򵧚t_6@TZ"`'\s&cfꑙ^b/> 0@:$ȵ^Jg H'\]F5܁)rP? GήjdrQs8f*c^U?#s^~ӇR)QJ#FC&E7y0}רJR-lߔQ)kJ3In +nUʋnӜaG! '#J5 #l2ܷ<a/-5G`e,(Xc)߿) p(ˎ]o4cV2'jm=}sܬ| v~k3MkA zIJxv; d_Hj*E%u8⢉-s^٥dlN}2PGWG S#(xZr{[7#=_&KC U]/V`SGnٍIcL> lIk~sON)A2ntz7#k=|,X4}+TN ȚH*7} 3uxg[7nbؙ} t0?{O*hz$.@'DtrR/iW%;v6Q^ywL.Gԡ `C`+)n W{xxB%hp2i0 qrW *K;!&Cm"nדA/:6=yWsH$8x#[i[%vha_/MnԯYh-.;Dq'B!*jܗc(3 5ԸeL.ݭxudm{2Óץk @:/^A^O/hWUٟH#_4-|gt6)!'m]!ʐmٿ"fF!#ĉ[8S ,&`1m(Х7Ҋsjފ"_5lrpOGy٩3s}IS#m+5Ű:(A7$pk|{<dI+Û-, ڂA{h"3 TߙkKr$b֕֍9v(sU 'px׺ܩ. ]}xyN% /٣i"7`eUagzcv_~lԉUTcLJg8Z^"#mbрT`(p(#7w+FYs`EnC:'!O<{#:d_QVe`@DItbGp8k NNrf9E=FֹŠ :(Cxd8^r,c9;N*+fX:{.epy>} x!>MQxS9ba8n~҄cWy@+0[k(9EMOVbR?іt͓&ͻ dGLg9}H.eꦤƧ4_Lk|MG3DmLJEҖ}cWgKC]Pr4d~]#nY1[ ҜԊ @~}I3[Di=EyM)j: +8)φO`Q"卷Љ_v|/%u.S)uAN$W;,,Q^Ktw="l:)~oj|Yx[R=Ѫ4ň>ڻNgCpa X ^ uJvDqwvsM;_~hVÏҏ)הJJT,j\;]Igc~=~\_\ Gtdv <2bgngWf8xi$:p];pkN \V Z|1Wɇr|f1#yy?ե}E7|vB;COp:"9)lG\䫟H-$G:2,&_fQ~^Kjx|(e7PTbuvS<ߙ[ 6B4G]:")&>)tꏇ|xշwlq^I\B\/i}bHkגrDӛCnqW?-ZOy1~pdsgzjQ񉤏E emUw<fl"AP:Msk9`睼/NE.0-90M Ϝ6}p&jB֚)FQ (C5)"t o D}x(I>291*-7P8kJpD.Lp/oi@P_<5- Ly9}e#8v6v'9'K(?pnwݧ-$0Rlt[l-0b9P<Ms) %4_^S7*A@_}1MdDº\M^ T m+0M6PگfAԗPf澊&2UQJ)ُQ|pTK^TiJ_qiuۙ(2+@B6Muf&[ڢofږ‹cX!ΗT}/\B *|> =18t^м9 ۇe Llc&hт 7 ҪŭTmU0֩_Ҡňlٗ@q̜k{B$g9͗/}I5(< jG9#20fa"HGVn)` D ;kUMCRP4w~vDmBP6"u.;VI]2bnI K|ȠF`o?$x(RXJ+m)Ӝ!1SZ3ª]K;& 0ڗR wO. #`P:(s2mƶ"pbmhc1})/yc1",`XK<dȗjv 1 $`^1$saTYP{?[2K*viˠnttOV-90Hi_z R3?4|!ga7./=.eJ5[ w*}>8󂻺md>@ZL7_nPUUD)|ؠk!$m!uf)IgfrIUۍrA c/}VF[euJPGo\?i6/٤5\hgWxXL1 7jR5J46}M/ XT4jS*ac=Vӵ#lEw:Cr"le-2F,: hFSS n9 msT=hFO) 3@8&sOYӼe4BaީQ>8:_?O7"ֻ븹o4ijqXv71ǐ3@C׺[cerIY @?մ4VT(!09LUp8 z=*v9W6X!kiIQӈel8`fcR\+%FR˭ɤ7<~{hMS\Ej;')'C g6̗芴Ae)O[&zf7[PqI| oac*Сk o<4Joy%;P/Ԃ0ezGKNEq0_FG7̺خn3L´.tL}ꈳڄ^ZqyaJB@xlT/?YӋSs}7wC \^ڪn7{%Az)o<䩿T)}_5eۗC]eOc$Wp),Kߌ `wЎ_, xBs*s$iĺxKd\)0lI$Q^YꦉVcHOejhWH&y#$h5kd#7@QxHIEאӪ4q=o.mYCҬ {a3>wS=jU ;W 6?%{)4彦Gј (fsETwᨶntpX 僩֔b^I{vy;ϩ ~?Cz@˴F7Wۈ&-K6 <+I6^aяw(|;sk$s_:$~<ѯVn7RACV4S?ä 9x LoxEu ,m̗ ;̗nc6BD)exrtQTA:$P*LZ|-I%z L4)z33KI\ǣ v6G<I  =rM eZyLQ^̂A6!0M6lk,gm ~Q[l a!4;5>76~a?sFq P  n 7|8"[5-`In#?5 , z$io& V,]vj踬>>NXf#.fJWy:qZ7/e(pubE F@cNJ`.JF4 pƢ߲;ݱ !XuѼӐFC.K БMrkT4$u Joz  Bm1ACKk}rEf"XxC^XPQ^'} KK;X}53׆`P j1fB&ێ0M/UV骭'A;* g+]N^U+$4T -וNF{G n7B>Wb,x{xqZ%댢ί5L'ąpSLx_vN g!6T֡4EU:] i[l3 a,m<0Q΂>#M]50\=א.˲0̩ ݠZ!8" Hn* o\\O ,Fgpv7!*#nfGÏIuJm+#f̀C:Wxso(2L\9Ԯ)6q!UmjS_~-fswV w5?c#iEqéVвO4TQEhgt.#E{gxLKֲ.Ճ*J/ҙ{[R+mBpMVqpx~]ZGFGk)@-&|P"!=o*S8Տpq[y@طx;Z 0@B+Vlqa@u`k71Aկ=˸fGv9x"ͬF)|N*e)e1Muv'z0/M.?lmabgpF7q5vUBXf}(? !.&B67@ OvJ˰JR,i.x(agUE.1L{wI&kz MewޯGł Ca!qLf {mD޸>X3iŅO3‰HVO\b:xKTQ7(w!x+)49զeu:VZøEV!-D[)B! N,՘S`ure3(\.p7ҿ{z@]PݥkI(pBq|k/&owD߱h{!;(i;5&8^p (\Xd(v-|M'{ Ě[b&0B׾x^0AC~xU--V`*uEUd4esxgA҈:h/)Gda8Um' %p90)O4R87ۨ em DGvㄿ,HHtz,v7~ATto,3t{o`αXNA%B fIW.g@!!I̺Kؗ<T,!l_ê5Dnjs(ȩfE@i} q#EA~^ً`/jC4pG,z`+鎇sP3Fk4y[>惜vhSX% ^~Yaljak1,W^;{ G#'ݹҪܸċ9$-h= DŽu+˴?rW-&e6i<. k `k LxöZm[ xhHDvEN/Rܟ5yHzN.e?t_MR˨ڙe*TkQkn 2q6Z"516H4 &bϧfKws*&mdXݬs sc0h32g:$-0( %/"\UM)CjwZ,+u,9w!"qEn,dR@N?pV.MI:[UIߢb-RFz/"tml'6{sEq׏XH?,^H[z%R=(5#f`ir:) SV֡ۋyojǁlVU(,PALrnZ ʀ H֌RTIر+|oJBЉ;H+J= 1fg=tpz8\B*#0_7[_ anwP/.6թw6ioohT!)^ ?~_ rE ts#flBkQybdc `m #ͩ1{b`*18Vb@o@A#xSB%Tą 1Tn%H(fIE2G"; +kTfXɿ %1,\[\Q~= R Ǔ%;BOȀϑx?G@szŽO~ fʆΛ~_QJR `]}GvP85G$Tyh\'ijj:4 ?]d<*0?&gd+X?1:ȶ{6Z-s:L$|0+ǚ Øy:3y V2t|(Pv<9כ`:ܥ5Om @wL贌Y21A˼]tݏvǒ5&iwޏ7_6l;Ǜƾ\tE\Gf"utzDt[[*ֿ>t5{CߢS,][3ZOZM$_TXx@ǩJVe>F۾-8MD"M)-JCENUVjB Dw݈Y"mO6f=&SAZC4vND e}hV2BwKbf֦:V^ fF (i~0+Fj'Y {^:tÅRձz$JK6C}!f|^8ֳn4ui_`˿\Ei~*$a[r"i'Æbں we>'ˇ\TE9:s3;j00(hzE<3]^,fLfI1X-XPwLFEȚP /4 K!Ϻ4LS)=X\- D72Dd,c'CEx43I.3sy%c{{ yU#,pʇYZ,C8f(B 16[!lRwuc@Qv f MM2!Zzq]24rG\I ( 6UZB ۟20 82*C]VayN4sz(fy3I6vf k2ٓ, }b;DM\W!s%w1_^\2xIbDF @kfq$6 o,.}{Uyϗou{blZ1 ) cd{L9K07Z|m(%0X``ܩ,Ύ5zc傤KkRDDrC4D}cgK{G.0b;Ԁ=tlm͑{Q<+ I^'P@yk^{ICT6vTkʒf%>b#a<vY>{ =êIx.'ym`lk"@F0dl9>+lRu.?J).;c>^|@y9SxqU% :/k`=HswxQ 99J3xAD'=c数ݕn__$zsԻ׬ЌauT1zK i$7ۃ-E>%ԓtaϱыbИq)enhߏE|`HnXqL&/>x06&cU9E2e|Ǿ\)3;=Tp?+l;4t!5Y {R9RAe\4;(蘱#vNATRo a-MrZe/S!޻?<I5\DK[BK`T!*Q2"d|nPZS+7դ_Ѷ o3&,H#s,J8u_ZL$F֥fA|_ 0Tn=+D( udZ$̩7!:'1\^BТX/VR@{uqÎ{6r ,fOXZy>zGh&@z*U`7O8`sI]j>Of4X$#!`Vߧ,njlRΎ.|ƳQOuibʸo' 7f˃!!Z0gL8Eq<VKX}cN$h_E@n-Z3o,pnc.z˷̰:/2?xgeat2,)cڐ۠ b1I։Us<[ 8lrzF%g*\Z[3tI=kOfI(+~!u)Y`b' (׺>&kËn,6d?g5 [aBrUxDq%>EyETTinMuٹ`vЍ  Rq<R XMU1Z^ L3Zϭژ#u)iii~Md=S݀Z_)Zq2,jzs'_c k3"Ax?k_bz+{]|,{. <|OF` >S K9Jwe jkrj7LRBSpDfs!_WV_C$27-+j d?iN)m)'g_ibR?S7?7`-HWl!SI889WO"B%y#z ΀C*vn[youkq(b-K`T@mG}~2C1?<Ao+uiΨfhȫWk ^/D; 7w Q&VA}c1{ZfC`ٝj> kTt:ǂf4q4"H"#^*Z &l(s,QC&,ѯ@rq04θ2.0E`ڲ-Js#S7UW }KkAץp Vm̯ʅ1AwMqjw-ٷ9M:9`<KZV [A* 5]>{V^Pn)NabmEM,YI֨_M޳JYe0\B5[#{*7_ [+$H| ѯ E9!2v4:tQ:ψZ#L#&qۗWis`;y>[7]^RQJ=0]1'HjF0u.d<0/:{+q"TlMa+k'Қm~k|lj"'y/Zzn;,0. c=9( ߿3qr9ani9{.^ -z\m^?]+O*ə&0Tv ̿E)&yI!@;F@n꫎z;1yaәEAգ'N8Ϛ\{\ˮh>53 Fc)`N-/<%wW*䀞8`\7=fN@ ʯ2zINں:,\ ;kĉ}_(ca>@h$JH$M\%o&}RuD|S"M>B] xIOMڛT?Ar*[VWgZCᗁ ,}]2@OӾP8\zyUR&j 9[*`<fN_& [QH6^D,S?N][TVOwNp;qHۜj>e *Vs;dj[æn\1 ux8̜L T8ތ<^`{ߵ|R:|A+X)/qМPPORyUHRD,A+TyQt2`?V삳%M'c:4v~(/cNyH/nJV?(3[ = ;f)UbZW.`&/_sIN2;^t&IXZeD649*weeM !Ld+Z*D[P0x9UA'KnڨLfz }E ٮ/ÞzoR-81V__de~ߡ&q`|"VCUZH)~ [deʚC\]fVכGեi ܑ~P©t],FyqMS'A1 ?&j б^`'S4/EJ>~ZdwCPNW+Ǧxx"MUR'A3o-7|_1!O 8=ΆeVkn  B_޳hhngf"^0 Q=+'ETI`%fT5/wl+#1LeVE ?T_Eiͬ@oaG򨻙^Sa⾟*F1nWUUyr'"2t1Q?| A!E3,-0'7"^zjO YOZ̾E4/ J3K{ER,L+~--|1׫f:1'0]awdYG?Oe˺Gr{ՃJ|r#j#GcLvx{h<\E zkj#M%-JZOq!ͣj`8m1cOe}vrApt%4 x2O_^T*:EqO·ǽN``KQ L!m92<>/o2ǮRMݿDI*qx?\>rQ]:d ݽֶ=,Sa^+WCN/E_By-/7 6к7OΤ6yD&xVi\DcꚊz85Rp 0)QhkWe:LzU?y8BԽ>\[O +?ڊK΁gbo aSGkHAFKj^ ' ~-HaiًG$ /`#4Zpآ5]67y-$ͫړϊ61}< #dA/f>юv X6#h[XOJc<5QR_?(Is-` eKlt~M/$+Ϗ5%uo` AsDە]80(;& 7"\ 4I0ܧ+qˈ*؅*uvARw~=j? `ɛ~mUyAS}F21;@֮Q1xd~v/H41|(/'.WKVi087M.SƘp ܳBy(t'%w53yʨ/p5ȏ-t/z Q2JSI-9E8%WQP%ӭڭ,#.-Zya׵k $k4Aof|P&middH]l2T~Űg[zlRF:_(l^{O1-p:&ԤGckdEٸJdS 2lU VͲA 0Q)|`w@=z$y rlKWz!w*9kt(AI'L3 ^Mq@CMDCb!9d { Ѕ}:3'1ĵZCKLaKp0Hk[FH_\*fGg U3H_#O\C\/ҘyQ1&^a/X W:6"*m>?'+FY؞xQ8~0B8/ CW6L^ e>(HBp&:D*)'&XBR;6Apv x wSv /GY早%ěŇA5l!Nvo[`6 {-)o6'a j*g{_x6k6<>,2onV0:fj7ֵ3HG27mE jr1.(s{ ;4>+@Q!HGuLkL{M0[)U8 ,0&£e2:>U6gfT~@gw]˨.໏(=azxΗہ8pd [pOlAth҆[kD75v>%rOuTd: PʦҟwI'|>-,5UMօ_W3_aPtW ;TҤsykA|TO9`Nn>3c ]r]x}f;-@ E(Q l%va/ƅbƄ??5-0- V.L ti3 qn]V?4K gEe1ZD>j5H`}Pg˧zwsR2Vs3,k30z^yN{Bf)c0q;0ٜ&$G h' e4%`O?-xDn/rNaqGkˎ4΍2fܯ7L, E\禿ldAa*\' 8Z%)tKzUN͒ƽ$B9m &DcIyF5TcDMsxgz*+~> .1Gl +ⴝ56s G4ۍ @Xx~Tq b;JlaBIh;ЅDž"36whoZ- E1[A[eh__WDx>uPSEW yW@kQb1>Ь7UB !0qtq'}s`.2_[ RٟÃq/MXWmC\ߗ);kS6ZD\)HݝjֹO^ì[+_>H& z a.kByycUUjY>\ly\ðR$d@n:ëT+E\m]ٷb +$(OI, !0!R4AоdexFF ޡ8Q\'#2MiY? _?oe7]H d߽-+ <*[!.3Z,2]RppFIAq{p `GKϋu'QU{Xæ5F'@-L.! ~ ޘغ]>R%<]C%ߥd8# 8ހIq:_Aoվ*TpZdzc8?zq H Ȗz#×l7/Cr *9X1yH. ma*%/6MROy%5]|b`(X aj[̣(l'KL5rɢT' >BM)WuX` `s̵̆V|G!m~'~Tqļ0DNZ=l$NKʵs|:`7 pއ@$qʐ!>;5:._0~yc9T˂ƍͷ@!Kv vR!KyPj]@)19B'4+ckJM@*!$Aݳkᆈ?Ѻz$Ų) (e y`VHAdMKe;*:S= U>-DZrz3:C+lBvrz9:C1ObO$2߻jZQ.5"C?MQT >,wu9HYՆw8$5-O%gNM-Y}Ox;S 4\|ɸ?#4ĕa~-أŇ7W) q 똋K<]M)<lj ޏ*OaM;[%^7#}S}0L5Lh6r구;0O0++}Q$)3&[Ǒs9MHTi,V`>1(P8Ɓ4$8zF+lVnk~3&Pw-%hτFXRc:HEYK9o%WF@M^Gя%:Az'\@N\T zW1~O 29)!(σ41zi|Uy8./d ~UkVFK%ϼa1AI:<)_l[6>I ` tqG<زe?T- &~ 55\rdvTI?э" `z&߮bewe=NU)͐Ei|߸* Z_=P-5X`988NB<ZzU&j尥bMI6Ri()/V 0"blK;UsA6f˲uLO.tF :Ɍ!FPT(3A49La5Xx8e-:]m6aSžwM~Mԁ HZ{[Ϯ(zs['1QMzqfOKX];Y˜.UUHy IYz,0k2>m;^M7LPl2^b,n'kMzcˎ&t5bF^OqChV1 󵔞á|%tL6cyt@VOŻԚww5O X9{!wx2I$E 7B>5#\"&ilY-19ͅݡ[syiªdNI}?]uU֩ %|{zQ;?/dZ5?ȑ|=(f%+y~ﵔj _|U6 @:Tut紧x1ӀvB@XH0Ƀ>feǫ'f9͘cݬ8ݎh'\k{q.ZCOA=rbhv:e̔Ց[Q !ei9̰ nAS|$#W|b^ekG;֖ G$T$˄1 {Vnp5΍t Ŗߥv0C&A}1ׂX ah.eZ ĽlyBbfǚ͞bp_x%*=4e@Rh'ui~t IQ=nٱ bHﶆ#+IT.iVW g؄Ji8H}%׼ɂc:|FN:_ly:}ϪجI؀C磞 f @!;( zR ޥ4+~dX7Yƣ!>l#LS6k dxC;-Eӎ U;BM/'cs0†RZIt!'L=[RT/94x Ejzpfd^[?L'_vwdF_we5[WDAgc;a$K2[TUIsv䤽BcB`za 킞鰛vͥtDkv#,Hߒʇu,j.-Qd0 EرAq(ˋ\P$hB/RgWwĆF ;3vjaث F;E(y% Vj7vk؜-Z KHhOk& 4Ӫ)c̏v*SڒWH%p~TWn/qH~/8C?Mg?VS$)g?EGƸ;ВzLW3SBLcy~-ы`"8R&&N擭$4t%D-5ڷ㗠 j. $ׂgKMLm*OA3蔿#iӘVj #ƆyqTk7tax ZUiVyOZ*uG2Q2`cVI6w¢ cp9c8݌[e|x-^aR)\y;xkK/.QǴ?Qsxx) dYIbsf-R.GtpմuΗ/!9Y7QdyjB]+&O JOla 08{FKѝfUR"0:&nSjhǘ Ohzg#}Eb HElj2g޵TsYþgP3f2|]Z#m0z}8D{JE~O5|`֥|[`w#{/d)JUX!g ؈~>'xԼo0.a=54kBRVqŬ􍼧r9 N7]ؒkFs3U]TUhהI6Sxԇ@oj*a'm(Z *71W,X/h66 O0{.IiEkk<3/^K&ںvMx Ď"{%zS&Ȥ1S޸w!4A@G/v|4di.ڞbbiݘCo}ದ~;B![x[Kg_&% E/VK/0463|8IuTLct\DYJkFՑ 6]]1p0c=Yx?Tb 1jUfn%v.-`UW)DLmWX q3m3ܹzSLVF$hgVa 6$E1)k?yPQ3TsRRTQ{'bd `?&v 1U@aJc,応הCßh!?*Dp) VuC nC8ڸQ Ld.a0(Zn[k݄C]y+~g bsbk_WDG 7ua_vD;yl0朓տfd^`:9p͘Eljj9yrMrKcAJaBj^eXJ5}6`>gK#W󑷃YC@,`J-`* [?0<]e$b!PEgѕ6M CHKx@6C1ePK}E;Z2M7H ߐwL!żudtpQՙg4Ϳs5j n}w]_#dW寄Wآ+{Etg~=<'.Y5i$LVт`>UZmPsF:wM3Э]\3]1A_W<e޺S.~h<#k'=76uԟ 0udv8Xࢷ0ƶKH'h2Z;R5|̶}iW`.ؙS_S4$'~H'$`ܴcϗ/޿((|(2H$._ܦ_2 8p;ǸNc:0HҒRk;,s.*E"q75\Tv_sQ}jo{ ;vt[[BiiD/7>3 em0dK>1v.`m"d`u9|秇%+ߠ0<5 &k:}jXP*d40c6V4oj{v8&p΢4JPk%+\?'GӄGH jκ!၁>#%xZɥB>0-q]v[&%fbsg#l^z~ф.> 8Tb;5X~H6 E Q0zSQg仇~A"PxY÷O–~Ikۉ2LyF?hjZƦhI]foIsgf.sWo^N( $r_s+G<(U #9VPd66tn6>0蓂LjN/H~T 8jH ,VjT0KѕPG{&pYkԍɡjkUͰ~j{څ)OvhNn~חjct0Sg[F1,9Y^&嶜acŠSAHǓO>z''V xf׵Ȳ]9o" =Heᬸͷ`nH$4-0.׳]vh5%GԉRH~khqT)\\R1RU#m3(x G?97. U|l1|KկM_{Z sZz'O! J9w~a+Bٰ&jx5"|RnLrlqvSl4/_6p3۟]`^d*n_}?|cP֘߀ < M/0"FKGpZPC-C =nAQ0{ ZK(–k[>x<4ǸMo7:pv-EnuaM ү*![5:OsPy14((Z@]߬Masp;y^.]@s@&ެQ!"*|]Geh.l .[ERs*"zlIԈ%D1j?FL2_Cz-|]ݤG7p5#<[YV00Ųz@57{d7ДV;$cSpѓM]S!KoFjPBHe]]Xg4TڼLhT oNiA.1!=QaԸARme4VtPWݑjO`igCPbL59qzRhAcYzJ+\ԔGֆ$SvxCg ڍkYxa0w b'TtwO$9|sy`bE&n`g/wHe^\U;SM#7A>S5J(ep. DƱ*rm7̴ xFryna"@JZ18J5IeϾevK0ڋw_G3}/r83}{M>L_b:^a"/#ޢzwSjdrb*:clA9n4{#1Ȥ|+7E^E}qϣ8ͯlIҜixΎjťI鱏?*:ln+A7[awDT\-!$"]'ENQ .DMV6}@wx(P}=bIŋXt:mD/'4CQ1[ XY/C]"LK0^"r79c':хl^jZmPK} bbIJogl;>#" *ڡԯd%7p^uO E  7]$#(R7;ϷB";͸1:޲PѢԮzaS~ \q6zFSM. )jt4!u00jFծ\394tBT'=h<+CV'-x|pG,kwoa׈R)- 3h. Geo0l}۠ct[k@H/L k }<{^iQS*ܳFK6CfAF,5jo߶ :ܸ&=[C`ϕB 07> ]$Bb;r< HNU_Ot wI20;qWO{ID#i%HPwKk6V(HW9&^{\פ2Yebkk颴뱴+,>U%&睳?rKՕ|8S}",k% I,y%!lI0=BD/CpFltjRXFQjpɀ:n~"7Sv mA6h e%:>4JuR#.2`}U*A'fDRϱLdj}ᯆh[ VhU Aw'Bɻ05ŰBͩe~#"[Cw|(n;^Fݩ /X'ՔhU  7 "{QǕ2<'-ΏiM@3W0l"8-h+BkU(_{_Maanå<=ӔkSp8l9:H)nz^rw|/ Nu ;]MnTj*z[1fﲺI!)kZ#(][jh[S%{W6]u EQC] (! B ~۾!'j٤w3D[{C:gh plr&KԜ!_y_6DOkL,ln^Qw5+;ѩG.||(rd9>'nKٌ3m0}Q,_cu03&^ṁF*"^U 7t3ZweBSaZV  "}:gJzZ5^_޷9W"a݈yDk0dTP##:?TdJH%pT}@7\"ojT(Bf^wovr fMfR"NCP i Ev39?0+U|CW1Hy`?Qlj 82V4,%mENB_B5u6/ |#&V[6DomX1\R; d+X@[긘hJ5nܯCwx.K05qgJ\Ȭ ۙɎk/c0+P `# LG|?g05&?YPVHb["qV6,۷zo/w5]O!p)m/z<2N-碆R ښCEO] ԗy%Dj7>\~u)aE&_I]A[5Sqv˖fJQж t״ݓ[߰a}_ȤìŨ_QBUM}E<'8wV>h+VuhNp/G6.tJQZ*Ȓv7!mKI<6 !Q%HX'VxBв/+:JAuS{Hs}ݣ ;m!zdV_ԅ%AR~gI=q8-ʅAHq$*$X27dǂ(x 1no^=1/"ذxD9nȑvΕghwF-ÎIkCl/`8ݗT}Sn L\Ta4I[^D2QGA+Mige&W/\N"v\wQ{ʹx AxIz.OMsM vfֶt!)聖#˩3:]J}N+g6ri<|f{ 7EPvΉwG__ٓ~R1HE7Ś(+[wXN##W[9!vdSdgUQ\|hh/CbZXLUPbݥU<3˽ע?|mĹ7=Z|wp@d'w6tȺ G8]ŞyZ:1v_r8{yY8rb}2(/xsH^7 Q5&xv<v;nOu\y%מ*xNֲqsdbc Ȯ}7mOJ/FLPyYT]B8eYKg砳lCƍ|.P]}Ja%Ljq' b믇\A?B0%mݜuw Z/ λZռ Ƀuj)f]-02GJw/Ќ FX e4ʲ%ʿ2sGB7?|{!<9eG1cYv"N428x/?-%)dyBү☽$뺆ܨZm "癇3w{+p'J¿Uܫm}ЯFtKZC슼o{uQ!{'--JQڋ0* Afz 64P'tr %ᬰ dZ=}`rII fo|T! \*;% 4&ŷK ? ?IO3k1eׇ3ܵM^:~<: D)OE WG \h4ڇf`1T+BeCn 2&vW"sZizdoBilHr6YDgIW~5BR1 R?mHZaǗ\nYPJcx8'^lE~uEMR],o\VJʣO[a _ ׾uSҏp/[kN.z\W/Xlcsw9y-m'F`EWj(PaKBrpkC|9CjN,j&TFC5#@e(sM6W0cCF t\`:g krBP0ײCӷoNP89NfR"kMM2qꐗe9cY-T{. ɳ%懅î,hZRRnsˠ*$$}s99|%a֏ٻx/{')丁h{x]15_$#R7ZLDhM~dkv(ZEz>R@L 1qĪ7,j*ÎhGN#y$ǯF;+_l* e HhrD?@ګfKi;N[0e4SZyCfce*_ FBf $ & WEB0&؀:AbBʸ# $Ay\_m,0~dkf2$N_D/ɞU\kj5RMW?Q)(TC` ;R76юtcE+#-dV ͏ʲoa%eT2[&l)Tg.Jҗ0 0@uQsx|Po;fJ}h> ;$HRR{ݤ NtOXc$4BX-7Tuvm(]z"P&[?JG/ .~hDuE["l:jJ]NUJ0' J-8Rʚe c@Vy Ser:@v$˞㑄q識BJyko_,'J_JĔJF41*XSґC;:4 >)eAvTԆ69@{CUͼ6ϒR╛*ВKYkV,Cw7un"{$,aE-,=G٦8մx2˃BsrW ?ՕI̪g ϓES>YNRF&)VnAwS[pD@KRYG UVb]rvh>TXUn mMS \@ Kx c э0`xG(6xS}=RzgeT#ܦ ߃mpjf,${8=}oˤoYʍӆ^\q.a("[?k E0yi˂|[. `,Π>k jCg/o1}: FAyh+Q'J357wԡ &Rq*W/n9sTGDnc;r뵚4_7ɉnD/ Ъs9AeIǝktR4Q;<]OO1q7hYJuڕ,̺a?"EbAVdVCϯl>(Kg16=jKnw mh BZ3iJ.;>pGT(gkqoɥ\*gߎjZl0ֳAI!972N)֞e`vju|ᨔ[\iɘ\ƍ(zJV՟v28it:]G/KuZ+[.kzpzU:uf>I-Sg7;e]AsUŚ(W]^#&ne}rmt2S3I O;eL~;M @?1 F%{SV MmۅڥŞA6) 3jj no}ţ~Tȼ+=)bɿMu}ĵ1S^Bb\2v"XuYL(u5y!؋q=Ђs@„O{/-`N*d{L"<v~EZP%mA^bg8P)CnJn WBV/,'~_Lid]x5!s+3jcbZGQz^K'ډ|m36-5\. SQk Z%A8VQuZ&5>DY㩲JT(kфb;)6H|V \m](>75I}TJqO}_HrN){ lۢz Hlx܌B"BCVBublר7lio3c&+16d|1[ "0{IPEfLKHg(ģmyk[?Hd=RD|1fFg]&9{_4:?(hVս,I1if^E#}_r L,g8ԅ]-+6J\]j4b(qH;Z}Sg1IWOF9fWS;ǭ}we}ȈXYa\L(I NJlRl%a1Q e[[iQ (7!Iߜ#\1|X#sGFSXBǜXQo\pWU90w~zve'JeLNW~/e^x*~Hg7; 1t"&W1lSgc# MB%;.j1mޘQ]/&P}^im, Јxf6kj{~E N0zV}ɰ\UQ}C0͑d " IR}xQ^Z#Fz+`~{w6j`ǍWGfgn:/f9+UYT^ՆN};ڇb: ycVK GFљVq롹 <ebx%&O?"K /_zzء~]LrKo uޯ4@mNҗd hY1Z(G#BXF7J ˦@ eUq)j+Y?d 'R!A v 8m&tʨC ڃ~j7I'9wHG`j YvJ!Z~^;j_wWC3Rc|(zƬ+|gJF2Z0/6QRp9cac(L>Szy7HYƤZ4l"[(KT'fE9XԞ3O;Ү,faOI3fV<@};c4#'Y8Ot=݊~@ͨJ$-ɢj4cs3:a}LMgJV ~ ,T+1Ԍ敤#tby3 ̊NjA{;Uu{ Y,ZCwdϣ&e=Ak_N_,q5ʆVaM1BM_Ar@3O) j+,V+Cs/+\_rpAM>d]hڋcߗh͜k(xS՗̎*W8XH3\xƻl# O=nKZX78Gtٗ+¶WuuzYfIDX={(- aQ!K?OB-PTbx#|8 +mς ^ZupGp:U g>쯒f<"F³лʸ 2C# Lp˼"lQ[>wc:T7~y)d-kaYVM[,t}[!5ӗL.T[GƓ౰$M+>1=5-!F)z=d{j=1U{}oYTv>BG*@|ԕF)l_rvJGɻFRxJZ=AJSer r8) ;!+(Kײ@quPǒ2)S*HvnY=ZZ~]\(l`Zqa9٦4;ᇧrErsv`o  S XKYLų/5M֊j08AY`O_녷iuW,X @+xU]%s}L=*H,/ śmp2wfޟKl` W1` -PHS깤 "ϔ*JdG菅`'tLmPtXt}UېIF.R^Rm+NZ~E#A$*?)V)`à2kgfm" R\;[Μ}q8j( m {yš6qʒh`0n5_.Y6#k h/?: 1#Ai\O֍SX[й%KD ?߂l2G8 Hvgn@-EoGDMη0[7R>+ ,)ő')`I:=MHypIGڙ7E=s4&Қ(ǔ*r"?tMhSe1%5]`Ww\=I,XY+'̈́*$w {Fy$i@a#{aYmK,"b[S~AjEn4TQĥ0 ;B3O:y( }?E"U{YwEZr <(dViJgu# )DrϣsdێKpXS;,ҒTŠn Fi]Ţt6,fV,.^FJ3+uwnKAv 0(>ܗ(zDO4́+:Y uԋvWl!b"jpR_ 7]u}P<} б~&>Ҥ)t].h/BGa/RXx~֒bf:x=H2C@-/͕/ǰ7?:3Z-3 y')p1})6)՘(_#qę[Ykg/sh}c! ?Ů ~3ҡH"B3 5$lrb,&D%Z*3v sUEzILMSU~p/{JSt/hq#G}ic} =g-Q5ޑ8E&Chcy_sb3UXWdM8̃?YT/8!·|tR;惒o:_r@y ˝$*g.Ѱtk.Oj>6M{1Nͩ_u'Ӓ$xxZ# Xʯ%[UiI?7IW/wj Qbh%8NxFm ϻSBL r)`ude/[~bDx*xaYZ. ]A۱,7覍+MHHy>9}YN[xT.`zzPQe}-(JGH.BǍmA& cMpo+KO#k, eLtG4R-w #-w"-m/c.AgZc:|'M$WjI^kYcIV6ǝ̲WhQ ~ 2ڥ1@&1Gk<4 ;PbI!=;DfCL0JB<WLLj*QȂdo }. 5/A{pQ&Lptmq;&[b=B]34ql/kUv lwl- IӠҞI&I:AVSK݋nȖmSxUtfԂV=|M7pùC{ֳOQnq$:`2ބHPH< $^~0,1w_' :lQ$q} Uh|igܩEW26E1[r;4[܅/nDfK YMƊk\Hww{xn7DgrT>>i.GiyX|yR Ť`bebCpAIh `ۓumsv91lM_µA4c{ ?:s1}VE-pO`(]q%k$.Ȣas>+lg" Atȑ$1pa͂\6Pէ53m@Cܷ+y3:U*.6Y{]aP av 48=U4u]nPdw?9@4y06 6'&kB!q#}:Ҏ106>,O5^* fM(`+k(H-;0ӕ\ * q۲Nx|"*TK*pJ XΤFU pߕ'Wm"^\:[tHT>`6&ʂcEjbš4>_G5kxq枇P;[ms2D)!L oyMJAwُ$-[ed?įonz( ,Wr>_S+*M5M RkXHt*֩"/PPt5үGKDruWO2ϘPfEW1 ,](a?̀M{0.ԙ :2^!F{PBi|>[Q1.@V&HjZg{8 Fv\ _$Ȳg^Ea6d2 x"-H\Nm3KJ{(!=xxP݇tR~\;nS,ĸQ33(WXzX*Yb6Y" 3_+KnGъFc=3!LlR(vMݴFQŕHmrdcTк_z*snEד>?M{͐c0řU<-ybl/a $zˆEH/$ݬ H$tOj011KfϘkMH)B z5]aA] ->ױZyQrY}՚J hx&RK~5(vMù)>X-1@[`ߗ_[|4˝Mp8wZ;y99L/+'M^ˀ |?:@y@DNA{pd3dJ^?i^ ƵK Z1o;C%wmE'6V9G^cHSy,YܘUO -@nv\hy>#nncbt*l^eoit<D-އ j0-Juo?3&pE-;!xr#K%}G:AuR*!|.}Rb8|YF-h3=^B;[E똭FD8=5"{U2;)4RG0qF2cbө0e$ IE:7Rtf aŭְL?"8osTחر>MqOgd&s.a& [3Χ),̀8}KGZ9mneG3UƭB-Ge~x_g Jn6M Ԩo70DO Ry4B]| ;of0&\+|D[(j'XՈoҍ^uZcő`Qtvy!'N9ANl2N5tR&ܙ#h.[~( -x D6ϼÄDDI;x`e0+K4{p^K)OtCMSH d*_F xkÅfKE,|%u3:jbˆ8RS)ks)R|IBinj ~"PY6WY}Xq)Zgs]4I6!h:A,@pNJ)e@5+.?Vgw G$mqHD-pI$v*mLp݇Ya$5K/"cvR楲v OEPڭ'3|lR=5fׁH+Dd(\Gi$5$y_lGޒ` tAі6F:gwD5>/Ƈ[8"(&;2ECX _21^vJQl l-jV!7H]b~`ךmYfIpOc@K.8]SI8FGFƦl:}uʻamexBK0L264dG\ Kfdp_})}}}[)(}_Ԑ.qHvD"4ڟ-$Pj\.hPŵu"̓v=>iI+Wu9 ju7U x,0Xw$Ts>Qj@S?Eag4":`MX̹Tt=j. ̰́'>-ϐI6,4* ]b3,9 2̝fD1 v)H6)uV^BuWy-bES P[b»xx*,7ѵv, *! Ο,5ps%y֠GS/O+V@ g"s؁صRh8)ӭδ>*kӒK6U rt#*h9hصcoFϩ\,@7jΰ.is{Ol2'wcZZn@WRԐP@\'wxE\(AY\;J57yJSn50uƚY|#S2吂ʍE&4䦍&h rʤALk r`C5(UZw*AN? I=jȄ?_EϾ$h2 O.Ť0A6$^pƓu*I0гQ:p7`֬k!-)[kS^A}B3'ӛgoj Z%]D-}q ŌXȴzB0C%1}/{kEPc-R!uoɴa ;Q Hr{Ŭ]+ ]3TT}%cYC)4zYN|s^kY> P((&l)]. ~Ñ,Q$1 ַv.B4oQ3 f@L:;.#Q2l`MZO^#/߿wC hO9&o(N3wP'/M<0gX8+3:TJ([;6oG[PNq Z3ˎpu>]^pdrhr:(9X:Q.4 ڐhp>"6~sgpۯu-Q~~^E2FIf`>{[eN3bɩY`F#?%RVlOXx_Q8X})Cx3lp&3Qr4Tzdv \¶,_҂hh'> | yVB巫h$V0{6`˼ 8NQh.mf~8-KHs4͡$N.j. miڏsҨVC;[0XˎKk6ࢁ(IWJvwayHhmDXn=}P+ց_0 _*jHhvZlA#CڄLc>-".RlI5\:<2l0ךó¢+}P~ 9z8+^R9fS?;nߛ(rJPDL5R:l[yth=4:o.M$#ڣ.EKĨ&Osђjf HCc)bgl r*l 9LךCo>^LFޗv]k!+jMO.㝱)Oa)}0t`(fF'ڰ 2@ /u-lVe@M'^<~uޅ2&ACWP/K˩ܸbM5rwjo2O(7d>ajXjf/{?cR{&i'SN}"0'+=nڄyx :>p Hm9fpƢ骹TaKenipO?ˮ ?GjB{SI=[UD`WN=dThP F]75xRX!^a73 B0ޗI&D@QWf:S'D)} E[I5Koisjl9 n:7^#Z/+m&ž=tڹ p_X1J>]{E؞eQ<BWI~++Ҍrqh 䔾|hXNW%O3ŕZGj41NB:*2s,-gӺpDs%%huX3dؤqXozЧ9ó폨bɠ{0^U[40bB[=grjN$oq:ֆ@=0 j׻אEl4_*s2_`7An1MPZft+yk) Fg6حS 2H>waQ^ ^7L%[rYN4(#dĄ4߲ţWP W#TMįITwβRé"d TFPnv&(fy*_o뱳7|f‹ğPG>B;hS[SxGIɑ^uv TB]!nlɿY(!ʓeDyG#y~ ~A`0=p)1eё˲Qd@\X"IrPC<.E("&\ċԍ=ޟC0iumsv aPlwGҦfu`~*"Y'{W_qyuIbZ,?kf;@C/dK(4u$aEJl=0M" n[K[:Pw 2?/uܙ.`w6!ZO^ꜨQͲǗvDaF(W@c}qF\j,_ZF9Hx#6z; k <{V9S\6半ĉf6qL .?EZئ_13>@ qW7Kg&9[GۂaUs,ߍa~0FTēi^};)@5\ru?ro/܊R֢Q4"- maz3wbo => a}&`2 vR" _dٜ#Yl2 "e|t9:wJ嵊y{W$EHYVX x4BIfsW7^~x"YwiN=T n$ ~_gB B)/~`]aI*Ń ǖ6&afbӑ3U~Dý!B7TcN(6^k2D4ޅJEİcV])>Aci@]逹剪z<ԓC7NmY_=#!df,B`pfM)Nōp=^gi}n}k3ӆmm eh8sQFՂZ>+~z]KʉDwz߲-$rDγ+xIj@UN-t[vx"8?|`oyxIBX.XV)zxRA1x .AO1}g]qVoL֚֒}SĐfړ[KIé] ó7$tZ(uX%Hn(u`b %zl%HzT,QoKcy~`#TU7ֹ]+{-5Iо1]s-\HH٭iR!bBΘE %ywlW5bITwhm=F4CG3Re.(-ոmt栃lHG2U@Id]Nzg?E ]@V` LrzLv$y c&xdR{Uj&# (CscW&;ъQ@8,%_s)195{{tTkY#'/e+7*WH"Ce,5S4GA 2;A2HdQyDFVw1q,ʂߵs3X)5iJNڔ./~߸HAnvJ8娤ĊB%uCd) o%1Ό՟"-Z\4@hu.:h8c@x\rQݒ``q u6i}^M iNh\Yːf^@4XiRWY%4{șl9bR(m蚸M|Zq(kud moQf^CǿZ:bТXD͡C@xVU *PU:I&"1vP5'H~ca.gW(ALkx3(r|%P/T67T3Ax 9eUGtZ)r`{cOvxZ.m̦ FO3~ J.FX]sCG 2K)VxRM_b֬Y M?}CE J? I6ctwzݨX%HG54V<ȑ-:҇wSp\JYMDYI OŨհ o\>ͺK"%kYZL>'ZWלs:Y,3a<ɘT 3S0K'gVgz$˝TR{giɃ .0o#6֕\pz34j~|8]ƀ_S;4R\(#y>]fWqHޤEzQ89uLSKn׫^U־Kjgmw@+ »u!/C%0YwR9.gE6Uۖj"KdzR `;H:6'C9j7*2Eb/w'HB;F dJʝS&I$yXш?UpZZ:1S֥$4 V`l^vtȂ{Vpɯzt 2"@h<>O 'vVod.{5YP|3`vXhˠξ-¦kW|-©1q6jjry7gOYܨ!9NzH3s b{튽w|{r `} T< Tx5&fy^>)i9FIAY(=ewF4ߜƗч+4R67Uxј֏EN1iy1,|u xn(#sGN?za׾\O_]\wIS/EɎX;=܈_&NVz\Ƴlgʙ09o Yu I)ƏkU@yF6+l%D-mig8BiBHjUL7XqBM7pTOB*2I.)Խmco1AثjS]uDC!Q2\qj]`"!{IϤ΂. VE7@t};~~frTc[0_kx`_j?ԥg BЉ)P/>]5^zob)#_J:J&/52=ژÿ> Ӿ03Զ7ln.W,^/raG(ޔGQ˻E&WjXݽY&6$ѽ&|E4Bq$7_<㜈'~>厥tǀ8@pp'rC 4NV[={SĈBw)8KMJk2'yYݳ/V)ed:!Gַs=ŧ-(El}A(PÙ;LD"H;SŕWkoe6^z6q0?έ" kqzsclPJf:y6D0Fs"7Zl~C>Xx:@Mc$V0^Β;ږyVxS!z5[^E"F<7/.au㈷$O!^F/Y#Oɗ(7?J9T sPrݮY+4?yV{C?t]Mx+Rerl&G_QK4 6 PRX-g7:lђL!cT9hZ3 ]ߏd14i|/PN(oө|^7ތz&ږ\p8א>TC^F`ɭ2@!5x([h|w>|RW<:{iQw<@>LVt>r%@T'w扰3euDW[Ԯ) 5 s6Wl(D}?c 2鶺>> @㍴wԸ|>quo`qj:±2㽑[SN5K&z)Eۣs&`]>yj*0e^qz=b~ CZ87~,iB.EH˕"+Oz4[v,(M6#-g{ѯ~*UJ49{ rVūvH\B)(f\^y_JYQaZM&|QsRhfbu*tЮGe<3%03q۪XΓ8}oɥXg-X:+y;ga$ ҎOq'+ŤS0T,GO-zwhz?Ӹ}YnRa zgŹ˦br'&de fޑn2wuk'%oP 8iw~D/3_ǿ ++qiS|^-41G ^Tă+X/L/-fo"noըMo*JWPcvϙIsוU*m]++ek,m F#B(I6s:oCJJegyM+6z[P"2^Ok ڒ|\,­fCP*`o'XRl,)ѪȎ %D8Rg{`(n .T7*ϋ&WQDBߢJxXoTQ󰵗n[Ѷ?g$T uX YF韰^ս$^Э ĀlOӟ 沾9ʆ=RSxfc3\|З*|To2,cR۱2H굹 c̬=$`|<[phVv}e,\3Kro̵}@n,! #_00vT&3qvdžڻ1t]5T,'#G^~\uv͊CI 9V<5=įx9 O1 #Kچ&Х6{JoqIa%ۜp yM!Rm$.[+ϖ}ݟV}v^[c @V#> j=BG ],86}L 2kA$q Z`vu'(ΪUs&F f)&'ՙF$Ume#e'")oPƝe삨a ( $A9%7(ё(V36D;s:*60r-h e\cΡ"tWo?yhU0rbE$Nr2tz0)]mT?:vJp( bG89JA-].L1-x2Y av]3nКR|ۇXE`ò낔":!/7orGy%WFT 9̨ٟ=* {%BFSӗ~jQ+shut0H# 3r,R ${W$V 1/|i! s?[1iBoxwp/ uʒzP̂dDx)Ggw[ \yT#/N x}<qGhӗaͼی>_M7]$YrahWw3ߒ.پvH3!jS2L&[}tHind8*ͭprs!c;'?nY qxl  gٹmN EHtj n,˘Xҿ$3$lNcñȅK`T9XE[UpAՓ-314-E[~+!,BbBg]u8$x$8q4-#n+g>).Qc 1;cZ$4͍ jt1bO__oh;tJD\fm%vaܻ46\Fa;軹ɢm.j_c6j;4䂑:=^CR/~ft)FZt1j֟vE+n3O;(䪪' NcGEp('6H+'{6k7[fD|6PWU=5-.*4|Gܒx"@;KMeuBi_FX۶;ݽ8kY0wN߱v^/Z=9e̴AV~zS!x̶bfO3Q6oljҤ~m|DB@/ Ky ,:oQhi|KudBjӚ+PNjִd`,{TML,CG+}dyH%h-B1{&f"i[- ՎRÑ+azvd-i[U#+"|:` #H6vI -Ȅo/i(7Rf$9{{7/M y34e]S(ͥlT(NA<7Vank|REV{'SVү(p/W?F ޅ>}>5h[c8T#8ٿDL[||ս -_f@ T"7(wwdR6E’Se+mEmkv1fȫ ʘE{Pus? +q4]]`;%ˑLz`B X_*skK.'FZdN":kݷmBx1yy,6RۭhWus6]GsJ--Ct"k{xZfe&oM=M-r]{s1L'd98̭ɓEGyIy 2}X29`qVֻwWZ"i~'jx=(" "9Q^Uߐ +[ik)޿V X8d*H.ٻI,ˡbŐ&Fxl{SiDq w1ZC6HdTe?q|廚AXLwbbI;1OѡrXu -4*vIw/riH7Y jp| cE&4I$Q|hys1%hOZYpr}W|FޓnV waiPB'[x||t.SBVoNwoo3Z\l-ԎfPq+HHy4HkSʠހ16q=XFNW=Fdguo0tja~Zp|haEm .2zK ZQͪN ,׷L˵0T3>xxj1A9ߟ]b+\u i c%%s2jޝ$@-¬OW>[!qxJ`Hk& UCm I*HFȴ[끀Zzze mr|XH*@}*ٴ/¥ fѐ^?qO%׳aՓgp|C1ķA_9r R2JpjeI)jZ+tylt>s7\ԧ)[5Z/J[t'*rsj\ah6`0u>cK:?`޵|Ԋ ֌W{EӸ/JNZ+/U)дLP0)My駱^ʤI+(nnPYb5:=ޑ_$aBz$ D46 ǐXݳ@cd圚X[MBU.LDvՒ bzYʬ4l0yN*钹:NdCբxZW]'JJ]˄+^Kתz1ףqͬkA Ey&ef֯c ~~Ea2L;:)6K_ŹlX-I~wbKwX.18l&uV93 qT R_uhܸ ם4M,SxN̚E_K&ҶВR=HuO*b7?=3_R7rrwMͣWHtYB Ꝗx2@)$J[N|yvDGPolo-wj69>mK-W6~'zEE <3Sṫ$eGL:g* 5xeе<f,8tp`?=4^1pIL/WآR -~Kov|:BVyew&+JԴ`AQ#جqi)p rH94Za慁&NYyws_ $ ZCS{x.6D[!CQ"A^P ew4#^ .!'qrAށ(k>3o2%"&tS<&9*|6>'G={C6DmԾ2CNrQ1^OW:炳ZdZbX)zKaє賰Nwy=\-~NnȑH !"V%LыK@<kYqLqC9-*B#47˹1'| >N' MVQq_퐅:P —CEVE~J4NFCfrz @)4ZMd7g0&WAH ͎EjZlUh藵&cG}1AGF.<#މ3ZR8xφϼDTq56N.R+ˤ jB5#"o}ax}H VDr8 =k:6/ً!Z9DgGJxD_ nlg M;̰13SR3 𮠢!-W\ Wdb]񾷯av"4Z'&p(\³ݝLB sDCXF@P\Tʨ%WPhTÖdXEgNW/l AA6 (" ׉dxsɧQ܃/1C*GMsT>)}^JlqͽEXd>\ϒkfdӄ ;/ a)#gI DT&:26bSK`e7n1@s;sFY!aqRmK~' xsFRzXR5ط4eHPC@Ơ ~?RXn$I%<ѪX/RrNk3l 6DHAh_I[I~ ͯ,-<| CʱAr.nZt*7Ak;7>-HSW([`%e~gZƧeN-y蹃ӆT ?Q iv "Zx* `+בby\@ESC$c.G`./G*R3mXi}@5DI %6s3.;^Ȓ; ~Cb_߿GDe׺Ю_($R2y }8 10x|EW =K0/|I|DɄ  $f am| cx@_I!f$lPPrQs Pd5o l!P5rE|7V:`mE-mG^"r3P ˪0cKtb1()\D=GS0%lc&<=󼀹]B:t4N8=4IPDNQcjK6?TP¼U9MBBhkK %[X֪p+~hSA~D#MXk .%xVYMZ!:V/&RzOfEGsN>ʰ q#Ԕ|Y;9lAp,@A&1[2"`d(/R{z㖇yff$l+Ւa5ٕ&T? %H?g{o~TMa5j/u}^o9p+#)T9?,¤rRU8t+q6o I%1o)Ljj[(}>T Fr? 9uƟuYAևQbG~i8ĚU>g74d@8N 4e!꾦dW>HWd}p ̘F)գEtWYmǶx:A< &/bT^pQF:Ov!vRxKVzWE\Q-vKL3KUxbqaVA+r7ӵ I;Dž=N?qew琍y^Mͣ5QUj܆4JXP o#؅LrXc& ΃sVQ}\ll27岎3iO~9 ZkB$*QuÂןY2L>B'$$1<\؈VP5LFGb1ʵ l.Agg0ԚKadMR_ ,0oJUG8UsEfr.@'[y)T+̕Fz$/qI *@LQף69:lY< Byܬ(r.ńjBslb۝ 44(8BR d+U"4lE8EPHՉbOڲK =`ZJvpJuSYRi\  `|q1 %3|;ܫ?0Yiiߦ8јI(iw1 S)rY5TWܹ@/C}59NX^ x Oɤ~J D}嶩]:4D؊^m^2 HGXm*3'!9Uc\C5pI7! ~r&4ێ ,-yղ}m'4\D O@miqgQ kb 70V!>*S22ϗ7ʘL2=&nG?b F77\9ׇ=}S׺vjϢ "Yc2T0b<(j } SPOPKlӼ_{p'+bCdGS4CE{+J8=`WIshrR0K2冓uD,Yƈ^7] 'fGyALl5t=ѽ8Gƃ@5}uR{b`\tr>::Ա+bxœoK j?.빎tyLƙ*tu29ɏxb|o :_i\^038 o Zk(qP^q3"vE5^%.م*Dl(o̅v4l"OY/9sAL|`31YoEWN}|yPJ+}eH^7t,LRM#(/RlmoϤD'o62r"EYMK+CiJ!Br峱HÈ_̏yB߰g/qKUXu =&ks4]٘9߷d3{~ SBOuHxH& Cբsyb݋wΗFC> G5ƲU`G?פ1ulk OӖx<ћ2 L5BnXQi-ZuϒNL(r3kh^I>k)!Y¹+TwuGя_OFl6uzOIU՜>tW\Z6LR|qOw(m]h[SՄ6M(2]}S)t2F 9qXEQfg'ɺ -GK-mLJձduis#[2DN9(K+e#x߻m" }!8{pzW< .؈9r}Y;'((rPFMՊ*~[%  ~fJ?agVi $*N! WcsJr=1x @%}TDV\޳бnj6vVWȦo=Xt^/A>-I`\xYP?bQNEDe9'!ХGюjK k(̙J˛A l[H#e`W|"R#am|Ys$5qw)-r\i.ڶ)嬐fn;xL(/g3XfBҟpNrь[@8s]8A6q#M)@*@;܈=WazM\z]|PR/G4x3܎>| &)i|ޮֳm_pc]).Ø5l#ߏƑܧ(|SL*"p{N=68 n0;hCВH2V3xO8~% ]uqU)!?q snV0wG|Ss!źeV$Bôa>}^4㮑M&Hs"<Ў&+.9gh6i|v?hNai[W-h](W5ed"m 9.?kCzN @*N}i0&c8 `RiC_gT "tnhjNdiCD5=%<=u$ ڷ7v`B}pa0yO^z&<,\l_+4Rx huR6)J[VƒtA=098L1>|Z$ ʀ""pWGmd3{ʶrE<нh O:ؖ Ǻr ﶎ~RXzl)$(t`x*G%b,g٬^Tbl쁃P]‚%,TM/M0 C~g:AY O,@=i~Eͨ;_oŃ*)ŀ:yB"bDH̀j9[.s@w?'= d,TT. 8н_ |=qbڛ>W;aL^ }qc8E5ζ(p]U @I` yJURV&}G &!zk@msNk8cE;xm#>:o!6{u߼kmQs*zl˸[⛐HPJ-Kew3 5}#7wW >_3|[jRt`5 s2m;}^' 0:w\90G5z`m,sa|[Rh (sO_bkB*jf%]$ >%b]VW>{V&~1 B!7K?0mI]0Dua3-8# "V^ H2Ust$Z':'"nzbQ D"pY~Y: GFmD:"*U4a_^򻉸u=hbחmh<,/JIW+XZKH\M>׿NKuRzr$'7AL:pARWY~"T12_]b뮷45Bm"͕Ge=(+&Dڶs["6;~z'QR۾0reW2 ZLfAS1xDP3 (Ig5/½1<;y0xU96v<2|y+`}{mZͫF/3d}$ D-nB +8п.K?0–[( ɪۄ4NVш?>-;ڤڃ,+Vly"ۋDDL@\ qG-b܉kOwtd|,*$dY,XXri)^&FѷHSADnBWռDmQU^&qFڬ ?'~6(8H7!.d'<mEfsPWU>$7A 8^ȥՌ^Yt6 M!Z;_O5-fGYtj#֗@<`<SWl/rx*hgM쨦5?ix #6Ʀt9,`'&xq.P"mfz>wF