Greetings! I've recently been able to build x2goclient from source. As I was working through that process, I began to wonder if everything needed to run the client is built with the client. Obviously there are various nxproxy dependencies, but there are also source trees for other components of x2go. For example, do I need to build libpam-x2go in order for the x2goclient? I'm thinking this is more of a server aspect, but I'm not positive. How about cups-x2go?
The build I'm doing will be processed into a tarball and installed on various thin client devices, so I want to make sure that I know of every file and library I'll need to build/collect/install.
Thanks!
-- Kermit Short, RHCE, RHCVA Sr. Solutions Architect
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 26.01.2015 um 21:29 schrieb Short, Kermit:
The build I'm doing will be processed into a tarball and installed on various thin client devices, so I want to make sure that I know of every file and library I'll need to build/collect/install.
Out of sheer curiosity, I wonder how thin your thin client is supposed to be, that you want to bypass all packaging systems etc. and build everything from scratch?
I've succeeded in creating an image that is about 161MB in size, and it's based on Debian Wheezy and X2Go's x2gothinclient package. It has the full package install/update/uninstall methods of Debian available, though.
Runs fine on a 256MB machine with a PentiumII CPU.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32)
iQEcBAEBAgAGBQJUxqz4AAoJEG7d9BjNvlEZbaYH/3tD7PN7RamCwMRSmTc/mIBF XXQDAgLn32QsbMdRh2ilMVaIbLfw1xJkYJbfGMomqPsji61/dWcTGBh4NGbNujfr AREl90uSW+aquiQB2VtVwtcvzYJE19PlkYJpp8h2LHu3A3D2wXl6Ckvdw8hMAFoj ijzv2yL+phB3uCNJfYHslCivswkNyLq/dgia7z8iS4oYeLhpi+aULLV94jslVjWy BbP8/83ISgI6AWuf07cUm3l9taV9ooBrLxGbb0I+wJpRkyTjSbWrCzQslPQInhR5 QuhvNIRNFT230zC5/KB26yl46QGymhZwwBK5JflrnUwN7XxeGI4bMFec8bCVDgw= =qQ6T -----END PGP SIGNATURE-----
The thin clients we are using are manufactured by a German company named IGEL. They support NoMachine on their firmware, along with a wide variety of other non FOSS remote access protocols. We are quite pleased with most aspects of the IGEL device, except for their lack of support for X2Go.
Fortunately, IGEL allows users to create a custom partition, in which they can load anything they desire (or at least can get working themselves). Obviously, I'm using this feature to load the x2go client. Their firmware is minimally based on Ubuntu LTS 14.04 32-bit. While repositories exist for Ubuntu, the IGEL ecosystem doesn't support dpkg, apt-get, or any other packaging mechanism, so I have to hand roll any packages I deploy to their custom partition. The nice thing about this platform is that once I get it working on one device, we can centrally deploy the x2goclient and custom partition to any other device in our environment.
I had it working reasonably well on an older version of firmware, but things have been upgraded steadily, and I'd like to rebuild for the current versions of IGEL firmware.
-- Kermit Short DCS-ISS
From: x2go-dev-bounces@lists.x2go.org [x2go-dev-bounces@lists.x2go.org] on behalf of Short, Kermit [k_short@lanl.gov] Sent: Monday, January 26, 2015 1:29 PM To: x2go-dev@lists.x2go.org Subject: [X2Go-Dev] X2Go module purposes
Greetings! I've recently been able to build x2goclient from source. As I was working through that process, I began to wonder if everything needed to run the client is built with the client. Obviously there are various nxproxy dependencies, but there are also source trees for other components of x2go. For example, do I need to build libpam-x2go in order for the x2goclient? I'm thinking this is more of a server aspect, but I'm not positive. How about cups-x2go?
The build I'm doing will be processed into a tarball and installed on various thin client devices, so I want to make sure that I know of every file and library I'll need to build/collect/install.
Thanks!
-- Kermit Short, RHCE, RHCVA Sr. Solutions Architect
x2go-dev mailing list x2go-dev@lists.x2go.org http://lists.x2go.org/listinfo/x2go-dev
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 26.01.2015 um 22:27 schrieb Short, Kermit:
The thin clients we are using are manufactured by a German company named IGEL. They support NoMachine on their firmware, along with a wide variety of other non FOSS remote access protocols. We are quite pleased with most aspects of the IGEL device, except for their lack of support for X2Go.
Fortunately, IGEL allows users to create a custom partition, in which they can load anything they desire (or at least can get working themselves). Obviously, I'm using this feature to load the x2go client. Their firmware is minimally based on Ubuntu LTS 14.04 32-bit. While repositories exist for Ubuntu, the IGEL ecosystem doesn't support dpkg, apt-get, or any other packaging mechanism, so I have to hand roll any packages I deploy to their custom partition. The nice thing about this platform is that once I get it working on one device, we can centrally deploy the x2goclient and custom partition to any other device in our environment.
I had it working reasonably well on an older version of firmware, but things have been upgraded steadily, and I'd like to rebuild for the current versions of IGEL firmware.
I see. Quite an intereting use case. Would you like to make your documentation public, so other X2Go users may profit from it? IGELs are, as far as I know, pretty common devices, but I didn't know they could do that.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32)
iQEcBAEBAgAGBQJUxrILAAoJEG7d9BjNvlEZujIH/1Ee90zUeLAhIaXNX0Y34uty wKlvb3xP+YM3jUiI71387Hs3elw/sxP6aKEH4riwXb0UiKnqfFU0yBVb8z12YS+y KXiMolb7zhetxYBRoIKGcF2Bp3TQnkNsPGZu9AlpGxp4fqn/d3SiHCt4St2XMKm/ n2Pk9l2smEoaqTy65gGhisld4/TX1AJ0x+M5t1s7QmPOMpB2hATlQ+S43WkwjXYh +cZMcGExSvJxfPLjJe4tZdwPvfoCDt6J+PykI+F47vfmsyeXQzoMkPwSRnP3R5H6 I6mSeOQOEhUwVCioqk6SQm/k/jp4X1Slb5AKlBJWMeLrHD3pq+R/BhHeoIk4AHo= =i1dr -----END PGP SIGNATURE-----
Indeed, as soon as I've got the thin client running on the IGEL, I will make my notes available. I've got to document this for internal purposes anyway.
My next task is to find the wrapper script in nxproxy and update that to point to the correct file locations on the IGEL file system, and then I'm down to tracing down missing libraries and scripting the linkages necessary for x2go client to run.
From what I can tell, most of this can be scripted fairly easily, but I have to get to the finish line once, and then the remaining automation will be fairly self-evident.
-- Kermit Short
From: x2go-dev-bounces@lists.x2go.org [x2go-dev-bounces@lists.x2go.org] on behalf of Stefan Baur [X2Go-ML-1@baur-itcs.de] Sent: Monday, January 26, 2015 2:30 PM To: x2go-dev@lists.x2go.org Subject: Re: [X2Go-Dev] X2Go module purposes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 26.01.2015 um 22:27 schrieb Short, Kermit:
The thin clients we are using are manufactured by a German company named IGEL. They support NoMachine on their firmware, along with a wide variety of other non FOSS remote access protocols. We are quite pleased with most aspects of the IGEL device, except for their lack of support for X2Go.
Fortunately, IGEL allows users to create a custom partition, in which they can load anything they desire (or at least can get working themselves). Obviously, I'm using this feature to load the x2go client. Their firmware is minimally based on Ubuntu LTS 14.04 32-bit. While repositories exist for Ubuntu, the IGEL ecosystem doesn't support dpkg, apt-get, or any other packaging mechanism, so I have to hand roll any packages I deploy to their custom partition. The nice thing about this platform is that once I get it working on one device, we can centrally deploy the x2goclient and custom partition to any other device in our environment.
I had it working reasonably well on an older version of firmware, but things have been upgraded steadily, and I'd like to rebuild for the current versions of IGEL firmware.
I see. Quite an intereting use case. Would you like to make your documentation public, so other X2Go users may profit from it? IGELs are, as far as I know, pretty common devices, but I didn't know they could do that.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32)
iQEcBAEBAgAGBQJUxrILAAoJEG7d9BjNvlEZujIH/1Ee90zUeLAhIaXNX0Y34uty wKlvb3xP+YM3jUiI71387Hs3elw/sxP6aKEH4riwXb0UiKnqfFU0yBVb8z12YS+y KXiMolb7zhetxYBRoIKGcF2Bp3TQnkNsPGZu9AlpGxp4fqn/d3SiHCt4St2XMKm/ n2Pk9l2smEoaqTy65gGhisld4/TX1AJ0x+M5t1s7QmPOMpB2hATlQ+S43WkwjXYh +cZMcGExSvJxfPLjJe4tZdwPvfoCDt6J+PykI+F47vfmsyeXQzoMkPwSRnP3R5H6 I6mSeOQOEhUwVCioqk6SQm/k/jp4X1Slb5AKlBJWMeLrHD3pq+R/BhHeoIk4AHo= =i1dr -----END PGP SIGNATURE-----
x2go-dev mailing list x2go-dev@lists.x2go.org http://lists.x2go.org/listinfo/x2go-dev
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 26.01.2015 um 22:27 schrieb Short, Kermit:
Their firmware is minimally based on Ubuntu LTS 14.04 32-bit. While repositories exist for Ubuntu, the IGEL ecosystem doesn't support dpkg, apt-get, or any other packaging mechanism, so I have to hand roll any packages I deploy to their custom partition.
Wait, are you saying you know it's a stripped-down Ubuntu LTS 14.04/32-Bit, lacking the package install tools? That's why you're building everything from scratch?
Why don't you just take the packages from our Ubuntu repository, download them to whatever machine you have available, unpack their content, and copy what you need?
You could even do a basic Ubuntu LTS 14.04/32-Bit install in a changeroot environment, do a regular x2goclient/thinclient install in the changeroot, and copy over what you need.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32)
iQEcBAEBAgAGBQJUxrN5AAoJEG7d9BjNvlEZHE4IAIgvTIJ1LKG/NxJt8jgg1KwE ivp+Lqn6PNIASrMuUPIC0jBmjNg2p2FPz6fnRmMKJN6Lb4/ciCxdWt4MIBGX0LAh Y4lNahvLYrBwb1W2CjDprhLOHr+r1Ju5FMD2PXaAkwlB3vc/cZIob4WKSxjQcJcZ zOHs4O5daFHYXrMztkhCs+MOP/J6n5JDaasMyo6yAXYD53qKN/BBuRHhwMKmKVgB 61EERx4WLidwb3x37Esrfz2Oxxni4oYu8NZCUsC0rbVCCtiGF/VUWk5zEEW3fSvS 1MXcquAitI43bvpDuLir8hXQDdgeTpL28mi48Th5tBauM5DJuwfoY1bHjF6fZso= =u7Bt -----END PGP SIGNATURE-----
It's certainly something I'd like to try, but if I recall correctly, the firmware is only loosely based on LTS. The actual OS on the thin client is heavily customized.
Working with debian packages is not something I've done much, and then only to build them rather than deconstruct them. I do really like the idea of a chroot shell, though. I'm currently using AIDE to look at changes pre and post build, and then I go through interactive error messages on the IGEL to determine what additional libraries are necessary.
The last time I did this, there were several libraries provided by the LTS footprint that were not provided on the IGEL, so it's a little easier for me to do the scratch build, since I have to do some by hand tracing anyway. Being able to do this from a debian package in a root shell would be very handy, though!!
-- Kermit Short
From: x2go-dev-bounces@lists.x2go.org [x2go-dev-bounces@lists.x2go.org] on behalf of Stefan Baur [X2Go-ML-1@baur-itcs.de] Sent: Monday, January 26, 2015 2:36 PM To: x2go-dev@lists.x2go.org Subject: Re: [X2Go-Dev] X2Go module purposes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 26.01.2015 um 22:27 schrieb Short, Kermit:
Their firmware is minimally based on Ubuntu LTS 14.04 32-bit. While repositories exist for Ubuntu, the IGEL ecosystem doesn't support dpkg, apt-get, or any other packaging mechanism, so I have to hand roll any packages I deploy to their custom partition.
Wait, are you saying you know it's a stripped-down Ubuntu LTS 14.04/32-Bit, lacking the package install tools? That's why you're building everything from scratch?
Why don't you just take the packages from our Ubuntu repository, download them to whatever machine you have available, unpack their content, and copy what you need?
You could even do a basic Ubuntu LTS 14.04/32-Bit install in a changeroot environment, do a regular x2goclient/thinclient install in the changeroot, and copy over what you need.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32)
iQEcBAEBAgAGBQJUxrN5AAoJEG7d9BjNvlEZHE4IAIgvTIJ1LKG/NxJt8jgg1KwE ivp+Lqn6PNIASrMuUPIC0jBmjNg2p2FPz6fnRmMKJN6Lb4/ciCxdWt4MIBGX0LAh Y4lNahvLYrBwb1W2CjDprhLOHr+r1Ju5FMD2PXaAkwlB3vc/cZIob4WKSxjQcJcZ zOHs4O5daFHYXrMztkhCs+MOP/J6n5JDaasMyo6yAXYD53qKN/BBuRHhwMKmKVgB 61EERx4WLidwb3x37Esrfz2Oxxni4oYu8NZCUsC0rbVCCtiGF/VUWk5zEEW3fSvS 1MXcquAitI43bvpDuLir8hXQDdgeTpL28mi48Th5tBauM5DJuwfoY1bHjF6fZso= =u7Bt -----END PGP SIGNATURE-----
x2go-dev mailing list x2go-dev@lists.x2go.org http://lists.x2go.org/listinfo/x2go-dev
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 26.01.2015 um 22:44 schrieb Short, Kermit:
It's certainly something I'd like to try, but if I recall correctly, the firmware is only loosely based on LTS. The actual OS on the thin client is heavily customized.
Well, I hope I'm not talking out of my lower back here, but it can't be much more complicated than grabbing our packages, unpacking them, and checking for any dependencies that they need to have met.
Possibly apply some ldd and strace to see where things are going wrong.
Working with debian packages is not something I've done much, and then only to build them rather than deconstruct them.
It's actually not that hard. If you have a copy of midnight commander (mc) installed, you can usually go inside them like any other virtual file system (like when you "open" a *.tar.gz file with mc). There are also command line tools available to unpack Debian/Ubuntu packages without installing them.
I do really like the idea of a chroot shell, though. I'm currently using AIDE to look at changes pre and post build, and then I go through interactive error messages on the IGEL to determine what additional libraries are necessary.
The last time I did this, there were several libraries provided by the LTS footprint that were not provided on the IGEL, so it's a little easier for me to do the scratch build, since I have to do some by hand tracing anyway.
That sounds really painful. In a first step, I'd try to parse the output of ldd for every executable I want to copy, then make sure I have those files either available on the IGEL, or know I have copy them over along with the executable.
for example (this is on Debian Wheezy, not Ubuntu, but the process should be the same):
dpkg -L libnx-x11
gives
/. /usr /usr/lib /usr/lib/nx /usr/lib/nx/X11 /usr/lib/nx/X11/Xinerama /usr/lib/nx/X11/Xrandr /usr/lib/nx/X11/libNX_X11.so.6.2 /usr/lib/nx/X11/libNX_Xau.so.6.0 /usr/lib/nx/X11/libNX_Xcomposite.so.1.0 /usr/lib/nx/X11/libNX_Xdamage.so.1.0 /usr/lib/nx/X11/libNX_Xdmcp.so.6.0 /usr/lib/nx/X11/libNX_Xext.so.6.4 /usr/lib/nx/X11/libNX_Xfixes.so.3.0 /usr/lib/nx/X11/libNX_Xinerama.so.1.0 /usr/lib/nx/X11/libNX_Xpm.so.4.11 /usr/lib/nx/X11/libNX_Xrandr.so.2.0 /usr/lib/nx/X11/libNX_Xrender.so.1.2.2 /usr/lib/nx/X11/libNX_Xtst.so.6.1 /usr/share /usr/share/nx /usr/share/nx/SecurityPolicy /usr/share/doc /usr/share/doc/libnx-x11 /usr/share/doc/libnx-x11/copyright /usr/share/doc/libnx-x11/changelog.gz /usr/share/doc/libnx-x11/changelog.Debian.gz /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/libnx-x11 /usr/lib/nx/X11/Xinerama/libXinerama.so.1 /usr/lib/nx/X11/Xinerama/libXinerama.so /usr/lib/nx/X11/libNX_X11.so /usr/lib/nx/X11/libNX_X11.so.6 /usr/lib/nx/X11/libNX_Xau.so /usr/lib/nx/X11/libNX_Xau.so.6 /usr/lib/nx/X11/libNX_Xcomposite.so /usr/lib/nx/X11/libNX_Xcomposite.so.1 /usr/lib/nx/X11/libNX_Xdamage.so /usr/lib/nx/X11/libNX_Xdamage.so.1 /usr/lib/nx/X11/libNX_Xdmcp.so /usr/lib/nx/X11/libNX_Xdmcp.so.6 /usr/lib/nx/X11/libNX_Xext.so /usr/lib/nx/X11/libNX_Xext.so.6 /usr/lib/nx/X11/libNX_Xfixes.so /usr/lib/nx/X11/libNX_Xfixes.so.3 /usr/lib/nx/X11/libNX_Xinerama.so /usr/lib/nx/X11/libNX_Xinerama.so.1 /usr/lib/nx/X11/libNX_Xpm.so /usr/lib/nx/X11/libNX_Xpm.so.4 /usr/lib/nx/X11/libNX_Xrandr.so /usr/lib/nx/X11/libNX_Xrandr.so.2 /usr/lib/nx/X11/libNX_Xrender.so /usr/lib/nx/X11/libNX_Xrender.so.1 /usr/lib/nx/X11/libNX_Xtst.so /usr/lib/nx/X11/libNX_Xtst.so.6 /. /usr /usr/lib /usr/lib/nx /usr/lib/nx/X11 /usr/lib/nx/X11/Xinerama /usr/lib/nx/X11/Xrandr /usr/lib/nx/X11/libNX_X11.so.6.2 /usr/lib/nx/X11/libNX_Xau.so.6.0 /usr/lib/nx/X11/libNX_Xcomposite.so.1.0 /usr/lib/nx/X11/libNX_Xdamage.so.1.0 /usr/lib/nx/X11/libNX_Xdmcp.so.6.0 /usr/lib/nx/X11/libNX_Xext.so.6.4 /usr/lib/nx/X11/libNX_Xfixes.so.3.0 /usr/lib/nx/X11/libNX_Xinerama.so.1.0 /usr/lib/nx/X11/libNX_Xpm.so.4.11 /usr/lib/nx/X11/libNX_Xrandr.so.2.0 /usr/lib/nx/X11/libNX_Xrender.so.1.2.2 /usr/lib/nx/X11/libNX_Xtst.so.6.1 /usr/share /usr/share/nx /usr/share/nx/SecurityPolicy /usr/share/doc /usr/share/doc/libnx-x11 /usr/share/doc/libnx-x11/copyright /usr/share/doc/libnx-x11/changelog.gz /usr/share/doc/libnx-x11/changelog.Debian.gz /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/libnx-x11 /usr/lib/nx/X11/Xinerama/libXinerama.so.1 /usr/lib/nx/X11/Xinerama/libXinerama.so /usr/lib/nx/X11/libNX_X11.so /usr/lib/nx/X11/libNX_X11.so.6 /usr/lib/nx/X11/libNX_Xau.so /usr/lib/nx/X11/libNX_Xau.so.6 /usr/lib/nx/X11/libNX_Xcomposite.so /usr/lib/nx/X11/libNX_Xcomposite.so.1 /usr/lib/nx/X11/libNX_Xdamage.so /usr/lib/nx/X11/libNX_Xdamage.so.1 /usr/lib/nx/X11/libNX_Xdmcp.so /usr/lib/nx/X11/libNX_Xdmcp.so.6 /usr/lib/nx/X11/libNX_Xext.so /usr/lib/nx/X11/libNX_Xext.so.6 /usr/lib/nx/X11/libNX_Xfixes.so /usr/lib/nx/X11/libNX_Xfixes.so.3 /usr/lib/nx/X11/libNX_Xinerama.so /usr/lib/nx/X11/libNX_Xinerama.so.1 /usr/lib/nx/X11/libNX_Xpm.so /usr/lib/nx/X11/libNX_Xpm.so.4 /usr/lib/nx/X11/libNX_Xrandr.so /usr/lib/nx/X11/libNX_Xrandr.so.2 /usr/lib/nx/X11/libNX_Xrender.so /usr/lib/nx/X11/libNX_Xrender.so.1 /usr/lib/nx/X11/libNX_Xtst.so /usr/lib/nx/X11/libNX_Xtst.so.6
and just grabbing one sample from here, /usr/lib/nx/X11/libNX_Xrender.so.1,
ldd /usr/lib/nx/X11/libNX_Xrender.so.1 gives
linux-gate.so.1 => (0xb7702000) libNX_Xext.so.6 => not found libNX_X11.so.6 => not found libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7583000) /lib/ld-linux.so.2 (0xb7703000)
As this is from a working system, I would assume the two "not found"s are harmless, but I need to make sure I have the other files on my target system in some way - either from the original OS image, or by copying them over.
Being able to do this from a debian package in a root shell would be very handy, though!!
Well, I can't do more than suggest you try it and see if it turns out to be the easier way. :-)
How large is that extra partition you can access, anyway? Large enough to untar a complete non-IGEL linux distribution there and chroot or possibly even kexec into it?
Another option would be to offer one or more of your IGELs to interested developers so they can do the grunt work for you.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32)
iQEcBAEBAgAGBQJUxrmHAAoJEG7d9BjNvlEZRqUH/0RjNFDpcHtIT1qMGog8BgtG exLsnZGw6HWC5wIaMZY0/nHqdee2YgiRJe35OfPkjs+3UQ1YZsXkgaJSswMUak9w EctSSE3bhTj/lO+ePwULL62NeXPepJpm4OzYcdi7KDJa95k0tCbL/kzzMVt/69nm xpwALRfUhXTKQSZBzGrUdE/ob0ZZ51FLhgCOrlpVnj9QgbmCwc6fysmzc1iknfMK slTJx4fn78nvABZPPJbzQ+cP1LyvbT3S3JGJ6oLKMofcK6vV/QWuLdafOMB8Fy0v q6SffRaeQekaoUkX7n4FkomHRocEnGPZh3MRsNrkBwa6CBxSdayHcuNHTYllTAY= =01ZH -----END PGP SIGNATURE-----