Package: apt Version: 0.8.16~exp12 Severity: normal Tags: patch User: multiarch-devel@lists.alioth.debian.org Usertags: multiarch Hey guys, While working on getting the Ubuntu base system's cross-build-dependencies satisfiable using only apt-get build-dep -a $arch, I came to the realization that the only Architecture: all package I'd seen being used as a build-dependency that *couldn't* be marked Multi-Arch: foreign was python-dev - and we had separately determined that python-dev needs to be made an Architecture: any package precisely *because* other packages needed to build-depend on the host version of python2.7-dev for cross-building. And of course, unlike in the case of binary deps, there's no way that the new build-dep behavior would accidentally pull in the wrong dependencies and break a user's system on upgrade. In both cases, an Architecture: all package that masks a transitive arch-dependent dependency is *wrong*; but whereas in the binary dep case we have to be very conservative in treating that package the same way previous package managers would have (i.e., treating it like a native package), cross-build-dep handling is an entirely new feature with no upgrade considerations - so it should be entirely reasonable to treat all Arch: all packages as implicitly M-A: foreign when satisfying cross-build-deps. In support of this argument I'm attaching two bits of evidence: - arch-indep-build-deps.sh, that recurses through all the build-deps in the specified distro (here, Ubuntu) to generate a list of Arch: all packages that are used as build-dependencies. - arch-all-build-dep-list.txt, the sorted output of the above script. This shows the scope of the problem; up to 1000 Arch: all packages that might need to be marked M-A: foreign without this change, which may not need any metadata updates with this change. (Of course, this script doesn't filter out build-deps of source packages that only build Architecture: all binaries, so the actual number of packages affected may be somewhat lower.) Finally, I'm attaching a patch that I believe implements the desired behavior. I've tested this locally, and it does the right thing in my tests. Example: Before: $ sudo apt-get build-dep -a armhf htmldoc Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libjpeg-turbo8-dev:armhf' instead of 'libjpeg-dev:armhf' Note, selecting 'libpng12-dev' instead of 'libpng-dev' E: Build-Depends dependency for htmldoc cannot be satisfied because the package autoconf2.59 cannot be found $ After: $ sudo apt-get build-dep -a armhf htmldoc Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libpng12-dev' instead of 'libpng-dev' The following NEW packages will be installed: autoconf2.59 libdrm2:armhf libexpat1:armhf libfltk1.1:armhf libfltk1.1-dev:armhf libfontconfig1:armhf libfreetype6:armhf libgl1-mesa-glx:armhf libglapi-mesa:armhf libjpeg-dev libjpeg-turbo8:armhf libjpeg-turbo8-dev libjpeg8:armhf libjpeg8-dev libpng12-0:armhf libpng12-dev libssl-dev:armhf libssl1.0.0:armhf libx11-xcb1:armhf libxcb-glx0:armhf libxdamage1:armhf libxfixes3:armhf libxft2:armhf libxinerama1:armhf libxrender1:armhf libxxf86vm1:armhf zlib1g:armhf zlib1g-dev zlib1g-dev:armhf The following packages will be upgraded: libssl1.0.0 1 upgraded, 29 newly installed, 0 to remove and 33 not upgraded. Need to get 2134 kB/6199 kB of archives. After this operation, 15.6 MB of additional disk space will be used. Do you want to continue [Y/n]? ^C $ Of note here is that libjpeg-dev is an Arch: all transitional package depending on an Arch: any libjpeg8-dev, so apt doesn't get the answer completely right - but as mentioned, the only way to fix that case is by making libjpeg-dev not be Arch: all. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slangasek@ubuntu.com vorlon@debian.org
Attachment:
arch-indep-build-deps.sh
Description: Bourne shell script
adduser ant ant1.7 ant1.7-optional antlr antlr3 ant-optional asciidoc autoconf autoconf2.13 autoconf2.59 autoconf2.64 autoconf-archive automake automake1.10 automake1.4 automake1.7 automake1.9 autopoint autotools-dev avr-libc bash-completion bf-utf-source binutils-mingw-w64 binutils-source bioperl bodr bzr ca-certificates caml2html camlmix cdbs cernlib-base-dev cfortran chemical-mime-data cimg-dev cl-asdf cli-common-dev cons cppo dahdi-source dblatex dbs debconf debconf-utils debhelper debiandoc-sgml debian-ports-archive-keyring default-jdk-doc defoma dejagnu dh-apparmor dh-apport dh-autoreconf dh-buildinfo dh-di dh-lisp dh-metainit dh-modaliases dh-ocaml dh-translations dictionaries-common-dev dkms doc-base docbook docbook5-xml docbook-dsssl docbook-utils docbook-xml docbook-xsl docbook-xsl-doc-html docbook-xsl-ns doxygen-latex dpatch dpkg-awk dpkg-dev d-shlibs dssi-dev dvd-slideshow elyxer emacs eog-dev epiphany-browser-dev erlang-esdl-dev erlang-nox erlang-src esmtp-run exim4 fatrat-dev fenix-dev ffmpeg firebird2.1-dev firebird2.5-dev fonts-linuxlibertine fop fort77 fpc fpc-2.4.4 freetts fso-specs ftgl-dev gcc-4.4-source gcc-4.5-source gcc-4.6-source gdb-source gedit-dev gem2deb geoip-database geoip-database-contrib germinate ghc6 ghc-doc git-core gnome-common gnome-control-center-dev gnome-doc-utils gnome-icon-theme gnome-mime-data gnome-pkg-tools gnulib gnuplot gnustep-core-devel gnustep-make graphicsmagick-imagemagick-compat graphicsmagick-libmagick-dev-compat graphviz-dev grid-packaging-tools gsfonts gstreamer0.10-doc gstreamer0.10-plugins-base-doc gtk-doc-tools guile-library g-wrap gyp hardening-includes haskell-devscripts heroes-data hevea hicolor-icon-theme html2ps hunspell-en-ca hunspell-en-us hwdata icon-naming-utils ikiwiki intltool intltool-debian ipython iso-codes isoquery itstool jadetex javahelper junit junit4 kbd-compat kdebase-workspace-dev kde-sc-dev-latest kdesdk-scripts kernel-wedge krb5-config language-pack-en latex2html latex-beamer latex-xcolor lazarus lazarus-0.9.30.2 lazarus-src-0.9.30.2 libalgorithm-diff-perl libaliased-perl libantlr-java libany-moose-perl libapache2-mod-perl2-dev libapache-sessionx-perl libappindicator0.1-cil-dev libarchive-zip-perl libasa-perl libasio-dev libastro-fits-header-perl libauthen-sasl-perl libautobox-core-perl libautobox-dump-perl libautobox-list-util-perl libav-source libbcel-java libbcmail-java libbcprov-java libbctsp-java libb-hooks-endofscope-perl libbio-perl-perl libbitstream-dev libboolean-perl libbsf-java libcairo2-doc libcairo-ruby1.8 libcapture-tiny-perl libcarp-clan-perl libcddb-file-perl libcgi-fast-perl libcgi-pm-perl libchild-perl libclalsadrv-dev libclass-accessor-perl libclass-gomor-perl libclass-load-perl libclass-method-modifiers-perl libclass-mix-perl libclass-perl libcluster-glue-dev libclxclient-dev libcobertura-java libcommons-daemon-java libcommon-sense-perl libcommons-logging-java libcommons-net-java libconfig-inifiles-perl libcorosync4 libcorosync-dev libcrypt-cbc-perl libcsnd-dev libcsound64-dev libdata-float-perl libdata-integer-perl libdata-optlist-perl libdata-types-perl libdate-calc-perl libdate-manip-perl libdatetime-format-epoch-perl libdatetime-format-mysql-perl libdatetime-locale-perl libdatetime-timezone-perl libdatetime-timezone-tzfile-perl libdb4o-cil-dev libdbm-deep-perl libdb-ruby1.8 libdbus1.0-cil-dev libdbus-glib1.0-cil-dev libdevel-checklib-perl libdevel-globaldestruction-perl libdevel-repl-perl libdevel-stacktrace-perl libdigest-hmac-perl libdigest-perl libdom4j-java libdpkg-perl libdrumstick-dev libecj-java libepr-api2-dev libeval-closure-perl libevent-execflow-perl libevent-rpc-perl libextutils-cbuilder-perl libextutils-cchecker-perl libextutils-depends-perl libextutils-f77-perl libextutils-parsexs-perl libextutils-pkgconfig-perl libextutils-xspp-perl libfile-basedir-perl libfile-chdir-perl libfile-desktopentry-perl libfile-find-rule-perl libfile-mimeinfo-perl libfile-mmagic-perl libfile-scan-perl libfile-slurp-perl libfile-which-perl libflickrnet-cil-dev libgconf2.0-cil-dev libgdata-cil-dev libgeo-distance-perl libgeronimo-jta-1.1-spec-java libgetopt-argvfile-perl libgetopt-java libghc6-cairo-dev libghc6-glade-dev libghc6-gtk-dev libghc6-mtl-dev libghc6-parsec3-dev libghc-hslogger-doc libghc-missingh-doc libghc-mtl-doc libgio2.0-cil-dev libgkeyfile-cil-dev libglib2.0-doc libgmerlin-avdec-dev libgmime2.6-cil-dev libgnomedesktop2.0-cil-dev libgnome-vfs2.0-cil-dev libgnujaf-java libgnumail-java libgnumail-java-doc libgpmg1-dev libgpod-cil-dev libgsf-1-common libgtk2.0-doc libgtk2-ex-entry-pango-perl libgtk2-ex-formfactory-perl libgtk-3-doc libgtk-sharp-beans2.0-cil-dev libgudev1.0-cil-dev libhash-merge-simple-perl libhdf4g-dev libhtml-format-perl libhtml-stripscripts-parser-perl libhtml-tagset-perl libhtml-template-perl libhtml-tree-perl libhttp-daemon-perl libhttp-proxy-perl libhttp-server-simple-authen-perl libhttp-server-simple-perl libimage-size-perl libinline-perl libinstpatch-dev libintl-perl libio-async-perl libio-compress-perl libio-string-perl libio-stringy-perl libipc-run-perl libipc-system-simple-perl libitext-java libjaxen-java libjaxp1.3-java libjdepend-java libjdom1-java libjfreechart-java libjlayer-java libjorbis-java libjpeg-dev libjsch-java libjs-jquery libjson-any-perl libjson-perl liblash-compat-dev liblilv-dev liblingua-stopwords-perl liblocale-po-perl liblocale-us-perl liblog4j1.2-java liblog4net-cil-dev liblscp-dev libltcsmpte-dev libmailtools-perl libmarc-record-perl libmath-bigint-perl libmath-round-perl libmime-charset-perl libmime-encwords-perl libmime-tools-perl libmodern-perl-perl libmodglue1-dev libmodplug-dev libmodule-build-perl libmodule-refresh-perl libmodule-scandeps-perl libmono-addins-cil-dev libmono-addins-gui-cil-dev libmono-cairo2.0-cil libmono-upnp-cil-dev libmono-zeroconf-cil-dev libmoosex-types-perl libmro-compat-perl libmtp-dev libmupen64plus-dev libmx4j-java libmysql-cil-dev libmysqlclient16-dev libnamespace-autoclean-perl libnamespace-clean-perl libnarray-ruby1.8 libnarray-ruby1.9.1 libnb-platform-devel-java libndesk-dbus1.0-cil-dev libndesk-dbus-glib1.0-cil-dev libnet-cidr-lite-perl libnet-ip-perl libnet-jabber-perl libnet-ldap-perl libnet-snmp-perl libnini-cil-dev libnotify-cil-dev libobject-id-perl liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev liboce-visualization-dev libopencascade-modeling-dev liboro-java liboss4-salsa-asound2 liboss-salsa-asound2 libpackage-deprecationmanager-perl libpackage-stash-perl libpalm-perl libpango1.0-doc libparams-coerce-perl libparent-perl libpar-perl libparse-method-signatures-perl libparse-yapp-perl libpath-class-perl libpcap-dev libpdf-create-perl libpdfrenderer-java libperl4-corelibs-perl libperl6-caller-perl libperl6-junction-perl libphp-serialization-perl libplrpc-perl libpng++-dev libpod-coverage-perl libpoe-perl libpostscript-file-perl libppi-html-perl libppi-perl libpstreams-dev libpurple-dev libqscintilla2-dev libqt3-i18n libqtscript4-qtbindings libreadonly-perl libregexp-common-perl libregexp-java librsvg2-2.0-cil-dev libsaxon-java libscope-guard-perl libservlet2.5-java libservlet2.5-java-doc libslf4j-java libsparsehash-dev libspice-protocol-dev libstatistics-test-randomwalk-perl libstringtemplate-java libsub-exporter-perl libsuil-dev libsuper-perl libsys-sigaction-perl libtaglib-cil-dev libtask-weaken-perl libtest-command-perl libtest-compile-perl libtest-cpan-meta-perl libtest-deep-perl libtest-differences-perl libtest-distribution-perl libtest-exception-perl libtest-fatal-perl libtest-kwalitee-perl libtest-nowarnings-perl libtest-number-delta-perl libtest-output-perl libtest-perl-critic-perl libtest-pod-coverage-perl libtest-pod-perl libtest-portability-files-perl libtest-requires-perl libtest-simple-perl libtest-tcp-perl libtest-use-ok-perl libtest-warn-perl libtext-csv-perl libtext-diff-perl libtext-template-perl libtidy-ruby1.8 libtie-ixhash-perl libtimedate-perl libtime-local-perl libtime-period-perl libtnt-dev libtomcat6-java libtritonus-java libtry-tiny-perl libtut-dev libuniversal-require-perl liburi-perl libutf8-all-perl libvecmath-java libwww-perl libwxsqlite3-2.8-dev libxalan2-java libxerces2-java libxml2-doc libxml-commons-resolver1.1-java libxml-dom-perl libxml-namespacesupport-perl libxml-perl libxmlrpc-c3-dev libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl libxml-twig-perl libxml-xpath-perl libxmu-headers libyaml-perl lintian linuxdoc-tools-text linux-source linux-source-3.2.0 llvm-3.0-source lmodern locales lojban-common lsb-base lsb-invalid-mta lsb-release lua5.1-policy-dev luadoc lv2core lv2-extensions-good lynx lzma-dev m17n-db makedev markdown mathgl-doc-en mathgl-doc-ru maven-repo-helper maxima-share mecab-jumandic mhonarc mingw32-runtime mingw-w64-dev mklibs mm-common mobile-broadband-provider-info mono-devel monodoc-base mono-tools-devel mozilla-devscripts msmtp-mta msp430mcu myspell-en-au myspell-en-gb myspell-en-us myspell-en-za mysql-client mysql-server nant naturaldocs netbase nowebm nunit-console ocamlmakefile ocaml-source octave3.2-common octave-control octave-pkg-dev octave-time ofono-dev omniorb-idl opensaml2-schemas oss4-dev pbuilder perl-doc perl-modules perltidy php-pear pidgin-dev pkg-kde-tools po4a po-debconf postgresql postgresql-client postgresql-server-dev-all postr ppp-dev prime proj ptex-base ptex-buildsupport puredata puredata-dev pyflakes pylint python python3 python3-all-dbg python3-all-dev python3-dev python3-setuptools python3-zope.fixers python-all python-all-dbg python-all-dev python-boto python-cairo-dev python-central python-cliapp python-configobj python-coverage-test-runner python-cxx-dev python-dateutil python-dbg python-debian python-dev python-distutils-extra python-dnspython python-docutils python-egenix-mx-base-dev python-empy python-epydoc python-eventlet python-fastimport python-fpconst python-gi-dev python-gnome2-desktop-dev python-gnome2-dev python-gnome2-extras-dev python-gobject python-gobject-dbg python-gobject-dev python-gtk2-dev python-gtk2-doc python-guidata python-hachoir-regex python-joblib python-kiwi python-larch python-minimal python-mock python-mutagen python-netaddr python-nibabel python-nose python-paramiko python-pastedeploy python-pexpect python-plastex python-poker-engine python-pydoctor python-pyorbit-dev python-pyparsing python-pyrex python-pytools python-qt4-dev python-reportlab python-routes python-scapy python-scour python-sepolgen python-setupdocs python-setuptools python-soappy python-sphinx python-sqlalchemy python-subunit python-suds python-support python-sympy python-templayer python-testtools python-tracing python-ttystatus python-twisted python-twisted-conch python-twisted-core python-twisted-names python-twisted-web python-twisted-words python-tz python-unittest2 python-van.pydeb python-vobject python-webkit-dev python-webob python-xcbgen python-xdg python-xkit python-xlib qmail-run qmail-uids-gids quilt rake r-base-dev r-cran-car r-cran-coda r-cran-fmultivar r-cran-ftrading r-cran-g.data r-cran-genetics r-cran-qvalue r-cran-rcolorbrewer r-cran-vcd r-cran-xtable rdtool r-recommended ruby ruby-dataobjects ruby-dev rubygems ruby-hoe ruby-minitest ruby-pkg-config ruby-pkg-tools ruby-rspec ruby-shoulda ruby-tidy samba-common sanitizer scilab scilab-doc scons scrollkeeper sdf selinux-policy-dev sgml2x sgml-base sgml-data sgmlspl sgmltools-lite shake shared-desktop-ontologies shr-specs shtool slib slice slugimage spamassassin ssh stx2any subunit svdrpservice-dev syslinux-common systemtap-sdt-dev system-tools-backends-dev sysv-rc tcl tcl-dev tcllib tex-common texi2html texlive texlive-base texlive-common texlive-extra-utils texlive-fonts-extra texlive-fonts-recommended texlive-font-utils texlive-full texlive-generic-recommended texlive-humanities texlive-lang-german texlive-lang-greek texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-math-extra texlive-metapost texlive-omega texlive-pstricks texlive-science texlive-xetex tk tk-dev translate-toolkit ttf-dejavu ttf-dejavu-core ttf-freefont ttf-linux-libertine txt2html txt2man tzdata ubuntu-keyring unicode-data uthash-dev vala-0.12-doc valac vdr-dev verilog wamerican wbritish wx2.8-i18n x11-common x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-dmx-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-fonts-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-print-dev x11proto-randr-dev x11proto-record-dev x11proto-render-dev x11proto-resource-dev x11proto-scrnsaver-dev x11proto-video-dev x11proto-xext-dev x11proto-xf86dga-dev x11proto-xf86dri-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xbitmaps xcb-proto xchat-common xcursor-themes xdg-utils xfce4-dev-tools xfonts-100dpi xfonts-75dpi xfonts-base xfonts-unifont xkb-data xml-core xmltoman xmltooling-schemas xmms2-dev xorg-docs-core xorg-sgml-doctools xtrans-dev xutils xz-lzma yada yelp-tools yelp-xsl yorick-yutils
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: steve.langasek@canonical.com-20120401035514-\ # oa3ok3cjf534fpqz # target_branch: :parent # testament_sha1: 24a17f97530be613eea8efba4feb3d4931bee30e # timestamp: 2012-03-31 21:22:52 -0700 # base_revision_id: michael.vogt@ubuntu.com-20120313133323-\ # x3g9lv5d3gx3xczh # # Begin patch === modified file 'cmdline/apt-get.cc' --- cmdline/apt-get.cc 2012-02-18 20:20:57 +0000 +++ cmdline/apt-get.cc 2012-04-01 03:55:14 +0000 @@ -2900,7 +2900,7 @@ if ((BADVER(Ver)) == false) { string forbidden; - if (Ver->MultiArch == pkgCache::Version::None || Ver->MultiArch == pkgCache::Version::All) + if (Ver->MultiArch == pkgCache::Version::None) { if (colon == string::npos) { @@ -2915,7 +2915,7 @@ forbidden = "Multi-Arch: same"; // :native gets the buildArch } - else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign) + else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign || Ver->MultiArch == pkgCache::Version::All) { if (colon != string::npos) forbidden = "Multi-Arch: foreign"; === modified file 'debian/changelog' --- debian/changelog 2012-03-13 13:32:40 +0000 +++ debian/changelog 2012-04-01 03:55:14 +0000 @@ -13,6 +13,14 @@ as this could break an earlier dependency (LP: #940396) - recheck dependencies in SmartUnpack after a change, too + [ Steve Langasek ] + * For cross-build-dependencies, Architecture: all packages should be + treated as implicitly Multi-Arch: foreign, because either they *are* + M-A: foreign when used as a build-dependency, or they need to be updated + to not be Architecture: all; and since cross-build-deps are new + functionality in apt, we can safely make this change without breaking + existing systems. + -- David Kalnischkies <kalnischkies@gmail.com> Tue, 13 Mar 2012 12:38:35 +0100 apt (0.8.16~exp13) experimental; urgency=low # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWevpHVIAApBfgEAwUXf//3sH CQq////0YAY3T4AqQFBQAFEc0xMBGmBGEYAAAAmEYCUJJpjKeKek0p+k9JqD1D1G1HqYjEaA9Roc 0xMBGmBGEYAAAAmEYDRImEabSaMjQBoaAAyDQNDBzTEwEaYEYRgAAACYRgJJAmgIyDQExNTym0Kb SZpDE9QMjkHDiJDDTlWpA+tD/C7NPbz7O3lGaKQ6LZIJc6b8nRZXv4GFEJS+REqRPiSQO1JxeHQJ BmZGY89iH1VhxAQd9Gc5qlL6nNn8ZbF3mo6FNJ3+Wq3mdQcTAcZCazeRGPEiVnMYIKPCEnVVj6gy FMxAgXforOs4qyylZWdCATCsgMSKhhw24OE3LwH+liHsgv/sPYHejFeHG15BYDzQay2tCzL7HImG gVFLcfECvRzU/G5mlFmngj/gZIowQODAtsgYnxO1dAKzJEPB+Me2AwuZEByFJ3o8HFQ8eEAGAeJp RK2HRTQFEtPLVKwhYBcd91IGY11Rc/KRQujctma2wCzjdECbdQ/fFjE/3LMpL7BwrF64Feq7Hv1D x5ebBxZ/mzZdru0YrPmFmQnGW1CjETXRuTDQWcxswjAyNSUsNnqSzzVgso415LwqKQgw4KAtJsis ZPZgpApkBr21yymJtAgcvysyiA5UJB84AKjgUUVTChG+kqzDEYvzo8SN1cNQFhdB9IEcsBzKZnA3 UAMGmzRYW3vtCVX5VDiUGHE3ykYqu0pTXMwm1l9wOKViy02WDOZh1qj6jNMR7wZJMWjlhE1VzuTO lKEx2h8ZvzEVljvsKRRhlYP00131lZREynZQvD7nUmW0srA0iboEw1vZZWCds9OlqyuYPVLwabRT UIom1xoA4HqtfkoZbGZi80Iku76nNeSxD3AMN42BE19U4vFWF14wzDe28HwmmJC+1DhPPsovEz/R mcDjOG5bhbWN68xQUTyFpF87WGaCWi9mFpk8LRwoHzAbeW8jsPHHjx7DHgenh7BpVlwXr0RzPcon wSWjSdMQoeQiRFOR/Z4oLFJJQO2faHsQPqYJVieHgkUMS8aB15bjabmLDpHgcvbiI4+Aop2BxAj7 yvV8S3p4liSsP6SWk9c4czQX68diiwlWis4XhAOkiRsAi5i0Ea6QkZAY2eSeLmNAYcLbZ50Fp2Db kqCYbx0FBE4HIxUg4CzbYqfltD1PYrMDMNrPIoN5kgUoKCZPtRz61wz5ysHh+hI2xPNnWlaKzpTU F5SK4YyVFHLAxqa2yFguJYkV6wwt5tTkxfbUUJnANoRTXsRg5iZhKz+o0raXZgXQbgsHSSK0Zz59 /vii4J0ndn/AHXZvOq1G/zHLV3HItXoZjuNLC0YANpjEOuC6A9I1sWiZj3/pcL+QpClYpBxEyXIY MjuxwAgiI4yiY3sjKl8hXpJ3APAfh9ENWaKdRtVgsfiLeLzyTJowKkYMQPp3YxkgidDN4o+I8LzW ZzVqKhngRGNwDkDi3SP7BVsRAmmDgyRICpEHBzcfBBtKAVFQyProcRak7wpgjqsSJgCPLcb1dWNn YYNNEHqBMZPHExRAeJkEyI+JWMOHocEYjMPRASekuVr0lEklJgoBy42hMC2naHuA2IRMD7iZfjrx SVJ+DKWouHjI2PUQkZuAY5xVLFhg0EFAOVEggVysAnMxUQJjnjhhMjolvRATCGCYPMhEUEp77F7V RF3uoU32agiiISIGI4gHeF46mshKGQ3bnFKRlW9shUFJqBUcQDhMNFq0PweCKQ4PGE74knkzBOnR hq3hrC1wSN4NJ1wRB5o9RyC4KZDhMOJXOWq8oNhQTPhuii5Pe6bBJgoBxaHf8A3cBZDl0Qw8Mhkp DAeUGCxSMiZHYJ/J5QLkta4hxPBSEVmMhhx5ioWB5ImnEZakr6v5P/i7kinChIdfSOqQ
Attachment:
signature.asc
Description: Digital signature