cloud-init-21.4-150100.8.58.1<>,bGV=R@9}rfE1),JG76v;'-a.UuvNU=ZQ 53J|;e}:UBGP6wU U Zm~Ӫ:H+ +фUaOy! sAg?Ӣ v8EE*n7ʺIy  9b4saÜP͗&;s$!}u&o>>d?Td   ? ,>flt7 P7 7 ,7 7 7 7777ʼ&ˈ&͟&(89:jF)G)47H27I:7X=$Y=0\=l7]FH7^r9b|c|d}4e}9f}<l}>u}T7v0 w7x7y|zPCcloud-init21.4150100.8.58.1Cloud node initialization toolCloud-init is an init script that initializes a cloud node (VM) according to the fetched configuration data from the admin node.bGGPL-3.0https://www.suse.com/System/Managementhttps://github.com/canonical/cloud-initlinuxaarch64Yj+ :< %<b"j_I i + 0,5V z,A? [zS| D4kU&' B!3 =$1: $2e^T w gNP|  JJy q"y .Zm M yp9t Jd .{E&   (3P7 5'[ W ,c #: y  x ' f *_  9+f e:%b  x^f MY#  {D1 &* N HHiVg7'G'e>7 9H " 5 \ (vQL6  mYT~VZ MYV'KY=9UX@YBh g& F3V2M  Z oQ( E%>"/!1t#8 J ? >]&) G {)/L4,2v.KYX$|#>-T% ?lH}q -!h*b"H04k# x5&0*]#-e7[3 =8'4py,>(5r&{q Ax} 5 V" 1* ,!L0t%l b}M~ cQ_^&uE2`n0d ;vDp R Y"m Z2g MTL4A zV90IGP= KKAAAA큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤AA큤AbG<2bG<2abG<2bG<2aabG<2aaaaaaaaaaaaaaaaaaaabG<2bG<2abG<2^bG<2abG<2bG<2abG<2aaaabG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<1abG<2bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<1aabG<1bG<1bG<1bG<1bG<1ab@aaabG<1abG<1bG<1bG<1bG<1bG<1bG<1bG<1aabG<1abG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1aaaaaaaaabG<1abG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1aaaaaaaaaaaaaaaaaaaaaaaaaaaab@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabG<2b@bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1aaaaaaaaaaaaaaaaaaab@bG<1abG<1bG<1bG<1bG<1bG<1bG<1bG<1aaaaaaaaaaaaaaaaabG<1abG<1bG<1bG<1aabG<1abG<1bG<1bG<1bG<1bG<1bG<1bG<1aaaaaaaabG<1abG<1bG<1bG<1bG<1bG<1aaabG<1abG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1aaaaaaaaaaaaab@aaaaabG<1abG<1bG<1bG<1bG<1aaaaaaabG<1aaaaaaaaaaaaaab@aaaaaab@aaaaaaabG<2bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<1bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2abG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2b@aaaaabG<2abG<2bG<2bG<2abG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2bG<2aaaaaaaaaaaaaaaaaaaaaaaaab@abG@[3|@[@Z@ZZI@ZZ@Zp^@Zo Z`@Z]@Z'Z@Zr@Z@Z }Z@ZYYéYX@Y@YzY@XXX@X@X@X@XU(XOXN@XN@XJXIK@X@X>@X<@X5X43@X(UXX2@X@X@X=X=X=X=X=X@XXX`@W@WWڍ@W;W;W@WUeW(V@VU3@U\w@U>$U+TgT[@Tи@To)@rjschwei@suse.comrjschwei@suse.comsteven.kowalik@suse.comrjschwei@suse.comqydwhotmail@gmail.comalarrosa@suse.comrjschwei@suse.comrjschwei@suse.comjmassaguerpla@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.commloviska@suse.comjgleissner@suse.comjgleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comtchvatal@suse.comrjschwei@suse.comrjschwei@suse.competr.pavlu@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comgmoro@suse.comdimstar@opensuse.orgrjschwei@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.dedmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.derjschwei@suse.comkukuk@suse.dedmueller@suse.comdmueller@suse.comjgleissner@suse.comdmueller@suse.comkukuk@suse.dekukuk@suse.comkukuk@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comjoachim.gleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comtbechtold@suse.comrjschwei@suse.comtbechtold@suse.comtbechtold@suse.comreik.keutterling@nodefall.de- Update to version 21.4 (bsc#1192343, jsc#PM-3181) + Also include VMWare functionality for (jsc#PM-3175) + Remove patches included upstream: - cloud-init-purge-cache-py-ver-change.patch - cloud-init-update-test-characters-in-substitution-unit-test.patch + Forward port: - cloud-init-write-routes.patch - cloud-init-no-tempnet-oci.patch + Add cloud-init-vmware-test.patch - Test is system dependend, not properly mocked + Azure: fallback nic needs to be reevaluated during reprovisioning (#1094) [Anh Vo] + azure: pps imds (#1093) [Anh Vo] + testing: Remove calls to 'install_new_cloud_init' (#1092) + Add LXD datasource (#1040) + Fix unhandled apt_configure case. (#1065) [Brett Holman] + Allow libexec for hotplug (#1088) + Add necessary mocks to test_ovf unit tests (#1087) + Remove (deprecated) apt-key (#1068) [Brett Holman] (LP: #1836336) + distros: Remove a completed "TODO" comment (#1086) + cc_ssh.py: Add configuration for controlling ssh-keygen output (#1083) [dermotbradley] + Add "install hotplug" module (SC-476) (#1069) (LP: #1946003) + hosts.alpine.tmpl: rearrange the order of short and long hostnames (#1084) [dermotbradley] + Add max version to docutils + cloudinit/dmi.py: Change warning to debug to prevent console display (#1082) [dermotbradley] + remove unnecessary EOF string in disable-sshd-keygen-if-cloud-init-active.conf (#1075) [Emanuele Giuseppe Esposito] + Add module 'write-files-deferred' executed in stage 'final' (#916) [Lucendio] + Bump pycloudlib to fix CI (#1080) + Remove pin in dependencies for jsonschema (#1078) + Add "Google" as possible system-product-name (#1077) [vteratipally] + Update Debian security suite for bullseye (#1076) [Johann Queuniet] + Leave the details of service management to the distro (#1074) [Andy Fiddaman] + Fix typos in setup.py (#1059) [Christian Clauss] + Update Azure _unpickle (SC-500) (#1067) (LP: #1946644) + cc_ssh.py: fix private key group owner and permissions (#1070) [Emanuele Giuseppe Esposito] + VMware: read network-config from ISO (#1066) [Thomas Weißschuh] + testing: mock sleep in gce unit tests (#1072) + CloudStack: fix data-server DNS resolution (#1004) [Olivier Lemasle] (LP: #1942232) + Fix unit test broken by pyyaml upgrade (#1071) + testing: add get_cloud function (SC-461) (#1038) + Inhibit sshd-keygen@.service if cloud-init is active (#1028) [Ryan Harper] + VMWARE: search the deployPkg plugin in multiarch dir (#1061) [xiaofengw-vmware] (LP: #1944946) + Fix set-name/interface DNS bug (#1058) [Andrew Kutz] (LP: #1946493) + Use specified tmp location for growpart (#1046) [jshen28] + .gitignore: ignore tags file for ctags users (#1057) [Brett Holman] + Allow comments in runcmd and report failed commands correctly (#1049) [Brett Holman] (LP: #1853146) + tox integration: pass the *_proxy, GOOGLE_*, GCP_* env vars (#1050) [Paride Legovini] + Allow disabling of network activation (SC-307) (#1048) (LP: #1938299) + renderer: convert relative imports to absolute (#1052) [Paride Legovini] + Support ETHx_IP6_GATEWAY, SET_HOSTNAME on OpenNebula (#1045) [Vlastimil Holer] + integration-requirements: bump the pycloudlib commit (#1047) [Paride Legovini] + Allow Vultr to set MTU and use as-is configs (#1037) [eb3095] + pin jsonschema in requirements.txt (#1043) + testing: remove cloud_tests (#1020) + Add andgein as contributor (#1042) [Andrew Gein] + Make wording for module frequency consistent (#1039) [Nicolas Bock] + Use ascii code for growpart (#1036) [jshen28] + Add jshen28 as contributor (#1035) [jshen28] + Skip test_cache_purged_on_version_change on Azure (#1033) + Remove invalid ssh_import_id from examples (#1031) + Cleanup Vultr support (#987) [eb3095] + docs: update cc_disk_setup for fs to raw disk (#1017) + HACKING.rst: change contact info to James Falcon (#1030) + tox: bump the pinned flake8 and pylint version (#1029) [Paride Legovini] (LP: #1944414) + Add retries to DataSourceGCE.py when connecting to GCE (#1005) [vteratipally] + Set Azure to apply networking config every BOOT (#1023) + Add connectivity_url to Oracle's EphemeralDHCPv4 (#988) (LP: #1939603) + docs: fix typo and include sudo for report bugs commands (#1022) [Renan Rodrigo] (LP: #1940236) + VMware: Fix typo introduced in #947 and add test (#1019) [PengpengSun] + Update IPv6 entries in /etc/hosts (#1021) [Richard Hansen] (LP: #1943798) + Integration test upgrades for the 21.3-1 SRU (#1001) + Add Jille to tools/.github-cla-signers (#1016) [Jille Timmermans] + Improve ug_util.py (#1013) [Shreenidhi Shedi] + Support openEuler OS (#1012) [zhuzaifangxuele] + ssh_utils.py: ignore when sshd_config options are not key/value pairs (#1007) [Emanuele Giuseppe Esposito] + Set Azure to only update metadata on BOOT_NEW_INSTANCE (#1006) + cc_update_etc_hosts: Use the distribution-defined path for the hosts file (#983) [Andy Fiddaman] + Add CloudLinux OS support (#1003) [Alexandr Kravchenko] + puppet config: add the start_agent option (#1002) [Andrew Bogott] + Fix `make style-check` errors (#1000) [Shreenidhi Shedi] + Make cloud-id copyright year (#991) [Andrii Podanenko] + Add support to accept-ra in networkd renderer (#999) [Shreenidhi Shedi] + Update ds-identify to pass shellcheck (#979) [Andrew Kutz] + Azure: Retry dhcp on timeouts when polling reprovisiondata (#998) [aswinrajamannar] + testing: Fix ssh keys integration test (#992) - From 21.3 + Azure: During primary nic detection, check interface status continuously before rebinding again (#990) [aswinrajamannar] + Fix home permissions modified by ssh module (SC-338) (#984) (LP: #1940233) + Add integration test for sensitive jinja substitution (#986) + Ignore hotplug socket when collecting logs (#985) (LP: #1940235) + testing: Add missing mocks to test_vmware.py (#982) + add Zadara Edge Cloud Platform to the supported clouds list (#963) [sarahwzadara] + testing: skip upgrade tests on LXD VMs (#980) + Only invoke hotplug socket when functionality is enabled (#952) + Revert unnecesary lcase in ds-identify (#978) [Andrew Kutz] + cc_resolv_conf: fix typos (#969) [Shreenidhi Shedi] + Replace broken httpretty tests with mock (SC-324) (#973) + Azure: Check if interface is up after sleep when trying to bring it up (#972) [aswinrajamannar] + Update dscheck_VMware's rpctool check (#970) [Shreenidhi Shedi] + Azure: Logging the detected interfaces (#968) [Moustafa Moustafa] + Change netifaces dependency to 0.10.4 (#965) [Andrew Kutz] + Azure: Limit polling network metadata on connection errors (#961) [aswinrajamannar] + Update inconsistent indentation (#962) [Andrew Kutz] + cc_puppet: support AIO installations and more (#960) [Gabriel Nagy] + Add Puppet contributors to CLA signers (#964) [Noah Fontes] + Datasource for VMware (#953) [Andrew Kutz] + photon: refactor hostname handling and add networkd activator (#958) [sshedi] + Stop copying ssh system keys and check folder permissions (#956) [Emanuele Giuseppe Esposito] + testing: port remaining cloud tests to integration testing framework (SC-191) (#955) + generate contents for ovf-env.xml when provisioning via IMDS (#959) [Anh Vo] + Add support for EuroLinux 7 && EuroLinux 8 (#957) [Aleksander Baranowski] + Implementing device_aliases as described in docs (#945) [Mal Graty] (LP: #1867532) + testing: fix test_ssh_import_id.py (#954) + Add ability to manage fallback network config on PhotonOS (#941) [sshedi] + Add VZLinux support (#951) [eb3095] + VMware: add network-config support in ovf-env.xml (#947) [PengpengSun] + Update pylint to v2.9.3 and fix the new issues it spots (#946) [Paride Legovini] + Azure: mount default provisioning iso before try device listing (#870) [Anh Vo] + Document known hotplug limitations (#950) + Initial hotplug support (#936) + Fix MIME policy failure on python version upgrade (#934) + run-container: fixup the centos repos baseurls when using http_proxy (#944) [Paride Legovini] + tools: add support for building rpms on rocky linux (#940) + ssh-util: allow cloudinit to merge all ssh keys into a custom user file, defined in AuthorizedKeysFile (#937) [Emanuele Giuseppe Esposito] (LP: #1911680) + VMware: new "allow_raw_data" switch (#939) [xiaofengw-vmware] + bump pycloudlib version (#935) + add renanrodrigo as a contributor (#938) [Renan Rodrigo] + testing: simplify test_upgrade.py (#932) + freebsd/net_v1 format: read MTU from root (#930) [Gonéri Le Bouder] + Add new network activators to bring up interfaces (#919) + Detect a Python version change and clear the cache (#857) [Robert Schweikert] + cloud_tests: fix the Impish release name (#931) [Paride Legovini] + Removed distro specific network code from Photon (#929) [sshedi] + Add support for VMware PhotonOS (#909) [sshedi] + cloud_tests: add impish release definition (#927) [Paride Legovini] + docs: fix stale links rename master branch to main (#926) + Fix DNS in NetworkState (SC-133) (#923) + tests: Add 'adhoc' mark for integration tests (#925) + Fix the spelling of "DigitalOcean" (#924) [Mark Mercado] + Small Doc Update for ReportEventStack and Test (#920) [Mike Russell] + Replace deprecated collections.Iterable with abc replacement (#922) (LP: #1932048) + testing: OCI availability domain is now required (SC-59) (#910) + add DragonFlyBSD support (#904) [Gonéri Le Bouder] + Use instance-data-sensitive.json in jinja templates (SC-117) (#917) (LP: #1931392) + doc: Update NoCloud docs stating required files (#918) (LP: #1931577) + build-on-netbsd: don't pin a specific py3 version (#913) [Gonéri Le Bouder] + Create the log file with 640 permissions (#858) [Robert Schweikert] + Allow braces to appear in dhclient output (#911) [eb3095] + Docs: Replace all freenode references with libera (#912) + openbsd/net: flush the route table on net restart (#908) [Gonéri Le Bouder] + Add Rocky Linux support to cloud-init (#906) [Louis Abel] + Add "esposem" as contributor (#907) [Emanuele Giuseppe Esposito] + Add integration test for #868 (#901) + Added support for importing keys via primary/security mirror clauses (#882) [Paul Goins] (LP: #1925395) + [examples] config-user-groups expire in the future (#902) [Geert Stappers] + BSD: static network, set the mtu (#894) [Gonéri Le Bouder] + Add integration test for lp-1920939 (#891) + Fix unit tests breaking from new httpretty version (#903) + Allow user control over update events (#834) + Update test characters in substitution unit test (#893) + cc_disk_setup.py: remove UDEVADM_CMD definition as not used (#886) [dermotbradley] + Add AlmaLinux OS support (#872) [Andrew Lukoshko]- systemctl location (bsc#1193531) - Add cloud-init-sysctl-not-in-bin.patch - The sytemctl executable is not necessarily in '/bin'- Remove unneeded BuildRequires on python3-nose.- Update to version 21.2 (bsc#1186004) + Remove patches included upstream: - cloud-init-azure-def-usr-pass.patch - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch - use_arroba_to_include_sudoers_directory-bsc_1181283.patch - cloud-init-bonding-opts.patch - cloud-init-log-file-mode.patch - cloud-init-no-pwd-in-log.patch - 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch + Remove cloud-init-sle12-compat.patch, version in SLE 12 is frozen to 20.2 + Remove cloud-init-tests-set-exec.patch no longer needed + Forward port: - cloud-init-write-routes.patch - cloud-init-break-resolv-symlink.patch - cloud-init-sysconf-path.patch - cloud-init-no-tempnet-oci.patch + Add \r\n check for SSH keys in Azure (#889) + Revert "Add support to resize rootfs if using LVM (#721)" (#887) (LP: #1922742) + Add Vultaire as contributor (#881) [Paul Goins] + Azure: adding support for consuming userdata from IMDS (#884) [Anh Vo] + test_upgrade: modify test_upgrade_package to run for more sources (#883) + Fix chef module run failure when chef_license is set (#868) [Ben Hughes] + Azure: Retry net metadata during nic attach for non-timeout errs (#878) [aswinrajamannar] + Azure: Retrieve username and hostname from IMDS (#865) [Thomas Stringer] + Azure: eject the provisioning iso before reporting ready (#861) [Anh Vo] + Use `partprobe` to re-read partition table if available (#856) [Nicolas Bock] (LP: #1920939) + fix error on upgrade caused by new vendordata2 attributes (#869) (LP: #1922739) + add prefer_fqdn_over_hostname config option (#859) [hamalq] (LP: #1921004) + Emit dots on travis to avoid timeout (#867) + doc: Replace remaining references to user-scripts as a config module (#866) [Ryan Harper] + azure: Removing ability to invoke walinuxagent (#799) [Anh Vo] + Add Vultr support (#827) [David Dymko] + Fix unpickle for source paths missing run_dir (#863) [lucasmoura] (LP: #1899299) + sysconfig: use BONDING_MODULE_OPTS on SUSE (#831) [Jens Sandmann] + bringup_static_routes: fix gateway check (#850) [Petr Fedchenkov] + add hamalq user (#860) [hamalq] + Add support to resize rootfs if using LVM (#721) [Eduardo Otubo] (LP: #1799953) + Fix mis-detecting network configuration in initramfs cmdline (#844) (LP: #1919188) + tools/write-ssh-key-fingerprints: do not display empty header/footer (#817) [dermotbradley] + Azure helper: Ensure Azure http handler sleeps between retries (#842) [Johnson Shi] + Fix chef apt source example (#826) [timothegenzmer] + .travis.yml: generate an SSH key before running tests (#848) + write passwords only to serial console, lock down cloud-init-output.log (#847) (LP: #1918303) + Fix apt default integration test (#845) + integration_tests: bump pycloudlib dependency (#846) + Fix stack trace if vendordata_raw contained an array (#837) [eb3095] + archlinux: Fix broken locale logic (#841) [Kristian Klausen] (LP: #1402406) + Integration test for #783 (#832) + integration_tests: mount more paths IN_PLACE (#838) + Fix requiring device-number on EC2 derivatives (#836) (LP: #1917875) + Remove the vi comment from the part-handler example (#835) + net: exclude OVS internal interfaces in get_interfaces (#829) (LP: #1912844) + tox.ini: pass OS_* environment variables to integration tests (#830) + integration_tests: add OpenStack as a platform (#804) + Add flexibility to IMDS api-version (#793) [Thomas Stringer] + Fix the TestApt tests using apt-key on Xenial and Hirsute (#823) [Paride Legovini] (LP: #1916629) + doc: remove duplicate "it" from nocloud.rst (#825) [V.I. Wood] + archlinux: Use hostnamectl to set the transient hostname (#797) [Kristian Klausen] + cc_keys_to_console.py: Add documentation for recently added config key (#824) [dermotbradley] + Update cc_set_hostname documentation (#818) [Toshi Aoyama] From 21.1 + Azure: Support for VMs without ephemeral resource disks. (#800) [Johnson Shi] (LP: #1901011) + cc_keys_to_console: add option to disable key emission (#811) [Michael Hudson-Doyle] (LP: #1915460) + integration_tests: introduce lxd_use_exec mark (#802) + azure: case-insensitive UUID to avoid new IID during kernel upgrade (#798) (LP: #1835584) + stale.yml: don't ask submitters to reopen PRs (#816) + integration_tests: fix use of SSH agent within tox (#815) + integration_tests: add UPGRADE CloudInitSource (#812) + integration_tests: use unique MAC addresses for tests (#813) + Update .gitignore (#814) + Port apt cloud_tests to integration tests (#808) + integration_tests: fix test_gh626 on LXD VMs (#809) + Fix attempting to decode binary data in test_seed_random_data test (#806) + Remove wait argument from tests with session_cloud calls (#805) + Datasource for UpCloud (#743) [Antti Myyrä] + test_gh668: fix failure on LXD VMs (#801) + openstack: read the dynamic metadata group vendor_data2.json (#777) [Andrew Bogott] (LP: #1841104) + includedir in suoders can be prefixed by "arroba" (#783) [Jordi Massaguer Pla] + [VMware] change default max wait time to 15s (#774) [xiaofengw-vmware] + Revert integration test associated with reverted #586 (#784) + Add jordimassaguerpla as contributor (#787) [Jordi Massaguer Pla] + Add Rick Harding to CLA signers (#792) [Rick Harding] + HACKING.rst: add clarifying note to LP CLA process section (#789) + Stop linting cloud_tests (#791) + cloud-tests: update cryptography requirement (#790) [Joshua Powers] + Remove 'remove-raise-on-failure' calls from integration_tests (#788) + Use more cloud defaults in integration tests (#757) + Adding self to cla signers (#776) [Andrew Bogott] + doc: avoid two warnings (#781) [Dan Kenigsberg] + Use proper spelling for Red Hat (#778) [Dan Kenigsberg] + Add antonyc to .github-cla-signers (#747) [Anton Chaporgin] + integration_tests: log image serial if available (#772) + [VMware] Support cloudinit raw data feature (#691) [xiaofengw-vmware] + net: Fix static routes to host in eni renderer (#668) [Pavel Abalikhin] + .travis.yml: don't run cloud_tests in CI (#756) + test_upgrade: add some missing commas (#769) + cc_seed_random: update documentation and fix integration test (#771) (LP: #1911227) + Fix test gh-632 test to only run on NoCloud (#770) (LP: #1911230) + archlinux: fix package upgrade command handling (#768) [Bao Trinh] + integration_tests: add integration test for LP: #1910835 (#761) + Fix regression with handling of IMDS ssh keys (#760) [Thomas Stringer] + integration_tests: log cloud-init version in SUT (#758) + Add ajmyyra as contributor (#742) [Antti Myyrä] + net_convert: add some missing help text (#755) + Missing IPV6_AUTOCONF=no to render sysconfig dhcp6 stateful on RHEL (#753) [Eduardo Otubo] + doc: document missing IPv6 subnet types (#744) [Antti Myyrä] + Add example configuration for datasource `AliYun` (#751) [Xiaoyu Zhong] + integration_tests: add SSH key selection settings (#754) + fix a typo in man page cloud-init.1 (#752) [Amy Chen] + network-config-format-v2.rst: add Netplan Passthrough section (#750) + stale: re-enable post holidays (#749) + integration_tests: port ca_certs tests from cloud_tests (#732) + Azure: Add telemetry for poll IMDS (#741) [Johnson Shi] + doc: move testing section from HACKING to its own doc (#739) + No longer allow integration test failures on travis (#738) + stale: fix error in definition (#740) + integration_tests: set log-cli-level to INFO by default (#737) + PULL_REQUEST_TEMPLATE.md: use backticks around commit message (#736) + stale: disable check for holiday break (#735) + integration_tests: log the path we collect logs into (#733) + .travis.yml: add (most) supported Python versions to CI (#734) + integration_tests: fix IN_PLACE CLOUD_INIT_SOURCE (#731) + cc_ca_certs: add RHEL support (#633) [cawamata] + Azure: only generate config for NICs with addresses (#709) [Thomas Stringer] + doc: fix CloudStack configuration example (#707) [Olivier Lemasle] + integration_tests: restrict test_lxd_bridge appropriately (#730) + Add integration tests for CLI functionality (#729) + Integration test for gh-626 (#728) + Some test_upgrade fixes (#726) + Ensure overriding test vars with env vars works for booleans (#727) + integration_tests: port lxd_bridge test from cloud_tests (#718) + Integration test for gh-632. (#725) + Integration test for gh-671 (#724) + integration-requirements.txt: bump pycloudlib commit (#723) + Drop unnecessary shebang from cmd/main.py (#722) [Eduardo Otubo] + Integration test for LP: #1813396 and #669 (#719) + integration_tests: include timestamp in log output (#720) + integration_tests: add test for LP: #1898997 (#713) + Add integration test for power_state_change module (#717) + Update documentation for network-config-format-v2 (#701) [ggiesen] + sandbox CA Cert tests to not require ca-certificates (#715) [Eduardo Otubo] + Add upgrade integration test (#693) + Integration test for 570 (#712) + Add ability to keep snapshotted images in integration tests (#711) + Integration test for pull #586 (#706) + integration_tests: introduce skipping of tests by OS (#702) + integration_tests: introduce IntegrationInstance.restart (#708) + Add lxd-vm to list of valid integration test platforms (#705) + Adding BOOTPROTO = dhcp to render sysconfig dhcp6 stateful on RHEL (#685) [Eduardo Otubo] + Delete image snapshots created for integration tests (#682) + Parametrize ssh_keys_provided integration test (#700) [lucasmoura] + Drop use_sudo attribute on IntegrationInstance (#694) [lucasmoura] + cc_apt_configure: add riscv64 as a ports arch (#687) [Dimitri John Ledkov] + cla: add xnox (#692) [Dimitri John Ledkov] + Collect logs from integration test runs (#675) From 20.4.1 + Revert "ssh_util: handle non-default AuthorizedKeysFile config (#586)" From 20.4 + tox: avoid tox testenv subsvars for xenial support (#684) + Ensure proper root permissions in integration tests (#664) [James Falcon] + LXD VM support in integration tests (#678) [James Falcon] + Integration test for fallocate falling back to dd (#681) [James Falcon] + .travis.yml: correctly integration test the built .deb (#683) + Ability to hot-attach NICs to preprovisioned VMs before reprovisioning (#613) [aswinrajamannar] + Support configuring SSH host certificates. (#660) [Jonathan Lung] + add integration test for LP: #1900837 (#679) + cc_resizefs on FreeBSD: Fix _can_skip_ufs_resize (#655) [Mina Galić] (LP: #1901958, #1901958) + DataSourceAzure: push dmesg log to KVP (#670) [Anh Vo] + Make mount in place for tests work (#667) [James Falcon] + integration_tests: restore emission of settings to log (#657) + DataSourceAzure: update password for defuser if exists (#671) [Anh Vo] + tox.ini: only select "ci" marked tests for CI runs (#677) + Azure helper: Increase Azure Endpoint HTTP retries (#619) [Johnson Shi] + DataSourceAzure: send failure signal on Azure datasource failure (#594) [Johnson Shi] + test_persistence: simplify VersionIsPoppedFromState (#674) + only run a subset of integration tests in CI (#672) + cli: add + -system param to allow validating system user-data on a machine (#575) + test_persistence: add VersionIsPoppedFromState test (#673) + introduce an upgrade framework and related testing (#659) + add + -no-tty option to gpg (#669) [Till Riedel] (LP: #1813396) + Pin pycloudlib to a working commit (#666) [James Falcon] + DataSourceOpenNebula: exclude SRANDOM from context output (#665) + cloud_tests: add hirsute release definition (#662) + split integration and cloud_tests requirements (#652) + faq.rst: add warning to answer that suggests running `clean` (#661) + Fix stacktrace in DataSourceRbxCloud if no metadata disk is found (#632) [Scott Moser] + Make wakeonlan Network Config v2 setting actually work (#626) [dermotbradley] + HACKING.md: unify network-refactoring namespace (#658) [Mina Galić] + replace usage of dmidecode with kenv on FreeBSD (#621) [Mina Galić] + Prevent timeout on travis integration tests. (#651) [James Falcon] + azure: enable pushing the log to KVP from the last pushed byte (#614) [Moustafa Moustafa] + Fix launch_kwargs bug in integration tests (#654) [James Falcon] + split read_fs_info into linux & freebsd parts (#625) [Mina Galić] + PULL_REQUEST_TEMPLATE.md: expand commit message section (#642) + Make some language improvements in growpart documentation (#649) [Shane Frasier] + Revert ".travis.yml: use a known-working version of lxd (#643)" (#650) + Fix not sourcing default 50-cloud-init ENI file on Debian (#598) [WebSpider] + remove unnecessary reboot from gpart resize (#646) [Mina Galić] + cloudinit: move dmi functions out of util (#622) [Scott Moser] + integration_tests: various launch improvements (#638) + test_lp1886531: don't assume /etc/fstab exists (#639) + Remove Ubuntu restriction from PR template (#648) [James Falcon] + util: fix mounting of vfat on *BSD (#637) [Mina Galić] + conftest: improve docstring for disable_subp_usage (#644) + doc: add example query commands to debug Jinja templates (#645) + Correct documentation and testcase data for some user-data YAML (#618) [dermotbradley] + Hetzner: Fix instance_id / SMBIOS serial comparison (#640) [Markus Schade] + .travis.yml: use a known-working version of lxd (#643) + tools/build-on-freebsd: fix comment explaining purpose of the script (#635) [Mina Galić] + Hetzner: initialize instance_id from system-serial-number (#630) [Markus Schade] (LP: #1885527) + Explicit set IPV6_AUTOCONF and IPV6_FORCE_ACCEPT_RA on static6 (#634) [Eduardo Otubo] + get_interfaces: don't exclude Open vSwitch bridge/bond members (#608) [Lukas Märdian] (LP: #1898997) + Add config modules for controlling IBM PowerVM RMC. (#584) [Aman306] (LP: #1895979) + Update network config docs to clarify MAC address quoting (#623) [dermotbradley] + gentoo: fix hostname rendering when value has a comment (#611) [Manuel Aguilera] + refactor integration testing infrastructure (#610) [James Falcon] + stages: don't reset permissions of cloud-init.log every boot (#624) (LP: #1900837) + docs: Add how to use cloud-localds to boot qemu (#617) [Joshua Powers] + Drop vestigial update_resolve_conf_file function (#620) [Scott Moser] + cc_mounts: correctly fallback to dd if fallocate fails (#585) (LP: #1897099) + .travis.yml: add integration-tests to Travis matrix (#600) + ssh_util: handle non-default AuthorizedKeysFile config (#586) [Eduardo Otubo] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + bddeb: new + -packaging-branch argument to pull packaging from branch (#576) [Paride Legovini] + Add more integration tests (#615) [lucasmoura] + DataSourceAzure: write marker file after report ready in preprovisioning (#590) [Johnson Shi] + integration_tests: emit settings to log during setup (#601) + integration_tests: implement citest tests run in Travis (#605) + Add Azure support to integration test framework (#604) [James Falcon] + openstack: consider product_name as valid chassis tag (#580) [Adrian Vladu] (LP: #1895976) + azure: clean up and refactor report_diagnostic_event (#563) [Johnson Shi] + net: add the ability to blacklist network interfaces based on driver during enumeration of physical network devices (#591) [Anh Vo] + integration_tests: don't error on cloud-init failure (#596) + integration_tests: improve cloud-init.log assertions (#593) + conftest.py: remove top-level import of httpretty (#599) + tox.ini: add integration-tests testenv definition (#595) + PULL_REQUEST_TEMPLATE.md: empty checkboxes need a space (#597) + add integration test for LP: #1886531 (#592) + Initial implementation of integration testing infrastructure (#581) [James Falcon] + Fix name of ntp and chrony service on CentOS and RHEL. (#589) [Scott Moser] (LP: #1897915) + Adding a PR template (#587) [James Falcon] + Azure parse_network_config uses fallback cfg when generate IMDS network cfg fails (#549) [Johnson Shi] + features: refresh docs for easier out-of-context reading (#582) + Fix typo in resolv_conf module's description (#578) [Wacław Schiller] + cc_users_groups: minor doc formatting fix (#577) + Fix typo in disk_setup module's description (#579) [Wacław Schiller] + Add vendor-data support to seedfrom parameter for NoCloud and OVF (#570) [Johann Queuniet] + boot.rst: add First Boot Determination section (#568) (LP: #1888858) + opennebula.rst: minor readability improvements (#573) [Mina Galić] + cloudinit: remove unused LOG variables (#574) + create a shutdown_command method in distro classes (#567) [Emmanuel Thomé] + user_data: remove unused constant (#566) + network: Fix type and respect name when rendering vlan in sysconfig. (#541) [Eduardo Otubo] (LP: #1788915, #1826608) + Retrieve SSH keys from IMDS first with OVF as a fallback (#509) [Thomas Stringer] + Add jqueuniet as contributor (#569) [Johann Queuniet] + distros: minor typo fix (#562) + Bump the integration-requirements versioned dependencies (#565) [Paride Legovini] + network-config-format-v1: fix typo in nameserver example (#564) [Stanislas] + Run cloud-init-local.service after the hv_kvp_daemon (#505) [Robert Schweikert] + Add method type hints for Azure helper (#540) [Johnson Shi] + systemd: add Before=shutdown.target when Conflicts=shutdown.target is used (#546) [Paride Legovini] + LXD: detach network from profile before deleting it (#542) [Paride Legovini] (LP: #1776958) + redhat spec: add missing BuildRequires (#552) [Paride Legovini] + util: remove debug statement (#556) [Joshua Powers] + Fix cloud config on chef example (#551) [lucasmoura] From 20.3 + Azure: Add netplan driver filter when using hv_netvsc driver (#539) [James Falcon] (LP: #1830740) + query: do not handle non-decodable non-gzipped content (#543) + DHCP sandboxing failing on noexec mounted /var/tmp (#521) [Eduardo Otubo] + Update the list of valid ssh keys. (#487) [Ole-Martin Bratteng] (LP: #1877869) + cmd: cloud-init query to handle compressed userdata (#516) (LP: #1889938) + Pushing cloud-init log to the KVP (#529) [Moustafa Moustafa] + Add Alpine Linux support. (#535) [dermotbradley] + Detect kernel version before swap file creation (#428) [Eduardo Otubo] + cli: add devel make-mime subcommand (#518) + user-data: only verify mime-types for TYPE_NEEDED and x-shellscript (#511) (LP: #1888822) + DataSourceOracle: retry twice (and document why we retry at all) (#536) + Refactor Azure report ready code (#468) [Johnson Shi] + tox.ini: pin correct version of httpretty in xenial{,-dev} envs (#531) + Support Oracle IMDSv2 API (#528) [James Falcon] + .travis.yml: run a doc build during CI (#534) + doc/rtd/topics/datasources/ovf.rst: fix doc8 errors (#533) + Fix 'Users and Groups' configuration documentation (#530) [sshedi] + cloudinit.distros: update docstrings of add_user and create_user (#527) + Fix headers for device types in network v2 docs (#532) [Caleb Xavier Berger] + Add AlexBaranowski as contributor (#508) [Aleksander Baranowski] + DataSourceOracle: refactor to use only OPC v1 endpoint (#493) + .github/workflows/stale.yml: s/Josh/Rick/ (#526) + Fix a typo in apt pipelining module (#525) [Xiao Liang] + test_util: parametrize devlist tests (#523) [James Falcon] + Recognize LABEL_FATBOOT labels (#513) [James Falcon] (LP: #1841466) + Handle additional identifier for SLES For HPC (#520) [Robert Schweikert] + Revert "test-requirements.txt: pin pytest to <6 (#512)" (#515) + test-requirements.txt: pin pytest to <6 (#512) + Add "tsanghan" as contributor (#504) [tsanghan] + fix brpm building (LP: #1886107) + Adding eandersson as a contributor (#502) [Erik Olof Gunnar Andersson] + azure: disable bouncing hostname when setting hostname fails (#494) [Anh Vo] + VMware: Support parsing DEFAULT-RUN-POST-CUST-SCRIPT (#441) [xiaofengw-vmware] + DataSourceAzure: Use ValueError when JSONDecodeError is not available (#490) [Anh Vo] + cc_ca_certs.py: fix blank line problem when removing CAs and adding new one (#483) [dermotbradley] + freebsd: py37-serial is now py37-pyserial (#492) [Gonéri Le Bouder] + ssh exit with non-zero status on disabled user (#472) [Eduardo Otubo] (LP: #1170059) + cloudinit: remove global disable of pylint W0107 and fix errors (#489) + networking: refactor wait_for_physdevs from cloudinit.net (#466) (LP: #1884626) + HACKING.rst: add pytest.param pytest gotcha (#481) + cloudinit: remove global disable of pylint W0105 and fix errors (#480) + Fix two minor warnings (#475) + test_data: fix faulty patch (#476) + cc_mounts: handle missing fstab (#484) (LP: #1886531) + LXD cloud_tests: support more lxd image formats (#482) [Paride Legovini] + Add update_etc_hosts as default module on *BSD (#479) [Adam Dobrawy] + cloudinit: fix tip-pylint failures and bump pinned pylint version (#478) + Added BirknerAlex as contributor and sorted the file (#477) [Alexander Birkner] + Update list of types of modules in cli.rst [saurabhvartak1982] + tests: use markers to configure disable_subp_usage (#473) + Add mention of vendor-data to no-cloud format documentation (#470) [Landon Kirk] + Fix broken link to OpenStack metadata service docs (#467) [Matt Riedemann] + Disable ec2 mirror for non aws instances (#390) [lucasmoura] (LP: #1456277) + cloud_tests: don't pass + -python-version to read-dependencies (#465) + networking: refactor is_physical from cloudinit.net (#457) (LP: #1884619) + Enable use of the caplog fixture in pytest tests, and add a cc_final_message test using it (#461) + RbxCloud: Add support for FreeBSD (#464) [Adam Dobrawy] + Add schema for cc_chef module (#375) [lucasmoura] (LP: #1858888) + test_util: add (partial) testing for util.mount_cb (#463) + .travis.yml: revert to installing ubuntu-dev-tools (#460) + HACKING.rst: add details of net refactor tracking (#456) + .travis.yml: rationalise installation of dependencies in host (#449) + Add dermotbradley as contributor. (#458) [dermotbradley] + net/networking: remove unused functions/methods (#453) + distros.networking: initial implementation of layout (#391) + cloud-init.service.tmpl: use "rhel" instead of "redhat" (#452) + Change from redhat to rhel in systemd generator tmpl (#450) [Eduardo Otubo] + Hetzner: support reading user-data that is base64 encoded. (#448) [Scott Moser] (LP: #1884071) + HACKING.rst: add strpath gotcha to testing gotchas section (#446) + cc_final_message: don't create directories when writing boot-finished (#445) (LP: #1883903) + .travis.yml: only store new schroot if something has changed (#440) + util: add ensure_dir_exists parameter to write_file (#443) + printing the error stream of the dhclient process before killing it (#369) [Moustafa Moustafa] + Fix link to the MAAS documentation (#442) [Paride Legovini] (LP: #1883666) + RPM build: disable the dynamic mirror URLs when using a proxy (#437) [Paride Legovini] + util: rename write_file's copy_mode parameter to preserve_mode (#439) + .travis.yml: use $TRAVIS_BUILD_DIR for lxd_image caching (#438) + cli.rst: alphabetise devel subcommands and add net-convert to list (#430) + Default to UTF-8 in /var/log/cloud-init.log (#427) [James Falcon] + travis: cache the chroot we use for package builds (#429) + test: fix all flake8 E126 errors (#425) [Joshua Powers] + Fixes KeyError for bridge with no "parameters:" setting (#423) [Brian Candler] (LP: #1879673) + When tools.conf does not exist, running cmd "vmware-toolbox-cmd config get deployPkg enable-custom-scripts", the return code will be EX_UNAVAILABLE(69), on this condition, it should not take it as error. (#413) [chengcheng-chcheng] + Document CloudStack data-server well-known hostname (#399) [Gregor Riepl] + test: move conftest.py to top-level, to cover tests/ also (#414) + Replace cc_chef is_installed with use of subp.is_exe. (#421) [Scott Moser] + Move runparts to subp. (#420) [Scott Moser] + Move subp into its own module. (#416) [Scott Moser] + readme: point at travis-ci.com (#417) [Joshua Powers] + New feature flag functionality and fix includes failing silently (#367) [James Falcon] (LP: #1734939) + Enhance poll imds logging (#365) [Moustafa Moustafa] + test: fix all flake8 E121 and E123 errors (#404) [Joshua Powers] + test: fix all flake8 E241 (#403) [Joshua Powers] + test: ignore flake8 E402 errors in main.py (#402) [Joshua Powers] + cc_grub_dpkg: determine idevs in more robust manner with grub-probe (#358) [Matthew Ruffell] (LP: #1877491) + test: fix all flake8 E741 errors (#401) [Joshua Powers] + tests: add groovy integration tests for ubuntu (#400) + Enable chef_license support for chef infra client (#389) [Bipin Bachhao] + testing: use flake8 again (#392) [Joshua Powers] + enable Puppet, Chef mcollective in default config (#385) [Mina Galić (deprecated: Igor Galić)] (LP: #1880279) + HACKING.rst: introduce .net + > Networking refactor section (#384) + Travis: do not install python3-contextlib2 (dropped dependency) (#388) [Paride Legovini] + HACKING: mention that .github-cla-signers is alpha-sorted (#380) + Add bipinbachhao as contributor (#379) [Bipin Bachhao] + cc_snap: validate that assertions property values are strings (#370) + conftest: implement partial disable_subp_usage (#371) + test_resolv_conf: refresh stale comment (#374) + cc_snap: apply validation to snap.commands properties (#364) + make finding libc platform independent (#366) [Mina Galić (deprecated: Igor Galić)] + doc/rtd/topics/faq: Updates LXD docs links to current site (#368) [TomP] + templater: drop Jinja Python 2 compatibility shim (#353) + cloudinit: minor pylint fixes (#360) + cloudinit: remove unneeded __future__ imports (#362) + migrating momousta lp user to Moustafa-Moustafa GitHub user (#361) [Moustafa Moustafa] + cloud_tests: emit dots on Travis while fetching images (#347) + Add schema to apt configure config (#357) [lucasmoura] (LP: #1858884) + conftest: add docs and tests regarding CiTestCase's subp functionality (#343) + analyze/dump: refactor shared string into variable (#350) + doc: update boot.rst with correct timing of runcmd (#351) + HACKING.rst: change contact info to Rick Harding (#359) [lucasmoura] + HACKING.rst: guide people to add themselves to the CLA file (#349) + HACKING.rst: more unit testing documentation (#354) + .travis.yml: don't run lintian during integration test package builds (#352) + Add test to ensure docs examples are valid cloud-init configs (#355) [James Falcon] (LP: #1876414) + make suse and sles support 127.0.1.1 (#336) [chengcheng-chcheng] + Create tests to validate schema examples (#348) [lucasmoura] (LP: #1876412) + analyze/dump: add support for Amazon Linux 2 log lines (#346) (LP: #1876323) + bsd: upgrade support (#305) [Gonéri Le Bouder] + Add lucasmoura as contributor (#345) [lucasmoura] + Add "therealfalcon" as contributor (#344) [James Falcon] + Adapt the package building scripts to use Python 3 (#231) [Paride Legovini] + DataSourceEc2: use metadata's NIC ordering to determine route-metrics (#342) (LP: #1876312) + .travis.yml: introduce caching (#329) + cc_locale: introduce schema (#335) + doc/rtd/conf.py: bump copyright year to 2020 (#341) + yum_add_repo: Add Centos to the supported distro list (#340)- Add cloud-init-update-test-characters-in-substitution-unit-test.patch to fix unit test fail in TestGetPackageMirrorInfo::test_substitution.- Add patch from upstream to remove python2 compatibility so cloud-init builds fine in Tumbleweed with a recent Jinja2 version. This patch is only applied in TW. * 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch- Add cloud-init-log-file-mode.patch (bsc#1183939) + Change log file creation mode to 640 - Add cloud-init-no-pwd-in-log.patch (bsc#1184758) + Do not write the generated password to the log file - Add cloud-init-purge-cache-py-ver-change.patch- Add cloud-init-bonding-opts.patch (bsc#1184085) + Write proper bonding option configuration for SLE/openSUSE - Fix application and inclusion of use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283)- Add use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283) - Do not including sudoers.d directory twice- Update cloud-init-write-routes.patch (bsc#1180176) + Follow up to previous changes. Fix order of operations error to make gateway comparison between subnet configuration and route configuration valuable rather than self-comparing.- Add cloud-init-sle12-compat.patch (jsc#PM-2335) - Python 3.4 compatibility in setup.py - Disable some test for mock version compatibility- Add wget as a requirement (bsc#1178029) + wget is used in the CloudStack data source- Add cloud-init-azure-def-usr-pass.patch (bsc#1179150, bsc#1179151) + Properly set the password for the default user in all circumstances- Patch the full package version into the cloud-init version file- Update cloud-init-write-routes.patch (bsc#1177526) + Fix missing default route when dual stack network setup is used. Once a default route was configured for Ipv6 or IPv4 the default route configuration for the othre protocol was skipped.- Update cloud-init-write-routes.patch (bsc#1177526) + Avoid exception if no gateway information is present and warning is triggered for existing routing.- Update to version 20.2 (bsc#1174443, bsc#1174444) + Remove patches included upstream: - 0001-Make-tests-work-with-Python-3.8-139.patch - cloud-init-ostack-metadat-dencode.patch - cloud-init-use-different-random-src.diff - cloud-init-long-pass.patch - cloud-init-mix-static-dhcp.patch + Remove patches build switched to Python 3 for all distributions (jsc#PM-2335) - cloud-init-python2-sigpipe.patch - cloud-init-template-py2.patch + Add - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch + doc/format: reference make-mime.py instead of an inline script (#334) + Add docs about creating parent folders (#330) [Adrian Wilkins] + DataSourceNoCloud/OVF: drop claim to support FTP (#333) (LP: #1875470) + schema: ignore spurious pylint error (#332) + schema: add json schema for write_files module (#152) + BSD: find_devs_with_ refactoring (#298) [Gonéri Le Bouder] + nocloud: drop work around for Linux 2.6 (#324) [Gonéri Le Bouder] + cloudinit: drop dependencies on unittest2 and contextlib2 (#322) + distros: handle a potential mirror filtering error case (#328) + log: remove unnecessary import fallback logic (#327) + .travis.yml: don't run integration test on ubuntu/* branches (#321) + More unit test documentation (#314) + conftest: introduce disable_subp_usage autouse fixture (#304) + YAML align indent sizes for docs readability (#323) [Tak Nishigori] + network_state: add missing space to log message (#325) + tests: add missing mocks for get_interfaces_by_mac (#326) (LP: #1873910) + test_mounts: expand happy path test for both happy paths (#319) + cc_mounts: fix incorrect format specifiers (#316) (LP: #1872836) + swap file "size" being used before checked if str (#315) [Eduardo Otubo] + HACKING.rst: add pytest version gotchas section (#311) + docs: Add steps to re-run cloud-id and cloud-init (#313) [Joshua Powers] + readme: OpenBSD is now supported (#309) [Gonéri Le Bouder] + net: ignore 'renderer' key in netplan config (#306) (LP: #1870421) + Add support for NFS/EFS mounts (#300) [Andrew Beresford] (LP: #1870370) + openbsd: set_passwd should not unlock user (#289) [Gonéri Le Bouder] + tools/.github-cla-signers: add beezly as CLA signer (#301) + util: remove unnecessary lru_cache import fallback (#299) + HACKING.rst: reorganise/update CLA signature info (#297) + distros: drop leading/trailing hyphens from mirror URL labels (#296) + HACKING.rst: add note about variable annotations (#295) + CiTestCase: stop using and remove sys_exit helper (#283) + distros: replace invalid characters in mirror URLs with hyphens (#291) (LP: #1868232) + rbxcloud: gracefully handle arping errors (#262) [Adam Dobrawy] + Fix cloud-init ignoring some misdeclared mimetypes in user-data. [Kurt Garloff] + net: ubuntu focal prioritize netplan over eni even if both present (#267) (LP: #1867029) + cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292) + net/cmdline: replace type comments with annotations (#294) + HACKING.rst: add Type Annotations design section (#293) + net: introduce is_ip_address function (#288) + CiTestCase: remove now-unneeded parse_and_read helper method (#286) + .travis.yml: allow 30 minutes of inactivity in cloud tests (#287) + sources/tests/test_init: drop use of deprecated inspect.getargspec (#285) + setup.py: drop NIH check_output implementation (#282) + Identify SAP Converged Cloud as OpenStack [Silvio Knizek] + add Openbsd support (#147) [Gonéri Le Bouder] + HACKING.rst: add examples of the two test class types (#278) + VMWware: support to update guest info gc status if enabled (#261) [xiaofengw-vmware] + Add lp-to-git mapping for kgarloff (#279) + set_passwords: avoid chpasswd on BSD (#268) [Gonéri Le Bouder] + HACKING.rst: add Unit Testing design section (#277) + util: read_cc_from_cmdline handle urlencoded yaml content (#275) + distros/tests/test_init: add tests for _get_package_mirror_info (#272) + HACKING.rst: add links to new Code Review Process doc (#276) + freebsd: ensure package update works (#273) [Gonéri Le Bouder] + doc: introduce Code Review Process documentation (#160) + tools: use python3 (#274) + cc_disk_setup: fix RuntimeError (#270) (LP: #1868327) + cc_apt_configure/util: combine search_for_mirror implementations (#271) + bsd: boottime does not depend on the libc soname (#269) [Gonéri Le Bouder] + test_oracle,DataSourceOracle: sort imports (#266) + DataSourceOracle: update .network_config docstring (#257) + cloudinit/tests: remove unneeded with_logs configuration (#263) + .travis.yml: drop stale comment (#255) + .gitignore: add more common directories (#258) + ec2: render network on all NICs and add secondary IPs as static (#114) (LP: #1866930) + ec2 json validation: fix the reference to the 'merged_cfg' key (#256) [Paride Legovini] + releases.yaml: quote the Ubuntu version numbers (#254) [Paride Legovini] + cloudinit: remove six from packaging/tooling (#253) + util/netbsd: drop six usage (#252) + workflows: introduce stale pull request workflow (#125) + cc_resolv_conf: introduce tests and stabilise output across Python versions (#251) + fix minor issue with resolv_conf template (#144) [andreaf74] + doc: CloudInit also support NetBSD (#250) [Gonéri Le Bouder] + Add Netbsd support (#62) [Gonéri Le Bouder] + tox.ini: avoid substition syntax that causes a traceback on xenial (#245) + Add pub_key_ed25519 to cc_phone_home (#237) [Daniel Hensby] + Introduce and use of a list of GitHub usernames that have signed CLA (#244) + workflows/cla.yml: use correct username for CLA check (#243) + tox.ini: use xenial version of jsonpatch in CI (#242) + workflows: CLA validation altered to fail status on pull_request (#164) + tox.ini: bump pyflakes version to 2.1.1 (#239) + cloudinit: move to pytest for running tests (#211) + instance-data: add cloud-init merged_cfg and sys_info keys to json (#214) (LP: #1865969) + ec2: Do not fallback to IMDSv1 on EC2 (#216) + instance-data: write redacted cfg to instance-data.json (#233) (LP: #1865947) + net: support network-config:disabled on the kernel commandline (#232) (LP: #1862702) + ec2: only redact token request headers in logs, avoid altering request (#230) (LP: #1865882) + docs: typo fixed: dta → data [Alexey Vazhnov] + Fixes typo on Amazon Web Services (#217) [Nick Wales] + Fix docs for OpenStack DMI Asset Tag (#228) [Mark T. Voelker] (LP: #1669875) + Add physical network type: cascading to openstack helpers (#200) [sab-systems] + tests: add focal integration tests for ubuntu (#225) - From 20.1 (first vesrion after 19.4) + ec2: Do not log IMDSv2 token values, instead use REDACTED (#219) (LP: #1863943) + utils: use SystemRandom when generating random password. (#204) [Dimitri John Ledkov] + docs: mount_default_files is a list of 6 items, not 7 (#212) + azurecloud: fix issues with instances not starting (#205) (LP: #1861921) + unittest: fix stderr leak in cc_set_password random unittest output. (#208) + cc_disk_setup: add swap filesystem force flag (#207) + import sysvinit patches from freebsd-ports tree (#161) [Igor Galić] + docs: fix typo (#195) [Edwin Kofler] + sysconfig: distro-specific config rendering for BOOTPROTO option (#162) [Robert Schweikert] (LP: #1800854) + cloudinit: replace "from six import X" imports (except in util.py) (#183) + run-container: use 'test -n' instead of 'test ! -z' (#202) [Paride Legovini] + net/cmdline: correctly handle static ip= config (#201) [Dimitri John Ledkov] (LP: #1861412) + Replace mock library with unittest.mock (#186) + HACKING.rst: update CLA link (#199) + Scaleway: Fix DatasourceScaleway to avoid backtrace (#128) [Louis Bouchard] + cloudinit/cmd/devel/net_convert.py: add missing space (#191) + tools/run-container: drop support for python2 (#192) [Paride Legovini] + Print ssh key fingerprints using sha256 hash (#188) (LP: #1860789) + Make the RPM build use Python 3 (#190) [Paride Legovini] + cc_set_password: increase random pwlength from 9 to 20 (#189) (LP: #1860795) + .travis.yml: use correct Python version for xenial tests (#185) + cloudinit: remove ImportError handling for mock imports (#182) + Do not use fallocate in swap file creation on xfs. (#70) [Eduardo Otubo] (LP: #1781781) + .readthedocs.yaml: install cloud-init when building docs (#181) (LP: #1860450) + Introduce an RTD config file, and pin the Sphinx version to the RTD default (#180) + Drop most of the remaining use of six (#179) + Start removing dependency on six (#178) + Add Rootbox & HyperOne to list of cloud in README (#176) [Adam Dobrawy] + docs: add proposed SRU testing procedure (#167) + util: rename get_architecture to get_dpkg_architecture (#173) + Ensure util.get_architecture() runs only once (#172) + Only use gpart if it is the BSD gpart (#131) [Conrad Hoffmann] + freebsd: remove superflu exception mapping (#166) [Gonéri Le Bouder] + ssh_auth_key_fingerprints_disable test: fix capitalization (#165) [Paride Legovini] + util: move uptime's else branch into its own boottime function (#53) [Igor Galić] (LP: #1853160) + workflows: add contributor license agreement checker (#155) + net: fix rendering of 'static6' in network config (#77) (LP: #1850988) + Make tests work with Python 3.8 (#139) [Conrad Hoffmann] + fixed minor bug with mkswap in cc_disk_setup.py (#143) [andreaf74] + freebsd: fix create_group() cmd (#146) [Gonéri Le Bouder] + doc: make apt_update example consistent (#154) + doc: add modules page toc with links (#153) (LP: #1852456) + Add support for the amazon variant in cloud.cfg.tmpl (#119) [Frederick Lefebvre] + ci: remove Python 2.7 from CI runs (#137) + modules: drop cc_snap_config config module (#134) + migrate-lp-user-to-github: ensure Launchpad repo exists (#136) + docs: add initial troubleshooting to FAQ (#104) [Joshua Powers] + doc: update cc_set_hostname frequency and descrip (#109) [Joshua Powers] (LP: #1827021) + freebsd: introduce the freebsd renderer (#61) [Gonéri Le Bouder] + cc_snappy: remove deprecated module (#127) + HACKING.rst: clarify that everyone needs to do the LP->GH dance (#130) + freebsd: cloudinit service requires devd (#132) [Gonéri Le Bouder] + cloud-init: fix capitalisation of SSH (#126) + doc: update cc_ssh clarify host and auth keys [Joshua Powers] (LP: #1827021) + ci: emit names of tests run in Travis (#120)- Disable testing to aid elimination of unittest2 in Factory- bsc#1170154: rsyslog warning, '~' is deprecated + replace deprecated syntax '& ~' by '& stop' for more information please see https://www.rsyslog.com/rsyslog-error-2307/- Update cloud-init-write-routes.patch + Explicitly test for netconfig version 1 as well as 2- Update cloud-init-write-routes.patch + Handle netconfig v2 device configurations (bsc#1171546, bsc#1171995)- Update cloud-init-write-routes.patch + In cases where the config contains 2 or more default gateway specifications for an interface only write the first default route, log warning message about skipped routes + Avoid writing invalid route specification if neither the network nor destination is specified in the route configuration- Update cloud-init-write-routes.patch + Still need to consider the "network" configuration option for the v1 config implementation. Fixes regression introduced with update from Wed Feb 12 19:30:42- Update cloud-init-write-routes.patch (bsc#1165296) + Add the default gateway to the ifroute config file when specified as part of the subnet configuration + Fix typo to properly extrakt provided netmask data (bsc#1163178)- Add cloud-init-long-pass.patch (bsc#1162936, CVE-2020-8632) + Increase the default length of generated passwords- Add cloud-init-use-different-random-src.diff (bsc#1162937, CVE-2020-8631) + Use non-deterministic generator for password generation.- Update cloud-init-write-routes.patch (bsc#1163178) + Entries in the routes definition have changed causing a traceback during rout config file writing. This patch update addresses the issue by extracting the new entries properly.- BuildRequire pkgconfig(udev) instead of udev: allow OBS to shortcut through the -mini flavor.- Add cloud-init-no-tempnet-oci.patch (bsc#1161132, bsc#1161133) + Do not attempt to configure an ephemeral network on OCI. We boot off iSCSI and the network is up. Just read the data.- Add patch to build properly with python 3.8: * 0001-Make-tests-work-with-Python-3.8-139.patch- Update to version 19.4 + Remove patches included upstream: - cloud-init-after-wicked.patch - cloud-init-noresolv-merge-no-dns-data.diff - cloud-init-renderer-detect.patch - cloud-init-trigger-udev.patch + Removed patches merged with cloud-init-mix-static-dhcp.patch - cloud-init-proper-ipv6-setting.patch - cloud-init-static-net.patch + Added cloud-init-mix-static-dhcp.patch (bsc#1157894) + Forward port cloud-init-sysconf-path.patch + doc: specify _ over - in cloud config modules + [Joshua Powers] (LP: #1293254) + tools: Detect python to use via env in migrate-lp-user-to-github + [Adam Dobrawy] + Partially revert "fix unlocking method on FreeBSD" (#116) + tests: mock uid when running as root (#113) + [Joshua Powers] (LP: #1856096) + cloudinit/netinfo: remove unused getgateway (#111) + docs: clear up apt config sections (#107) [Joshua Powers] (LP: #1832823) + doc: add kernel command line option to user data (#105) + [Joshua Powers] (LP: #1846524) + config/cloud.cfg.d: update README [Joshua Powers] (LP: #1855006) + azure: avoid re-running cloud-init when instance-id is byte-swapped + (#84) [AOhassan] + fix unlocking method on FreeBSD [Igor Galić] (LP: #1854594) + debian: add reference to the manpages [Joshua Powers] + ds_identify: if /sys is not available use dmidecode (#42) + [Igor Galić] (LP: #1852442) + docs: add cloud-id manpage [Joshua Powers] + docs: add cloud-init-per manpage [Joshua Powers] + docs: add cloud-init manpage [Joshua Powers] + docs: add additional details to per-instance/once [Joshua Powers] + Update doc-requirements.txt [Joshua Powers] + doc-requirements: add missing dep [Joshua Powers] + dhcp: Support RedHat dhcp rfc3442 lease format for option 121 (#76) + [Eric Lafontaine] (LP: #1850642) + network_state: handle empty v1 config (#45) (LP: #1852496) + docs: Add document on how to report bugs [Joshua Powers] + Add an Amazon distro in the redhat OS family [Frederick Lefebvre] + removed a couple of "the"s [gaughen] + docs: fix line length and remove highlighting [Joshua Powers] + docs: Add security.md to readthedocs [Joshua Powers] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + Revert "travis: only run CI on pull requests" + doc: update links on README.md [Joshua Powers] + doc: Updates to wording of README.md [Joshua Powers] + Add security.md [Joshua Powers] + setup.py: Amazon Linux sets libexec to /usr/libexec (#52) + [Frederick Lefebvre] + Fix linting failure in test_url_helper (#83) [Eric Lafontaine] + url_helper: read_file_or_url should pass headers param into readurl + (#66) (LP: #1854084) + dmidecode: log result *after* stripping n [Igor Galić] + cloud_tests: add azure platform support to integration tests + [ahosmanmsft] + set_passwords: support for FreeBSD (#46) [Igor Galić] + tools: migrate-lp-user-to-github removes repo_dir if created (#35) + Correct jumbled documentation for cc_set_hostname module (#64) + [do3meli] (LP: #1853543) + FreeBSD: fix for get_linux_distro() and lru_cache (#59) + [Igor Galić] (LP: #1815030) + ec2: Add support for AWS IMDS v2 (session-oriented) (#55) + tests: Fix cloudsigma tests when no dmidecode data is present. (#57) + [Scott Moser] + net: IPv6, accept_ra, slaac, stateless (#51) + [Harald] (LP: #1806014, #1808647) + docs: Update the configdrive datasource links (#44) + [Joshua Powers] (LP: #1852461) + distro: correctly set usr_lib_exec path for FreeBSD distro (#40) + [Igor Galić] (LP: #1852491) + azure: support secondary ipv6 addresses (#33) + Fix metadata check when local-hostname is null (#32) + [Mark Goddard] (LP: #1852100) + switch default FreeBSD salt minion pkg from py27 to py36 + [Dominic Schlegel] + travis: only run CI on pull requests + add data-server dns entry as new metadata server detection [Joshua Hügli] + pycodestyle: remove unused local variable + reporting: Using a uuid to enforce uniqueness on the KVP keys. [momousta] + docs: touchups in rtd intro and README.md + doc: update launchpad git refs to github + github: drop pull-request template to prepare for migration + tools: add migrate-lp-user-to-github script to link LP to github + github: new basic project readme - From 19.3 + azure: support matching dhcp route-metrics for dual-stack ipv4 ipv6 + (LP: #1850308) + configdrive: fix subplatform config-drive for /config-drive source + [David Kindred] (LP: #1849731) + DataSourceSmartOS: reconfigure network on each boot + [Mike Gerdts] (LP: #1765801) + Add config for ssh-key import and consuming user-data [Pavel Zakharov] + net: fix subnet_is_ipv6() for stateless|stateful + [Harald Jensås] (LP: #1848690) + OVF: disable custom script execution by default [Xiaofeng Wang] + cc_puppet: Implement csr_attributes.yaml support [Matthias Baur] + cloud-init.service: on centos/fedora/redhat wait on NetworkManager.service + (LP: #1843334) + azure: Do not lock user on instance id change [Sam Eiderman] (LP: #1849677) + net/netplan: use ipv6-mtu key for specifying ipv6 mtu values + Fix usages of yaml, and move yaml_dump to safeyaml.dumps. (LP: #1849640) + exoscale: Increase url_max_wait to 120s. [Chris Glass] + net/sysconfig: fix available check on SUSE distros + [Robert Schweikert] (LP: #1849378) + docs: Fix incorrect Azure IMDS IP address [Joshua Powers] (LP: #1849508) + introduce .travis.yml + net: enable infiniband support in eni and sysconfig renderers + [Darren Birkett] (LP: #1847114) + guestcust_util: handle special characters in config file [Xiaofeng Wang] + fix some more typos in comments [Dominic Schlegel] + replace any deprecated log.warn with log.warning + [Dominic Schlegel] (LP: #1508442) + net: handle openstack dhcpv6-stateless configuration + [Harald Jensås] (LP: #1847517) + Add .venv/ to .gitignore [Dominic Schlegel] + Small typo fixes in code comments. [Dominic Schlegel] + cloud_test/lxd: Retry container delete a few times + Add Support for e24cloud to Ec2 datasource. (LP: #1696476) + Add RbxCloud datasource [Adam Dobrawy] + get_interfaces: don't exclude bridge and bond members (LP: #1846535) + Add support for Arch Linux in render-cloudcfg [Conrad Hoffmann] + util: json.dumps on python 2.7 will handle UnicodeDecodeError on binary + (LP: #1801364) + debian/ubuntu: add missing word to netplan/ENI header (LP: #1845669) + ovf: do not generate random instance-id for IMC customization path + sysconfig: only write resolv.conf if network_state has DNS values + (LP: #1843634) + sysconfig: use distro variant to check if available (LP: #1843584) + systemd/cloud-init.service.tmpl: start after wicked.service + [Robert Schweikert] + docs: fix zstack documentation lints + analyze/show: remove trailing space in output + Add missing space in warning: "not avalid seed" [Brian Candler] + pylintrc: add 'enter_context' to generated-members list + Add datasource for ZStack platform. [Shixin Ruan] (LP: #1841181) + docs: organize TOC and update summary of project [Joshua Powers] + tools: make clean now cleans the dev directory, not the system + docs: create cli specific page [Joshua Powers] + docs: added output examples to analyze.rst [Joshua Powers] + docs: doc8 fixes for instancedata page [Joshua Powers] + docs: clean up formatting, organize boot page [Joshua Powers] + net: add is_master check for filtering device list (LP: #1844191) + docs: more complete list of availability [Joshua Powers] + docs: start FAQ page [Joshua Powers] + docs: cleanup output & order of datasource page [Joshua Powers] + Brightbox: restrict detection to require full domain match .brightbox.com + VMWware: add option into VMTools config to enable/disable custom script. + [Xiaofeng Wang] + net,Oracle: Add support for netfailover detection + atomic_helper: add DEBUG logging to write_file (LP: #1843276) + doc: document doc, create makefile and tox target [Joshua Powers] + .gitignore: ignore files produced by package builds + docs: fix whitespace, spelling, and line length [Joshua Powers] + docs: remove unnecessary file in doc directory [Joshua Powers] + Oracle: Render secondary vnic IP and MTU values only + exoscale: fix sysconfig cloud_config_modules overrides (LP: #1841454) + net/cmdline: refactor to allow multiple initramfs network config sources + ubuntu-drivers: call db_x_loadtemplatefile to accept NVIDIA EULA + (LP: #1840080) + Add missing #cloud-config comment on first example in documentation. + [Florian Müller] + ubuntu-drivers: emit latelink=true debconf to accept nvidia eula + (LP: #1840080) + DataSourceOracle: prefer DS network config over initramfs + format.rst: add text/jinja2 to list of content types (+ cleanups) + Add GitHub pull request template to point people at hacking doc + cloudinit/distros/parsers/sys_conf: add docstring to SysConf + pyflakes: remove unused variable [Joshua Powers] + Azure: Record boot timestamps, system information, and diagnostic events + [Anh Vo] + DataSourceOracle: configure secondary NICs on Virtual Machines + distros: fix confusing variable names + azure/net: generate_fallback_nic emits network v2 config instead of v1 + Add support for publishing host keys to GCE guest attributes [Rick Wright] + New data source for the Exoscale.com cloud platform [Chris Glass] + doc: remove intersphinx extension + cc_set_passwords: rewrite documentation (LP: #1838794) + net/cmdline: split interfaces_by_mac and init network config determination + stages: allow data sources to override network config source order + cloud_tests: updates and fixes + Fix bug rendering MTU on bond or vlan when input was netplan. (LP: #1836949) + net: update net sequence, include wait on netdevs, opensuse netrules path (LP: #1817368)- Add cloud-init-proper-ipv6-setting.patch (bsc#1156139) + Set proper IPv6 interface variable in ifcfg file- Update cloud-init-write-routes.patch (bsc#1155376) + Write a route's destination network in CIDR notation instead of using the netmask. This provides support for correctly recording IPv6 routes.- Add cloud-init-renderer-detect.patch (bsc#1154092, boo#1142988) + Short curcuit the conditional for identifying the sysconfig renderer. If we find ifup/ifdown accept the renderer as available.- Add cloud-init-break-resolv-symlink.patch (bsc#1151488) + If /etc/resolv.conf is a symlink break it. This will avoid netconfig from clobbering the changes cloud-init applied.- Update to cloud-init 19.2 (bsc#1099358, bsc#1145622) + Remove, included upstream - cloud-init-detect-nova.diff - cloud-init-add-static-routes.diff + net: add rfc3442 (classless static routes) to EphemeralDHCP (LP: #1821102) + templates/ntp.conf.debian.tmpl: fix missing newline for pools (LP: #1836598) + Support netplan renderer in Arch Linux [Conrad Hoffmann] + Fix typo in publicly viewable documentation. [David Medberry] + Add a cdrom size checker for OVF ds to ds-identify [Pengpeng Sun] (LP: #1806701) + VMWare: Trigger the post customization script via cc_scripts module. [Xiaofeng Wang] (LP: #1833192) + Cloud-init analyze module: Added ability to analyze boot events. [Sam Gilson] + Update debian eni network configuration location, retain Ubuntu setting [Janos Lenart] + net: skip bond interfaces in get_interfaces [Stanislav Makar] (LP: #1812857) + Fix a couple of issues raised by a coverity scan + Add missing dsname for Hetzner Cloud datasource [Markus Schade] + doc: indicate that netplan is default in Ubuntu now + azure: add region and AZ properties from imds compute location metadata + sysconfig: support more bonding options [Penghui Liao] + cloud-init-generator: use libexec path to ds-identify on redhat systems (LP: #1833264) + tools/build-on-freebsd: update to python3 [Gonéri Le Bouder] + Allow identification of OpenStack by Asset Tag [Mark T. Voelker] (LP: #1669875) + Fix spelling error making 'an Ubuntu' consistent. [Brian Murray] + run-container: centos: comment out the repo mirrorlist [Paride Legovini] + netplan: update netplan key mappings for gratuitous-arp (LP: #1827238) + freebsd: fix the name of cloudcfg VARIANT [Gonéri Le Bouder] + freebsd: ability to grow root file system [Gonéri Le Bouder] + freebsd: NoCloud data source support [Gonéri Le Bouder] (LP: #1645824) + Azure: Return static fallback address as if failed to find endpoint [Jason Zions (MSFT)]- Add cloud-init-after-wicked.patch - Change the service order, the cloud-init service wants to run after networking is started- Add cloud-init-noresolv-merge-no-dns-data.diff - Avoid writing resolv.conf if the network configuration contains no dns entries.- Follow up to update cloud-init-trigger-udev.patch (bsc#1144363) - In this implementation the "name" is not yet an attribute, use get() to obtain the value from a dict. Source code version confusion.- Add cloud-init-add-static-routes.diff (bsc#1141969) + Properly handle static routes. The EphemeralDHCP context manager did not parse or handle rfc3442 classless static routes which prevented reading datasource metadata in some clouds.- Update cloud-init-trigger-udev.patch (bsc#1144363) - The __str__ implementation no longer delivers the name of the interface, use the "name" attribute instead to form a proper path in the sysfs tree- Update cloud-init-write-routes.patch (boo#1144881, bsc#1148645) + If no routes are set for a subnet but the subnet has a gateway specified, set the gateway as the default route for the interface- Follow the ever changing inconsistencies of version definitions and detection in the build service. + No more suse_version in SUSE internal instance for SLES 15 SP1- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Update to version 19.1 (bsc#1136440, bsc#1129124) + Remove, included upstream - fix-default-systemd-unit-dir.patch - cloud-init-sysconf-ethsetup.patch - cloud-init-handle-def-route-set.patch - cloud-init-no-empty-resolv.patch - cloud-init-proper-ipv6-varname.patch + Forward port - cloud-init-trigger-udev.patch + Add cloud-init-detect-nova.diff (bsc#1136440) + Modify cloud-init-python2-sigpipe.patch, import signal and constants + Update spec to account for new location of bash completion + freebsd: add chpasswd pkg in the image [Gonéri Le Bouder] + tests: add Eoan release [Paride Legovini] + cc_mounts: check if mount -a on no-change fstab path [Jason Zions (MSFT)] (LP: #1825596) + replace remaining occurrences of LOG.warn [Daniel Watkins] + DataSourceAzure: Adjust timeout for polling IMDS [Anh Vo] + Azure: Changes to the Hyper-V KVP Reporter [Anh Vo] + git tests: no longer show warning about safe yaml. + tools/read-version: handle errors [Chad Miller] + net/sysconfig: only indicate available on known sysconfig distros (LP: #1819994) + packages: update rpm specs for new bash completion path [Daniel Watkins] (LP: #1825444) + test_azure: mock util.SeLinuxGuard where needed [Jason Zions (MSFT)] (LP: #1825253) + setup.py: install bash completion script in new location [Daniel Watkins] + mount_cb: do not pass sync and rw options to mount [Gonéri Le Bouder] (LP: #1645824) + cc_apt_configure: fix typo in apt documentation [Dominic Schlegel] + Revert "DataSource: move update_events from a class to an instance..." [Daniel Watkins] + Change DataSourceNoCloud to ignore file system label's case. [Risto Oikarinen] + cmd:main.py: Fix missing 'modules-init' key in modes dict [Antonio Romito] (LP: #1815109) + ubuntu_advantage: rewrite cloud-config module + Azure: Treat _unset network configuration as if it were absent [Jason Zions (MSFT)] (LP: #1823084) + DatasourceAzure: add additional logging for azure datasource [Anh Vo] + cloud_tests: fix apt_pipelining test-cases + Azure: Ensure platform random_seed is always serializable as JSON. [Jason Zions (MSFT)] + net/sysconfig: write out SUSE-compatible IPv6 config [Robert Schweikert] + tox: Update testenv for openSUSE Leap to 15.0 [Thomas Bechtold] + net: Fix ipv6 static routes when using eni renderer [Raphael Glon] (LP: #1818669) + Add ubuntu_drivers config module [Daniel Watkins] + doc: Refresh Azure walinuxagent docs [Daniel Watkins] + tox: bump pylint version to latest (2.3.1) [Daniel Watkins] + DataSource: move update_events from a class to an instance attribute [Daniel Watkins] (LP: #1819913) + net/sysconfig: Handle default route setup for dhcp configured NICs [Robert Schweikert] (LP: #1812117) + DataSourceEc2: update RELEASE_BLOCKER to be more accurate [Daniel Watkins] + cloud-init-per: POSIX sh does not support string subst, use sed (LP: #1819222) + Support locking user with usermod if passwd is not available. + Example for Microsoft Azure data disk added. [Anton Olifir] + clean: correctly determine the path for excluding seed directory [Daniel Watkins] (LP: #1818571) + helpers/openstack: Treat unknown link types as physical [Daniel Watkins] (LP: #1639263) + drop Python 2.6 support and our NIH version detection [Daniel Watkins] + tip-pylint: Fix assignment-from-return-none errors + net: append type:dhcp[46] only if dhcp[46] is True in v2 netconfig [Kurt Stieger] (LP: #1818032) + cc_apt_pipelining: stop disabling pipelining by default [Daniel Watkins] (LP: #1794982) + tests: fix some slow tests and some leaking state [Daniel Watkins] + util: don't determine string_types ourselves [Daniel Watkins] + cc_rsyslog: Escape possible nested set [Daniel Watkins] (LP: #1816967) + Enable encrypted_data_bag_secret support for Chef [Eric Williams] (LP: #1817082) + azure: Filter list of ssh keys pulled from fabric [Jason Zions (MSFT)] CVE-2019-0816 + doc: update merging doc with fixes and some additional details/examples + tests: integration test failure summary to use traceback if empty error + This is to fix https://bugs.launchpad.net/cloud-init/+bug/1812676 [Vitaly Kuznetsov] + EC2: Rewrite network config on AWS Classic instances every boot [Guilherme G. Piccoli] (LP: #1802073) + netinfo: Adjust ifconfig output parsing for FreeBSD ipv6 entries (LP: #1779672) + netplan: Don't render yaml aliases when dumping netplan (LP: #1815051) + add PyCharm IDE .idea/ path to .gitignore [Dominic Schlegel] + correct grammar issue in instance metadata documentation [Dominic Schlegel] (LP: #1802188) + clean: cloud-init clean should not trace when run from within cloud_dir (LP: #1795508) + Resolve flake8 comparison and pycodestyle over-ident issues [Paride Legovini] + opennebula: also exclude epochseconds from changed environment vars (LP: #1813641) + systemd: Render generator from template to account for system differences. [Robert Schweikert] + sysconfig: On SUSE, use STARTMODE instead of ONBOOT [Robert Schweikert] (LP: #1799540) + flake8: use ==/!= to compare str, bytes, and int literals [Paride Legovini] + opennebula: exclude EPOCHREALTIME as known bash env variable with a delta (LP: #1813383) + tox: fix disco httpretty dependencies for py37 (LP: #1813361) + run-container: uncomment baseurl in yum.repos.d/*.repo when using a proxy [Paride Legovini] + lxd: install zfs-linux instead of zfs meta package [Johnson Shi] (LP: #1799779) + net/sysconfig: do not write a resolv.conf file with only the header. [Robert Schweikert] + net: Make sysconfig renderer compatible with Network Manager. [Eduardo Otubo] + cc_set_passwords: Fix regex when parsing hashed passwords [Marlin Cremers] (LP: #1811446) + net: Wait for dhclient to daemonize before reading lease file [Jason Zions] (LP: #1794399) + [Azure] Increase retries when talking to Wireserver during metadata walk [Jason Zions] + Add documentation on adding a datasource. + doc: clean up some datasource documentation. + ds-identify: fix wrong variable name in ovf_vmware_transport_guestinfo. + Scaleway: Support ssh keys provided inside an instance tag. [PORTE Loïc] + OVF: simplify expected return values of transport functions. + Vmware: Add support for the com.vmware.guestInfo OVF transport. (LP: #1807466) + HACKING.rst: change contact info to Josh Powers + Update to pylint 2.2.2.- Update cloud-init-write-routes.patch (bsc#1132692) + Properly accumulate all the defined routes for a given network device. Previously only the last defined route was written to the routes file.- Update cloud-init-trigger-udev.patch (bsc#1125950) + Write the udev rules to a different file than the default + Settle udev if not all configured devices are in the device tree to avoid race condition between udev and cloud-init- Add cloud-init-trigger-udev.patch (bsc#1125950) + When the user configures a new rules file for network devices the rules may not apply immediately, trigger udevadm- Modify cloud-init-write-routes.patch (bsc#1125992) + Fix the order of calls, the SUSE implementation of route config file writing must clobber the default implementation.- Add cloud-init-proper-ipv6-varname.patch (bsc#1126101) + Use the proper name to designate IPv6 addresses in ifcfg-* files- Modify cloud-init-write-routes.patch (boo#1123694) + Drop a '-' in the route file for the last column- Add cloud-init-no-empty-resolv.patch (bsc#1119397)- Update to version 18.5 (bsc#1121878, boo#1116767) + Remove 0001-Fix-the-service-order-for-SUSE-distributions.patch 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch included upstream + Forward port cloud-init-sysconf-ethsetup.patch + Add cloud-init-write-routes.patch + Add cloud-init-handle-def-route-set.patch + tests: add Disco release [Joshua Powers] + net: render 'metric' values in per-subnet routes (LP: #1805871) + write_files: add support for appending to files. [James Baxter] + config: On ubuntu select cloud archive mirrors for armel, armhf, arm64. (LP: #1805854) + dhclient-hook: cleanups, tests and fix a bug on 'down' event. + NoCloud: Allow top level 'network' key in network-config. (LP: #1798117) + ovf: Fix ovf network config generation gateway/routes (LP: #1806103) + azure: detect vnet migration via netlink media change event [Tamilmani Manoharan] + Azure: fix copy/paste error in error handling when reading azure ovf. + [Adam DePue] + tests: fix incorrect order of mocks in test_handle_zfs_root. + doc: Change dns_nameserver property to dns_nameservers. [Tomer Cohen] + OVF: identify label iso9660 filesystems with label 'OVF ENV'. + logs: collect-logs ignore instance-data-sensitive.json on non-root user (LP: #1805201) + net: Ephemeral*Network: add connectivity check via URL + azure: _poll_imds only retry on 404. Fail on Timeout (LP: #1803598) + resizefs: Prefix discovered devpath with '/dev/' when path does not exist [Igor Galić] + azure: retry imds polling on requests.Timeout (LP: #1800223) + azure: Accept variation in error msg from mount for ntfs volumes [Jason Zions] (LP: #1799338) + azure: fix regression introduced when persisting ephemeral dhcp lease [asakkurr] + azure: add udev rules to create cloud-init Gen2 disk name symlinks (LP: #1797480) + tests: ec2 mock missing httpretty user-data and instance-identity routes + azure: remove /etc/netplan/90-hotplug-azure.yaml when net from IMDS + azure: report ready to fabric after reprovision and reduce logging [asakkurr] (LP: #1799594) + query: better error when missing read permission on instance-data + instance-data: fallback to instance-data.json if sensitive is absent. (LP: #1798189) + docs: remove colon from network v1 config example. [Tomer Cohen] + Add cloud-id binary to packages for SUSE [Jason Zions] + systemd: On SUSE ensure cloud-init.service runs before wicked [Robert Schweikert] (LP: #1799709) + update detection of openSUSE variants [Robert Schweikert] + azure: Add apply_network_config option to disable network from IMDS (LP: #1798424) + Correct spelling in an error message (udevadm). [Katie McLaughlin] + tests: meta_data key changed to meta-data in ec2 instance-data.json (LP: #1797231) + tests: fix kvm integration test to assert flexible config-disk path (LP: #1797199) + tools: Add cloud-id command line utility + instance-data: Add standard keys platform and subplatform. Refactor ec2. + net: ignore nics that have "zero" mac address. (LP: #1796917) + tests: fix apt_configure_primary to be more flexible + Ubuntu: update sources.list to comment out deb-src entries. (LP: #74747)- Add cloud-init-ostack-metadat-dencode.patch (bsc#1101894)- Add cloud-init-static-net.patch (boo#1114160)- Update to version 18.4 (bsc#1087331, bsc#1097388, boo#1111427, bsc#1095627) + Remove cloud-init-no-user-lock-if-already-locked.patch cloud-init 18.4 is not supported on SLE 11 code base + Remove 0001-Support-chrony-configuration-lp-1731619.patch Included upstream + Remove 0003-Distro-dependent-chrony-config-file.patch Included upstream + Remove 0001-switch-to-using-iproute2-tools.patch Included upstream + Remove cloud-init-no-python-linux-dist.patch Included upstream + Remove cloud-init-no-trace-empt-sect.patch Included upstream + Remove cloud-init-setpath-dsitentify.patch Included upstream + Modify fix-default-systemd-unit-dir.patch Use pkg-config, only modify the generator + Remove cloud-init-sysconfig-netpathfix.patch Fixed upstream + Removed cloud-init-skip-ovf-tests.patch Fixed upstream + Removed cloud-init-translate-netconf-ipv4-keep-gw.patch Fixed upstream + Add cloud-init-template-py2.patch avoid Python 3 dependency when we build for distros with Python 2 support + Add 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch + Add 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch + Add cloud-init-sysconf-path.patch + Add cloud-init-sysconf-ethsetup.patch + Add 0001-Fix-the-service-order-for-SUSE-distributions.patch + Add dhcp-client as requirement cloud-init uses dhclient to setup temporary network for metadata retrieval. THis is needed until lp#1733226 is addressed + add rtd example docs about new standardized keys + use ds._crawled_metadata instance attribute if set when writing instance-data.json + ec2: update crawled metadata. add standardized keys + tests: allow skipping an entire cloud_test without running. + tests: disable lxd tests on cosmic + cii-tests: use unittest2.SkipTest in ntp_chrony due to new deps + lxd: adjust to snap installed lxd. + docs: surface experimental doc in instance-data.json + tests: fix ec2 integration tests. process meta_data instead of meta-data + Add support for Infiniband network interfaces (IPoIB). [Mark Goddard] + cli: add cloud-init query subcommand to query instance metadata + tools/tox-venv: update for new features. + pylint: ignore warning assignment-from-no-return for _write_network + stages: Fix bug causing datasource to have incorrect sys_cfg. (LP: #1787459) + Remove dead-code _write_network distro implementations. + net_util: ensure static configs have netmask in translate_network result [Thomas Berger] (LP: #1792454) + Fall back to root:root on syslog permissions if other options fail. [Robert Schweikert] + tests: Add mock for util.get_hostname. [Robert Schweikert] (LP: #1792799) + ds-identify: doc string cleanup. + OpenStack: Support setting mac address on bond. [Fabian Wiesel] (LP: #1682064) + bash_completion/cloud-init: fix shell syntax error. + EphemeralIPv4Network: Be more explicit when adding default route. (LP: #1792415) + OpenStack: support reading of newer versions of metdata. + OpenStack: fix bug causing 'latest' version to be used from network. (LP: #1792157) + user-data: jinja template to render instance-data.json in cloud-config (LP: #1791781) + config: disable ssh access to a configured user account + tests: print failed testname instead of docstring upon failure + tests: Disallow use of util.subp except for where needed. + sysconfig: refactor sysconfig to accept distro specific templates paths + Add unit tests for config/cc_ssh.py [Francis Ginther] + Fix the built-in cloudinit/tests/helpers:skipIf + read-version: enhance error message [Joshua Powers] + hyperv_reporting_handler: simplify threaded publisher + VMWare: Fix a network config bug in vm with static IPv4 and no gateway. [Pengpeng Sun] (LP: #1766538) + logging: Add logging config type hyperv for reporting via Azure KVP [Andy Liu] + tests: disable other snap test as well [Joshua Powers] + tests: disable snap, fix write_files binary [Joshua Powers] + Add datasource Oracle Compute Infrastructure (OCI). + azure: allow azure to generate network configuration from IMDS per boot. + Scaleway: Add network configuration to the DataSource [Louis Bouchard] + docs: Fix example cloud-init analyze command to match output. [Wesley Gao] + netplan: Correctly render macaddress on a bonds and bridges when provided. (LP: #1784699) + tools: Add 'net-convert' subcommand command to 'cloud-init devel'. + redhat: remove ssh keys on new instance. (LP: #1781094) + Use typeset or local in profile.d scripts. (LP: #1784713) + OpenNebula: Fix null gateway6 [Akihiko Ota] (LP: #1768547) + oracle: fix detect_openstack to report True on OracleCloud.com DMI data (LP: #1784685) + tests: improve LXDInstance trying to workaround or catch bug. + update_metadata re-config on every boot comments and tests not quite right [Mike Gerdts] + tests: Collect build_info from system if available. + pylint: Fix pylint warnings reported in pylint 2.0.0. + get_linux_distro: add support for rhel via redhat-release. + get_linux_distro: add support for centos6 and rawhide flavors of redhat (LP: #1781229) + tools: add '--debug' to tools/net-convert.py + tests: bump the version of paramiko to 2.4.1. + docs: note in rtd about avoiding /tmp when writing files (LP: #1727876) + ubuntu,centos,debian: get_linux_distro to align with platform.dist (LP: #1780481) + Fix boothook docs on environment variable name (INSTANCE_I -> INSTANCE_ID) [Marc Tamsky] + update_metadata: a datasource can support network re-config every boot + tests: drop salt-minion integration test (LP: #1778737) + Retry on failed import of gpg receive keys. + tools: Fix run-container when neither source or binary package requested. + docs: Fix a small spelling error. [Oz N Tiram] + tox: use simplestreams from git repository rather than bzr. - From 18.3 + docs: represent sudo:false in docs for user_groups config module + Explicitly prevent `sudo` access for user module [Jacob Bednarz] (LP: #1771468) + lxd: Delete default network and detach device if lxd-init created them. (LP: #1776958) + openstack: avoid unneeded metadata probe on non-openstack platforms (LP: #1776701) + stages: fix tracebacks if a module stage is undefined or empty [Robert Schweikert] (LP: #1770462) + Be more safe on string/bytes when writing multipart user-data to disk. (LP: #1768600) + Fix get_proc_env for pids that have non-utf8 content in environment. (LP: #1775371) + tests: fix salt_minion integration test on bionic and later + tests: provide human-readable integration test summary when --verbose + tests: skip chrony integration tests on lxd running artful or older + test: add optional --preserve-instance arg to integraiton tests + netplan: fix mtu if provided by network config for all rendered types (LP: #1774666) + tests: remove pip install workarounds for pylxd, take upstream fix. + subp: support combine_capture argument. + tests: ordered tox dependencies for pylxd install + util: add get_linux_distro function to replace platform.dist [Robert Schweikert] (LP: #1745235) + pyflakes: fix unused variable references identified by pyflakes 2.0.0. + Do not use the systemd_prefix macro, not available in this environment [Robert Schweikert] + doc: Add config info to ec2, openstack and cloudstack datasource docs + Enable SmartOS network metadata to work with netplan via per-subnet routes [Dan McDonald] (LP: #1763512) + openstack: Allow discovery in init-local using dhclient in a sandbox. (LP: #1749717) + tests: Avoid using https in httpretty, improve HttPretty test case. (LP: #1771659) + yaml_load/schema: Add invalid line and column nums to error message + Azure: Ignore NTFS mount errors when checking ephemeral drive [Paul Meyer] + packages/brpm: Get proper dependencies for cmdline distro. + packages: Make rpm spec files patch in package version like in debs. + tools/run-container: replace tools/run-centos with more generic. + Update version.version_string to contain packaged version. (LP: #1770712) + cc_mounts: Do not add devices to fstab that are already present. [Lars Kellogg-Stedman] + ds-identify: ensure that we have certain tokens in PATH. (LP: #1771382) + tests: enable Ubuntu Cosmic in integration tests [Joshua Powers] + read_file_or_url: move to url_helper, fix bug in its FileResponse. + cloud_tests: help pylint [Ryan Harper] + flake8: fix flake8 errors in previous commit. + typos: Fix spelling mistakes in cc_mounts.py log messages [Stephen Ford] + tests: restructure SSH and initial connections [Joshua Powers] + ds-identify: recognize container-other as a container, test SmartOS. + cloud-config.service: run After snap.seeded.service. (LP: #1767131) + tests: do not rely on host /proc/cmdline in test_net.py [Lars Kellogg-Stedman] (LP: #1769952) + ds-identify: Remove dupe call to is_ds_enabled, improve debug message. + SmartOS: fix get_interfaces for nics that do not have addr_assign_type. + tests: fix package and ca_cert cloud_tests on bionic (LP: #1769985) + ds-identify: make shellcheck 0.4.6 happy with ds-identify. + pycodestyle: Fix deprecated string literals, move away from flake8. + azure: Add reported ready marker file. [Joshua Chan] (LP: #1765214) + tools: Support adding a release suffix through packages/bddeb. + FreeBSD: Invoke growfs on ufs filesystems such that it does not prompt. [Harm Weites] (LP: #1404745) + tools: Re-use the orig tarball in packages/bddeb if it is around. + netinfo: fix netdev_pformat when a nic does not have an address assigned. (LP: #1766302) + collect-logs: add -v flag, write to stderr, limit journal to single boot. (LP: #1766335) + IBMCloud: Disable config-drive and nocloud only if IBMCloud is enabled. (LP: #1766401) + Add reporting events and log_time around early source of blocking time [Ryan Harper] + IBMCloud: recognize provisioning environment during debug boots. (LP: #1767166) + net: detect unstable network names and trigger a settle if needed [Ryan Harper] (LP: #1766287) + IBMCloud: improve documentation in datasource. + sysconfig: dhcp6 subnet type should not imply dhcpv4 [Vitaly Kuznetsov] + packages/debian/control.in: add missing dependency on iproute2. (LP: #1766711) + DataSourceSmartOS: add locking of serial device. [Mike Gerdts] (LP: #1746605) + DataSourceSmartOS: sdc:hostname is ignored [Mike Gerdts] (LP: #1765085) + DataSourceSmartOS: list() should always return a list [Mike Gerdts] (LP: #1763480) + schema: in validation, raise ImportError if strict but no jsonschema. + set_passwords: Add newline to end of sshd config, only restart if updated. (LP: #1677205) + pylint: pay attention to unused variable warnings. + doc: Add documentation for AliYun datasource. [Junjie Wang] + Schema: do not warn on duplicate items in commands. (LP: #1764264) + net: Depend on iproute2's ip instead of net-tools ifconfig or route + DataSourceSmartOS: fix hang when metadata service is down [Mike Gerdts] (LP: #1667735) + DataSourceSmartOS: change default fs on ephemeral disk from ext3 to ext4. [Mike Gerdts] (LP: #1763511) + pycodestyle: Fix invalid escape sequences in string literals. + Implement bash completion script for cloud-init command line [Ryan Harper] + tools: Fix make-tarball cli tool usage for development + renderer: support unicode in render_from_file. + Implement ntp client spec with auto support for distro selection [Ryan Harper] (LP: #1749722) + Apport: add Brightbox, IBM, LXD, and OpenTelekomCloud to list of clouds. + tests: fix ec2 integration network metadata validation + tests: fix integration tests to support lxd 3.0 release + correct documentation to match correct attribute name usage. [Dominic Schlegel] (LP: #1420018) + cc_resizefs, util: handle no /dev/zfs [Ryan Harper] + doc: Fix links in OpenStack datasource documentation. [Dominic Schlegel] (LP: #1721660)- Add a modified version of fix-default-systemd-unit-dir.patch + Removed pre-maturely, still needs 1 part of the patch- Remove fix-default-systemd-unit-dir.patch + No longer needed, proper systemd config dir is queried from pckg-config- The distribution inidcator is set to suse during template expansion, we do not replace anything set to ubuntu - Do not run cloud-init after network-online, this breaks functionality in cloud-init. Certain parts of the code running in this phase expect to run before the network is on-line. This "re-introduces" boo#1097388. But the changes made are not generic enough. - Root should not be enabled by default. For image builders/users that want root access by default they should provide an appropriate configuration file during image build or image setup- Let distribution default to opensuse/sles (boo#1099340) - do not disable root user to make it easier to work with - Run metadata detection after network-online (boo#1097388)- Re-add generator (bsc#1089824, boo#1093501) + Add cloud-init-setpath-dsitentify.patch, upstream solution to hanle PATH issue + Re-enable th egenerator to reduce effort in cloud-init configuration- Drop the generator (bsc#1089824, boo#1093501) + The generator spawns a script called ds-identify which in turn calls blkid. When the generator executes the environment may or may not be ready. The generator speeds up the boot process in cases where cloud-init is enabled but we are not in an environment where cloud-init should run -> Don't do that.- Update to version 18.2 (bsc#1092637, bsc#1084509) + Forward port cloud-init-python2-sigpipe.patch + Forward port cloud-init-no-python-linux-dist.patch + Add cloud-init-no-trace-empt-sect.patch + Hetzner: Exit early if dmi system-manufacturer is not Hetzner. + Add missing dependency on isc-dhcp-client to trunk ubuntu packaging. + (LP: #1759307) + FreeBSD: resizefs module now able to handle zfs/zpool. + [Dominic Schlegel] (LP: #1721243) + cc_puppet: Revert regression of puppet creating ssl and ssl_cert dirs + Enable IBMCloud datasource in settings.py. + IBMCloud: Initial IBM Cloud datasource. + tests: remove jsonschema from xenial tox environment. + tests: Fix newly added schema unit tests to skip if no jsonschema. + ec2: Adjust ec2 datasource after exception_cb change. + Reduce AzurePreprovisioning HTTP timeouts. + [Douglas Jordan] (LP: #1752977) + Revert the logic of exception_cb in read_url. + [Kurt Garloff] (LP: #1702160, #1298921) + ubuntu-advantage: Add new config module to support + ubuntu-advantage-tools + Handle global dns entries in netplan (LP: #1750884) + Identify OpenTelekomCloud Xen as OpenStack DS. + [Kurt Garloff] (LP: #1756471) + datasources: fix DataSource subclass get_hostname method signature + (LP: #1757176) + OpenNebula: Update network to return v2 config rather than ENI. + [Akihiko Ota] + Add Hetzner Cloud DataSource + net: recognize iscsi root cases without ip= on kernel command line. + (LP: #1752391) + tests: fix flakes warning for unused variable + tests: patch leaked stderr messages from snap unit tests + cc_snap: Add new module to install and configure snapd and snap + packages. + tests: Make pylint happy and fix python2.6 uses of assertRaisesRegex. + netplan: render bridge port-priority values (LP: #1735821) + util: Fix subp regression. Allow specifying subp command as a string. + (LP: #1755965) + doc: fix all warnings issued by 'tox -e doc' + FreeBSD: Set hostname to FQDN. [Dominic Schlegel] (LP: #1753499) + tests: fix run_tree and bddeb + tests: Fix some warnings in tests that popped up with newer python. + set_hostname: When present in metadata, set it before network bringup. + (LP: #1746455) + tests: Centralize and re-use skipTest based on json schema presense. + This commit fixes get_hostname on the AzureDataSource. + [Douglas Jordan] (LP: #1754495) + shellify: raise TypeError on bad input. + Make salt minion module work on FreeBSD. + [Dominic Schlegel] (LP: #1721503) + Simplify some comparisions. [Rémy Léone] + Change some list creation and population to literal. [Rémy Léone] + GCE: fix reading of user-data that is not base64 encoded. (LP: #1752711) + doc: fix chef install from apt packages example in RTD. + Implement puppet 4 support [Romanos Skiadas] (LP: #1446804) + subp: Fix subp usage with non-ascii characters when no system locale. + (LP: #1751051) + salt: configure grains in grains file rather than in minion config. [Daniel Wallace]- Update to version 18.1 (bsc#1085787, bsc#1084749) + Forward port cloud-init-python2-sigpipe.patch + Forward port 0003-Distro-dependent-chrony-config-file.patch partial integration into 0001-Support-chrony-configuration-lp-1731619.patch + Forward port cloud-init-no-python-linux-dist.patch + Remove 0002-Disable-method-deprecation-warning-for-pylint.patch use new cloud-init internal distro detection code + Remove cloud-init-resize-ro-btrfs.patch included upstream + Remove 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch included upstream + OVF: Fix VMware support for 64-bit platforms. [Sankar Tanguturi] + ds-identify: Fix searching for iso9660 OVF cdroms. (LP: #1749980) + SUSE: Fix groups used for ownership of cloud-init.log [Robert Schweikert] + ds-identify: check /writable/system-data/ for nocloud seed. (LP: #1747070) + tests: run nosetests in cloudinit/ directory, fix py26 fallout. + tools: run-centos: git clone rather than tar. + tests: add support for logs with lxd from snap and future lxd 3. (LP: #1745663) + EC2: Fix get_instance_id called against cached datasource pickle. (LP: #1748354) + cli: fix cloud-init status to report running when before result.json (LP: #1747965) + net: accept network-config in netplan format for renaming interfaces (LP: #1709715) + Fix ssh keys validation in ssh_util [Tatiana Kholkina] + docs: Update RTD content for cloud-init subcommands. + OVF: Extend well-known labels to include OVFENV. (LP: #1698669) + Fix potential cases of uninitialized variables. (LP: #1744796) + tests: Collect script output as binary, collect systemd journal, fix lxd. + HACKING.rst: mention setting user name and email via git config. + Azure VM Preprovisioning support. [Douglas Jordan] (LP: #1734991) + tools/read-version: Fix read-version when in a git worktree. + docs: Fix typos in docs and one debug message. [Florian Grignon] + btrfs: support resizing if root is mounted ro. [Robert Schweikert] (LP: #1734787) + OpenNebula: Improve network configuration support. [Akihiko Ota] (LP: #1719157, #1716397, #1736750) + tests: Fix EC2 Platform to return console output as bytes. + tests: Fix attempted use of /run in a test case. + GCE: Improvements and changes to ssh key behavior for default user. [Max Illfelder] (LP: #1670456, #1707033, #1707037, #1707039) + subp: make ProcessExecutionError have expected types in stderr, stdout. + tests: when querying ntp server, do not do dns resolution. + Recognize uppercase vfat disk labels [James Penick] (LP: #1598783) + tests: remove zesty as supported OS to test [Joshua Powers] + Do not log warning on config files that represent None. (LP: #1742479) + tests: Use git hash pip dependency format for pylxd. + tests: add integration requirements text file [Joshua Powers] + MAAS: add check_instance_id based off oauth tokens. (LP: #1712680) + tests: update apt sources list test [Joshua Powers] + tests: clean up image properties [Joshua Powers] + tests: rename test ssh keys to avoid appearance of leaking private keys. [Joshua Powers] + tests: Enable AWS EC2 Integration Testing [Joshua Powers] + cli: cloud-init clean handles symlinks (LP: #1741093) + SUSE: Add a basic test of network config rendering. [Robert Schweikert] + Azure: Only bounce network when necessary. (LP: #1722668) + lint: Fix lints seen by pylint version 1.8.1. + cli: Fix error in cloud-init modules --mode=init. (LP: #1736600)- update cloud-init-sysconfig-netpathfix.patch: * skip checking for files in /etc/sysconfig that never exist on a wickedd based system- Fix logfile permission settings (bsc#1080595) + Add 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch- drop dependency on boto (only used in examples, and should really be ported to botocore/boto3 instead)- Update to version 17.2 (boo#1069635, bsc#1072811) + Add cloud-init-skip-ovf-tests.patch + Add cloud-init-no-python-linux-dist.patch + Add 0001-switch-to-using-iproute2-tools.patch + Add 0001-Support-chrony-configuration-lp-1731619.patch + Add 0002-Disable-method-deprecation-warning-for-pylint.patch + Add 0003-Distro-dependent-chrony-config-file.patch + removed cloud-init-add-variant-cloudcfg.patch replaced by cloud-init-no-python-linux-dist.patch + removed zypp_add_repos.diff included upstream + removed zypp_add_repo_test.patch included upstream + removed cloud-init-hosts-template.patch included upstream + removed cloud-init-more-tasks.patch included upstream + removed cloud-init-final-no-apt.patch included upstream + removed cloud-init-ntp-conf-suse.patch included upstream + removed cloud-init-break-cycle-local-service.patch included upstream + removed cloud-init-reproduce-build.patch included upstream + For the complete changelog see https://launchpad.net/cloud-init/trunk/17.2- patch distribution detection until a fix is delivered to python3 (bsc#997614) add cloud-init-add-variant-cloudcfg.patch- Fix usage of fdupes macro: there is no '-n' parameter to the macro (there would be to fdupes, the command, though).- Add cloud-init-reproduce-build.patch (boo#1069635) + Make builds reproducible- Add cloud-init-resize-ro-btrfs.patch + cc_resizefs fails if the current root is a read-only btrfs subvolume, use an always writeable subvolume instead [bsc#1042913]- Add cloud-init-break-cycle-local-service.patch + Let systemd pull in the default targets. This breaks a cycle- Fix variable name in cloud-init-translate-netconf-ipv4-keep-gw.patch- Add cloud-init-translate-netconf-ipv4-keep-gw.patch (boo#1064854) + Properly insert the gateway information for v1 json network config data- Add cloud-init-ntp-conf-suse.patch + ntp configuration was broken on sles and opensuse lp#1726572- Add cloud-init-hosts-template.patch (bsc#1064594) + Properly expand the /etc/hosst file when manage_etc_hosts is set- Fix sed expression to set distro properly (boo#1063716)- Update to version 17.1 (bsc#1035106) + Version numbering scheme change now YY.NUMBER_OF_RELESE_THAT_YEAR + Remove cloud.cfg.suse, use generated default config file + Remove addopenSUSEBase.patch, included upstream + Remove suseIntegratedHandler.patch, included upstream + Remove openSUSEhostsTemplate.diff, included upstream + Remove cloud-init-handle-no-carrier.patch, included upstream + Remove cloud-init-digital-ocean-datasource.patch, use upstream implementation + Remove cloud-init-digital-ocean-datasource-enable-by-default.patch, use upstream implementation + Remove cloud-init-fix-unicode-handling-binarydecode.patch, included upstream + Remove cloud-init-no-dmidecode-on-ppc64.patch, included upstream + Remove dataSourceOpenNebula.patch, use upstream implementation + Remove setupSUSEsysVInit.diff, included upstream + Remove suseSysVInit.diff, included upstream + Remove cloud-init-finalbeforelogin.patch, don't block login + Remove cloud-init-handle-not-implemented-query.patch, query option removed + Remove cloud-init-spceandtabs-clean.patch, indentation fixed upstream + Remove dynamicInitCmd.diff, different solution from upstream + Added cloud-init-more-tasks.patch, (bsc#1047363) replace cloud-init-finalbeforelogin.patch + Forward port cloud-init-python2-sigpipe.patch + Remove cloud-init-net-eni.patch, included upstream + Remove cloud-init-service.patch, included upstream + Forward port cloud-init-sysconfig-netpathfix.patch + Remove cloud-init-net-sysconfig-lp1665441.patch, included upstream + Remove cloud-init-python26.patch, included upstream + Remove skip-argparse-on-python3.patch + Add cloud-init-tests-set-exec.patch + Add cloud-init-final-no-apt.patch + Add zypp_add_repo_test.patch + doc: document GCE datasource. [Arnd Hannemann] + suse: updates to templates to support openSUSE and SLES. + [Robert Schweikert] (LP: #1718640) + suse: Copy sysvinit files from redhat with slight changes. + [Robert Schweikert] (LP: #1718649) + docs: fix sphinx module schema documentation [Chad Smith] + tests: Add cloudinit package to all test targets [Chad Smith] + Makefile: No longer look for yaml files in obsolete ./bin/. + tests: fix ds-identify unit tests to set EC2_STRICT_ID_DEFAULT. + ec2: Fix maybe_perform_dhcp_discovery to use /var/tmp as a tmpdir + [Chad Smith] (LP: #1717627) + Azure: wait longer for SSH pub keys to arrive. + [Paul Meyer] (LP: #1717611) + GCE: Fix usage of user-data. (LP: #1717598) + cmdline: add collect-logs subcommand. [Chad Smith] (LP: #1607345) + CloudStack: consider dhclient lease files named with a hyphen. + (LP: #1717147) + resizefs: Drop check for read-only device file, do not warn on + overlayroot. [Chad Smith] + Do not provide systemd-fsck drop-in which could cause ordering cycles. + [Balint Reczey] (LP: #1717477) + tests: Enable the NoCloud KVM platform [Joshua Powers] + resizefs: pass mount point to xfs_growfs [Dusty Mabe] + vmware: Enable nics before sending the SUCCESS event. [Sankar Tanguturi] + cloud-config modules: honor distros definitions in each module + [Chad Smith] (LP: #1715738, #1715690) + chef: Add option to pin chef omnibus install version + [Ethan Apodaca] (LP: #1462693) + tests: execute: support command as string [Joshua Powers] + schema and docs: Add jsonschema to resizefs and bootcmd modules + [Chad Smith] + tools: Add xkvm script, wrapper around qemu-system [Joshua Powers] + vmware customization: return network config format + [Sankar Tanguturi] (LP: #1675063) + Ec2: only attempt to operate at local mode on known platforms. + (LP: #1715128) + Use /run/cloud-init for tempfile operations. (LP: #1707222) + ds-identify: Make OpenStack return maybe on arch other than intel. + (LP: #1715241) + tests: mock missed openstack metadata uri network_data.json + [Chad Smith] (LP: #1714376) + relocate tests/unittests/helpers.py to cloudinit/tests + [Lars Kellogg-Stedman] + tox: add nose timer output [Joshua Powers] + upstart: do not package upstart jobs, drop ubuntu-init-switch module. + tests: Stop leaking calls through unmocked metadata addresses + [Chad Smith] (LP: #1714117) + distro: allow distro to specify a default locale [Ryan Harper] + tests: fix two recently added tests for sles distro. + url_helper: dynamically import oauthlib import from inside oauth_headers + [Chad Smith] + tox: make xenial environment run with python3.6 + suse: Add support for openSUSE and return SLES to a working state. + [Robert Schweikert] + GCE: Add a main to the GCE Datasource. + ec2: Add IPv6 dhcp support to Ec2DataSource. [Chad Smith] (LP: #1639030) + url_helper: fail gracefully if oauthlib is not available + [Lars Kellogg-Stedman] (LP: #1713760) + cloud-init analyze: fix issues running under python 2. [Andrew Jorgensen] + Configure logging module to always use UTC time. + [Ryan Harper] (LP: #1713158) + Log a helpful message if a user script does not include shebang. + [Andrew Jorgensen] + cli: Fix command line parsing of coniditionally loaded subcommands. + [Chad Smith] (LP: #1712676) + doc: Explain error behavior in user data include file format. + [Jason Butz] + cc_landscape & cc_puppet: Fix six.StringIO use in writing configs + [Chad Smith] (LP: #1699282, #1710932) + schema cli: Add schema subcommand to cloud-init cli and cc_runcmd schema + [Chad Smith] + Debian: Remove non-free repositories from apt sources template. + [Joonas Kylmälä] (LP: #1700091) + tools: Add tooling for basic cloud-init performance analysis. + [Chad Smith] (LP: #1709761) + network: add v2 passthrough and fix parsing v2 config with bonds/bridge + params [Ryan Harper] (LP: #1709180) + doc: update capabilities with features available, link doc reference, + cli example [Ryan Harper] + vcloud directory: Guest Customization support for passwords + [Maitreyee Saikia] + ec2: Allow Ec2 to run in init-local using dhclient in a sandbox. + [Chad Smith] (LP: #1709772) + cc_ntp: fallback on timesyncd configuration if ntp is not installable + [Ryan Harper] (LP: #1686485) + net: Reduce duplicate code. Have get_interfaces_by_mac use + get_interfaces. + tests: Fix build tree integration tests [Joshua Powers] + sysconfig: Dont repeat header when rendering resolv.conf + [Ryan Harper] (LP: #1701420) + archlinux: Fix bug with empty dns, do not render 'lo' devices. + (LP: #1663045, #1706593) + cloudinit.net: add initialize_network_device function and tests + [Chad Smith] + makefile: fix ci-deps-ubuntu target [Chad Smith] + tests: adjust locale integration test to parse default locale. + tests: remove 'yakkety' from releases as it is EOL. + tests: Add initial tests for EC2 and improve a docstring. + locale: Do not re-run locale-gen if provided locale is system default. + archlinux: fix set hostname usage of write_file. + [Joshua Powers] (LP: #1705306) + sysconfig: support subnet type of 'manual'. + tools/run-centos: make running with no argument show help. + Drop rand_str() usage in DNS redirection detection + [Bob Aman] (LP: #1088611) + sysconfig: use MACADDR on bonds/bridges to configure mac_address + [Ryan Harper] (LP: #1701417) + net: eni route rendering missed ipv6 default route config + [Ryan Harper] (LP: #1701097) + sysconfig: enable mtu set per subnet, including ipv6 mtu + [Ryan Harper] (LP: #1702513) + sysconfig: handle manual type subnets [Ryan Harper] (LP: #1687725) + sysconfig: fix ipv6 gateway routes [Ryan Harper] (LP: #1694801) + sysconfig: fix rendering of bond, bridge and vlan types. + [Ryan Harper] (LP: #1695092) + Templatize systemd unit files for cross distro deltas. [Ryan Harper] + sysconfig: ipv6 and default gateway fixes. [Ryan Harper] (LP: #1704872) + net: fix renaming of nics to support mac addresses written in upper + case. (LP: #1705147) + tests: fixes for issues uncovered when moving to python 3.6. + (LP: #1703697) + sysconfig: include GATEWAY value if set in subnet + [Ryan Harper] (LP: #1686856) + Scaleway: add datasource with user and vendor data for Scaleway. + [Julien Castets] + Support comments in content read by load_shell_content. + cloudinitlocal fail to run during boot [Hongjiang Zhang] + doc: fix disk setup example table_type options + [Sandor Zeestraten] (LP: #1703789) + tools: Fix exception handling. [Joonas Kylmälä] (LP: #1701527) + tests: fix usage of mock in GCE test. + test_gce: Fix invalid mock of platform_reports_gce to return False + [Chad Smith] + test: fix incorrect keyid for apt repository. + [Joshua Powers] (LP: #1702717) + tests: Update version of pylxd [Joshua Powers] + write_files: Remove log from helper function signatures. + [Andrew Jorgensen] + doc: document the cmdline options to NoCloud [Brian Candler] + read_dmi_data: always return None when inside a container. (LP: #1701325) + requirements.txt: remove trailing white space. + Azure: Add network-config, Refactor net layer to handle duplicate macs. + [Ryan Harper] + Tests: Simplify the check on ssh-import-id [Joshua Powers] + tests: update ntp tests after sntp added [Joshua Powers] + FreeBSD: Make freebsd a variant, fix unittests and + tools/build-on-freebsd. + FreeBSD: fix test failure + FreeBSD: replace ifdown/ifup with "ifconfig down" and "ifconfig up". + [Hongjiang Zhang] (LP: #1697815) + FreeBSD: fix cdrom mounting failure if /mnt/cdrom/secure did not exist. + [Hongjiang Zhang] (LP: #1696295) + main: Don't use templater to format the welcome message + [Andrew Jorgensen] + docs: Automatically generate module docs form schema if present. + [Chad Smith] + debian: fix path comment in /etc/hosts template. + [Jens Sandmann] (LP: #1606406) + suse: add hostname and fully qualified domain to template. + [Jens Sandmann] + write_file(s): Print permissions as octal, not decimal [Andrew Jorgensen] + ci deps: Add --test-distro to read-dependencies to install all deps + [Chad Smith] + tools/run-centos: cleanups and move to using read-dependencies + pkg build ci: Add make ci-deps- target to install pkgs + [Chad Smith] + systemd: make cloud-final.service run before apt daily services. + (LP: #1693361) + selinux: Allow restorecon to be non-fatal. [Ryan Harper] (LP: #1686751) + net: Allow netinfo subprocesses to return 0 or 1. + [Ryan Harper] (LP: #1686751) + net: Allow for NetworkManager configuration [Ryan McCabe] (LP: #1693251) + Use distro release version to determine if we use systemd in redhat spec + [Ryan Harper] + net: normalize data in network_state object + Integration Testing: tox env, pyxld 2.2.3, and revamp framework + [Wesley Wiedenmeier] + Chef: Update omnibus url to chef.io, minor doc changes. [JJ Asghar] + tools: add centos scripts to build and test [Joshua Powers] + Drop cheetah python module as it is not needed by trunk [Ryan Harper] + rhel/centos spec cleanups. + cloud.cfg: move to a template. setup.py changes along the way. + Makefile: add deb-src and srpm targets. use PYVER more places. + makefile: fix python 2/3 detection in the Makefile [Chad Smith] + snap: Removing snapcraft plug line [Joshua Powers] (LP: #1695333) + RHEL/CentOS: Fix default routes for IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1696176) + test: Fix pyflakes complaint of unused import. + [Joshua Powers] (LP: #1695918) + NoCloud: support seed of nocloud from smbios information + [Vladimir Pouzanov] (LP: #1691772) + net: when selecting a network device, use natural sort order + [Marc-Aurèle Brothier] + fix typos and remove whitespace in various docs [Stephan Telling] + systemd: Fix typo in comment in cloud-init.target. [Chen-Han Hsiao] + Tests: Skip jsonschema related unit tests when dependency is absent. + [Chad Smith] (LP: #1695318) + azure: remove accidental duplicate line in merge. + azure: identify platform by well known value in chassis asset tag. + [Chad Smith] (LP: #1693939) + tools/net-convert.py: support old cloudinit versions by using kwargs. + ntp: Add schema definition and passive schema validation. + [Chad Smith] (LP: #1692916) + Fix eni rendering for bridge params that require repeated key for + values. [Ryan Harper] + net: remove systemd link file writing from eni renderer [Ryan Harper] + AliYun: Enable platform identification and enable by default. + [Junjie Wang] (LP: #1638931) + net: fix reading and rendering addresses in cidr format. + [Dimitri John Ledkov] (LP: #1689346, #1684349) + disk_setup: udev settle before attempting partitioning or fs creation. + (LP: #1692093) + GCE: Update the attribute used to find instance SSH keys. + [Daniel Watkins] (LP: #1693582) + nplan: For bonds, allow dashed or underscore names of keys. + [Dimitri John Ledkov] (LP: #1690480) + python2.6: fix unit tests usage of assertNone and format. + test: update docstring on test_configured_list_with_none + fix tools/ds-identify to not write None twice. + tox/build: do not package depend on style requirements. + cc_ntp: Restructure cc_ntp unit tests. [Chad Smith] (LP: #1692794) + flake8: move the pinned version of flake8 up to 3.3.0 + tests: Apply workaround for snapd bug in test case. [Joshua Powers] + RHEL/CentOS: Fix dual stack IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1679817, #1685534, #1685532) + disk_setup: fix several issues with gpt disk partitions. (LP: #1692087) + function spelling & docstring update [Joshua Powers] + Fixing wrong file name regression. [Joshua Powers] + tox: move pylint target to 1.7.1 + Fix get_interfaces_by_mac for empty macs (LP: #1692028) + DigitalOcean: remove routes except for the public interface. + [Ben Howard] (LP: #1681531.) + netplan: pass macaddress, when specified, for vlans + [Dimitri John Ledkov] (LP: #1690388) + doc: various improvements for the docs on cc_users_groups. + [Felix Dreissig] + cc_ntp: write template before installing and add service restart + [Ryan Harper] (LP: #1645644) + cloudstack: fix tests to avoid accessing /var/lib/NetworkManager + [Lars Kellogg-Stedman] + tests: fix hardcoded path to mkfs.ext4 [Joshua Powers] (LP: #1691517) + Actually skip warnings when .skip file is present. + [Chris Brinker] (LP: #1691551) + netplan: fix netplan render_network_state signature. + [Dimitri John Ledkov] (LP: #1685944) + Azure: fix reformatting of ephemeral disks on resize to large types. + (LP: #1686514) + Revert "tools/net-convert: fix argument order for render_network_state" + make deb: Add devscripts dependency for make deb. Cleanup + packages/bddeb. [Chad Smith] (LP: #1685935) + tools/net-convert: fix argument order for render_network_state + [Ryan Harper] (LP: #1685944) + openstack: fix log message copy/paste typo in _get_url_settings + [Lars Kellogg-Stedman] + unittests: fix unittests run on centos [Joshua Powers] + Improve detection of snappy to include os-release and kernel cmdline. + (LP: #1689944) + Add address to config entry generated by _klibc_to_config_entry. + [Julien Castets] (LP: #1691135) + sysconfig: Raise ValueError when multiple default gateways are present. + [Chad Smith] (LP: #1687485) + FreeBSD: improvements and fixes for use on Azure + [Hongjiang Zhang] (LP: #1636345) + Add unit tests for ds-identify, fix Ec2 bug found. + fs_setup: if cmd is specified, use shell interpretation. + [Paul Meyer] (LP: #1687712) + doc: document network configuration defaults policy and formats. + [Ryan Harper] + Fix name of "uri" key in docs for "cc_apt_configure" module + [Felix Dreissig] + tests: Enable artful [Joshua Powers] + nova-lxd: read product_name from environment, not platform. + (LP: #1685810) + Fix yum repo config where keys contain array values + [Dylan Perry] (LP: #1592150) + template: Update debian backports template [Joshua Powers] (LP: #1627293) + rsyslog: replace ~ with stop [Joshua Powers] (LP: #1367899) + Doc: add additional RTD examples [Joshua Powers] (LP: #1459604) + Fix growpart for some cases when booted with root=PARTUUID. + (LP: #1684869) + pylint: update output style to parseable [Joshua Powers] + pylint: fix all logging warnings [Joshua Powers] + CloudStack: Add NetworkManager to list of supported DHCP lease dirs. + [Syed] + net: kernel lies about vlans not stealing mac addresses, when they do + [Dimitri John Ledkov] (LP: #1682871) + ds-identify: Check correct path for "latest" config drive + [Daniel Watkins] (LP: #1673637) + doc: Fix example for resolve.conf configuration. + [Jon Grimm] (LP: #1531582) + Fix examples that reference upstream chef repository. + [Jon Grimm] (LP: #1678145) + doc: correct grammar and improve clarity in merging documentation. + [David Tagatac] + doc: Add missing doc link to snap-config module. [Ryan Harper] + snap: allows for creating cloud-init snap [Joshua Powers] + DigitalOcean: assign IPv4ll address to lowest indexed interface. + [Ben Howard] + DigitalOcean: configure all NICs presented in meta-data. [Ben Howard] + Remove (and/or fix) URL shortener references [Jon Grimm] (LP: #1669727) + HACKING.rst: more info on filling out contributors agreement. + util: teach write_file about copy_mode option + [Lars Kellogg-Stedman] (LP: #1644064) + DigitalOcean: bind resolvers to loopback interface. [Ben Howard] + tests: fix AltCloud tests to not rely on blkid (LP: #1636531) + OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946) + Fix bug that resulted in an attempt to rename bonds or vlans. + (LP: #1669860) + tests: update OpenNebula and Digital Ocean to not rely on host + interfaces. + net: in netplan renderer delete known image-builtin content. + (LP: #1675576) + doc: correct grammar in capabilities.rst [David Tagatac] + ds-identify: fix detecting of maas datasource. (LP: #1677710) + netplan: remove debugging prints, add debug logging [Ryan Harper] + ds-identify: do not write None twice to datasource_list. + support resizing partition and rootfs on system booted without + initramfs. [Steve Langasek] (LP: #1677376) + apt_configure: run only when needed. (LP: #1675185) + OpenStack: identify OpenStack by product 'OpenStack Compute'. + (LP: #1675349) + GCE: Search GCE in ds-identify, consider serial number in check. + (LP: #1674861) + Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325) + Fix filesystem creation when using "partition: auto" + [Jonathan Ballet] (LP: #1634678) + ConfigDrive: support reading config drive data from /config-drive. + (LP: #1673411) + ds-identify: fix detection of Bigstep datasource. (LP: #1674766) + test: add running of pylint [Joshua Powers] + ds-identify: fix bug where filename expansion was left on. + advertise network config v2 support (NETWORK_CONFIG_V2) in features. + Bigstep: fix bug when executing in python3. [root] + Fix unit test when running in a system deployed with cloud-init. + Bounce network interface for Azure when using the built-in path. + [Brent Baude] (LP: #1674685) + cloudinit.net: add network config v2 parsing and rendering [Ryan Harper] + net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317) + net: add renderers for automatically selecting the renderer. + doc: fix config drive doc with regard to unpartitioned disks. + (LP: #1673818) + test: Adding integratiron test for password as list [Joshua Powers] + render_network_state: switch arguments around, do not require target + support 'loopback' as a device type. + Integration Testing: improve testcase subclassing [Wesley Wiedenmeier] + gitignore: adding doc/rtd_html [Joshua Powers] + doc: add instructions for running integration tests via tox. + [Joshua Powers] + test: avoid differences in 'date' output due to daylight savings. + Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837) + Add feature flags to cloudinit.version. [Wesley Wiedenmeier] + tox: add a citest environment + Further fix regression to support 'password' for default user. + fix regression when no chpasswd/list was provided. + Support chpasswd/list being a list in addition to a string. + [Sergio Lystopad] (LP: #1665694) + doc: Fix configuration example for cc_set_passwords module. + [Sergio Lystopad] (LP: #1665773) + net: support both ipv4 and ipv6 gateways in sysconfig. + [Lars Kellogg-Stedman] (LP: #1669504) + net: do not raise exception for > 3 nameservers + [Lars Kellogg-Stedman] (LP: #1670052) + ds-identify: report cleanups for config and exit value. (LP: #1669949) + ds-identify: move default setting for Ec2/strict_id to a global. + ds-identify: record not found in cloud.cfg and always add None. + Support warning if the used datasource is not in ds-identify's list. + tools/ds-identify: make report mode write namespaced results. + Move warning functionality to cloudinit/warnings.py + Add profile.d script for showing warnings on login. + Z99-cloud-locale-test.sh: install and make consistent. + tools/ds-identify: look at cloud.cfg when looking for ec2 strict_id. + tools/ds-identify: disable vmware_guest_customization by default. + tools/ds-identify: ovf identify vmware guest customization. + Identify Brightbox as an Ec2 datasource user. (LP: #1661693) + DatasourceEc2: add warning message when not on AWS. + ds-identify: add reading of datasource/Ec2/strict_id + tools/ds-identify: add support for found or maybe contributing config. + tools/ds-identify: read the seed directory on Ec2 + tools/ds-identify: use quotes in local declarations. + tools/ds-identify: fix documentation of policy setting in a comment. + ds-identify: only run once per boot unless --force is given. + flake8: fix flake8 complaints in previous commit. + net: correct errors in cloudinit/net/sysconfig.py + [Lars Kellogg-Stedman] (LP: #1665441) + ec2_utils: fix MetadataLeafDecoder that returned bytes on empty + apply the runtime configuration written by ds-identify. + ds-identify: fix checking for filesystem label (LP: #1663735) + ds-identify: read ds=nocloud properly (LP: #1663723) + support nova-lxd by reading platform from environment of pid 1. + (LP: #1661797) + ds-identify: change aarch64 to use the default for non-dmi systems. + Remove style checking during build and add latest style checks to tox + [Joshua Powers] (LP: #1652329) + code-style: make master pass pycodestyle (2.3.1) cleanly, currently: + [Joshua Powers] + manual_cache_clean: When manually cleaning touch a file in instance dir. + Add tools/ds-identify to identify datasources available. + Fix small typo and change iso-filename for consistency [Robin Naundorf] + Fix eni rendering of multiple IPs per interface + [Ryan Harper] (LP: #1657940) + tools/mock-meta: support python2 or python3 and ipv6 in both. + tests: remove executable bit on test_net, so it runs, and fix it. + tests: No longer monkey patch httpretty for python 3.4.2 + Add 3 ecdsa-sha2-nistp* ssh key types now that they are standardized + [Lars Kellogg-Stedman] (LP: #1658174) + reset httppretty for each test [Lars Kellogg-Stedman] (LP: #1658200) + build: fix running Make on a branch with tags other than master + EC2: Do not cache security credentials on disk + [Andrew Jorgensen] (LP: #1638312) + doc: Fix typos and clarify some aspects of the part-handler + [Erik M. Bray] + doc: add some documentation on OpenStack datasource. + OpenStack: Use timeout and retries from config in get_data. + [Lars Kellogg-Stedman] (LP: #1657130) + Fixed Misc issues related to VMware customization. [Sankar Tanguturi] + Fix minor docs typo: perserve > preserve [Jeremy Bicha] + Use dnf instead of yum when available + [Lars Kellogg-Stedman] (LP: #1647118) + validate-yaml: use python rather than explicitly python3 + Get early logging logged, including failures of cmdline url. - From 0.7.9 + doc: adjust headers in tests documentation for consistency. + pep8: fix issue found in zesty build with pycodestyle. + integration test: initial commit of integration test framework + [Wesley Wiedenmeier] + LICENSE: Allow dual licensing GPL-3 or Apache 2.0 [Jon Grimm] + Fix config order of precedence, putting kernel command line over system. + [Wesley Wiedenmeier] (LP: #1582323) + pep8: whitespace fix + Update the list of valid ssh keys. [Michael Felt] + network: add ENI unit test for statically rendered routes. + set_hostname: avoid erroneously appending domain to fqdn + [Lars Kellogg-Stedman] (LP: #1647910) + doc: change 'nobootwait' to 'nofail' in docs [Anhad Jai Singh] + Replace an expired bit.ly link in code comment. + user-groups: fix bug when groups was provided as string and had spaces + (LP: #1354694) + mounts: use mount -a again to accomplish mounts (LP: #1647708) + CloudSigma: Fix bug where datasource was not loaded in local search. + (LP: #1648380) + when adding a user, strip whitespace from group list [Lars Kellogg-Stedman] + (LP: #1354694) + fix decoding of utf-8 chars in yaml test + Replace usage of sys_netdev_info with read_sys_net (LP: #1625766) + fix problems found in python2.6 test. + OpenStack: extend physical types to include hyperv, hw_veb, vhost_user. + (LP: #1642679) + tests: fix assumptions that expected no eth0 in system. (LP: #1644043) + net/cmdline: Consider ip= or ip6= on command line not only ip= + (LP: #1639930) + Just use file logging by default (LP: #1643990) + Improve formatting for ProcessExecutionError [Wesley Wiedenmeier] + flake8: fix trailing white space + Doc: various documentation fixes [Sean Bright] + cloudinit/config/cc_rh_subscription.py: Remove repos before adding + [Brent Baude] + packages/redhat: fix rpm spec file. + main: set TZ in environment if not already set. [Ryan Harper] + Azure: No longer rely on walinux agent. (LP: #1538522) + disk_setup: Use sectors as unit when formatting MBR disks with sfdisk. + [Daniel Watkins] (LP: #1460715) + Add activate_datasource, for datasource specific code paths. (LP: #1611074) + systemd: cloud-init-local use RequiresMountsFor=/var/lib/cloud + (LP: #1642062) + systemd: cloud-init remove After=systemd-networkd-wait-online + systemd: cloud-init-local change Before basic to sysinit + pep8: fix style errors reported by pycodestyle 2.1.0 + systemd: drop both Wants and After local-fs.target + systemd: networking service adjustments. (LP: #1636912) + systemd: replace Before=basic.target, dbus.target with sysinit.target + (LP: #1629797) + doc: Add documentation on stages of boot. + doc: make the RST files consistently formated and other improvements. + Ec2: fix syntax and tox in previous commit. + Ec2: protect against non-dictionary in block-device-mapping. + doc: fixed example to not overwrite /etc/hosts [Chris Glass] + Doc: fix spelling / typos in ca_certs and scripts_vendor. + pyflakes: fix issue with pyflakes 1.3 found in ubuntu zesty-proposed. + net/cmdline: Further adjustments to ipv6 support [LaMont Jones] + (LP: #1621615) + Add coverage dependency to bddeb to fix package build. + doc: improve HACKING.rst file + dmidecode: Allow dmidecode to be used on aarch64 [Robert Schweikert] + AliYun: Add new datasource for Ali-Cloud ECS [kaihuan.pkh] + Add coverage collection to tox unit tests. [Joshua Powers] + cc_users_groups: fix remaing call to ds.normalize_user_groups [Ryan Harper] + disk-config: udev settle after partitioning in gpt format. (LP: #1626243) + unittests: do not read system /etc/cloud/cloud.cfg.d (LP: #1635350) + Add documentation for logging features. [Wesley Wiedenmeier] + Add support for snap create-user on Ubuntu Core images. [Ryan Harper] + Fix sshd restarts for rhel distros. [Jim Gorz] + OpenNebula: replace 'ip' parsing with cloudinit.net usage. + Fix python2.6 things found running in centos 6. + Move user/group functions to new ug_util file + DigitalOcean: enable usage of data source by default. + update Gentoo initscripts to run in the correct order [Matthew Thode] + MAAS: improve the main of datasource to look at kernel cmdline config. + tests: silence the Cheetah UserWarning about NameMapper C version. + systemd: Run cloud-init.service Before dbus.socket not dbus.target + [Daniel Watkins] (LP: #1629797) + systemd: run cloud-init.service Before dbus.service (LP: #1629797) + unittests: fix use of mock 2.0 'assert_called' when running make check + [Ryan Harper] + Improve module documentation and doc cleanup. [Wesley Wiedenmeier] + lxd: Update network config for LXD 2.3 [Stéphane Graber] + DigitalOcean: use meta-data for network configruation [Ben Howard] + ntp: move to run after apt configuration (LP: #1628337) + Decode unicode types in decode_binary [Robert Schweikert] + systemd: Ensure that cloud-init-local happens before NetworkManager + Allow ephemeral drive to be unpartitioned [Paul Meyer] + subp: add 'update_env' argument + net: support reading ipv6 dhcp config from initramfs [LaMont Jones] + (LP: #1621615, #1621507) + Adjust mounts and disk configuration for systemd. (LP: #1611074) + dmidecode: run dmidecode only on i?86 or x86_64 arch. [Robert Schweikert] + systemd: put cloud-init.target After multi-user.target (LP: #1623868)- add skip-argparse-on-python3.patch: don't depend on argparse for python3, it is builtin there (as of python 3.2, so the patch should be good enough)- python_sitelib does not seem to exist for non single-spec python modules, use python2_sitelib and python3_sitelib instead.- Drop python-cheetah as requirement + Cheetah is no maintained and cloud-init switches to Jinja2 as templating engine if Cheetah is not available - Drop argparse as dependency for Py3 build + argparse is built into Python- Modify cloud-init-finalbeforelogin.patch (bsc#1047363) + Support user processes running in coud-init-final to consume a large number of threads. - Modify cloud-init-service.patch (bsc#1055649) + Start after dbus.service, needed by hotnamectl - Modify cloud-init-handle-not-implemented-query.patch + print needs () for Python3 - Add cloud-init-spceandtabs-clean.patch + Fix inconsistent use of spaces and tabs in various files - Modify suseIntegratedHandler.patch + Fix mode setting passed to function for file writing - Set packag up to build with Python 3 for distros later than SLE 12- On Tumbleweed we need net-tools-deprecated to setup the network- add cloud-init-net-sysconfig-lp1665441.patch (lp#1665441)- Don't call insserv if we use systemd- Do not set mount options for ephemeral drive, use the defaults that are built into the code (bsc#930524)- Update fix-default-systemd-unit-dir.patch (bsc#1024709) + based on work by Thomas Abraham - Add cloud-init-handle-not-implemented-query.patch (boo#1017832)- Require net-tools for network setup- Configuration split (bsc#1016160)- fix syntax error in datasource LocalDisk (fix got somehow lost)- adjust license (as of 0.7.8 AGPL-3.0 was added)- fix unintentional edit in last change again- Modify suseIntegratedHandler.patch (bsc#998103) + Store previous hostname so update_hostname module does not overwrite manually set hostnames - cloud-init-python26.patch + Compatibility fixes with Python 2.6- fix the cloud.cfg split, cyclic non-versioned dependencies are bad. also fix changelog entries- add datasourceLocalDisk.patch: * Fix datasourceLocalDisk module in case directory exists but is empty.- Add Conflicts for otherproviders of cloud-init-config. - Add require for python-six (used by several modules)- Add LocalDisk datasource datasourceLocalDisk.patch [FATE#321107]- Reworked zypp_add_repos.diff to behave similar to zypper ar- Move cloud.cfg into an own sub-package, so that we can have a product specific version. [FATE#322039]- Add zypp_add_repos.diff to support repos for zypper [FATE#322038]- Modify suseIntegratedHandler.patch (bsc#1007529) + Fall back to the previous method of writing network information We have to work out upstream how to have distro specific renderer for sysconfig- Add cloud-init-sysconfig-netpathfix.patch (bsc#1007529) + Fix the default path for network scripts - Cosmetic changes to suseIntegratedHandler.patch- Update cloud-init-no-dmidecode-on-ppc64.patch (bsc#1005616) + aarch64 does support dmidecode- Update cloud-init-service.patch + Break another cycle this one in -final- Update cloud-init-service.patch + Better match upstream intend Ubuntu networking.service is equivalent to SUSE wicked, thus we cannot translate networking to network, but need to translate it to wicked- Update cloud-init-service.patch + We need the following order: - something brings networking fully up (in our case wicked) - cloud-init.service runs - network-online.target is reached- Update cloud-init-service.patch + The network must be up an running in order to get ssh key injected- Update cloud-init-service.patch + Had self reference and thus cloud-init.service was never executed which caused ssh key loading failure- Do not own /lib/udev to not conflict with udev rpm- Forward port suseIntegratedHandler.patch + Implement new abstract interfaces + Some minor implementation fixes- Appease the build service, differences between OBS and IBS, and own the directories- Fix package, udev rules should be in /usr for distros after SLES 11- add cloud-init-digital-ocean-datasource-enable-by-default.patch, cloud-init-digital-ocean-datasource.patch: add DigitalOcean support - run tests on build- Add cloud-init-handle-no-carrier.patch (boo#1003977) - Handle the exception when attempting to detect if the network device is up when it is not- Update cloud-init-service.patch (boo#999942) - Backport upstream commits 3705bb5964a and 6e45ffb21e96- Decoding error (boo#998843) + Added cloud-init-fix-unicode-handling-binarydecode.patch - Fix dependencies, depends on oauthlib instead of oauth- Fix dataSourceOpenNebula.patch, missing closing paren (boo#998836)- Fix typo in cloud-init-service.patch- update to version 0.7.8 (bsc#998103) + added cloud-init-net-eni.patch based on work by eblock - Using config-drive instead of metadata failed because the network translation to Ubuntu-style did not return gateway information to opensuse.py + added cloud-init-service.patch based on work by eblock - The service file cloud-init.service referenced networking.service which on SUSE is network.service + remove no_logic_change.patch included in updated upstream source + forward port suseIntegratedHandler.patch + forward port setupSUSEsysVInit.diff + forward port cloud-init-no-dmidecode-on-ppc64.patch + foward port dataSourceOpenNebula.patch + forward port fix-default-systemd-unit-dir.patch + forward port cloud-init-finalbeforelogin.patch + forward port cloud-init-python2-sigpipe.patch + SmartOS: more improvements for network configuration + add ntp config module [Ryan Harper] + ChangeLog: update changelog for previous commit. + Add distro tags on config modules that should have it. + NoCloud: fix bug providing network-interfaces via meta-data. (LP: 1577982) + ConfigDrive: recognize 'tap' as a link type. (LP: #1610784) + Upgrade to a configobj package new enough to work + MAAS: add vendor-data support (LP: #1612313) + DigitalOcean: use the v1.json endpoint [Ben Howard] + Get Azure endpoint server from DHCP client [Brent Baude] + Apt: add new apt configuration format [Christian Ehrhardt] + distros: fix get_primary_arch method use of os.uname [Andrew Jorgensen] + Fix Gentoo net config generation [Matthew Thode] + Minor cleanups to atomic_helper and add unit tests. + azure dhclient-hook cleanups + network: fix get_interface_mac for bond slave, read_sys_net for ENOTDIR + Generate a dummy bond name for OpenStack (LP: #1605749) + add install option for openrc [Matthew Thode] + Add a module that can configure spacewalk. + python2.6: fix dict comprehension usage in _lsb_release. + apt-config: allow both old and new format to be present. [Christian Ehrhardt] (LP: #1616831) + bddeb: add --release flag to specify the release in changelog. + salt minion: update default pki directory for newer salt minion. (LP: #1609899) + Fix typo in default keys for phone_home [Roland Sommer] (LP: #1607810) + apt config conversion: treat empty string as not provided. (LP: #1621180) + tests: cleanup tempdirs in apt_source tests + systemd: Better support package and upgrade. (LP: #1576692, #1621336) + remove obsolete .bzrignore + DataSourceOVF: fix user-data as base64 with python3 (LP: #1619394) + Allow link type of null in network_data.json [Jon Grimm] (LP: #1621968) from 0.7.7: + Digital Ocean: add datasource for Digital Ocean. [Neal Shrader] + expose uses_systemd as a distro function (fix rhel7) + fix broken 'output' config (LP: #1387340) + begin adding cloud config module docs to config modules (LP: #1383510) + retain trailing eol from template files (sources.list) when rendered with jinja (LP: #1355343) + Only use datafiles and initsys addon outside virtualenvs + Fix the digital ocean test case on python 2.6 + Increase the usefulness, robustness, configurability of the chef module so that it is more useful, more documented and better for users + Fix how '=' signs are not handled that well in ssh_utils (LP: #1391303) + Be more tolerant of ssh keys passed into 'ssh_authorized_keys'; allowing for list, tuple, set, dict, string types and warning on other unexpected types + Update to use newer/better OMNIBUS_URL for chef module + GCE: Allow base64 encoded user-data (LP: #1404311) [Wayne Witzell III] + GCE: use short hostname rather than fqdn (LP: #1383794) [Ben Howard] + systemd: make init stage run before login prompts shown [Steve Langasek] + hostname: on first boot apply hostname to be same as is written for persistent hostname. (LP: #1246485) + remove usage of dmidecode on linux in favor of /sys interface [Ben Howard] + python3 support [Barry Warsaw, Daniel Watkins, Josh Harlow] (LP: #1247132) + support managing gpt partitions in disk config [Daniel Watkins] + Azure: utilze gpt support for ephemeral formating [Daniel Watkins] + CloudStack: support fetching password from virtual router [Daniel Watkins] (LP: #1422388) + readurl, read_file_or_url returns bytes, user must convert as necessary + SmartOS: use v2 metadata service (LP: #1436417) [Daniel Watkins] + NoCloud: fix local datasource claiming found without explicit dsmode + Snappy: add support for installing snappy packages and configuring. + systemd: use network-online instead of network.target (LP: #1440180) [Steve Langasek] + Add functionality to fixate the uid of a newly added user. + Don't overwrite the hostname if the user has changed it after we set it. + GCE datasource does not handle instance ssh keys (LP: 1403617) + sysvinit: make cloud-init-local run before network (LP: #1275098) [Surojit Pathak] + Azure: do not re-set hostname if user has changed it (LP: #1375252) + Fix exception when running with no arguments on Python 3. [Daniel Watkins] + Centos: detect/expect use of systemd on centos 7. [Brian Rak] + Azure: remove dependency on walinux-agent [Daniel Watkins] + EC2: know about eu-central-1 availability-zone (LP: #1456684) + Azure: remove password from on-disk ovf-env.xml (LP: #1443311) [Ben Howard] + Doc: include information on user-data in OpenStack [Daniel Watkins] + Systemd: check for systemd using sd_booted symantics (LP: #1461201) [Lars Kellogg-Stedman] + Add an rh_subscription module to handle registration of Red Hat instances. [Brent Baude] + cc_apt_configure: fix importing keys under python3 (LP: #1463373) + cc_growpart: fix specification of 'devices' list (LP: #1465436) + CloudStack: fix password setting on cloudstack > 4.5.1 (LP: #1464253) + GCE: fix determination of availability zone (LP: #1470880) + ssh: generate ed25519 host keys (LP: #1461242) + distro mirrors: provide datasource to mirror selection code to support GCE regional mirrors. (LP: #1470890) + add udev rules that identify ephemeral device on Azure (LP: #1411582) + _read_dmi_syspath: fix bad log message causing unintended exception + rsyslog: add additional configuration mode (LP: #1478103) + status_wrapper in main: fix use of print_exc when handling exception + reporting: add reporting module for web hook or logging of events. + NoCloud: fix consumption of vendordata (LP: #1493453) + power_state_change: support 'condition' to disable or enable poweroff + ubuntu fan: support for config and installing of ubuntu fan (LP: #1504604) + Azure: support extracting SSH key values from ovf-env.xml (LP: #1506244) + AltCloud: fix call to udevadm settle (LP: #1507526) + Ubuntu templates: modify sources.list template to provide same sources as install from server or desktop ISO. (LP: #1177432) + cc_mounts: use 'nofail' if system uses systemd. (LP: #1514485) + Azure: get instance id from dmi instead of SharedConfig (LP: #1506187) + systemd/power_state: fix power_state to work even if cloud-final exited non-zero (LP: #1449318) + SmartOS: Add support for Joyent LX-Brand Zones (LP: #1540965) [Robert C Jennings] + systemd: support using systemd-detect-virt to detect container (LP: #1539016) [Martin Pitt] + docs: fix lock_passwd documentation [Robert C Jennings] + Azure: Handle escaped quotes in WALinuxAgentShim.find_endpoint. (LP: #1488891) [Dan Watkins] + lxd: add support for setting up lxd using 'lxd init' (LP: #1522879) + Add Image Customization Parser for VMware vSphere Hypervisor Support. [Sankar Tanguturi] + timezone: use a symlink rather than copy for /etc/localtime unless it is already a file (LP: #1543025). + Enable password changing via a hashed string [Alex Sirbu] + Added BigStep datasource [Alex Sirbu] + No longer run pollinate in seed_random (LP: #1554152) + groups: add defalt user to 'lxd' group. Create groups listed for a user if they do not exist. (LP: #1539317) + dmi data: fix failure of reading dmi data for unset dmi values + doc: mention label for nocloud datasource must be 'cidata' [Peter Hurley] + ssh_pwauth: fix module to support 'unchanged' and match behavior described in documentation [Chris Cosby] + quickly check to see if the previous instance id is still valid to avoid dependency on network metadata service on every boot (LP: #1553815) + support network configuration in cloud-init --local with support device naming via systemd.link. + FreeBSD: add support for installing packages, setting password and timezone. Change default user to 'freebsd'. [Ben Arblaster] + locale: list unsupported environment settings in warning (LP: #1558069) + disk_setup: correctly send --force to mkfs on block devices (LP: #1548772) + chef: fix chef install from gems (LP: #1553345) + systemd: do not specify After of obsolete syslog.target (LP: #1536964) + centos: Ensure that resolve conf object is written as a str (LP: #1479988) + chef: straighten out validation_cert and validation_key (LP: #1568940) + phone_home: allow usage of fqdn (LP: #1566824) [Ollie Armstrong] + cloudstack: Only use DHCPv4 lease files as a datasource (LP: #1576273) [Wido den Hollander] + Paths: fix instance path if datasource's id has a '/'. (LP: #1575938) [Robert Jennings] + Ec2: do not retry requests for user-data path on 404. + settings on the kernel command line (cc:) override all local settings rather than only those in /etc/cloud/cloud.cfg (LP: #1582323) + Improve merging documentation [Daniel Watkins] + apt sources: support inserting key/key-id only, custom sources.list, long gpg key fingerprints with spaces, and dictionary format (LP: #1574113) + SmartOS: datasource improvements and support for metadata service providing networking information. + Datasources: centrally handle 'dsmode' and no longer require datasources to "pass" if modules_init should be executed with network access. + ConfigDrive: improved support for networking information from a network_data.json or older interfaces formated network_config. + Change missing Cheetah log warning to debug [Andrew Jorgensen] + Remove trailing dot from GCE metadata URL (LP: #1581200) [Phil Roche] + support network rendering to sysconfig (for centos and RHEL) + write_files: if no permissions are given, just use default without warn. + user_data: fix error when user-data is not utf-8 decodable (LP: #1532072) + fix mcollective module with python3 (LP: #1597699) [Sergii Golovatiuk]- Add cloud-init-python2-sigpipe.patch (bsc#903449) + Restore SIGPIPE default handler when executing shell scripts- Add cloud-init-finalbeforelogin.patch (bsc#978048) + Ordering issue, avoid login prompt before cloud-init is finished- Update suseIntegratedHandler.patch (bsc#971275) + Properly handle the package_upgrade configuration option- Add dependency on jinja2 (bsc#948995,bsc#948996)- Add no_logic_change.patch to undo upstream logic changes introduced during style clean up- Properly write the routes file for static networks (bnc#920190) + modify suseIntegratedHandler.patch - Remove suseSetInitCmd.patch + is now integrated with suseIntegratedHandler.patch- pmtools only exist on Intel architecture (bnc#928552)- update to 0.7.6: - open 0.7.6 - Enable vendordata on CloudSigma datasource (LP: #1303986) - Poll on /dev/ttyS1 in CloudSigma datasource only if dmidecode says we're running on cloudsigma (LP: #1316475) [Kiril Vladimiroff] - SmartOS test: do not require existance of /dev/ttyS1. [LP: #1316597] - doc: fix user-groups doc to reference plural ssh-authorized-keys (LP: #1327065) [Joern Heissler] - fix 'make test' in python 2.6 - support jinja2 as a templating engine. Drop the hard requirement on cheetah. This helps in python3 effort. (LP: #1219223) - change install path for systemd files to /lib/systemd/system [Dimitri John Ledkov] - change trunk debian packaging to use pybuild and drop cdbs. [Dimitri John Ledkov] - SeLinuxGuard: remove invalid check that looked for stat.st_mode in os.lstat. - do not write comments in /etc/timezone (LP: #1341710) - ubuntu: provide 'ubuntu-init-switch' module to aid in systemd testing. - status/result json: remove 'end' entry which was always null - systemd: make cloud-init block ssh service startup to guarantee keys are generated. [Jordan Evans] (LP: #1333920) - default settings: fix typo resulting in OpenStack and GCE not working unless config explicitly provided (LP: #1329583) [Garrett Holmstrom]) - fix rendering resolv.conf if no 'options' are provided (LP: #1328953) - docs: fix disk-setup to reference 'table_type' [Rail Aliiev] (LP: #1313114) - ssh_authkey_fingerprints: fix bug that prevented disabling the module. (LP: #1340903) [Patrick Lucas] - no longer use pylint as a checker, fix pep8 [Jay Faulkner]. - Openstack: do not load some urls twice. - FreeBsd: fix initscripts and add working config file [Harm Weites] - Datasource: fix broken logic to provide hostname if datasource does not provide one - Improved and less verbose logging. - resizefs: first check that device is writable. - configdrive: fix reading of vendor data to be like metadata service reader. [Jay Faulkner] - resizefs: fix broken background resizing [Jay Faulkner] (LP: #1338614) - cc_grub_dpkg: fix EC2 hvm instances to avoid prompt on grub update. (LP: #1336855) - FreeBsd: support config drive datasource [Joseph bajin] - cc_mounts: support creating a swap file - Refresh addopenSUSEBase.patch - Refresh setupSUSEsysVInit.diff - Removed cloudinit-datasources.patch. Applied upstream - BuildRequires pkg-config. Needed to find correct systemd unit dir. - Add fix-default-systemd-unit-dir.patch . Use better default for systemd system unit dir.- Fix (bnc#919305 & bnc#918952) - Properly handle persistent network device names for OpenNebula + add dataSourceOpenNebula.patch - Properly set up network mode if interface config file + modified suseIntegratedHandler.patch- Require e2fsprogs for filesystem resizing- Remove Requires for python-yaml . There's already the right requirement for python-PyYAML- fixed syntax error in dmidecode on ppc64 patch (bnc#914920)ibs-arm-4 1648835783  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*%%-.%012345%789:;<=>?@ABCDEFGHI%KLM%OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*-./012345678921.4-150100.8.58.121.4-150100.8.58.121.4-150100.8.58.1  !!!!!! ""####"""$$%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$&&'''&&(((((((((((((((((((((((((((((()))))))))))))))))))))))))))))(**++++++++*******,,-,..////////////////...............*01111112345667778NetworkManagerdispatcher.dhook-network-managercloudcloud.cfg.d05_logging.cfgREADMEtemplateschef_client.rb.tmplchrony.conf.alpine.tmplchrony.conf.fedora.tmplchrony.conf.opensuse.tmplchrony.conf.photon.tmplchrony.conf.rhel.tmplchrony.conf.sles.tmplhosts.alpine.tmplhosts.freebsd.tmplhosts.photon.tmplhosts.suse.tmplntp.conf.alpine.tmplntp.conf.fedora.tmplntp.conf.opensuse.tmplntp.conf.photon.tmplntp.conf.rhel.tmplntp.conf.sles.tmplresolv.conf.tmplsystemd.resolved.conf.tmpltimesyncd.conf.tmpldhcpdhclient-exit-hooks.dhook-dhclientrsyslog.d21-cloudinit.confsshd-keygen@.service.ddisable-sshd-keygen-if-cloud-init-active.confcloud-idcloud-initcloud-init-percloud-initds-identifyhook-hotpluguncloud-initwrite-ssh-key-fingerprintscloud_init-21.4-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtrequires.txttop_level.txtcloudinit__init__.py__pycache____init__.cpython-36.pycapport.cpython-36.pycatomic_helper.cpython-36.pyccloud.cpython-36.pyccs_utils.cpython-36.pycdhclient_hook.cpython-36.pycdmi.cpython-36.pycec2_utils.cpython-36.pycevent.cpython-36.pycfeatures.cpython-36.pycgpg.cpython-36.pychelpers.cpython-36.pycimporter.cpython-36.pyclog.cpython-36.pycnetinfo.cpython-36.pycpatcher.cpython-36.pycpersistence.cpython-36.pycregistry.cpython-36.pycsafeyaml.cpython-36.pycserial.cpython-36.pycsettings.cpython-36.pycsignal_handler.cpython-36.pycsimpletable.cpython-36.pycssh_util.cpython-36.pycstages.cpython-36.pycsubp.cpython-36.pyctemp_utils.cpython-36.pyctemplater.cpython-36.pyctype_utils.cpython-36.pycurl_helper.cpython-36.pycuser_data.cpython-36.pycutil.cpython-36.pycversion.cpython-36.pycwarnings.cpython-36.pycanalyze__init__.py__main__.py__pycache____init__.cpython-36.pyc__main__.cpython-36.pycdump.cpython-36.pycshow.cpython-36.pycdump.pyshow.pyapport.pyatomic_helper.pycloud.pycmd__init__.py__pycache____init__.cpython-36.pycclean.cpython-36.pyccloud_id.cpython-36.pycmain.cpython-36.pycquery.cpython-36.pycstatus.cpython-36.pycclean.pycloud_id.pydevel__init__.py__pycache____init__.cpython-36.pychotplug_hook.cpython-36.pyclogs.cpython-36.pycmake_mime.cpython-36.pycnet_convert.cpython-36.pycparser.cpython-36.pycrender.cpython-36.pychotplug_hook.pylogs.pymake_mime.pynet_convert.pyparser.pyrender.pymain.pyquery.pystatus.pyconfig__init__.py__pycache____init__.cpython-36.pyccc_apk_configure.cpython-36.pyccc_apt_configure.cpython-36.pyccc_apt_pipelining.cpython-36.pyccc_bootcmd.cpython-36.pyccc_byobu.cpython-36.pyccc_ca_certs.cpython-36.pyccc_chef.cpython-36.pyccc_debug.cpython-36.pyccc_disable_ec2_metadata.cpython-36.pyccc_disk_setup.cpython-36.pyccc_emit_upstart.cpython-36.pyccc_fan.cpython-36.pyccc_final_message.cpython-36.pyccc_foo.cpython-36.pyccc_growpart.cpython-36.pyccc_grub_dpkg.cpython-36.pyccc_install_hotplug.cpython-36.pyccc_keys_to_console.cpython-36.pyccc_landscape.cpython-36.pyccc_locale.cpython-36.pyccc_lxd.cpython-36.pyccc_mcollective.cpython-36.pyccc_migrator.cpython-36.pyccc_mounts.cpython-36.pyccc_ntp.cpython-36.pyccc_package_update_upgrade_install.cpython-36.pyccc_phone_home.cpython-36.pyccc_power_state_change.cpython-36.pyccc_puppet.cpython-36.pyccc_refresh_rmc_and_interface.cpython-36.pyccc_reset_rmc.cpython-36.pyccc_resizefs.cpython-36.pyccc_resolv_conf.cpython-36.pyccc_rh_subscription.cpython-36.pyccc_rightscale_userdata.cpython-36.pyccc_rsyslog.cpython-36.pyccc_runcmd.cpython-36.pyccc_salt_minion.cpython-36.pyccc_scripts_per_boot.cpython-36.pyccc_scripts_per_instance.cpython-36.pyccc_scripts_per_once.cpython-36.pyccc_scripts_user.cpython-36.pyccc_scripts_vendor.cpython-36.pyccc_seed_random.cpython-36.pyccc_set_hostname.cpython-36.pyccc_set_passwords.cpython-36.pyccc_snap.cpython-36.pyccc_spacewalk.cpython-36.pyccc_ssh.cpython-36.pyccc_ssh_authkey_fingerprints.cpython-36.pyccc_ssh_import_id.cpython-36.pyccc_timezone.cpython-36.pyccc_ubuntu_advantage.cpython-36.pyccc_ubuntu_drivers.cpython-36.pyccc_update_etc_hosts.cpython-36.pyccc_update_hostname.cpython-36.pyccc_users_groups.cpython-36.pyccc_write_files.cpython-36.pyccc_write_files_deferred.cpython-36.pyccc_yum_add_repo.cpython-36.pyccc_zypper_add_repo.cpython-36.pycschema.cpython-36.pyccc_apk_configure.pycc_apt_configure.pycc_apt_pipelining.pycc_bootcmd.pycc_byobu.pycc_ca_certs.pycc_chef.pycc_debug.pycc_disable_ec2_metadata.pycc_disk_setup.pycc_emit_upstart.pycc_fan.pycc_final_message.pycc_foo.pycc_growpart.pycc_grub_dpkg.pycc_install_hotplug.pycc_keys_to_console.pycc_landscape.pycc_locale.pycc_lxd.pycc_mcollective.pycc_migrator.pycc_mounts.pycc_ntp.pycc_package_update_upgrade_install.pycc_phone_home.pycc_power_state_change.pycc_puppet.pycc_refresh_rmc_and_interface.pycc_reset_rmc.pycc_resizefs.pycc_resolv_conf.pycc_rh_subscription.pycc_rightscale_userdata.pycc_rsyslog.pycc_runcmd.pycc_salt_minion.pycc_scripts_per_boot.pycc_scripts_per_instance.pycc_scripts_per_once.pycc_scripts_user.pycc_scripts_vendor.pycc_seed_random.pycc_set_hostname.pycc_set_passwords.pycc_snap.pycc_spacewalk.pycc_ssh.pycc_ssh_authkey_fingerprints.pycc_ssh_import_id.pycc_timezone.pycc_ubuntu_advantage.pycc_ubuntu_drivers.pycc_update_etc_hosts.pycc_update_hostname.pycc_users_groups.pycc_write_files.pycc_write_files_deferred.pycc_yum_add_repo.pycc_zypper_add_repo.pyschema.pycs_utils.pydhclient_hook.pydistros__init__.py__pycache____init__.cpython-36.pycalmalinux.cpython-36.pycalpine.cpython-36.pycamazon.cpython-36.pycarch.cpython-36.pycbsd.cpython-36.pycbsd_utils.cpython-36.pyccentos.cpython-36.pyccloudlinux.cpython-36.pycdebian.cpython-36.pycdragonflybsd.cpython-36.pyceurolinux.cpython-36.pycfedora.cpython-36.pycfreebsd.cpython-36.pycgentoo.cpython-36.pycnet_util.cpython-36.pycnetbsd.cpython-36.pycnetworking.cpython-36.pycopenEuler.cpython-36.pycopenbsd.cpython-36.pycopensuse.cpython-36.pycphoton.cpython-36.pycrhel.cpython-36.pycrhel_util.cpython-36.pycrocky.cpython-36.pycsles.cpython-36.pycubuntu.cpython-36.pycug_util.cpython-36.pycvirtuozzo.cpython-36.pycalmalinux.pyalpine.pyamazon.pyarch.pybsd.pybsd_utils.pycentos.pycloudlinux.pydebian.pydragonflybsd.pyeurolinux.pyfedora.pyfreebsd.pygentoo.pynet_util.pynetbsd.pynetworking.pyopenEuler.pyopenbsd.pyopensuse.pyparsers__init__.py__pycache____init__.cpython-36.pychostname.cpython-36.pychosts.cpython-36.pycnetworkmanager_conf.cpython-36.pycresolv_conf.cpython-36.pycsys_conf.cpython-36.pychostname.pyhosts.pynetworkmanager_conf.pyresolv_conf.pysys_conf.pyphoton.pyrhel.pyrhel_util.pyrocky.pysles.pyubuntu.pyug_util.pyvirtuozzo.pydmi.pyec2_utils.pyevent.pyfeatures.pyfilters__init__.py__pycache____init__.cpython-36.pyclaunch_index.cpython-36.pyclaunch_index.pygpg.pyhandlers__init__.py__pycache____init__.cpython-36.pycboot_hook.cpython-36.pyccloud_config.cpython-36.pycjinja_template.cpython-36.pycshell_script.cpython-36.pycupstart_job.cpython-36.pycboot_hook.pycloud_config.pyjinja_template.pyshell_script.pyupstart_job.pyhelpers.pyimporter.pylog.pymergers__init__.py__pycache____init__.cpython-36.pycm_dict.cpython-36.pycm_list.cpython-36.pycm_str.cpython-36.pycm_dict.pym_list.pym_str.pynet__init__.py__pycache____init__.cpython-36.pycactivators.cpython-36.pycbsd.cpython-36.pyccmdline.cpython-36.pycdhcp.cpython-36.pyceni.cpython-36.pycfreebsd.cpython-36.pycnetbsd.cpython-36.pycnetplan.cpython-36.pycnetwork_state.cpython-36.pycnetworkd.cpython-36.pycopenbsd.cpython-36.pycrenderer.cpython-36.pycrenderers.cpython-36.pycsysconfig.cpython-36.pycudev.cpython-36.pycactivators.pybsd.pycmdline.pydhcp.pyeni.pyfreebsd.pynetbsd.pynetplan.pynetwork_state.pynetworkd.pyopenbsd.pyrenderer.pyrenderers.pysysconfig.pyudev.pynetinfo.pypatcher.pypersistence.pyregistry.pyreporting__init__.py__pycache____init__.cpython-36.pycevents.cpython-36.pychandlers.cpython-36.pycevents.pyhandlers.pysafeyaml.pyserial.pysettings.pysignal_handler.pysimpletable.pysourcesDataSourceAliYun.pyDataSourceAltCloud.pyDataSourceAzure.pyDataSourceBigstep.pyDataSourceCloudSigma.pyDataSourceCloudStack.pyDataSourceConfigDrive.pyDataSourceDigitalOcean.pyDataSourceEc2.pyDataSourceExoscale.pyDataSourceGCE.pyDataSourceHetzner.pyDataSourceIBMCloud.pyDataSourceLXD.pyDataSourceLocalDisk.pyDataSourceMAAS.pyDataSourceNoCloud.pyDataSourceNone.pyDataSourceOVF.pyDataSourceOpenNebula.pyDataSourceOpenStack.pyDataSourceOracle.pyDataSourceRbxCloud.pyDataSourceScaleway.pyDataSourceSmartOS.pyDataSourceUpCloud.pyDataSourceVMware.pyDataSourceVultr.py__init__.py__pycache__DataSourceAliYun.cpython-36.pycDataSourceAltCloud.cpython-36.pycDataSourceAzure.cpython-36.pycDataSourceBigstep.cpython-36.pycDataSourceCloudSigma.cpython-36.pycDataSourceCloudStack.cpython-36.pycDataSourceConfigDrive.cpython-36.pycDataSourceDigitalOcean.cpython-36.pycDataSourceEc2.cpython-36.pycDataSourceExoscale.cpython-36.pycDataSourceGCE.cpython-36.pycDataSourceHetzner.cpython-36.pycDataSourceIBMCloud.cpython-36.pycDataSourceLXD.cpython-36.pycDataSourceLocalDisk.cpython-36.pycDataSourceMAAS.cpython-36.pycDataSourceNoCloud.cpython-36.pycDataSourceNone.cpython-36.pycDataSourceOVF.cpython-36.pycDataSourceOpenNebula.cpython-36.pycDataSourceOpenStack.cpython-36.pycDataSourceOracle.cpython-36.pycDataSourceRbxCloud.cpython-36.pycDataSourceScaleway.cpython-36.pycDataSourceSmartOS.cpython-36.pycDataSourceUpCloud.cpython-36.pycDataSourceVMware.cpython-36.pycDataSourceVultr.cpython-36.pyc__init__.cpython-36.pychelpers__init__.py__pycache____init__.cpython-36.pycazure.cpython-36.pycdigitalocean.cpython-36.pychetzner.cpython-36.pycnetlink.cpython-36.pycopenstack.cpython-36.pycupcloud.cpython-36.pycvultr.cpython-36.pycazure.pydigitalocean.pyhetzner.pynetlink.pyopenstack.pyupcloud.pyvmware__init__.py__pycache____init__.cpython-36.pycimc__init__.py__pycache____init__.cpython-36.pycboot_proto.cpython-36.pycconfig.cpython-36.pycconfig_custom_script.cpython-36.pycconfig_file.cpython-36.pycconfig_namespace.cpython-36.pycconfig_nic.cpython-36.pycconfig_passwd.cpython-36.pycconfig_source.cpython-36.pycguestcust_error.cpython-36.pycguestcust_event.cpython-36.pycguestcust_state.cpython-36.pycguestcust_util.cpython-36.pycipv4_mode.cpython-36.pycnic.cpython-36.pycnic_base.cpython-36.pycboot_proto.pyconfig.pyconfig_custom_script.pyconfig_file.pyconfig_namespace.pyconfig_nic.pyconfig_passwd.pyconfig_source.pyguestcust_error.pyguestcust_event.pyguestcust_state.pyguestcust_util.pyipv4_mode.pynic.pynic_base.pyvultr.pyssh_util.pystages.pysubp.pytemp_utils.pytemplater.pytype_utils.pyurl_helper.pyuser_data.pyutil.pyversion.pywarnings.pycloud-init-generatorcloud-config.servicecloud-config.targetcloud-final.servicecloud-init-local.servicecloud-init.servicecloud-init.target66-azure-ephemeral.rulescloud-initcloud-initcloud-initLICENSELICENSE-GPLv3cloud-id.1.gzcloud-init-per.1.gzcloud-init.1.gzcloud/etc//etc/NetworkManager//etc/NetworkManager/dispatcher.d//etc/cloud//etc/cloud/cloud.cfg.d//etc/cloud/templates//etc/dhcp//etc/dhcp/dhclient-exit-hooks.d//etc/rsyslog.d//etc/systemd/system//etc/systemd/system/sshd-keygen@.service.d//usr/bin//usr/lib//usr/lib/cloud-init//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/cloud_init-21.4-py3.6.egg-info//usr/lib/python3.6/site-packages/cloudinit//usr/lib/python3.6/site-packages/cloudinit/__pycache__//usr/lib/python3.6/site-packages/cloudinit/analyze//usr/lib/python3.6/site-packages/cloudinit/analyze/__pycache__//usr/lib/python3.6/site-packages/cloudinit/cmd//usr/lib/python3.6/site-packages/cloudinit/cmd/__pycache__//usr/lib/python3.6/site-packages/cloudinit/cmd/devel//usr/lib/python3.6/site-packages/cloudinit/cmd/devel/__pycache__//usr/lib/python3.6/site-packages/cloudinit/config//usr/lib/python3.6/site-packages/cloudinit/config/__pycache__//usr/lib/python3.6/site-packages/cloudinit/distros//usr/lib/python3.6/site-packages/cloudinit/distros/__pycache__//usr/lib/python3.6/site-packages/cloudinit/distros/parsers//usr/lib/python3.6/site-packages/cloudinit/distros/parsers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/filters//usr/lib/python3.6/site-packages/cloudinit/filters/__pycache__//usr/lib/python3.6/site-packages/cloudinit/handlers//usr/lib/python3.6/site-packages/cloudinit/handlers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/mergers//usr/lib/python3.6/site-packages/cloudinit/mergers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/net//usr/lib/python3.6/site-packages/cloudinit/net/__pycache__//usr/lib/python3.6/site-packages/cloudinit/reporting//usr/lib/python3.6/site-packages/cloudinit/reporting/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources//usr/lib/python3.6/site-packages/cloudinit/sources/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/imc//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/imc/__pycache__//usr/lib/systemd/system-generators//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/share/bash-completion/completions//usr/share/doc/packages//usr/share/licenses//usr/share/licenses/cloud-init//usr/share/man/man1//var/lib/-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:23520/SUSE_SLE-15-SP1_Update/2dbb1186f917c5af59dcaa11705d2216-cloud-init.SUSE_SLE-15-SP1_Updatedrpmxz5aarch64-suse-linux       directoryPOSIX shell script, ASCII text executableASCII textUTF-8 Unicode textPython script, ASCII text executableBourne-Again shell script, ASCII text executableemptypython 3.6 byte-compiledPython script, UTF-8 Unicode text executablePython script text executable Python script, ASCII text executabletroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R za _вl\utf-81cceea74879fcec429af479e5e34b41c0800b62b5bf089b0ec7c57aedd78de74? 7zXZ !t/&]"k%f1ƷmO3y7uC)!ɊLcxbIis#=?V)YC)Rҕ/@gxAVc*jv2H/ɡޓ;.0&WFpl,ޜjC74?SFum॰"ٗe}n@M4Q Rh+[Yl>V_ st;$jh!*dX7p~ T=rGjunΊjP@PƆsk'þ}oa{!]/+>Դɝ8HzI3QZJʜ⾻Ix < r>&T{3Uyh3nc-]N^*n WunZQ\(_Ο!EHDj+KݖG.^!ݼ'O%yY*IV˥k:FLxؕ5j *C[ 5@k* ILs *6\*"iܐx zR'$Rf͂' 74׏C'90a2]=/*WQ96JVXmS4 +B!Bm2oqU7~tMp)UF ̀EQ(P?\lG͙cW*+j frLjCʧ5MA(yRF{۾h/?BN=X-c;dwJrGy>6Lw)mRe?B ֘8Uj5o; ["$XP4,3.0Acқ7#92lsLBXYZE1zl7"ITjT@81Jm_cq:^E=%H@:.Q&` rW.9mt <4϶XzFYk,9MW$<}ϒ {}~oR[Hņ4l*=>j" 3̈CH{+{sʴdpM5ŕ"DZ8IZBR!mR#"hUъֱL'Hl^'dg&FHN,Qp8dwB.S.=B"ip_{I/fW{ݨlhvGCWxz@Y9ɵIi$x`°JcN!} Z@v3Пtnz]SBe / )A "okDpu/鄿W7iIa&vjtq+*-a `Z`kirirܮvXJNļJ17GnlhJj0}>g6|k΄!Yi]1}!ζ\΂DhP͎_5L-Ɨx%u9k1(v}bk۔Z5x ]i! M,hn\{q'xw̏(giř6 d[+|A` y= }-X9@sX\2uzT5%xC@ϧ@]䩜(wh ^䘆OR0V?bk)DŘ.#KՖVޞM!]t*1ZG@Q>L.hq2)Ux:xlnyPA:p۩pSsy0.8O(Z7ڵm?HPƋ&=xhmtlcw 'AL7`!PC'b|4%KcgSg9% qKM~a AKąaL. .Q86=n~CB7jpօ]%1)ʛT404y!)i}E5}Κu^'4=Xu+O/Kdƫ) 6kM;ƍ;M'|^?j_R7^ڥug,ǒV^TH/.'˙! V  @Ya+LB5>s9 Ȗ GOS(N[)6F]4.Dhǎtm[k$nZS4/)8pfS|.Ѩ"{B)spMAmt OТ㗍q;Ν ҨtTP5. @TO.|RĎLsț'B0Wıf(p+JNY &7PƗTʆ g'!/KPWNw rQjG Kژ$WLBGh\Hݤ>dl 4gv~Sxa]OT)$ K #%&;ᮅ>^;cB$#{3ZCI~Vc=6ƌv>{$Tp@5N)s_~hRw΄@9wr|_|71O;Kj[R)d\е"SrzAtz]F?|TG3oC78x5?Y791A8 9ǰ^ F%)sYU rDWgabF Q̚9[FD!vF-4-7D"߮OGST CC\O&z<4̭ς:IMs)I,fP HaGObs%R%6-TUX6! szn~̞ 5br3sl|~ 7x!Ufϻ!k"RZ>0+:;%/f͏G HMkPwbsjYํS]1!nI~]6c5iBpӒ+eӺ踧QWdF% wS +3Fx^*lgf, {ET0"*$DNm%}ݹXלXd2wV[7JP2'F1#0)+]Pc?~ =)BȊ0 9x i}r˨BT=T}`[n¡D+m&ɌVujauDh+/w[[%>]ROyC#&Nӡ%'|(JhS6—6(Yì;Apv$tN9`ҭo2(04v1iq03$b]@ѹb.(Y98BtY jn?nXصl; PN 2lɲJm2zp>͵[2Nud wWq`2t)%K_)22lJA谂Yȅ4pz. H}؉ /Ѫ1ImRZމ܎u<&f[ N$rOq D3[=Ot`eE21՟Oc#5P(Q HhY2AgFx.| 2ãIMh# i$b.Pd rQ݂\w!WI%tJ+\h!Q/Xΐ3Bӥ&uܝc H0˘C3ƥWYI|Q НmC2w*4+1 :9>؉GitYOʫ$)!|PA벮ġ|0׹B.?~ Fҥ)İD5>5ff9b>e4F8%"1<& d3N! |Wv8sF%#.lۜ_{OKN @H vq.)I)RHn DjUb}=U *TR| A%l~:A:cEdpAd[,q4e%s,.GWO% A<0PE7manX>j݋O}O`gmTٞӸX@1*>2aQDMBx}a <b&S2R 2>,?"WF5~˟CDwҰ-c$S! O&}(5]\y["EfW3I&p(M9"sl3V C khet{MFG[i_؏'|9N`sF Yg7'0kIJW kfreznd-e{FJ?XLֹ={#i=.dsuY|M0n:yq>(:))kXm.xRg7K0(gOSvG["22H`xD:BoH}OZOX~U9ƎPL;EO"Y":WTFj?3/ZLwHټP2R&j p|NW'$)߲ؔإVTK=a1/YfC)iAg<)Gz @/7@SjwX\ R%x}v0(xEhw QO|2%y=e8ܮ :^J TcnysA9W҉smr= e[ A)(A8ު}֌m%J؉Dloia56^%аճZww."h3*| )r  U U0[\ED*g-G@gJƁ晭W ՙrT66ٻdU/ fVT6ϊL6P$8Xs[x!j#&T)DpI< ^msU8ik:G,G9E^jApHI* g٬f^8 Uap+2:@ ͏08yZI|/x |jMH$p&ùT.52WC*$mevwvY_I=6{z3A  ܈yZq{a^c&ZnZbRh3Q2CA a3'M ^LYik :Ms9L\bhtyu<*ߐJk^xY)>JB=_*Y.(\Qd|7z8(9CfNLqq4s~U/4:}ڕ I6pXEQ9$(.Q돸~4^BDqJ)6ʳoP\|0 ̐0V?Z70D,S$+Q  N.,-[ ^\=ݽ],=>Կ<؂;c)6&UQat@[sA$n&h+$~溫گ3|$T 2#9וnoLuCx<[X<^hꊬGj+ם6;?]l;6B70=y(Zy2 Vюj]W 8/UaS$Mgߥ/\DfS/kMo9^3+Ʀ>2AJ ΓϑYnȲ{׆ME=)V^4֛SI1kj05f`~kXg Gc@vb<wv;\xJDKX2< ll[RA%ϟ)Z{&.;[&?n6$^pd(\JB;w|g 9t?[̖́ߞSJPNF  <~jxY{ K+h ;J!9\&2v"T*Q3.QaIPO\L?eLQR8rTkeX *Fʛ_rXqjL@,ڠR`ͧU ,,M$CBf8G5gI*@Mz5Pj?)B).j)BP@.FI1MB<e(ïۚj0x>bL[ IJNH}W 6j-".6#Fy7鯔>i"(o>ĩHW9wlPbNLr*aHQryg%8ʫ7 'K7xLך!D ׺_nt,*A1":5!\p1'O@ T6C;IVn 2HQ!~e ="(r6B)35յ_r)гKBRce#|rODN(CdGMiYHi)֕JT CF1azՅVGՇ#3 O}LjB#ǁ:%K9]Ov9$%v3=zbRQL&D6j?лX.OLm2R ,jR.VۈRn$%?YvVOcSd΅tk$H'aZv [ H팂?R0}Η=̽vs|YGׁ/"On=OqGy)>Ig6}ʳKwE"SIYHE=4TqtiIS' AQd&)t$?D}RƉ7ZzkS,".'ō_ʅs/r3>&XC yg77-F̖bYcOq6<@F+m)y8SUu̬.2)G^<'VbAϠ4>]pZ؛%DQ!|e\+Z!բdBzZ$)Xՠ)-lذ0RGc:7e0'SS.mlR*(*~!Qff/)@H YܞB~8B/ѡl/UaI\s i9T=U3zdV+ht@;3ccFAxĪ{v#yU?pc) Cݵ^46y{|7ˆUr|Q[?1z{y쾜^Y۶#^dR60%e̢;Fjܳ6)Zbpq\y>Cډ}` Us `'i\+ ծAdk"[hala&a2cEdC)ofj| OB6-$;rT/~Poi_ Pm> МwB~'m0=lCi5{>P rhjM[|hӠd)3ywρ%/lڨ'e6C0ņ̐@ <e!8ԉɬd"]sFҪT#o^gv`,ZmU7}i׻JDOB_]SPz3U5% "̟0-[;N.u/]=x<GES %ZѬG|>~[^եo Hڕ/^׬㹺^]j&,,G1W/qWþT`\Ez9kX/!R_Xd9eXksqbEL-n4~XR7W`6mㅚﺩ ?n['c CkcdymqA|/~( x utg\c?4 |[9Bۚ⦈/cN@M"$gU+|NL}-"lXhSgzB/ҪJ0 z-t楐ڼN$11aM3ݡC4!EZ?SaȆo4 VM0лG9F>(:O4m#_ȎOq'-ݡ*֓8Sjº IXC]2[P,Oz z}`1yjIPq cp, (i'lYQË~&)ŮՋRa& ,tv*f G <9w2:f[mׯ5Vm7lܰXUS=H'Hb]bSz\9&=YdsTB1=oYݧkn+zmL󤵧 =WPri]ΘDuK`>=AXk]εmVo(<Ťų3'Hp:ܛvgx n\G.LBjQGD(\#nB?~i:wv ո`Wɾff _cѷhxRJ~43b/`c^.7= 8 ̍k]rN\i ~ Urm_J jk: Fvo˞wWq1!%NZwWL,T#%mKυGT2YqMٜ!:/ȋaVIwf#F0(iM+=(ȱƌ6qWM/t}J10tZEh;ez~>ԎCW\~g.`2\V2HAhP捶Iyaz*6yѵ:ax f \\O i=UDn!A93G7irkyIl#VSyH| Itn\"0)۸&S͏Ib!GƢlKVn6?cfoiWziifiY woe@_AWOCMD:Ak pLZHn4% 1@DvՄIhc&ܤl>Ik[ڵcIA0(w41tA ]_ \h4ueB_N8#7M朸bՌ;n-lXݍr=c4D/yP搞OM6s}F)C֝2b&V7 Й.?)Tct2jwC$z]k%lK؍TJvZ/j1P 'V?]~~gwA1w3ل{FF .R}-\"*,jIga)8 NqʋRU#[ŕQiӈ ?4Sml3 qнsu<^fiyJ?#-RP}׋dtv=+:3j eHS+rR *0 {Q BJSoPod%TGtM h1X\ͫk].K V εKŪ?pewx7]{l+z8KVVX#:W@ V0Cm3"y9,"L(ʽ ,zTlJn-~xiW~ ׻` 82%CyZxoTS(%i8veb L֣O%sU=o ՞wmoJMwfB])V0 Y]CmwxD$0Wrt?#h \APGR6=˜)<Nn_MkEjә5r͚?d$槏|5Gtu=9z$n 'b] ψ~Y\{qh evMAr㰁; foDج쩟?\z8ffE{hR]կ3寞=h;\:tnN 8qO,u yVC %ӻcW7) &Vw-^wW9Z }t#u340,Bfx_e`_"Y=ciZ!$ bmQfQ@o+릚p X (`gZKp߻q.8h+1z{ pG|&IJspi1) La&2|_Rɶ&-{>D#vkS yݻW03;@mAŠPgj¼Gҵ p#vLMUFbr͐$z $$oŭC Ʌ' u\؀Oq7{3vs0!G4 t9n4F;[2-_P܇M4W"Ǔj; z.ѷidh r]$lU!M."l%6l_H(2‚Y3(xMq״%ߧ0Zh 傸kfR&݈ϵ<9A3j:سV#dz[gj*!(, nZP|=Gi˅8J&~FiCWWURY ;.985Lz&T&34xG+0W]盙x.ξxW T\T5Ec~mwsjh]#,6uN.⾅,R%C+t{MEnPc+e0+=VAX(j 0 NMgRfSVTc?í]F,$! ׉=ؚV]_;MSĂQfB뗉#5 Q%ĉX a3vFлK X #)?XP僧(C$.%٪QJHn1ӐҦg H/ʈ7bє1.ƒ5dC\)+2 4PCOu?.,fPї|pޑfOz"D7s~-V؏lm,X쀮ܮ؍ q_/2 6 %w 6| 1ӾA.2QF- 1/Z,΅G;W= b߽[}^JV hvuVMG0rui`HFϏFԇ&&_uXjshO>GeHύpx7E?I EK,JѶwymI>Ql x!7|3f}q+~ҖU A *Z^Rw=^r)V4UpNI]Vda R՝mUMGnv|iH+`Ai}sy+ :,Fm~G(G =ZxKAu0= k WJ5YI "/ִcHovO~ldYku|ڙ/}2+_736΃|FgIUR4\]$ 8:?MBo;U?{JWg~쵄_`uQU{kE97[{lAab#޿ό Էr!jsew *$ĀŹUe + W/Rؿ/!Fz?)5C-X75gd+yu n7]2LG~S`tOtt $5?\KB)a{4o gίce}A'bj {եJ_)gn*BpQvl7ب *u%xvHy _5U`c,kR@kO l>M$u ֆ£*9pL- \JqTtzXq7E1ekEH: pf&pO_S舋]; }k9?W:"{ڎRZ`)1 KLwhs76Qg־+mBq8˗Zq})H9NAyR=܊n%Ko ?1XHx}9j9AE +ѱ-RNCa|sYV,+J1<'/?jR:V {B&(&M%8]o$R[=2faZ~sdd"]0>|r?+(q1Mlf Birrj~m,r),Vج94G~ uL,=u;5P)v~z #[FK<:xvʤ,Mֈ(3J'&5_dGP ٕ{pYlgj?fdXq)ؓv}०1*DileGR{E_U1Euu >Bp ͌c4?h3eI^w#3:YѭΦ^M]xj@솻Cn^K%Iʁ1fO}_w @ #| `IcQFSuM:/%Y67~lZZLSXEvlJz+dts`g~ 9NNk~g=‡*= o&uHS`gvHKL3k I₭1G$ziOz4Ldy,a᪭^ xhp{ّE~>I"wa65d1YT7 M _BG}LQuO[[/H >3ET<<)J׷'iţ2xRy2)8:73"l bui {6enCozJeԹLjNt`2ʈ-qׇF B aCN4 ^NKC1 [oȑ!<'yj,nj:+5V,i !y<肝IQ!&[mf1@ECMYN2}2ɉH{AWR~czf`s4RNpk; r}tOU2#S%U+sq'YܹsQwj9.S62X@n .0le\%me=ky?"m 4}?69o3z{CYjOlNc4_(Y- J7 SwVc܀r8 J;@5"nf!n]Eє iъ4\f9Qla kCrWfChn5d,:Fݲ <6bRp>魄:bK贲.1 k'+ Z PLaӇsSUd~`?:TvzФJT#"@tUR3@Bt +5nN"cV"͜.=1Soߡ%oGWg'$"xgB^*a]bF~2} 7#k@ |&@9Uͼ{<,+`W獜A ADGzFQ2UDA k ǟf~¹pSVl"zdS1M@Ҩ=A#vc=syDp⹁qʶ 7VI$&G/$O95Y a HD%k9e7ѴV Â^Ji9S@z)/*g"iz(s.LVu+mEݣ&Gi.2R,j/H5X ;xUH=O.ߛ+|=Bq!ժcq)Ÿ@J}, 4Z)FD0AvO7Ub_iLuf{.ŠHxVJDEF򟲺'LBF pcr$f3Y@H">ގl)[[_rdP>x`y9m^IUo_lktbj$FRk)OrPCRƘػGL&[|":%Z Rs:8/oG@cbK&3lP=d])t^i{OuԪ[Sz;M>g(B"QQri|GGl_qBpc_Gaů 3ɂo^_~)'ԥă3c1fjNfhIPlH5EPcm:jJ z}+<_V5QD=GWs~F8$μUW4$%˹BUfAΝ C^㑫{(颲Ť}h_4($<"YƷՈpb3C!gx\T;qFO?~.7Uӊg(QdESrL[*lmbfTN:ƒ/^ f֪m8l> 0qHUJYc"jtf~JFYb@azJ0=O`^1y.pCkEI@8zPmȧ;djށF' c)ɂk^J&vK&B~ Ӑ3 |c d^밡##H%B,'D>^ Dڧc`U?p]zRf/K$ =O9 `l:{kKj?jski}KYuЏaH a}׷xƿZJo/6H$U6Cz31Jְ^ˣ0@g ܁\jy9M 8KNv jRWo}ь"tp3ZBjIR)h(KbʥPƤ8'MzAͭ(*opAn˨kJnħv/'cp9176Ob:I8|- dڭ.sIi(1Z_0Xg"UZKK4тΙ@.U Դ:G&ZؕXk!U!;DEdd5V!00g*QTw\,-|cbbDnDJrlcLtYum{tBJ-B6 Z`Kdh b2.ݰEawK t_=8lh.V!eTJ\Fv; MG0WΣvut_-j~@9i fM)AN[e0_&994XPa@-'vb2i hkqÄ^Zq6>@ر#R/+4 %  $ed!5RXzm]]AB 0$=ӔOɫGd>­70lrr_YGW2b|)>-Z"'>ʲ浘עPY8WUgomR0~Np@z>FpJOa^Szp/:VOtڲ4TI7ܮbjHavuYXՖ7TXWjxy@!Ș[K.`l"_ Mg/('H M<)<{bv/}qB[,fs"k ᢫xj@!#rM:=cw(?Sܞ7>GY@i@1nL=L9=_"/>udT@~rs /sb)h'nR8QgfnO֡+T:qX%c+S)3u"iLsXV=#NPxŦkw+ E X;%} 6nQpܤ#DfOwHFHvxfS!K9 Gr5&p3&I`u1_)gh/޹ZBxgu\  T/at)RuF\E֠;[&:[MSH[o-FE*ݴظr>}BBCǤ'!+@:&mEkUAȠG;_uߥ }$ZWI{ cM_ڐ -P(@џB:9a#VF/@Fpc2f#]=))zKD{Hg0&L{(r%^.\D@D-X5 ct[@] xЬ Bmhחk僐7pzEݫ'~ᄋEf=c2^zX: 8?Q$ rf ьCAs dмrBRx}v}Ф{󏈯cs 'jː-yɬMgc|ډ +!N%4lq=4ࡰ v3O*P3RY񥎐ʳ"_'X4*Fnlwzw!doP8 "nD"$P<^Yso/>n7.oXl..™2A} OzdcX4bpl^R+{̆ *sQE7pQ G7rj XngvFf)X<cA}ŚQ`'c*( &J8CƋ3vb TuK .M63i``s?[Ù91H|> ׈XO]`,}0-  J{ip NjK#>~czI'n-eyEW1I  qA/rg`Wü[^L-D ,.-"[Fu[A kZ_VW/G %Sȟ[:yLo=`T{ ,md<1魷;9^%l4apI%4QHy#ᵸCD2 dC>w29ZX"&dbZ"R>UkUȯJ`lˎ\&duχx0k!L &5yp&] 9}CnA|*u8HU35!cˑ8 tud@+> hD5TYMW ~%BZA {.iD9X}h:)J>DzՁ9AE $Ն>vD\|.T(PCC/'5MFҬ}hyWۯяRsZΟkS+#EŔWN|W 3U0'DB^R:()lJ]MBMGHMʗIhﶥcڜMhY:1iԼ=MrQw սHY o1>HKxg3F}ݗn WU< ;|}^v13Pi?AD0iѭp0>y~ عHUڨ ʤ\;@6^'b׍"$g۳h􎊺݀eN:W[u;6?AmH a跲.ҽ": OcapJd Bxs>Qnmqɧ%zJ1Ot7GX۔VLRSVQM:8GiuZ՝f|~L)bfčKMs+h1Q?HP"ZеKnvy>'.VEp/w8*x󖞦qlCEBkiL18sB`Ӕ-9>?Hbћl޾4KTgFUO.Jerq++!5xqoc+&A5DY AEiᛓ8  JwRB*+*<Ѧc R)i qJnY=* *Ru0 v!n*יo%|FY3 gP _\^ &܀w]mr_O;~g݉k뾮͹2P&mviPgRpF]U+BҗN$EnM# Yn0Vp4aMi[mՀ~8|u1D >#%"~$`$+qȤr 'Zg;Gu~da& !zzJFb֥;\/DbUBpڳ|h+hCh&9;,szJNx, 4W*2Z!(wa`Pj]Pl~'_A1{J_p$`JxV.a@=7ftn a<֪j)2_r/@,V6F3kCgl0R}n@DynIU& 1V*:v9ï"1C& ^@z bʎrn5.,̀/8{4ηkq~1<IQw ` Y\g!^(09BJ'[Euc8{4ס\(>sw-o"2wM¨^`,c3ۂcaa$kdL%e &3W>_+  +c&Yƶa6I鄜y2GjͼǘH2 +#o*/ЧQN0+mkJݪ㋢W\3elsh3VԃC|w_d, :t`_ɳ1o$5F*o+jqDI"[L>Hl1܇oi.3Xj:;ALGM;U8 ~BcPr&UQ fΰ\1N_Pz0@&4fyЀ̨\)eЃj_Q2Cd7 '8Շ mHY1\\oGYJci/)L 'H{?!v0.{c L@|m<ܽc7qTMP 7/-nKl, ) n4W[GessVCf"y1@*22:c#MMqqN(!u8ފ 7(T[ˀ掲r-(SQ?;s,3iq PT an'\k^0sm4`Ԍ5/u}7B6d7!b}<⾋bj7lzq([BʰuwB1vUC8^\Murl]M[M^,%bqa{"h5Hi#;jl[4U_^VGBpj [yiclrߖ"> ia[nˍtfGPu/vZ90*x `7kog~.<(*W̪h*N=~^Ut3hc\v52R˅o1Y-{9QZg14r;s/`vZ8ͫ4:+2JH_˷nŐDPx:7f>Nq ng|缠Wp X!ݯÚv6ãzkxhyO%TٰKI8Ȼ( D(ywmDjÌE^^w稽N:5^~c3ŠF6vYC p0b5yuZC%wp9"9 zvEs5gK޹/HWNmK"x"uP\X5cGZ lг/U= RdC]S߭xp?X(w*%: Ʌ0Yw{kv^n4{^(6U?x46M7?Ip].Vlྊϴ4uH}L0naۓ腇pA'F fWKd}ڿZuk1۲[!~wr,~Vɓ%t9㬑_(q (j7-Cu*Hx)dUq eDyr}S{ߕ=/Щ!Ȼ8XלBRgQt*҄Fut z[E`֊0̌æәC8~(3nﳔ"Dt&=1?}ǖxbZEJQUcnvl09qpϧC?}&gPd4Z. 3m#oZ"@[RJ?~]08QC;>xTcsxaiL1\*G_WE+u5$(Q)&f̴L~$?U)n˜eHVZ\v>0 ]Đ37Cݵٜm:Z`v@qWN|愛M#A]'vҋ\V(Q@c8^h$/zjٸROyhbčm?t9c :MAd˩?ʣY0X5:y h/m}ZU KMe8";ni#~3*dp&7y]B,7C d("N] Ycހ%^a]t_lkم}GǮknBѪf72a9}V7v-5G?/&s{:~= s8P5'vKi>Fqv]9bϑڢ}fڿ7X>=n@ k;'FRh ќ$'_Ɩ-o="طGG* &͖kac}FׇY^-MnSƇN::m>/+ˑ|w/M !X{ƪOTBw(<MoPn 8']嗊wAk $|1u.a-CKNNM{H | ;'݄Ȏ5%I+*I Fnr%J]Zf*[FCh?XyݡV^ŮF.*;^(`Η׋fCܳul{^D]1ܴ<.wOuxo@Ζ/^>:=1 A_[AB n OUpJ>aFru>E2B.,X/B}@b Gwo_Cg2Cn1Y;0`%ݱ(m>m+t[`n{% 5z)0mJZaoЛf45k@3Q S~hn  w'Th-Ϝp1?w׭#ejmE"V[$lS:+.K,OL6@`Bb ƻgp#U6'Ild/_q\dz̓#WEk 5EvF `:L9n)hwB (_;U%RZxZ3 vfF4ЧS! 9?}Xm@8O`{%>FC\"b npbش̫̞gHrщ0LOɾ;eMOc {z\%lΤMytp<[gLjՔugӫE߽1*KF $aA DqȦ^DhKΏ!7Pp&'P(Stj(y`k I5Ԟ2";7KqϮĞ8zg% s85 5("+\ݶ⦻y>S+ϗgs:j'ЍmFc5(#F0sB$A!RVuxBwj˘2pT!> ٜ<}tgB#e|' 7\ Y6Xp麽A2\S%i$|' ,MDh~)ճ ʓg"k w+ffzw HB"-@U!Y^е imGaIJwſ:^i?<KjU]y^Lfn˗=u^3huA#[l۽:'4`= LHR̼Q ђ^osklCj}[=״x8G _O:!A*K|jknbس|/6ڝ;rpCf; anaϞ: b$Wڢ9 $ r<6@DiZ>ۼQ9"H;=n%Jނ#sts bf6Hz].RD3h5:ӷ3Jw~QE&b,;.?,#+&&[;*ď3Pj=Z$&4U Rr.Vҿ-,#r䟝_q\܂,sJO Ce9ڢq5_oUY#œo ߊ/pD+(u[i(TII6tkȝxchussOllf+Hsl)f]o\9}0ܳH%xx3gB!Ĺ=ЇP!fH x4Z!"7JueX=tGV_K^V_qάk@ulw9:R7Eb0U9KFzTeTB <3G/36.=} E6=ui.Nԑ#%wPjTZۘp[нQ||&[y+ Oh.M~v$6+L3!b)둈aI- T &NTcp')_VAUC2 5D["V:5[ nH &x-n~227o׏ ]0 o.A؞4/ {-ծ**FhsG-,Lb[HuRO+q^/ďwjd[^̤CQ6a (\ٺC@*fԮ0s/巄<9DX]w^ .Ea+)]?d8T*VNKS:OŸwّ| yhr,#x Abc4]G%0^4Y5|޻t2b 4h}!wMk/vę)u ɛۺc&XS3{hۯbBf3F FGk]>Drd JՐ$g3@6ԻaexZLz KJ9͂hV} ųReBB#U1xߍxeN,#Ht <Nrݑ9lldE}GvKCTXvBu)"'͏p U3 v9jB\xu;OxDR3 -%UlC>~v܍?SA5q>2tp[}\Fd[|حɋh%7yCMnx.cMC Xq:)ucu[,< - :ysPB*n*/ᕈ5DZ^qrCop$mE+_w*Vے#2n?C7tE~ $//R:0Î"b *K.vď"QIA6*/x\n_{}ݩI$NnV5O>wT\)'SH8픔Z)Bp C8vbȋflc3Jmpfhfl8SF@G5]Ȉò^VBS#xvHapcr!Z-Wv{$?le{$mܿ5#ApG#pFv.Mŏ;ϛ6pr=jw{{70NNgC T3L޳&RC &I4x.f !1$}Ɋm̒i"ԣ@x3CaC.q@ FYa꩖ΖXSgG9!~vy@6(<@?R2CqwZT f A{2;ѶT&Si\R'?7~׫3'Ev5:U-A-{_ma ̤(.m> nk>{ۇ_"0O,R,z\Lӯ'+됍ٯ4f#vLg\;~$?:QZ_ |8kvҼ)i|1x[ݐ?RƑG[ו\o(U\]; -R(˖}IYdCkPc4O%Țj,*7or!ДoUŞ,t3uu=MPjKemLN߁DA0" .6I|PX JR)Qn6AKai *$< nSA 2ء2_?B^^u#\k~a_{2=TC8k%;rO*B,Yh:̉@J7.ѩsS-Gf@guT3 (#hڍ>]/-<Չ;#shS,7ܾ0`+)r M#jN8(F"A+.>V!sjID\-ބRq)x)S=S%Hn9qNKc:Q˔Q` :Z6E$w cכ]@@Am?L@o4 >ӘbhO/`ˀsAw d ?M}>8Ѷ/B+tݐ@o=aQg/(1޴&y#6xE&֪Lb]c %Tg%pK Vpo"e.ݙK$w;@^5ݛYM$'G8W Kc,.PE"&2I m9M +C5T~tD+>2sLU}ЋE|WZVmWީaB"K䏵7xxë3S@#H^)&2@r.Pr0_ \_KśSZiiW*K`q_{&dO.+@;WGʑls#e&#ighi[Oh<q0q@{]1 wc gHt8BxV3Z`>?H i7[d9 xܡ{>pɣptEW(!M(&H>әnwIÆ|E^ P37<"joj.:T*QAF*&e8S.=^;Z#$>$`ě2L~N}%`Skg~b's?t)פc@ae -} W% [T5:=V,6hnQR  _\^+ޙ~`rie2yDl͆m$N,X"i?'rr |Ҽl #yOmMu2=m|$[ ϚމDԪ0/i.$C'V|ώ3U)Ҩ0*UէJ <M%}{/-wW8{$5yhOԵopٽ4Vl3/pgx`EoAc=8l>X+pS_(:=YK<ɹ|)nBvu8Kh*Izu&bՏV3<~hѲf?1n EJԡѠ⁒߻pdqDJMkh&Nu!/3C +E09cDG =ta؈7 ~_1fD97ҩvK햊(%Щۧ5z>sUo+n` ^% LO]R>p15cȥaؑ#\)\'G]|psʉRIJ35_|E~2[o& 0)g}6Ҍ4 O;b&Zv{Lͮ0Y:Fg(gƿ)+l\I?%ި@±۬k.I¾ = гHGE{ 6֧Y}/5sgwwxc3Fw9+Saj e*YςQctA刲P䘾㨚jLF:zگZ+]̌V.rV RmJ a9` eO6ye^(# Cy<+D @bUc<8qYf1?Uă {婿$HiX=F|⍺ t ~+;Z.%fN"c`߰/Z,dFAnwcd2Ԝy28>?N8 a`(Ș'>BFw&)JsPR=lfImc#Ժi%bSJ'jQC5~|FvDY7]hΘH 9[nqƘZrOD <`v+o~#.ou*U}??QL+=]߷ϖgՆ=|,Ύu -Hi m˻Bͮ'+2' ,M7~{K@*KePs*[QkJN-*vm5'H@J6g-=KC}%` QOHQ޾*>711*53]C=N-t>eQ3(=ί``'JSҍk gUh鲷=\^3]tTD1x0=,;6xν6;$ CX1S寁=pYQ13I<b[]Gi2>πz9$ҨDT1r?+S!i& 68EϱfY⎸_/ԺfDXtˮKM:qf1LUqYvhA {-x$K2=*O9}|ևTMf7CCi\)ےcr cŻ)Fq|+$z=u'76RDԢ [5Z)- I;-܂MF(,usB/3!F:6L @YL'OZW8;a.į&2`9Dbm)kxZ~9:j+39Da;zEZ֔"^`fL0%g@PWv94hc^˵BdˁE89E aaQ9M#L^L.U *)lׂ? L UHspa -"=9m@Y{Ia wPt(ĵ$W5^6ȚVzI/3͖ܩᙕc6gws4n&7w +6$1wkHSڰk% 3/iT?A;`~&$Zf ƒRPF׀g@LTlyd ۵bJÇ~`4 YrRC#[Kڢ`Ro C]m\ Ԕ8Б|ULsuq #M*xu43NPndϞK ?u6 88IKS[1{J`RHyݚh%O[Z٧rs-`й Ztyc 4gr(xx@-B'G<6]%:/EjH zb.).|ALlxq" ;;ƀ4D1έ9#!ud5(|5O9|L u|W_«@ M@oB;^%1Fj@_po!#cȠhV@#ou8q>n\Ru !!m\ͥV]M<:Czc^AMqxjl~~5HD؉3A!OܝKϑI{$ć{T!*x5Uf_ =H {;Ǝ\UHȈ!'2eCz;2~n3,J0SbedAo5=ӽS5'|:Qď%^1]x"Jʽb%:нt_98GDdxi >=D׊3 P"l^`EKY`$RH0/[)Xt4vűQ?O:3N<zZG9[}O=Sw,꿴:̈K9A4Ä/ݨyN)¡o'SK-k>I5 >pcIaMbrU6&܎@||Aٮ<.Ш` upNkK=]crxR0jdan/sFMn(^AۨUʁ˯N% vח)d+dr=c&77?q˟vd7s;t;LEb]k}=bF$.ɍ)iU=5bo\+,&ښ>8#:` _ 7yh*D5_LU k(/3D  #ٍ&za6@Y.WȢJFNwyk,r(M͟ %Q׵Rg&Z6)%9iז$-[pMwpr[*XO#ۛ'7"hp^̌3 Raa2,Mlq~  $C3:viuc0c8 eHo#c`Nwd;_rF{=뱼{3Ef)nyKk8O=S9җ4jZ> [!coLqEYvT'֥^|^%D'2j, 30" :5;I&\s49u,^!d2k}8}HYAHZpoK ӂR =d9˴ԃw 夅-Pl̔=A0\UR=TWP,an"ђMTA"͈9 D>m8RnmBɅ;gQ6I> @fe(ڰmK ?Zbc^Qj gpY媒|cԼ{  x؞;>V't$Rkz*$Us}9/\E3LJOp8`8]UG'mIE= 8!F0׌jErޯ[RWrF!fBSLq{<):Q|+~ ,Mƙ ӑrÜ=@%+q4 ?:3URp(d"aZn9~|uݶB0Sĵ` iPd˜jZgb7Ef΅aRC(^ Lgrt,lTs_S0/k9A,Yʔb>fGx`uݑ8FJM/1 P"?H#(vĚ=Na' pjY@Wg!O48M'#em^܅t<L& q댟jpm:9xO'!)^Z".B6ZK~ڍ> JH`FDs82wƊh[V*cdOi}ukgHljVo"z<ƝۚW1t2+!-F hwӹR }O` VDgfw^ Rc7輮H{݁,evxbsݞ`ъ40ttWF%È-vY[pM Uȼҽ#9[ꔉP}(O5=yOi%[1}fh@/9&0Vm? JECGQԣ%B26_ ڜ8nLqXTv>4 $rfbښ>9y?b![ۇDo}֎7 V'A$ ^ c0Z |!Wҫ}"̓|!dp R%tx mꔋp*q!;./Czt!>\&DJRlH?e/y>je]-qXm}?~?-VgQ:QPGX)gz)1d+w86 Afp3fDˈVGS3CGF$9:Y.̙H]#l[{o5icEI~xe[F<ڔ&FYo{oŲ=WڧBNpժ:lݱzhk3m u0#]%\."߾N^;xQ+p@ "cڟ<ϯڈp"TKʼån3키v ݉`%dy6G#l=T O%#^DE=jvFE{X/ju "Em; E'-˨!Fp.j,`OB5p`@*ۡND.E!Oʷ&sȈe CFTٵÇGq-s1?ݞFk힒h".R*ҿިpȟonRDc[fju8TOs&MSE"BNɵKxUq#NMFh/r䥩w&k[s>90zrDoG8;)tZ^t _\\ ewj_\]]4XؿQ|O:j̹3U,Me#2V7͑p';9MO0…JDzRC!E\%ABywűU Cևä Ѿ蛾HXVP.':,B% w/}ͬfVqMQf]Bϵ[e&b ꗟuOA!}I55w'VrCObA5 7Z@f:NY}A5vҹf1D|((;Lꕀ]WČ1ֺfqPb񰓇!J:3ء-41hfewqg Ia'/KTsMğdtYV]Ӈz44M.X-—S~ f $2 %z} Z_":y[Iĉm#GFALkG|uE1jY?RZ+ѕ_%EONr+DEz 9fdݵ"Hs"EѿQWHv7xge8@'Y{I~F#.mo7H1-Rߒ섂V p'FsG?\Nde(Cذ{r`h<3=܅T9l$r/<;=D 2yޅ^D۲!L}hhc{/fD5qvUzJUWK}bzyiW5 m~CgYPA\((.-碹 BMbFIܕ+6&;-1D%>cPN;aMn265caE1-qirC ?vwO3 w^?D fYoon:^rpاϟ-h[N| c[w`R3?T*?2i,L+ߠ-ArwIs(0!19!b +*ƨh?s  {.F~Dovt{2DŵgaR} %&ު}su?Z] u[W1msyrYb۞ ]Pt'6TRf6]zy`HW &h 3 4n.Tc]e˯o O;93Yƃ_(Sɝ7z9[kP!ZDös;c_欋xϓ`HdJ_N)OqLޱ>ϐU^2'$>k$fYT[s=ha'` "{Ì:e02q^ׄH2#|L$$xΊ`y,hrg仉s~dAlGSLX*{u7Y#ӫ\dQe7BdX]0o`q㏬Wٙ?Av 7Lj+kq"7m/B0hkE71tKqec9x31]?f_^ʆ$rQŽM/O>UОtk@öWup͂ڶ`o$J뺆tfJ27UӺx@MnU6m2WV:R Pn0FSA6I"]J!8Zpqz>?jF7p(Pb !oZ^ "N?' P4ub \no]PϦԺoObv PA@c\C[a LecujƴhͩtV``x 0_lk}bn  J-V x@l15Gg}#pF#!qq{nEQyqQbg U-1PuFypR!a_ELTF?nFkN7x 肱Ԝ$&pJlt:Z'ـc{7; MxO%p.i6< D^4',L.dNc|⦅_spyH K׃tnb^_i*_:.w≌q{7o'Ne#IA 5W6yraJ+ނt$Z}> z7K{:?De1#kDTT"|5N9FVJ Akǐ18}} ܐ>vDm}nسn6z*9xO]rMs_ByMy~ ?~aME^}flXf:Wb#قQյũ2'(H :EQtôҒ[Q% *:3+U"wa EA/QYzڎza#9ul$R "/fO Qxיկ՚[>xyJqz/!go@bjX@Wd,l#OA{#R̃v,R7IP(&Ԧ;k9HYZ.0])F-4uRyqo"~6W ͗8CLpE}EDYDI֣Nذ3' 4I><(K%= +a|&~yᑅUsQ̓z]MqތKbE%Qv0 ؍;eESP,OE'I 9{Zwau,moKeca$C]A6ҦBV"@;g_*FbYAݿUͳC B1J-"Q1߯WP[H^H݄LG|*n2PID;o/Ԧ?MS2+˲ŵRd<J|[Gx*Ya<\Vi7kMEAać~~֒JX;D7\lն`7)Sa&?XxdvNx%O枢B)嶊7eh3d &Ccz5/0JՉB8|Ti wy[" _zy @Ij w):qD${9Uo `iL{GP0EܪlԲOmT^OyJ;f v&<ٲ2RޕA0FIr FLQA ~PB:6ठ츏8ȑ~[yk[0䁐rPVuybXIڟ~1bxÁmz Q㧗lhַ):M.rLg0mE>M1YNYŒs( a@V1k5z WiUL*&~Fީ-K>+a,&C]{)[dLR &wzeݖDZ>fډ -Bem)m<Rz% D=DDN_bSҜí.A :U@ljeX3.:? N{ֶp*U"A.zJE76Qm `a2.F0$ȁ+fTEY:E%t<gO8b%lF浤+rZ3Ǩ92~"O'{pņjnHB9f9Xk?=/NXwZױ6DQ<Q-$w1+f{k]Xib9*_n+gb'@GeL ˻*%=76% C L~@}7G@>W3iIY{ gCsy\-Nj؆}kN IRv)7 m"l\͎oT1:s^kVxܨJ8`2HA07i,e\aEDW nk@h|8icKtkF~Rljˡ.+9"c5[8AH\Ag# x@)=^S+c˱2[+#B-i7qSJ~>95 >Xױ%z5א>H K"H>Xn6JjsT*xh^ϖssjc .MkD>5* aj/^O 0(9FpP8#p 4! p$}73s}P(na15Qgk͞m*X[\ l]&%DS,JzVHX0"NPQ} dRb0eo@& .AGp+,FHfT׵Z7~'S%KEP<' 뭖|m(}6[LØ-kyƍLZ$(D# 3IgIZѠYrp} %%MyҸCvyFT6\g0]7ڔ_lc.*._@#N&Զڌ:r+Y.763#l_[΋Ȼ~8p_ârǮ[ަ3:,Fݿ@0D19Jsлnd2j$_OlzH<'#%(NQce?q䃹vw4p5O!SMl. ljg"muq%'AF_LK3D&32x<Z_n$KKSZu3"h*&65]8 8Vcl"@r!USs.Nm6vhUߞg}jdMlU7F \j@sƗYOٲp邷ې&Pu{S H YPM_եs?PކU#: +=K>=Z)O:otik~`e @YEtUZ g IO@ސ~VLܝw*8,asA.zb~TLq1N>#OLu c똩Rn% s;mM|tf)n`T+u~9;{i Oj X+Ԙ4[ A0 0oGپ -n{kΏ;Dk:{XƩP=JM0I%T&R-g2L_}%Y !?|0W ~_gxzhj;晥WSde|KgY!ӱ /ʴK*vNQWR(rkA{Ӱkde)r,U3 Pq"<+߳HMFY yƍx`wEDbNg1~`r{ 9QʺlՄq:/8n-WZՔƆiXEs BDT/kP@rN/p[j}AI#ţ@u@!:N%a9El/Sgp?nOeN&1'T!uJ/v&'>^q 'ˍVMAvŨp*m9$iԔ1ػK ~)ӽ>c± snxS]dݵ~N'K= )j9PlDϖ2!Z 8</  1kдҨ`~Qt _UcM% g0L3v/lj?,O]z.ך~%[lJ-2/qm-hM߶S}W)g\SF5= (#>l$?lk_03l{2auufMA䄖IS95ΒYghҎr]{u h˶ލ}ϑ! wQ;1SX^;kEQFVppf-6$_UI?WKL 996BbvSL:i9?P sKFuZֱZ-OOExa"`nZxuVD:m2;XUee+O&*ՈZ@9Q Zn~=(`1x"| LJw=9dO_?*>Ψ&Prx_l@x"ڳ1Oj}H-պQl=XY=.bLxsɹ70m+V+\6ȉ]W|\_]C E. y0YoJgAH)ZC* n8ټA-*'yXUk^3-?ziGL@̇yIf&/&h`c$$i=*BsN|HOb/<E|&z9U)A2+~2װc2* -2z *a?[880_Wե+#M.߷ŋY93 ߯qpU"kimف*˒= v.UUdOW4du3:eݻ/O@9+Sϵ(S|0I.=}h/`(eRCME  xAu9Uo~=8*~d[lLQD& ݌<,>8s-fVmA&i AK>{jI.3qaFo|TrU-ǥMdQL_L'[&:Q)\dT3)&aSp|E[Z2D`R^{aL\t;=mᜢHCWW#}2 e,LAl{p#b\4M(&Nt2)W j]TxaM@9 ;VQnk(A6?U% uṯ<ћ [3g"$`]΢[[$gvOaO=I 8BU+~ Iv ZfjH7?YRXVVf椵}+FزNwa-BtrM R#ZĚ da\9@03vJ44iKYR@;ܡTȠRvPqz!e;IكS΅'Z̪vq"[VP4])|ji79Cn`]]!ʶ>uɵ\[ vű#R:<@w5j?kRE=Oݪs3(ml;-\)]L̲2)5oQ_\S,N#fZ K2̭%9q}!s,ϗkj+]:gtrE~$ LG.U^*N)VyW>|~dS[5τ)$zګ\ҙ?ܯOQ][HV >V&ڿǠwaUC҅z%ber7!աS[f-7l}*Xu@-Q)C<ڨ^ "awb(;yFoơW߼zϷO8C0%C[8krϩ6_.Mڂ-L2擀/ `ktl<4Pg2 HۣH %IhG 87}W$1NUIy᰿H$@9* c@ZKiqQ-GGc^@;T:_|9JdRBKѮۘ'S srzlX*<@e68)8֪F]6(M,_ɲjcRe6]ҁʕff!?;U269Ѝ(',F2slk2 M?+ Sa B$ct~bkKzk36ׁb˘kRS-OvC{MĸJ,]; Ye<>WR쌮g׊wZH{Lހca8"01C׷bқRs ׁ- |ޭEQVׁ¬W<1řf+?1'>dҒ/brsOnya ag^*p328~No4[+!P7hU.#pP(¥LqceŔ "8Rl+q9i^ FktaҘ}{w;&OUЌ]^X pd]#OMqd1VLb@`<%6B}Yf;?ʼn1eNQ-[4;j)R/2D ?I耲 QslmNK%x)Ri&KH)W괆nv&:(&FDzJ@_칁N@˸ttolo~|aȍ[9{ꨰ y$!Uq"6!SG-qA4UD?RΈW8L,8B\ycs㉫qk Q\ж; D&@taRV >GDF:E :6Ե({UaNTPO\sR|2 )9sJ?VFQfx hwBlsB62PޙqG:LhlN>k]׶?y*PHɎp |> g{9%h*q~*hyQ,RىUu@tЎ+ (M>Ih5r3+]I:p [(*SC]C{{Gt4N^v8 UΠR oWϿ]&sad2*fkai5@aB^x Wٺ ,Nqx5^X`@]ǵBz@wk|k('@.?Y~mE廢ɷmg{6SFQ"pzJⓧF=2'sOjqwoa'ZAφ%RZKDdS.=z @ 21w_^R(r*Q<(XD5s cı!)/u#My'n\bg-Nf?9v4l4Ǥ~߂?WWr,xzbbyz-\S9eMk?^ ɝXW!`kG~8?䘷'ZZiQa`5?۷mp'BM؜!=Џ12o`BVoWې|lH#+u@Ć ΡZfU ;-O[v:Ozͦ>Y0`۫Q2ڿ]ŅP˚航,@7S>Wi=*NO+Ϛ~h  tvA'Na>jn/,IgTC\/ا=rJ>ԓhbD$D0A^`8>ԙ̌pشWʕ-n𯴞Z[BwcRo#I[i m\eMM_jnӹA >;ףw(I0ub;kEy\ȨXLRnG`Ed͇R_[roUǀk6,I|Z.‚sӞ]S1Dd.rě{ܫXKOAVrs3S$n#9uAAw̸̎jc8bCD\ %O"'z%-t^1c@PL#NXoe>Ñۜ7ǺU<6j ({8rza`I[UKT!\Oىvx,?n'J 7$jZWucSOraYVOgzH22;6x u|5yڰ[ĠX%5c FHGpյ[($qd፵w9 29q;#۪K&u=H \6֧!Π~ZRcoKU^ڢ\Gw9VXtjQjv\a 2%#"ʅyݕ2_Hu 3 ^3R PZŰր%c̑i"MQ=HRgsOyW"S0² ߜL:G@yEZodwKwY6fg\Ωa'cG:*y{'ބuݡ yoJ6lj<@uȔї/ӟ}iF!EmHhB bm>))&Ƭ*Q F(Đ⊮,y@\XO᜝$bG鏲FºA7(nK!V oEM,-Ac  ouk;ۭ]yE:Ǝ'(KKA!gT58q }K{UKgh`D5?`ՠ zF[fiJT1a H @tV\(DǶBB|(J\̺ܖz jzQ H{+e3Y4_󵋌]WK,yIsBeX62X1@pԷ;Z?sQ3Q? 365e7՟窔U8Z~O_wl@k%MPۿiC e)0LE`<^<,hw9f0ݦ݂}&j1K>a5sf59#IG4耵|ksa@pV @QrmWU2?]^2;sa@>L D2sMCv2Œ"Zv$g@nF(X)_zDs LhEIw۷&s@ ~g< M .І5vkR$;Iݛ:LqwY*enD)0wM[VгmH[]:hmC` $6B tUv(t'jl}iKjGYKtݶZoH>'ZVҎnW> o ^U"UEɾT*Db]%!P\E"G6Gzf{kKƦsoF8.I0 +4-ר`-k#KY1l\QLOXq5 =j,&(g: r}Qsۓm&"Q92 %'6R &+)GIsvrmq-̕Q|hbSg 7pr>SJ;7N&C؊Uv!}; &+*M?e+)x^[Z# 6ޫXtC3Vh}[S55sn_K&*5؈ܯ{mDlv#e9jWM;c`ŁKM^y[~LLN_Itę:VY^lafގ+ٯ?CkzE/[q7Qf ~p ^CT3#<1|P[ɴ3UF.#68vz%%f l;gh0uͻ((ppp!{e-z, xYGj\}x#); Gtƅ еQ{,zXS3O1%i^(OC(2,Άb%jKN: 0>4G Ljߙ ( <W_YY\=Za-`"Q4ѽy~;Mv19 -}jZ\ (yp\ls6ze'.RmN[f~`Z^@,ݗ&z*1VeKƖf XEtNh솸-- kI&ڊЏ®Pn,2=즿2UE0p ]OY2,6vx0DD"- 4y>+["A[_XF9L3|3dnM)]뱐0y':T&Bt fMd);)U"?VnUVJX&MMk9lfxFG/)&lF$3`ټ+MSmў)"3=XKSƗ<[ˊGTD3&`3ckn?n{)ȣ4RFo0DGL+!::\oK՝)>8u-Q؂._uE`_Gypq7o.`Gl4PVG W”čbT`Z^Nߛ4h .If?o\&FC" ?9jM~'בbfj8US4m%>! o * =0hvdu%cv|Xa/MO6N6۬Ƀ=u+ k" 0^﹅q%CUwٻ'x} =;KR+ep k/3&.iœiTl|ǥrۏcKͯ}#©R/oT~0 ' NRH"x{%5n[r#:Aecx`ɾts2+[~K錱~D?A؝2pY)PUer6FmB|^<8C[e^jGu):qt=EX8>'I8q6Yus9[Q3~0 =xtP}4rgx?ɚi<7 < >Kl^FgQ>~}u*̂r^ Mp^JqB=4 kG1wXų>g0Rxq d h8+yաuVCJU\5&o/l%Bm\6~>]>«7QKh x[`kvj%uw} VC=ⷻ];Jh]fNu]זƠcvڢ.1ue>bQdǼ-Y'fM vO*a«9GtA%r|A;}Sit{6&nhdY'+cd UgG14mǸoDp!wVx0KҚ5T\eZ]ʑeI,׮-q NȦ!Q}ظ [mfcg0l0}A;',{zv-,8ٻ'UlQJک h>W>' uywj6nkx5MѬPb5sdFf9RD}^<-;|[2}[qiՍİ87yJEƌP C=LJ iS *,6ἡf#nÜOZW (Ϛd>q0z^ uk2h (" |zzۚBOG)g/>|?ld ~ ^J_N"䞩#d_7ko4N%7GhM|͠٥mjfjC*.-DWgG?Ʒ)Q9'Vy/d%u+m4!Rt `y,Õ/'NЉ(<f%_7KݞxnOw_) eo;A ji_mDjG.-;j>.*M@ "z }o>E' n-%ryX Oq!G -$Df$V;$-F;$,_UJ@4%tEPNK|"a^a?Px2pP~~ڛ;d'`%#*c7 $1K̀%$D$81%4V9o~>o~mhu5OvW\[lCMv ݱdGTܓ,چa\$[bJZQ[˖T_jC94/CWˬnlX"4 q(3/eBqC`]O)R<9ؙTz&wxƲ ּFa/c 2*g^1ddܧfDfϟNf!Nw}39lpٯƢPnC~FjE>kxaJ=WC4@!J@]WW0gJ/.m>J*whYfW‡\nR)Se+b\_qL:tԭ2b֎}_RnպݴMxs`J*P[23S|1m~i'e,\3c3š&s6@atÚ~);ĭ/C6FaM0{CHtz|Ѽ;Sq^˄Rg4I e<֦ Dzm}t1o K%Q/ MXD3hkgbi,A?ul9 Hz?.)3hCV5\rs 1Ȁ2j_=IoQp\ Će[$'n]ؾW><^ؼbՖkCGX "m/ЌBW09e7`X Px)~ל% ~n 2RjYSS`Kd?j_Ƿr%=:Zw &Ljt]5.׹v^!?stMTmՇNUhNo GZ%mÇ~_yh2H6Ѻ# tNY:`u~S%€pT$ڒpkжvlvUWu*3b7?\Ob5M^2si(~maGrxnh=QhոpWW,iYe`_ұEy:l6{u0C= F9Y v(0XB>Maɧ\cu6e>/3+ 5}'E^ߦѩrKÌR n"ym6!cn!eЏHdY.o>\w,[a*FE@ǷEE65ŁGuruf4ʇ4? 'K#Π^xhr_}V a2&t8 +NQP0k O^T!,/&dvJBBixL#yʼI'1%9:W9@) a$*_{Qm(B[!H|Dc5 .<Iiw [gE]J)#98[sA;{D>r$D%LA>m[{NE@nT^aw@郸ݬ)ž,~mx!0~2/3mP~nBZIM6~yA=][e-J&C|z4蘂p G P+:KދDŔBNU>b<{SN%*/ut%_P<3z\n2! N 4y^d,@@+˺_ Q>tAPd&]W{Y-qeE'KL&z|Etuwݑ_Hڀʸ%V梋X*:2B.R;O:`rGñ9@*'?26])ԥſek'M[\l hJJUL%5)o ($ *8=*ujV )M5o{P5hf`KW2 KyTc@]aTU/aWF[,i`.؜-Fk/[J(h"u5N2/Frb#$q9Tܦ,B(GI2cVhZQNZE1![9/5cӜ-:eM+2С]3 4 ]>ƕΑZgs<;ຄt~S: QgFZ}.d}=LCdiQB\0 9GDEb/(jZ<|<4hf 5݅Rݎ:J^N?ޠ_8:#,J$V@c6< >p!=O6 2>.ERmO"9N A3ː*P" n.LC)H~;Cĺbz^ Ly_⓳:Ƶ+,P[)di.Z=Fib΋O\ cKq5n(^VvJ[WƚsQc_1TfI+w6ۀq-\/m= F=c`'] T@{ֆ&`ZVX8C)&9eӛ]>6aT006 B;|{.̇;ǐ9krzZC OT)H UpJ[]pQ#̘$䪟H>\Y S+&ުi:QLEB9SήU͠_xnjFsJg;;\$G0oSjlN9EDbc'nB:CZx.!$p\wqi B߇B$h' UgT(3JΦ4hf^+kr>bU<;~Z8\˾T az$F٩/= 찿nN $PTtd2=ixqWIGJ솴H;{07/{0_-/ءg7 ?SӒ!/Cl)Q/Aá{*HY#SgīH5?+% ƕc:YbusAty2SG 4[$u9lԬ'3MX%+QÊ,:g%nlPX//ʒa8T:'}vplMi0*%DyhӤghD%\nMHU#nN 2iIOOx)CpyI))x$4$e~^lZFٟbڥ6[dɽbBZ>*ixwN jh,te.wA`jfx|DJ  v .Osj4TC@99rrb&|u]e]mF8Ae,@*WPizg@80>Vhieyܖ ]M j!h׌^KR+l(nE$:j]oWA\IhR/9<.Q1 \>O9 mN1s7%WxÏ~JÁMn|/auS\m<#" b {02܇ cFQG5̆Kf'7D\=x.2Q2 id MTuTS:CmBSx2h0XCoȝJ;)ÞFpNWKոRMxUr0?ajWayńњ34{_V y/I( iL6^4l2Q,+{"Bjr9l°Bw#΅?tcl-uXk\op\к-{"j4)uf6| PAۡg4\̹c+|rc#QM4{~*+ jeiɟ7A$~PKaVL1.]Bqڄu!IUHmTV`VQA]ܬXnvx_gMڼi+'!?8 {MQcmUB;n9F64i$inb cԋwT褣xIDM5Y13\aTqV7`l쏡p1YgC JDzEJg>[W3}.GD~bu'],j$4KQ,!4K{FiǝxIY;78 ) L+r-4/)dU$1(_ԁS}~j 5oaI/5Rv^2n V0lEbհpOZ2^k%<K+ܡr!ՂMZ?FbYH]"RT`;5}toMPLLP8..0:Dw "cpFlRse> >bØ>ts5\6S%:>q;۱S }vȬ H)Nۣ7jKjގHH4Db2FX`rɡ#ьB }eΧoDN?Äya.de zh>_ Y.Bb-Di3A$d2}'t ^^LrzݖX!aЪa1Ïg"GstCZ'NK'2[ PkVZVldQi3MmT;@Н'q`=@C]:+naDrVk'3ɁM j׭嫊s?#V4?)K9O%gR%DE4WC-`ej9t~gCP+J;'Q,/ f·f-\HSMˤt[<*κ]kKW2HRuXb;1.+WR#`ȬyeZjb\]hD=T\1EY_owh~{LGwnFjĮR+現< YL^KT* *eE߅uK9b !)O 0Ewgu8( bvM"^_| )){(]aR#XЮ6p32dou?Ŭ. IQ%2sPa:D8QC=w;ҞِPlWfcGX3ʒKp$.\R IX<,y-AM"x _f T@AVw{} _ 5GoGP"X|;qYFArS@+&a2{cRLieD[jF5c#ma' 粭~{C*0oJ;}jP=ڗCS_kŦK!u`/hK)qϙgx2Pj -$J]s3G`|I !za SE H@jc**]4)7Xkm/uHc7wCRcO@>ʀUh>ppNbeRk!~ ^-MPN&2(XD?JN3 YhDJ躴A)g[:CYnhb9~i2.eZEhAi$vm般h&'Bn1-˪):ukΰM}g2sy5{EM5i;g|s2ܘs40TSL,Z^L>D ϔ0:3WU~ TgUY1~jʆ5t}ܓRr̬g+b5/L}@F)9W?OmɋgDq9q9g#RPNeU*5&['n"Tmdn6!~W{dK_Eq @z*#Dג:"cDgRC&<2\Is(ho/UExEN:ʯ0`uKbn&}OfWOeSb'wh6iY|Oiuִ/BfKhR``R[7"ZWnp-)'~d/,+ 9I b(h'a]>%3T:ӞڰSve=N{,oBm*/hjAie;K^{#3Z֬k~r=`e'nd+ƧP7˼KƋLzV?x mAL I)݅tS'gB7!!+0r .wHeѣ5'H1ؼ/m%o2Sԓrg NL79 !k}RJWD(d|y=@V2&~9ڄcC0 IwMsJȼ4pgozԇވ7Ikޤk>[nD"Kцd=tyNm5gs 1W^ (G߰~5 $0t[tH&?3zGcj/;W[ĩVi'~[25m(he} iw{݇r X4fݩ渗QJ?,`Wp|jf19k˙.kwBܡ+J Ԭfmmt á#|J=gQ/$_W(LeBZ Hz{FpJOE{A3VtOMbؑz )ɬ ΁#zCP fXO蚤\I{z6KOMgߜ5@"d7+KRE-˝)g8!Hi:ušU yjv)E-;T14CTeQ I_?5-lrilnOn6Z\2k KJ30Ot%]*RPbWy&~.nPl ),֙(-͘ xK {3ķ#^j JW*S>?6chV\„0{@%>W*_ 2V{NZ^j\Y9%V,Ad6XzEPD@ [X>: MD;XKɂ(2a󤜿dX}bQK2\PIvP4)/QP)1?#ܑf]ut,+"Yx-,MPßE%{dڇ_"A?}ۼaiGGǀ]=91(Z#54RGۧlQ{%\Gnh(Rtok`@LcŗL{;p6}0] ˮtOx$NUҨ*s[Е cZiG&Ov@q%s6۷OqciG΁ht'bm?-}C]&G>Rolџk>Qf=!ybfi*¾9 ڒA(xZMEBFŻWHՀ՚?vJ63vX=2Imzq$:Fǯf"0jt,It:4A[x64 $/-N7d7v0 vׂҷw]/pg7x(ś)"EZvʖ34QA+X&]&\zLCh$'z*w98Xt?D"TUM *,óNySjl!U6% 2&]]$'`U};ytPXE%x14Pj%# ݚ% j7Oy 3zASxr& !M݊-nzhG iu1Y^8Wqo ;M}+m_^9$MR@ ds;VMo.w=5PyWB(ˮEѶbqM0*a- 1, vϹCKM?Md}_ sj^ZŌҴ\D_W/N`xG~`(k]AE\ǯW0zR>fe]1NEV%zs MM7|Ƌa::8YVFm4Hs_@TҒ^4t/4N!t4aI J0+﮲K?*UÛUo?5C{s`vX5C39=%J.O VgJa TblG,ԋɨE/(<So 4)A9bdwKP}/>~OB+怂{L˞dOj>{D䬁*U׊dݳM} :Z?9ܞjA5( 0b%pw QpQۤ:2"%rIP(Y!Y%1/a{{ '0|FmX! X~w^c$]_ "+j_LCI X0iauKW;9L{{?Z[ DE ?|Ao'\jqr5œ+^gw6A=diZ OX7ckǪoa n$dO3D>LΛ\U MMw8xڞEIe[ilh<fн=nkP z4mh_cZ3nWa5hH( V gߓWCqxkBڻDq*H(9J^>s9Ed.!eJ'~.f+I#3+:-o\ [l_}R k0c^u2,^-i~,1M>T4[Ϝ FIk8x ֩'"t\}>|;ݔMF?0q ǥxL9ma;qo [O{R)$wX^\xO컪c?: ׶o6gLMGP6bH EMУALl\E0k};~+-{y? q@v>A2.mm }T'vht;Ak-]7hQNk~CBo? `cDy<=ͦfh7~ۂF+ӏrƅL%/(wa yN E |z_Cv>6/ށx]g ",mX.fw^}ſNnO0<X, zT@@xh^EwV)Ŕ nu/ˑ!KM:k4_c( Y4]LeH%&1VZ|6aX+38sP$TUdv`?@N)l>Elȏl(9Y-:FTېEDZ#Pf5cglU.֫^3c x5;yW>0CR(r!!q͒1ۧ4`%= eI8Uߙ:D ƒ>e4EVԂf ^*޽`P%+i0E'.W67GBu3jsk#s5*DRHgSAb?9'Zf"'' ytF xADW(Y 4L( zL4ةn$'-Vr{U4>x24rB9Fjq|4˜6m<&Ml >w^z%p)UO0dE&x̛׾Mר7G%rMya L:;CܟF4ME&]{XqOoxa`ڎL~ͦ8R"k\`֥gФ#[' i%]jvrR+'K&҈:h!ɠnt9óɧ b7qhXOWA} m4-ԝ(%V%H! tPS">qjޜ([CHW=Fb=^ [<3AnӒ9Z42$`K!K~a;4ˁf9|w̿VxY҅$;|D5η"9VEEZU_)B #lA#p;pU34Ny. b҈o`9D~?ejڏs[zF }0>@| BA/~m5 B*d[.Ĝ૥_u~k (w,к:h=KJa1:ʜ$+M(@n$@ v1mDXI{#]v`ٷp~H%s>IiYt+z7(A3K`sa/ОxluO}]iT_V-x\b췅J* "g&@٫񟁨V{cvg2Fv(yl@\a#?q;.V=2P1L!9݊\bZ  ѯ\k>zdXEȏeweg!ֽ5Zsb&<0v_v85hl,:g'h@`:~)>0_fPQgvJo2 Y'=!63쯠sB$8!Tf:דQ론~99T  \I{Mjy{1_9.e8brEa/š"A^Z7X6{Ox'IS#L`k~+W_9̃%e<0 SSv,H]~Ʉ9jAY-!QtbY}W5Ɛ,$iU=t*.oAg{S,2D 4*5byrIellBv/L`=bxQ{WM:4~X?!kM*caD=7Y3@|@PGSLQ\(gޚpּ/ʙ(l ?apG,ĂZQ+@YƥG. L2Drt[csFET#pL`|"뛲n<|#ʖJ:e-v74ߣjNl*#`9{dl\"m HX6 ٬L1dkL罹r*/7}P0 AuɄsğ}(FQpI4eTwuJLB2ա (_P fpp^F&kt$cܜ|w;}m ̸Ճf5Z#x8'o, WrFZ88. WXrϐH]2)zib6<w dm?c /ͯ1֩zn* !^ϗNJe2~z!A)myge^D*>5m1nمeDct75aQW!O"Tm:UWih}Tnl^^}l5&<="ó< 7#?wLm)I"і!*>% 0r5Q_ مmXtp0k+\; <.r廿 (xRM/8ٌ6wh}`$2h}4~͑`g(͎&_㙟#^)ٯoEFbAs]e?鰴8?0 i`xM;zֿQo`ueaZWv;q# O _Dk2T ʮh.M;'(WŦusUOb A݃׈KNw̰ձj:>.D Vdk1>I_-=vj E]4%ZrE艓 \-6TؗqLX{$&ЯŠS5Fpm!C*OI"qBsLXsR7SGmS<, 51/}PE}<8ewB\[M}B@,_#+hrc$-{$UJsDaO(HikRrV<dJ<Ǩǐ@eqs ;3i20OVY"QoGb":#ud ^&[V _4YR/\CrF8BDtA_ghc;5YE 4:5kJbf+ =ePt̘#JroQ^ć/8/1hZkŎ5`Z]၄nY%d35GCYX7WH"288'؊xP)&U!S9 *[W єh.ATB0=E$8\6ؤsZifǑc.$5Oߐ/1Gv*/D+s8{o[-`GN;UBNpOp=ZոtCNZj711tIRtp镆[g.,[A|:4dP`/6XVGRoFFA P]A1=Hr&mʥ(z=-2CЁTD}Z /VqLC'=| MYDe&aX0WF]tQfgvo畧f>7*SJpP4c'~K*$P6#0 D!VAy=*#H9UE 'wܥC[!=FwȉegzDYyXtԹzIjV1&+mkm ^b‰ 'RSU1RM_Rf1cPѣ !z./j|`/ַ?ds K|sckv3󹠲 I-2,Hc5۞bn89#W^粩6tÕ(]sM,JyGҽ M|GSz2iM?KcDͱ&Ͻ e$(Fcc5Z8x*iROv_67W#T|J\DcFhpXcY%ǛO#@`3Ԧnٍ}fN&aEQBǖ푎Kl͘IG\}M0/1Sm hA|.G ۢbE͜E=RM0)_dy:jۚI#Wᄔ՜P(*9y>##6wt&}%h-om8&%?C)F"lI Q7q&ŝP>Re/? :DA@V d,~W^ʭ,$2լҨ6 i5֤В@8-ɮ/;Cu=Y` D8ebtֽQn%!+䛸E+@UU6V`HœZXVrS|,;]L 7pϫ,oZ $G*A3}ak/y֠7EW`U<3hD;g칚(Φ;}|?klMEw f1az뙼=6=wCvZXԴUZ-Wb|uety*FwSk C/aMoC"zhana#펯d񴦀lz-~VV?>FӤ?j`s ~}>[2R=Y(NjvOoPDdf8mdV5oҖȇ3wPXInǗ5ŗNjH@B*fd}iƞp8"/"Qq>4~sBJ?γb4f 8.T@"lj=ҶSj`DUK)&SV =86_u"NnZ98bh^:ދe,-f| DlCxGX ϊhg0}yM$ݦ%oM{}`f# o.GgEh\ȁV^8=4q8o7?Ǚ׶Y!;5^⾠w~Bj!{L֟ylU{c3 *h-(QaFmKw -.S ً2yz6]FM6x۩w|KỎa.ji툭juFӃ($#BEKLJmDۭs~PaJh Ghp8wkE ֥]t[*#X9zDa CܷXܝLo5q|20t4H* ެ֯4G|Uc|}ZU 39g%JڐxqOYȣ1V]2a+׹1A jy}5zm:oW@3I,2IiӴ'=]V[ΆF^-Gh;4Ltu⇪h똤(>@ q˗@aV D"̽Y>p0(IN+t-eֆSBY/]]o.u]Mݯy |$ tИ K26_ՐMJžYy3$ysH#t@05vߠƵw+r6^;F3YCs-u>.eoڻyWgB4A Lv,71-pS; RUB:.~֙{~@1Г =@.rp">XӏtY$Ⱥ) މd߀e(DuJ5&=ItJcVp8l9:!בtP%vK8 ?zAozȆ6T:E+ï^c-1eRmZM~9dlL^S  s!;@[ߪGM{D4!hSb _`QeEuJ~>HJ~}-vzh^9?# 3B(A Yi}ApY9=yeWL0/ddqnZdE#Vħ3 hR&7V,-̨ov>.9=፥:m4+#a|NJxL *w_jek;\~\o3Y6H܂-!@’BjJÎs7nܯ6~؅kPB=r5lg6{ŠXXv@u%ÍNC1&9VXL6By]*v7ESr4 t 8':ڠqj\Y1I#<0܁GHiLIhM]s(U){աւ;EӨW.VO틍!lZ6 ˴u[ѤEC>8|nzz ƴq  U,$<&>5 o {&a Nu!(խofz:UtNqbd*2?}7  e+MVQ%G&:NxwMjȺ笰LAwXtMw)/V<^_/NLsؗDu1֛ -&=f/ T""P4@[+λu/)~йQ*S/N9\"dWa~KHqAC t/GW3VN G"gAXS’ {H.) :]vNPclR̈́xkm1y~Ʃxc؇c_py1 4SتDޝ[a0{O Vυ5{Yz&,` Ϟɿ?:*%9`*pc/Mh8`:M9TB<)z2VWk:"KKDl걢Y%:Ǖ,Ghբ#jcQ 9]?%:d%ΤX" LHiڐ^tou0o5현.X;Lw=/-XX;*Jkud@GiCe+1B K~\g]KR~u:Y0W,.1'Uܘ>3UJOIkXLjnD{9-鈐\P;;̝yM9g<ޯF&p{dJbI~ct Ԯ6O"G4#ϓ4]Dd3vu aP'OdCJsm_OkI_Pgo9Xt57@7b^m7PsFܾ3}6r%i X3k狚c&?,$j$I|rqa|g. b+m ehPb|UQ+W{'U^r7 2 @;7-᷏[ȧsc")Nu+Y3Ɠ 5WV84u*ݥ/~J<,;!h߉g:<ւab5R3\L9 \bO]kʣX%?ը}>(lmF**<^^h|~E θ {~"Fy_6{08u_x#,<;G43xa$~(S_a1%~ tG;^6V>̯8 Mߡʡ_ޥ m>&RՃ><]\<uUDP-Y* $Оn^IVN&ԊV ڰk:oU¯u*]n\_֩B.,kr_1ݯ75: bB6YVB 8d̃(l 0_+Ulp8xh)}g-cVJlY93^]_ 5F܈H&yv>aO$R'ڋ*P4-Њ%IUK|.>n= 3O PL/NWBj f1 D*sU&D n~HQB~Eyr#y2J(@/OfNzM,֙w#L %7 NٸW  (oy ɠ̩[%g_?v M7/GK~2i-pkiG뉪;_oSSe"40 {|bL56'/aGP/R܏|RV [lsx-Kw8YmFtNG@=J0XuN3j>}tV!Ў:`(WQ^2`\~uKs5e2/HZ ;5$O/d>E*\t7'ȷ _d_l,Ώ^Yp#v{dMq[ɳ3( 󖲚w]~kwR.gn]PP f4某#ll {3l[c>m s B6eQ]nڰOdm|xPY|y!dN|#(MC5J-qc>&IFHSi$'uZ_y|~Wtjҟ&fiTFӞ.GIȵ Itbpi'yb>=W8SM tjh#[tB:F(A>C }t"R NJ ~rsݥzn$+bsyvEF/d^CbO$Wn6`QeYƓ+ B4:xV_H+.gڭ DF%ί92ҙe:9 e(z6/ihpgT7 KzʺF p/@s EOF"˲#6Tڬ;÷.>XAl4ɞf/362r좐3V 7c`pdWKouz3-@<;مTJw6xUB_/ gt2 -KЛ{Ͱdo7AX['Vk|]QcC6Tڃx)0)F!9(<2ТW qS>@+eh)5%8ڞBBoMzx Bd\YjHSD=1uzjFf_ ;--r: :y@)|7íQp"w[$-5\L}!ϩU * y"w -龱ciWd+Ye_9YmRɚd hjSbԦƾ# \Ӹo@FrrEQf³KzB.W.Q떹(!³G?3%A1 P?:C%ѼXHv]|6f4ՑC&w%l柛xM k!/+_=>mLF-%-q\ǎ )bnJ X 䴓/: (̆lz5 ,)jfjZ͇:M V [ۍUÝDO!y[8É 4o5ݨxRj!/yДע=v`'rC!˕e 5 n (:p& 0Q#\2#Q$F )O7#2>;o^9C1lRh\4+ᦒX\t%uDh3vvVI.EvYrqح@ \Zzp:QD9ʪ`د5'DH8Y\9Fo_= FӲ8#Dyx'umE))׆KS?bVɯ[y2g[_ RSsg㞁\pi/,Yz/5늴'L-!# 29vfjM` -WowB$JX5/ȅAe2X~$#HSE:{ $FU~.x>|i; .꥘Ç` u%ײ+N} $*;v!v]pSy?/-^VQتxmɄ+G ~Y- P=. R_ f7w kʩvokjYJxG.a:qÞ'{7K/|on;I[rw :!Wo*Kad99Ò2o w?v*xU3˅ _THxs9[ ^%G8l@M);Xi(x9}O$ʂӥwB1/C?=:w _{!$HyC_Xd턘:27!l?Qk@xOR]>5V֊XC|O;)-~7Kwkj\J|WN&+||e ɱ޻:b\MoĔCĬU$֛^&ҫbQ.`jbSkmú,ajส@-X[ȲН2Kp:}N.lHOpDOxnc$GF)uN2yexQ!UP}!1K'z3agàK[ZW-.nNLNɛUZ(f፸Q-eiI:;5^?j*m;.1<9KksPπɮx/^%u0UOe 0 B oPVq%am.=ƐĎ>v^p),D ]k9PP$OD5-G$HenhS`Z쉆XrzDo!nOBk3`X/=vN$*[g R/UfQt Q\R kl\,|Dz1䯀svcZE'fمOr{R g Π p&j  ċ7\H`f4n/1o3~gntn*`{pojSX/SPlw^ S]O`5[2R<WvQ4h(81V93o*IJŲ]AoEm3iF%=y\{ +9Sں :Ἠlߔa|SHhsfĵ`iv rwuSs #:nMi^>].dz~vU;^_KHmـv1)ƸT_ o_*}ѦJzQ!2C[o'i{~S`׺Jd\ sS ZKY=1.B)]_q&x P2k=pf?O}X:U ?a_Y?6y~D.s#d;|z1%dxljLwJD\_@팣Z 2F֡ c#wēxgὧ:tcu/̔e=&`h,swfd>}66y_Jq);[A!fr&@B-g m,O=v;,M{MC5i$DA5*6_vʅ 3`BfOUS:z:/Zd׋i/*7.DUbj_=NdAIxxfJ?sQ.6 H Q{ #~ ~X[0eʈ5fhrP#ВS-ťIRqse€6(`FTM/!=/v@.HR\gw4Ms3 9 sV Fр/ռ8:>}x]~hӧ4Olx\}Eqjz/_::aGܣ.Rw\ OsiFp  RdN(ἧ5sAulR7plI T?pȭHHn#W+_=e5b;D/SxW2Dᢽ%9 Ͻ#[יBPhle^gOx76/.؏jNjElEtU5|X=6a 6>#|ĖҘ B'Rf|۹-Jp*gò" KLUHvroMQ[)a!Wjб]G%Hl)A; Men]`X]oW ne0ZQ 8Z&Snj3 O?9/oIȹhN(;=wgv4 #%El_ ģԈWLlHL0(۷6%YcZoA+~3Zޗ0׼ˁydm3 fkD޸cޟ}0)@G3.ۆpM[ "Q&Ra~M,0XDTŏ TmX<@ሱnpi+;.4®Z +һT/ianXe (_6#"(aUJLR3}R|0n1AX+ǺOtwX=e֤zG: ǔ8({acצ^#VP/֡C=5MaL Kyk\V\ 7ݍZS/NĿlb1u}u_!/*`H8no -v,,:WJs aamv)l3T<'@&t`y!Tm6yn?[G@xP;?z(8!4icX@=D![%6F bBA8ȗv\( `(CjC]0%';{ʩ)4Su%!L*N?ĺPؑB~LXjp>^Qu=S`$!ޛx\Z5ʱě¥ (߀n6QX` =WPh 1 G]ܨboH6"x% p 06^@涾?WunЎEO($DIaۏު$vM : W T{2 h *cDRI%-?j<^[ajӵQ=PN^m",M( Ly+vuPU> d?Zd.4oT;eJaݼXS׵0Lj?/f_R2Dy ֖f\cVqhѼ7!2L2%)0mj:#8lɅ"@XlE>'Ѻn3ӂQ{G®; ƨE= %炽/_b:4fg(1~@>YN9=0ВBzX; ܚcF'.95d|OucXQXV< p婵l!@@ ,LpH8:eb#IAˮWkʒ2uj;hvfXԯ 6CsнNipu9b-Ta| E^f$$ǝTҁ1;?IglWjBՓbd4p Dn=AʤiSE2R^E˿ҚʚԦafjB- Q&kܭ>[,oiOD~F*)hFA8hq[NT- 19<9(t"{F# g㻕m!cV周C]wت5OHn0W \{̴VDzʋ2 >p`Oa*SV^OKl>-f'5uSFs=l;}0 dt(WX[wՠ oz ?μ<&9D5{ʲ<K~̫A߄͗=mi/+!*oB^0uEpRk6z.l ,YFӐm~-$KR;0Ox#LI@|묦5! 2y-{TfTXyb 4}{>ywy(Uu]*ˑLuoF0V>% UdD9V1TnG7iM#T>g/-kNʂPBL8Fo ")&%Ƌv~UG)*]J-4yLL|8c},ʶs5ܗnҚ@ G^c>ҋGxNW]l/[Һ{bַoe͓Ar#3'DNgɹ%Ӹfע*~SmF 5s)bdr7WI> Aj;ۄtrq\{ o#iA6)|gLh Œ8/MmB<eγI?LRr;s~'SV(W"6ȹEeߪ&1m[ST>Xː૎ԟo(XukgXFjN`z攖;Wڲ)'-G*Vh[I Ϳ23_h;XC{:Rw<4 ) 9o2uN޸ӑa$wIx%΢˾bPVYm-c?+y7]IeqEf6Ͱp`Wُ: @ ~C!eeX ZA[.X f؆i-#zZe>MP(;41b- c3CgHT]cb)Zu6La?u4rzj_?7>LѷΌ2j;v#T#QAO0IK72Vv>ӕȂFoB4g{a0`nK@|Tv)p,&ҒI~(~HIA⨸W}i3m` /K z&hJn 56+̏}3][zժf{(2$* dPR6SBrdL#FPM8o!<3{ _b!o>0X0@M yoISgˑ,톿[CLn`+3^9_Hiyk.#e|ٵw`%M?N@T9Q0Q+, };_6P`ktJ "`nw8C $`ڀM ԹJFݏQ|dT7.y^|2Ad"Қmfx<Ꟍ3eshդK]tr[̴.@ MX4лf}k Ov^a-SsMP99Ww#pUDNs;+. T> sl}?޳w󣇓qw l42L]ofEڜ-n4|R{-s%"(.X-]R8n2: !UuinDodXVb@ck]# [C & C$2,młL ˕~y@|3, Pq&ElpҘ`v|.YBN&? f]3Zyi[iU61#+mkÓd2%nMH7oDr)T-#=9Ի̗ǔMWn٣B|d_nu 1:*ӟZ[߮ʘmR<5s0* Rfx?ٚPqKT; <BɴPtunKN[%"\RDh|.*ߖGu9$Zܜ`J2皱AnñoׯVG}TS%~}jţS5.ݴ]Z%$uWCĭd- ='Zsv$hgs M}="97D~ۃgo$SJ`As@!)ikPo4[w{_u{N07Żfn_ q_ճ_`'"4Mif=g5Hx_2I;Țd_5s^S"GGX~@͏mpu/Ѷ ?l秆| tԤޯ" $්֘}<ۍ~۠U㥚fAV Q>t5f۞uԗ.Mm Y>5+B4y&E+1bfԝCt=OI~̌7$fe. -jy)[e O< ckE̢hs\0}rp(wʜ԰b5jd"ZGEǽYoUC@6`Wx͇rhUߧ$~dfFf M!?Cűk2y9DLbʠWvbS1 xeiWZ+X1G>c!V)i`;mAbzHikGzoFt ͹г.8 8jsPr3 c"G;_@dh0;U0_K{z5bh1 4aR՟ğI'dKڃ):;;t84FK@@35u풶d+U+L)c%c\'`NK`e/HTؤ$~1̨@rCbll&ouh~ڌQ?aF;RC pV緈h3棘@F1儝d ^A*gv!sDptAtHO ]d^' 90rFoM+~pǸmZI[uMBo{פ P/iG?{c'xfU8Ll&r!JϥdѶVOBy5Kŝf Սf́A/򹕈ʬYKZ(,P3*U)GdI0.2uw:mo'?Ke{SKaO8a28,wUϷ:_4a6KCObDx_e!+3r0^tP~e1N6EPk_<|q39Ӈ.U8Y9BmԚӚvVp% ThkR0ި6CЗ0+IwD!xi ˒s,u;ti!V;Gw>6dI(q9Ơ*BK7M$I_.Xy,2hҔU{S' /ʇRh~k/huXg8Da7e Z\Qw^T # JW峌ɰh0:UPJ)[M?/g4Ifwǟwe}d P؀@"U=> u2 !OV<֔t1=t-[.D8=w)A >jo>jR{u@4E: FxL#۾%i׻J{'(Z' x"MEmz&WA^{VPִ}vϱW\z, 9[ggg0|wvI -=΀2~/{9 ^V;Cu=! %>@y)B<0v@d׬ᄴ8C`0hIӅ aDɘ_VİFGz^9pr蓠y\a.* Ui /^;9Lz06}i `>+_i|ĨkڎPRLХ[e#UIn/{[y_fx&acAwC3Q]F5UvmTy85Nv:BdgÑ"6Su4`sO2*vbmh%?A<7: ,˅e굋'N /7N_j1tz]3v-0.8SiMb ͎U,6)5s]r|E2A,|,evA͇ XL>a0*iP'ށ {L%ێPne՘QSQqP@g`iUԁʐؔ& 1n&mwPWI[:9aRlu_Y4}Ht }5D/p75"Ι2_\櫱RjnQnE `L kC$3z|>Ĉt9q*oܻ@S џI bc!hg@;k,C꽄 3p$JyX@Uj/KQJٚ+Gv5pUD*={j,([Vk+t"}̎y 94Vi}PQqi"',!QȪ QExj t&r`( S@Dz.IAD6.i9fmvfnS @+a'*eKNN=6/(#N ]980mjG2oO43 %JbEVkc-)r r-\oj.ѹp+̺׹-Bќ(gIJ\6 PQKBwr*_OM.X;92K[\cߥ֢0w&"M>ŔzroðToRkUـfX |_Fi{xB /ƬQ^^iѝsVAو2tQ׭pл$K3|Ӄ=ʇrM"6%N1`eOƉ/6nVV> 2 PlVK,q.,h\r y~VA–E .7ŌyWMLXowjrT < u !.eqJW](/~\0=WIM횆0dYngAr0&'^*CNf_c,iƮH o[EU`)iHh#ǃ]/>-`L} iM&ފqBxݻ:Ax{0(^YƩh#_LKTn<\!zqkKMPQCu < 4D^@rlȶ<ZM|*ާ ~ &D⪕U)%5=ũ?|qy.ɘ Sc)_Կ+8֓n$LrF|_(+[Ϩ$ZS6.;CS'63})&3Sby'_Ñ7xBͥk.{T9ՠC1Z> }Qa틟2m0>@*rRHw@w6 e';YQx9q/ф+uYnbMVN5c^%L$ax]"zt+H=ZL *T,w<j }Sax~Rm69h+ |8/;;,Z(lGⓍ8EPT&.ins„UFX]핽0H65cGivE+f<Qp4qp/4/oJ 5P&BAvc2h4u`E:}&56 l. Ӝ 9.| > 'T ҥB?iiIPZے8i"$Z*W/߿gτtzٜ^&vsw %M6wE PfI J2PśegP4i"^燮$󆡆[:pSK hER\ڗ% -drmDUJc }Bmۜ/>ȌAZm̮'gP%>i~p+2E Hۗ !gdWrSNE(rGe rB. ; 5(  bP0J JVg|qΚ~^_Z9OJɊ xT )JGnFlvY:BAZ_r]1}`m$Ġ!Co:Ϲ%^ys&{1&ed2/419,Ck*f2"ƯIX,YISxװw5mUk?lE1,Կ3s$_5U{OΤTjZI> osz }@϶ ig1u1: h`;Ù_&d?&sh NBj$4;~ pIl~2`&wBVǸ9|XyadNOGd#nbX:c cءʩ-d-Vo 44=b/0/^PGG"s+2$cMQfN,_fQ&~}YVGMb$!jiEx`(cmwE[&d*Yj\T|1NLkL~T5d')sWIt4ِ㻑,Kܯot[GG[ S~j?'*$7y)JM5׮bv+iM'l 43ͭBNCp@k M~> :abߖ"wd(" [ě0ًS2} c;R?`edb^%k(Խ iR@(_*P\dw+³1gƿ4v*lm6DT'X9E9R+r6Ib ƭeMd/AFdlj52$d^OHPJ2],] ]~rW=kp=>:3n%]m) (J.̸?ԫ<`Wј/4ǤR TP)prWz ( W PkYLeyA-TIc듞΢h@p4NS0>$7Z=p.[9> :=y>ˤ2c-Z|٪ӓqD=9NB7z vm]&|l?;eԙ5YnD*TQϙo`]?N=(tKhGdUm)^}1 P3_ !@'3L.hygtyS75't{R0,j>wSZ 1MRbŵҍN0 ibǢ24j|_FDb9m_]vo.vo4R=bLY ͘=M|n ک K"p 4)>_MT(s#n.k%A{p:!&ZnS"9@^3Gu;GNQ1 @i`Y.+eͬ]6ҰGt=2FGeY"'̏[z?x]#SQpq// %#Q+A=3n?wEyI' 8ZH)=ʣЋL1*r7q|t(%ޥ@1F,Mm܅cv_,vm>?BɬQ/y+0aSP+XtkF@WWRN($@ױpp$ ,yV ,r>N.Xfnye_6^-{26'#7Vsh)GN^A̸y)0׳ïæ렝"Kڨ^eɞ؍-qWMdq,*A֌qЬ>T;U*٩j,jX.mEߡVfG ͗0)ʊ#ɴ{E*?qNM({V)Iؑ"rZtcؒ[+I֛F!'8;'鱳RLy~Fxԅ3q½GDÔol%x܁Pf;'l +|2@UiGQ~$1dt7RZ zd^^9RCJ}x3qkL҉e˅J ,h U"<'"R3$ۣs۬u`YFwWL7/H#}o\ .f1dwYt^mU{vn/}ZhHPȚ,*~DX1֩7@ ^ U zGQ(S%'_5`A gVSUtS#b=5.2NwLg8q5p)j4L ^Hrr)=Y6QrD!$v}tmK$\ :}'Fh:j%_Jr=مEEޥtfyۍXN\KiIfқ(>:L<śkw;Uo<#uTDy$ÁJro?9ec7DDJ[YQmx,<@wx 3^di6'~+ͼFxuʴ8.yg0+&66Q*S;B-]sy;b8#gp Qbn,$YW1!Lurh\lJhfk$tcbf\dx6Fap)4BAmޑfDzU]UǮ+Rʚ}`12XM!U9pj朗@)Bٷlf;kIM}ͺ@DS{DSk<*|Dr<5p!q!TEpsfϒʋg6+&|l9dF&w ]xrHp F':7mOPh))ϵ}Ϡޫ֩:*Oڦ[$O8-]\dӋv`xc r#@~4 u~;aAOםO3c12c+́)lm+N ;S Y"wީ%[ϭg c,ujҁ: 0пbVI_]· ]eg| /=p2;uIT*i{qp_[|4JVȝT!~A^ AF4 Kyl4L*S'L/Aq`[}'rLQprE 'mda-"rG ZahMizri>ͦebʼn \(SbLG%L2vgg>u['mPG.ClDQo 笧lfIc^Pq^FT^jgqG?x,5VJq '9-#Yn*{3 (7Ǣ踖*-q[K]{=EsM2SHfP4uY _#$n )/y}O˂y(EԘȖ<2+jWKZzvTj]&0-1bCOD#[RQ'ˌ S޴\fbӒN[Ng6꯶z ulTzQ&FVCl,pn$Yy,5}Z,oe[L_a=R>ƷC2IȜm9Qz/lu\uhGc;s}m v}/AQs}n y.`g MtSmv>DJbVH{izvb;Q|֛,1x9`d2n{ PX OJ.ZׄZ2}\M-Ά.hp،@M@:!~>0==z#TcSTiD0`.,Ҳ9yS>ea|OԧNp;V?~"^* ݐ$6+ϳWyF/ߞj.Yf LѧlQKbh$k;Jn gvvm o;T̀\ATSή1.W6Q!mGWBAxnV-Σ%h3AH|8l5ƓupDdra>FGA խ:4Lrhs M%8סf]I[@Am+*/;X +|.Zy<E(6ގñ;Rҵ`vQ]}pbbVݖ`Ҕ5?ñ?Q]_0qI%x3rxU ֌~ ^풿'uDgbk=GG_)F_t6b^akW׏ј|<%=BЏpgW~]&`:}>m6o? ^Nɓ .{9aghHvجcgW&c V+d?i6 fRQ;œͼU,F)*,MtJpJAh,;k8)^SFN^* |H|{2+0C#b,s#Ty³ b{Oi33 jsj㊈aN~llhS 5L?e+vShK?Y(MR ڇs'ު e?z$\& c2<бooL>1tv5 ؟`#9hr4| P]IO*s#^sJc7#"kgwJEWAg>ϞJ :bpK9@c~lvQ$mTݾQwSZ3C; BQr8S6y/~ nw_ҰuL{I7uv2*ځ2M9Ỡ7*ŏ QlReLyGN8$ -,yrxCgΔ~9фՅ3׼ǁ6QսZrVkZlbPRlOt~WdďSoF ;,֐zgS1V81" -=.kk-[ ]sO-: KPz4^~ Ny[^qKbUv&&D^iB,כSl_]\W㤑YO:Uny@0tH.9 QI/ԓW jM"~q|~-ey K5O=bڍK犊6Gי$̅G,^0Qm6.ԚfUڍHo L`rʎh2Jr6&[ %/}]LPN$"}*3J-@wIp*6B|h׭ 8)l[1)7Innx~QP~lݾ)em%1FVy: ">΢i>B^d ;%:r3+Vr6VW~ !+kNz50Γç!!ρYe{* R"t*ŸԳǔR͈ &G~'1ܸp4# VwU23KU_`2tlDr71 ]1k+TX4h3D'Gz:UZv `]AXQ4J3ATOdXK3#2D~4raQcThrC_}t 8 ݒ6!"E H:?eA_~H ?2] WK*U_IЈ̋y&$#mߪH4+>"wm{Y`}&Tnj4G2pJS/i05b{iaI ό9cv_-cp ӅPVrWt:#VXYe.5ϗu4&nOwuz"qmAlX|h&\se$>>^xi0 w]Ya%V ѤL6Q28@gOVntH~W+.uX4\}"Ȫjb9ss,p]ޅ`^"t21cV4sxi|{!Z'g?gG?4ctuNm)q?O*ni~m,$jYT^Gvـ ZhI(ӘRJ /'YLc#7צ)v=vܐ˗a]q]2X#? #7!"0@-|1mʏR.0xʋQ`W(Km'Wүۖ*K$*!#*}Nid/ 8;V8H9QkT":BWzA~c"O've?82,؟,;r'|bhz_a핧G{2S#=B{8N*xyUϱMBKGFx"1+Ts4b2 IKR4ѽʌ2^'ManZ$βf* ܧ=+o- ;|q=G4,URITr !$;OqE2:m{IpO.GEKCi[N&@Y<@|p{EBSf>VgGe١ OX8 I7wr8 }At,+@t(屍iC. yK'>{$rLB˜eI:Dmm254þ}ѯ Qr C ^.!ι`#$eXjכTaE\hb4t0ŷ2Q?mJѪfOnhPp /A†敆"b&w帶9X=Ow\d %ah`E(23-3w?)4x(zB74 ϒ,]WI 9?)-%3p枲\l}h3b/:xg,\Xɻ5Gaz8G4‘Z~!U#N~9YMzM^Ra}O°nG./b,UnLĽ<1|gAE.ȧi;7_m7&9< &!"N˯2|{~],jLyzKS ă-զT$[*d@-ׅ͸$ /@Cϩ>FDx CҁDu<̇zdLyS K )>6Z_HP9]$I2w9v7>З:ibH`3f\>H@)cv|}PoNpT ITd!%'?EB->5ge]b˟\Py|J +5dH|R?9%D0aPp\HwZ[·\If&Mnʌkr~ox3ItQ"OHN_Bh fܼw~e٢jSJ PEKv$"4ޘ )N?F'MZ\su[p5 qx$=YaYT6ҷ "s@Syu*lVMk]Z[ꔥF4oһB$.B5\Л& VSJnP" RE(jVlpc2eݓQ۷)$oS-62Tg=^U&lD1pQް S]*?acL.R5±3H49W)'.v!K>Xed-fyplPG]՗q$MX,\eKJ!f)^-ؿaFK{˭/$8c A-mzȱ@Oݩ嗾vX 3S.sfj_>G|. 4-yUT@>3WA^T}@.ӱAc5tس/a<u?J2 &0pf"];gC{9ޭӌhA|Y{[G؊-B ?v˛ &t)l&4+`v^.LXc6:P#PN]MZ]+%+fE]' <+vbim!Twĝ`0!>a< tpvϙJPt҅z}fx2jP>5) vEB2DA"vg1WǼ4 _=J5Qll!vS4!g|T9mYsz!/ ׁѓ}RN7%d& E} &RlERgC^du| bیf3wD(i8@Mzgj9~aaS.x{@IG`ѷ \N,hST{<\34N9wgchAb|5tSzJ)\3 W乥olM%vJdHnѾ*hgU`g߰Qj`4qztZ ^?^)WR@;meXg+۵y4EOCTBg|4O6W8ID p FbyhX4MfӴ8jj!dPw{^qm'c,GE(Oh*QezWcb^͈$džRK8}|9øJt6anXCH qaX]YK/6%U'[b` {ӻ$^>)? sM`B?C/jH-Rq}VluP3ƃk>Kw2 [&c%<%;JM4Ĺ>ozmQjH*xNhZ=ؗoLՀU_[^@B9f~ۥ\Sћz0IRi VUm=WBӔdmrrm"\8VѵquK?_&ӆ[p^OމgG&@M-!H/qKl)(䬱!еU'Lz$)pa˳}lǵC8b2y[X2c&2ws#-/L@#q;{s@,S`9 Q@<&\r"o1^3,s9l}.V4M7h,"$,󏂞3F^w{l]hCu_| u Ͱ7*]+ vN?-9[(E+늧7̶XOmL1c{$~|nhYDNÇ ?ۉ Q+3_JÊ~DrNǖi$p͑,iM0-dM1y,[#eR6 @:Erе >H4AEU䚿@S#҃:)pq8KfUC92O"Uux1]|6嬩$_.v(w$<ؠO٪G?;!hz* Mbɶ'mBYb}#dޟ%{\e>!ϙL]1=ZZ$^W''QLw )ܨ0R2S0l|~L^`֮ͨm.y\bgwV#(r7 {?fٟ"|;@7\( O4M5n{/_~Ss -  n4}^x0| 9k'A6m@G"r |r+I, \gf46GAD(uH' KR}KS \U~pp n~Ljmc {]v'ٿ:f]eYg{1 =^^?i>QT[[TD4 ԬvY2bUO׸Ęrr7osk! oAU.@Ykc0vT0lFuЉ[Q.u d$6?=áx