From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Danckaert Subject: bug#24445: GNOME desktop session crash when re-arranging dock Date: Sun, 08 Oct 2017 15:50:51 +0200 Message-ID: <87a811n3yc.fsf@thomasdanckaert.be> References: <1140473326.10127.1506750718340@webmail.mailhostbox.com> <8760bxppr7.fsf_-_@gnu.org> <87efql9z5l.fsf@netris.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36901) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e1Bzy-0003cT-0b for bug-guix@gnu.org; Sun, 08 Oct 2017 09:52:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e1Bzu-0008AK-T4 for bug-guix@gnu.org; Sun, 08 Oct 2017 09:52:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:46911) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e1Bzu-0008AG-NN for bug-guix@gnu.org; Sun, 08 Oct 2017 09:52:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e1Bzu-0002HE-GU for bug-guix@gnu.org; Sun, 08 Oct 2017 09:52:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87efql9z5l.fsf@netris.org> (Mark H. Weaver's message of "Mon, 02 Oct 2017 14:34:46 -0400") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Mark H Weaver Cc: 24445@debbugs.gnu.org, Mohammed Sadiq --=-=-= Content-Type: text/plain Mark H Weaver writes: > I can confirm that the problem does not occur on Debian, and I've not > found reports of it happening on any other mainstream distro. I would > guess that our unusual filesystem layout prevents GNOME Shell from > finding something that it's looking for, and that the error handling in > that case is deficient or non-existent. Hi, I think I understand what's going on, and I may even have a solution ;-) What's happening is that gnome-shell wants certain cursors, but can't find them. These cursors are provided by Adwaita icon theme, but gnome-shell somehow isn't looking in Adwaita's location (unless you symlink adwaita's icons into ${HOME}/.icons as I mentioned before). I've attached an strace from gnome-shell, the relevant part is here: open("/home/thomas/.icons/Adwaita/cursors/dnd-none", O_RDONLY) = -1 ENOENT (No such file or directory) open("/home/thomas/.icons/Adwaita/index.theme", O_RDONLY) = -1 ENOENT (No such file or directory) open("/gnu/store/14f4vh3y3wdf3rfpzkpqfqbl9i81hyw8-libxcursor-1.1.14/share/icons/Adwaita/cursors/dnd-none", O_RDONLY) = -1 ENOENT (No such file or directory) open("/gnu/store/14f4vh3y3wdf3rfpzkpqfqbl9i81hyw8-libxcursor-1.1.14/share/icons/Adwaita/index.theme", O_RDONLY) = -1 ENOENT (No such file or directory) open("/gnu/store/14f4vh3y3wdf3rfpzkpqfqbl9i81hyw8-libxcursor-1.1.14/share/pixmaps/Adwaita/cursors/dnd-none", O_RDONLY) = -1 ENOENT (No such file or directory) open("/gnu/store/14f4vh3y3wdf3rfpzkpqfqbl9i81hyw8-libxcursor-1.1.14/share/pixmaps/Adwaita/index.theme", O_RDONLY) = -1 ENOENT (No such file or directory) open("/home/thomas/.icons/default/cursors/dnd-none", O_RDONLY) = -1 ENOENT (No such file or directory) [...] --- SIGTRAP {si_signo=SIGTRAP, si_code=SI_KERNEL} --- +++ killed by SIGTRAP +++ I've been looking through the sources, and gtk+-3.22.15/gdk/x11/gdkcursor-x11.c makes me think that cursor lookup in our case is ultimately done by libxcursor. libxcursor's configure script has an option "--with-cursorpath=" to set a default search path for cursors. If no option is given (as is the case with our package), the default is DEF_CURSORPATH="~/.icons:${datadir}/icons:${datadir}/pixmaps", which is exactly the set of directories in the strace (${HOME}/.icons and ${INSTALLPREFIX}/share/icons). So I guess that adding relevant directories to the libxcursor search path would solve the problem. For Guix, it'd be useful to add /run/current-system/profile/share/icons, as well as ~/.guix-profile/share/icons (for users installing other icon themes in their profile). Would this be ok? I'll go and test this, but building everything from libxcursor up to gnome-desktop will probably take a while :). Comments are welcome! Thomas --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=gnomeshell.log Content-Transfer-Encoding: base64 Content-Description: strace from gnome-shell ZnV0ZXgoMHg3ZmNlODg0NjE0NjgsIEZVVEVYX1dBS0VfUFJJVkFURSwgMjE0NzQ4MzY0NykgPSAw Cm9wZW4oIi9ob21lL3Rob21hcy8uaWNvbnMvQWR3YWl0YS9jdXJzb3JzL2RuZC1ub25lIiwgT19S RE9OTFkpID0gLTEgRU5PRU5UIChObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5KQpvcGVuKCIvaG9t ZS90aG9tYXMvLmljb25zL0Fkd2FpdGEvaW5kZXgudGhlbWUiLCBPX1JET05MWSkgPSAtMSBFTk9F TlQgKE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkpCm9wZW4oIi9nbnUvc3RvcmUvMTRmNHZoM3kz d2RmM3JmcHprcHFmcWJsOWk4MWh5dzgtbGlieGN1cnNvci0xLjEuMTQvc2hhcmUvaWNvbnMvQWR3 YWl0YS9jdXJzb3JzL2RuZC1ub25lIiwgT19SRE9OTFkpID0gLTEgRU5PRU5UIChObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5KQpvcGVuKCIvZ251L3N0b3JlLzE0ZjR2aDN5M3dkZjNyZnB6a3BxZnFi bDlpODFoeXc4LWxpYnhjdXJzb3ItMS4xLjE0L3NoYXJlL2ljb25zL0Fkd2FpdGEvaW5kZXgudGhl bWUiLCBPX1JET05MWSkgPSAtMSBFTk9FTlQgKE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkpCm9w ZW4oIi9nbnUvc3RvcmUvMTRmNHZoM3kzd2RmM3JmcHprcHFmcWJsOWk4MWh5dzgtbGlieGN1cnNv ci0xLjEuMTQvc2hhcmUvcGl4bWFwcy9BZHdhaXRhL2N1cnNvcnMvZG5kLW5vbmUiLCBPX1JET05M WSkgPSAtMSBFTk9FTlQgKE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkpCm9wZW4oIi9nbnUvc3Rv cmUvMTRmNHZoM3kzd2RmM3JmcHprcHFmcWJsOWk4MWh5dzgtbGlieGN1cnNvci0xLjEuMTQvc2hh cmUvcGl4bWFwcy9BZHdhaXRhL2luZGV4LnRoZW1lIiwgT19SRE9OTFkpID0gLTEgRU5PRU5UIChO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5KQpvcGVuKCIvaG9tZS90aG9tYXMvLmljb25zL2RlZmF1 bHQvY3Vyc29ycy9kbmQtbm9uZSIsIE9fUkRPTkxZKSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeSkKb3BlbigiL2hvbWUvdGhvbWFzLy5pY29ucy9kZWZhdWx0L2luZGV4LnRo ZW1lIiwgT19SRE9OTFkpID0gLTEgRU5PRU5UIChObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5KQpv cGVuKCIvZ251L3N0b3JlLzE0ZjR2aDN5M3dkZjNyZnB6a3BxZnFibDlpODFoeXc4LWxpYnhjdXJz b3ItMS4xLjE0L3NoYXJlL2ljb25zL2RlZmF1bHQvY3Vyc29ycy9kbmQtbm9uZSIsIE9fUkRPTkxZ KSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKb3BlbigiL2dudS9zdG9y ZS8xNGY0dmgzeTN3ZGYzcmZwemtwcWZxYmw5aTgxaHl3OC1saWJ4Y3Vyc29yLTEuMS4xNC9zaGFy ZS9pY29ucy9kZWZhdWx0L2luZGV4LnRoZW1lIiwgT19SRE9OTFkpID0gLTEgRU5PRU5UIChObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5KQpvcGVuKCIvZ251L3N0b3JlLzE0ZjR2aDN5M3dkZjNyZnB6 a3BxZnFibDlpODFoeXc4LWxpYnhjdXJzb3ItMS4xLjE0L3NoYXJlL3BpeG1hcHMvZGVmYXVsdC9j dXJzb3JzL2RuZC1ub25lIiwgT19SRE9OTFkpID0gLTEgRU5PRU5UIChObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5KQpvcGVuKCIvZ251L3N0b3JlLzE0ZjR2aDN5M3dkZjNyZnB6a3BxZnFibDlpODFo eXc4LWxpYnhjdXJzb3ItMS4xLjE0L3NoYXJlL3BpeG1hcHMvZGVmYXVsdC9pbmRleC50aGVtZSIs IE9fUkRPTkxZKSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKcG9sbChb e2ZkPTUsIGV2ZW50cz1QT0xMSU58UE9MTE9VVH1dLCAxLCAtMSkgPSAxIChbe2ZkPTUsIHJldmVu dHM9UE9MTE9VVH1dKQp3cml0ZXYoNSwgW3tpb3ZfYmFzZT0iXDJcMFw0XDBcMjBcMFwyNDBcMFww QFwwXDBcMFwwXDBcMCIsIGlvdl9sZW49MTZ9LCB7aW92X2Jhc2U9TlVMTCwgaW92X2xlbj0wfSwg e2lvdl9iYXNlPSIiLCBpb3ZfbGVuPTB9XSwgMykgPSAxNgpyZWN2bXNnKDUsIHttc2dfbmFtZWxl bj0wfSwgMCkgICAgICAgICAgPSAtMSBFQUdBSU4gKFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZh aWxhYmxlKQpvcGVuKCIvaG9tZS90aG9tYXMvLmljb25zL0Fkd2FpdGEvY3Vyc29ycy9kbmQtbm9u ZSIsIE9fUkRPTkxZKSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKb3Bl bigiL2hvbWUvdGhvbWFzLy5pY29ucy9BZHdhaXRhL2luZGV4LnRoZW1lIiwgT19SRE9OTFkpID0g LTEgRU5PRU5UIChObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5KQpvcGVuKCIvZ251L3N0b3JlLzE0 ZjR2aDN5M3dkZjNyZnB6a3BxZnFibDlpODFoeXc4LWxpYnhjdXJzb3ItMS4xLjE0L3NoYXJlL2lj b25zL0Fkd2FpdGEvY3Vyc29ycy9kbmQtbm9uZSIsIE9fUkRPTkxZKSA9IC0xIEVOT0VOVCAoTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKb3BlbigiL2dudS9zdG9yZS8xNGY0dmgzeTN3ZGYzcmZw emtwcWZxYmw5aTgxaHl3OC1saWJ4Y3Vyc29yLTEuMS4xNC9zaGFyZS9pY29ucy9BZHdhaXRhL2lu ZGV4LnRoZW1lIiwgT19SRE9OTFkpID0gLTEgRU5PRU5UIChObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5KQpvcGVuKCIvZ251L3N0b3JlLzE0ZjR2aDN5M3dkZjNyZnB6a3BxZnFibDlpODFoeXc4LWxp YnhjdXJzb3ItMS4xLjE0L3NoYXJlL3BpeG1hcHMvQWR3YWl0YS9jdXJzb3JzL2RuZC1ub25lIiwg T19SRE9OTFkpID0gLTEgRU5PRU5UIChObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5KQpvcGVuKCIv Z251L3N0b3JlLzE0ZjR2aDN5M3dkZjNyZnB6a3BxZnFibDlpODFoeXc4LWxpYnhjdXJzb3ItMS4x LjE0L3NoYXJlL3BpeG1hcHMvQWR3YWl0YS9pbmRleC50aGVtZSIsIE9fUkRPTkxZKSA9IC0xIEVO T0VOVCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKb3BlbigiL2hvbWUvdGhvbWFzLy5pY29u cy9kZWZhdWx0L2N1cnNvcnMvZG5kLW5vbmUiLCBPX1JET05MWSkgPSAtMSBFTk9FTlQgKE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkpCm9wZW4oIi9ob21lL3Rob21hcy8uaWNvbnMvZGVmYXVsdC9p bmRleC50aGVtZSIsIE9fUkRPTkxZKSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeSkKb3BlbigiL2dudS9zdG9yZS8xNGY0dmgzeTN3ZGYzcmZwemtwcWZxYmw5aTgxaHl3OC1s aWJ4Y3Vyc29yLTEuMS4xNC9zaGFyZS9pY29ucy9kZWZhdWx0L2N1cnNvcnMvZG5kLW5vbmUiLCBP X1JET05MWSkgPSAtMSBFTk9FTlQgKE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkpCm9wZW4oIi9n bnUvc3RvcmUvMTRmNHZoM3kzd2RmM3JmcHprcHFmcWJsOWk4MWh5dzgtbGlieGN1cnNvci0xLjEu MTQvc2hhcmUvaWNvbnMvZGVmYXVsdC9pbmRleC50aGVtZSIsIE9fUkRPTkxZKSA9IC0xIEVOT0VO VCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKb3BlbigiL2dudS9zdG9yZS8xNGY0dmgzeTN3 ZGYzcmZwemtwcWZxYmw5aTgxaHl3OC1saWJ4Y3Vyc29yLTEuMS4xNC9zaGFyZS9waXhtYXBzL2Rl ZmF1bHQvY3Vyc29ycy9kbmQtbm9uZSIsIE9fUkRPTkxZKSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeSkKb3BlbigiL2dudS9zdG9yZS8xNGY0dmgzeTN3ZGYzcmZwemtwcWZx Ymw5aTgxaHl3OC1saWJ4Y3Vyc29yLTEuMS4xNC9zaGFyZS9waXhtYXBzL2RlZmF1bHQvaW5kZXgu dGhlbWUiLCBPX1JET05MWSkgPSAtMSBFTk9FTlQgKE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnkp CnBvbGwoW3tmZD0xMiwgZXZlbnRzPVBPTExJTnxQT0xMT1VUfV0sIDEsIC0xKSA9IDEgKFt7ZmQ9 MTIsIHJldmVudHM9UE9MTE9VVH1dKQp3cml0ZXYoMTIsIFt7aW92X2Jhc2U9IlwyXDMxXDRcMFw0 XDFcMFwwXDBAXDBcMFwwXDBcMFwwIiwgaW92X2xlbj0xNn0sIHtpb3ZfYmFzZT1OVUxMLCBpb3Zf bGVuPTB9LCB7aW92X2Jhc2U9IiIsIGlvdl9sZW49MH1dLCAzKSA9IDE2CnJlY3Ztc2coMTIsIHtt c2dfbmFtZWxlbj0wfSwgMCkgICAgICAgICA9IC0xIEVBR0FJTiAoUmVzb3VyY2UgdGVtcG9yYXJp bHkgdW5hdmFpbGFibGUpCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9CVVNZLCAweDdmZmYx Y2U1YzAzMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9TRVRfRE9NQUlOLCAweDdm ZmYxY2U1YmZhMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9CVVNZLCAweDdmZmYx Y2U1YzA5MCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9TRVRfRE9NQUlOLCAweDdm ZmYxY2U1YzAwMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9DUkVBVEUsIDB4N2Zm ZjFjZTVhNjAwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX1NFVF9USUxJTkcsIDB4 N2ZmZjFjZTVhNTkwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX0NSRUFURSwgMHg3 ZmZmMWNlNWE2MDApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fU0VUX1RJTElORywg MHg3ZmZmMWNlNWE1OTApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fQ1JFQVRFLCAw eDdmZmYxY2U1YTYxMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9DUkVBVEUsIDB4 N2ZmZjFjZTVhNzUwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX1NFVF9USUxJTkcs IDB4N2ZmZjFjZTVhNmUwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX0NSRUFURSwg MHg3ZmZmMWNlNWE2ZjApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fU0VUX1RJTElO RywgMHg3ZmZmMWNlNWE2ODApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fQ1JFQVRF LCAweDdmZmYxY2U1YTYxMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9DUkVBVEUs IDB4N2ZmZjFjZTVhNzUwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX1NFVF9USUxJ TkcsIDB4N2ZmZjFjZTVhNmUwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX0NSRUFU RSwgMHg3ZmZmMWNlNWE2ZjApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fU0VUX1RJ TElORywgMHg3ZmZmMWNlNWE2ODApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fQlVT WSwgMHg3ZmZmMWNlNWJmMzApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fTUFEVklT RSwgMHg3ZmZmMWNlNWJmMzApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fQlVTWSwg MHg3ZmZmMWNlNWMwMzApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fTU1BUCwgMHg3 ZmZmMWNlNWJmZTApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fU0VUX0RPTUFJTiwg MHg3ZmZmMWNlNWJmYTApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fQlVTWSwgMHg3 ZmZmMWNlNWMxZTApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fU0VUX0RPTUFJTiwg MHg3ZmZmMWNlNWMxNTApID0gMAppb2N0bCg2LCBEUk1fSU9DVExfSTkxNV9HRU1fRVhFQ0JVRkZF UjIsIDB4N2ZmZjFjZTViZjgwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX0JVU1ks IDB4N2ZmZjFjZTViZWEwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX01BRFZJU0Us IDB4N2ZmZjFjZTViZWEwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX1NFVF9ET01B SU4sIDB4N2ZmZjFjZTViZTkwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX0JVU1ks IDB4N2ZmZjFjZTViZGYwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX01BRFZJU0Us IDB4N2ZmZjFjZTViZGYwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX1NFVF9ET01B SU4sIDB4N2ZmZjFjZTViZGUwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX0JVU1ks IDB4N2ZmZjFjZTVmMmQwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX1NFVF9ET01B SU4sIDB4N2ZmZjFjZTVmMjQwKSA9IDAKaW9jdGwoNiwgRFJNX0lPQ1RMX0k5MTVfR0VNX0VYRUNC VUZGRVIyLCAweDdmZmYxY2U1ZjQ5MCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9T RVRfRE9NQUlOLCAweDdmZmYxY2U1ZjQzMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dF TV9NQURWSVNFLCAweDdmZmYxY2U1ZjQwMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dF TV9NQURWSVNFLCAweDdmZmYxY2U1ZjQwMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dF TV9CVVNZLCAweDdmZmYxY2U1ZjNiMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9N QURWSVNFLCAweDdmZmYxY2U1ZjNiMCkgPSAwCmlvY3RsKDYsIERSTV9JT0NUTF9JOTE1X0dFTV9T RVRfRE9NQUlOLCAweDdmZmYxY2U1ZjNhMCkgPSAwCnBvbGwoW3tmZD01LCBldmVudHM9UE9MTElO fFBPTExPVVR9XSwgMSwgLTEpID0gMSAoW3tmZD01LCByZXZlbnRzPVBPTExJTnxQT0xMT1VUfV0p CnJlY3Ztc2coNSwge21zZ19uYW1lPU5VTEwsIG1zZ19uYW1lbGVuPTAsIG1zZ19pb3Y9W3tpb3Zf YmFzZT0iI1wyMDNcMzc3XDM0XDMyXDBcMFwwXDZcMFwyXDBPXDIzNFwyMTdcMFwwXDBcMFwwXDRc MVwwXDBcMjBcMFwyNDBcMFwwXDBcMFwwIi4uLiwgaW92X2xlbj00MDk2fV0sIG1zZ19pb3ZsZW49 MSwgbXNnX2NvbnRyb2xsZW49MCwgbXNnX2ZsYWdzPTB9LCAwKSA9IDI2NAp3cml0ZXYoNSwgW3tp b3ZfYmFzZT0iX1wwXDJcMFwwXDBcMFwwIiwgaW92X2xlbj04fSwge2lvdl9iYXNlPU5VTEwsIGlv dl9sZW49MH0sIHtpb3ZfYmFzZT0iIiwgaW92X2xlbj0wfV0sIDMpID0gOApwb2xsKFt7ZmQ9NSwg ZXZlbnRzPVBPTExJTnxQT0xMT1VUfV0sIDEsIC0xKSA9IDEgKFt7ZmQ9NSwgcmV2ZW50cz1QT0xM T1VUfV0pCndyaXRldig1LCBbe2lvdl9iYXNlPSJcMjIzXDFcMjJcMFwyMFwwXDI0MFwwJVwwXDI0 MFwwXDM3Mlw2XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIi4uLiwgaW92X2xl bj03Mn1dLCAxKSA9IDcyCnBvbGwoW3tmZD01LCBldmVudHM9UE9MTElOfFBPTExPVVR9XSwgMSwg LTEpID0gMSAoW3tmZD01LCByZXZlbnRzPVBPTExJTnxQT0xMT1VUfV0pCnJlY3Ztc2coNSwge21z Z19uYW1lPU5VTEwsIG1zZ19uYW1lbGVuPTAsIG1zZ19pb3Y9W3tpb3ZfYmFzZT0iXDBcNlwwXDM1 XDBcMFwwXDBcMFwwX1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIs IGlvdl9sZW49NDA5Nn1dLCBtc2dfaW92bGVuPTEsIG1zZ19jb250cm9sbGVuPTAsIG1zZ19mbGFn cz0wfSwgMCkgPSAzMgp3cml0ZXYoNSwgW3tpb3ZfYmFzZT0iXDIyM1wyXG5cMFwyMFwwXDI0MFww XDM3M1w2XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiLi4uLCBp b3ZfbGVuPTQwfV0sIDEpID0gNDAKcG9sbChbe2ZkPTUsIGV2ZW50cz1QT0xMSU59XSwgMSwgLTEp ICAgID0gMSAoW3tmZD01LCByZXZlbnRzPVBPTExJTn1dKQpyZWN2bXNnKDUsIHttc2dfbmFtZT1O VUxMLCBtc2dfbmFtZWxlbj0wLCBtc2dfaW92PVt7aW92X2Jhc2U9IiNcMjIzXDJcMzVcMlwwXDBc MFwxXDBcMVwwJFwwXDI0MFwwXDIwXDBcMjQwXDBcMzczXDZcMFwwaFwyNTNcMzcyMFwyXDBcMFww Ii4uLiwgaW92X2xlbj00MDk2fV0sIG1zZ19pb3ZsZW49MSwgbXNnX2NvbnRyb2xsZW49MCwgbXNn X2ZsYWdzPTB9LCAwKSA9IDQwCnJlY3Ztc2coNSwge21zZ19uYW1lbGVuPTB9LCAwKSAgICAgICAg ICA9IC0xIEVBR0FJTiAoUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUpCnBvbGwoW3tm ZD0xMiwgZXZlbnRzPVBPTExJTnxQT0xMT1VUfV0sIDEsIC0xKSA9IDEgKFt7ZmQ9MTIsIHJldmVu dHM9UE9MTElOfFBPTExPVVR9XSkKcmVjdm1zZygxMiwge21zZ19uYW1lPU5VTEwsIG1zZ19uYW1l bGVuPTAsIG1zZ19pb3Y9W3tpb3ZfYmFzZT0iV1wwXDI1NClcNFwxXDBcMFwyMzRcMFwwXDBNXDIz NFwyMTdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIi4uLiwgaW92X2xlbj00MDk2 fV0sIG1zZ19pb3ZsZW49MSwgbXNnX2NvbnRyb2xsZW49MCwgbXNnX2ZsYWdzPTB9LCAwKSA9IDY0 CndyaXRldigxMiwgW3tpb3ZfYmFzZT0iX1wzMVwyXDBcMFwwXDBcMCIsIGlvdl9sZW49OH0sIHtp b3ZfYmFzZT1OVUxMLCBpb3ZfbGVuPTB9LCB7aW92X2Jhc2U9IiIsIGlvdl9sZW49MH1dLCAzKSA9 IDgKcmVjdm1zZygxMiwge21zZ19uYW1lbGVuPTB9LCAwKSAgICAgICAgID0gLTEgRUFHQUlOIChS ZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSkKcG9sbChbe2ZkPTQsIGV2ZW50cz1QT0xM SU59LCB7ZmQ9NSwgZXZlbnRzPVBPTExJTn0sIHtmZD0xMSwgZXZlbnRzPVBPTExJTn0sIHtmZD0x MiwgZXZlbnRzPVBPTExJTn0sIHtmZD0xMywgZXZlbnRzPVBPTExJTn0sIHtmZD0yMSwgZXZlbnRz PVBPTExJTn0sIHtmZD0yMiwgZXZlbnRzPVBPTExJTn0sIHtmZD0yMywgZXZlbnRzPVBPTExJTn0s IHtmZD0yNCwgZXZlbnRzPVBPTExJTn0sIHtmZD0yNiwgZXZlbnRzPVBPTExJTn0sIHtmZD0yNywg ZXZlbnRzPVBPTExJTn0sIHtmZD0zNCwgZXZlbnRzPVBPTExJTn0sIHtmZD0zNSwgZXZlbnRzPVBP TExJTn1dLCAxMywgMCkgPSAyIChbe2ZkPTQsIHJldmVudHM9UE9MTElOfSwge2ZkPTEyLCByZXZl bnRzPVBPTExJTn1dKQpyZWFkKDQsICJcMVwwXDBcMFwwXDBcMFwwIiwgMTYpICAgICAgICAgPSA4 CndyaXRlKDQsICJcMVwwXDBcMFwwXDBcMFwwIiwgOCkgICAgICAgICA9IDgKcmVjdm1zZyg1LCB7 bXNnX25hbWVsZW49MH0sIDApICAgICAgICAgID0gLTEgRUFHQUlOIChSZXNvdXJjZSB0ZW1wb3Jh cmlseSB1bmF2YWlsYWJsZSkKcG9sbChbe2ZkPTEyLCBldmVudHM9UE9MTElOfFBPTExPVVR9XSwg MSwgLTEpID0gMSAoW3tmZD0xMiwgcmV2ZW50cz1QT0xMSU58UE9MTE9VVH1dKQpyZWN2bXNnKDEy LCB7bXNnX25hbWU9TlVMTCwgbXNnX25hbWVsZW49MCwgbXNnX2lvdj1be2lvdl9iYXNlPSJcMFw2 XDI1NilcMFwwXDBcMFwwXDBfXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBc MFwwIiwgaW92X2xlbj00MDk2fV0sIG1zZ19pb3ZsZW49MSwgbXNnX2NvbnRyb2xsZW49MCwgbXNn X2ZsYWdzPTB9LCAwKSA9IDMyCndyaXRldigxMiwgW3tpb3ZfYmFzZT0iXDIxMVwzMVwxXDAiLCBp b3ZfbGVuPTR9LCB7aW92X2Jhc2U9TlVMTCwgaW92X2xlbj0wfSwge2lvdl9iYXNlPSIiLCBpb3Zf bGVuPTB9XSwgMykgPSA0CnBvbGwoW3tmZD0xMiwgZXZlbnRzPVBPTExJTn1dLCAxLCAtMSkgICA9 IDEgKFt7ZmQ9MTIsIHJldmVudHM9UE9MTElOfV0pCnJlY3Ztc2coMTIsIHttc2dfbmFtZT1OVUxM LCBtc2dfbmFtZWxlbj0wLCBtc2dfaW92PVt7aW92X2Jhc2U9IlwxXDBcMjU3KVwwXDFcMFwwKlww fFwxXDIwXDBcMjBcMFw3XDBcN1wwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIi4uLiwgaW92X2xl bj00MDk2fV0sIG1zZ19pb3ZsZW49MSwgbXNnX2NvbnRyb2xsZW49MCwgbXNnX2ZsYWdzPTB9LCAw KSA9IDEwNTYKb3BlbigiL2dudS9zdG9yZS9ucDA1cThtZjF5OXk0Yms1eTRzc2o5OW0wZHNzMmIx cS1saWJ4MTEtMS42LjUvc2hhcmUvWDExL1hFcnJvckRCIiwgT19SRE9OTFkpID0gMjgKZnN0YXQo MjgsIHtzdF9tb2RlPVNfSUZSRUd8MDQ0NCwgc3Rfc2l6ZT00MjA3NywgLi4ufSkgPSAwCnJlYWQo MjgsICIhXG4hIENvcHlyaWdodCAxOTkzLCAxOTk1LCAxOTk4ICAiLi4uLCA0MjA3NykgPSA0MjA3 NwpjbG9zZSgyOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwCmlvY3RsKDIsIFRD R0VUUywge0IzODQwMCBvcG9zdCBpc2lnIGljYW5vbiBlY2hvIC4uLn0pID0gMApnZXRwaWQoKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MjkxCndyaXRlKDIsICJcbiguZ25vbWUt c2hlbGwtcmVhbDo2MjkxKTogR2RrLVwzMyIuLi4sIDY1MykgPSA2NTMKLS0tIFNJR1RSQVAge3Np X3NpZ25vPVNJR1RSQVAsIHNpX2NvZGU9U0lfS0VSTkVMfSAtLS0KKysrIGtpbGxlZCBieSBTSUdU UkFQICsrKwo= --=-=-=--