From unknown Sun Jun 22 17:17:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30556: Python tests should run with multiple python versions Resent-From: Mathieu Lirzin Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Tue, 20 Feb 2018 20:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 30556 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: 30556@debbugs.gnu.org X-Debbugs-Original-To: bug-automake@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15191591756809 (code B ref -1); Tue, 20 Feb 2018 20:40:02 +0000 Received: (at submit) by debbugs.gnu.org; 20 Feb 2018 20:39:35 +0000 Received: from localhost ([127.0.0.1]:53267 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eoEhK-0001lk-R9 for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:35 -0500 Received: from eggs.gnu.org ([208.118.235.92]:42849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eoEhI-0001lW-Tp for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eoEhC-0007UN-SU for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:27 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33209) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eoEhC-0007UC-JE for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33817) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eoEhB-0002cE-AQ for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eoEhA-0007T4-Ec for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:25 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33141) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eoEhA-0007Sr-4w for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:24 -0500 Received: from [2a01:e35:2ec2:e580:7d5f:f616:fc6f:3970] (port=34340 helo=godel) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eoEh8-0007cF-8k for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:23 -0500 From: Mathieu Lirzin Date: Tue, 20 Feb 2018 21:39:14 +0100 Message-ID: <874lmbv1jh.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable The test suite applies its tests only with the =E2=80=98python=E2=80=99 exe= cutable which is an issue since on most systems it corresponds to =E2=80=98python2=E2=80= =99, and for systems having only =E2=80=98python3=E2=80=99 the tests are simply skipped. Moreover, when =E2=80=98python=E2=80=99 corresponds to =E2=80=98python3=E2= =80=99 as it is the case on distributions not following PEP394 [1] like Arch Linux, the test suite fails (See attached log). --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=test-suite.log Content-Transfer-Encoding: base64 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEdOVSBBdXRvbWFr ZSAxLjE1YTogLi90ZXN0LXN1aXRlLmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KCiMgVE9UQUw6IDgKIyBQQVNTOiAgMAojIFNLSVA6ICAwCiMgWEZBSUw6IDAK IyBGQUlMOiAgOAojIFhQQVNTOiAwCiMgRVJST1I6IDAKCi4uIGNvbnRlbnRzOjogOmRlcHRoOiAy CgpGQUlMOiB0L25vYmFzZS1weXRob24KPT09PT09PT09PT09PT09PT09PT09Cgpub2Jhc2UtcHl0 aG9uOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRob24gMy41LjMKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvbXRobC9zcmMvYXV0b21h a2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvYXg6L2dudS9zdG9yZS9hMDhnMGY5NWFp dzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2JpbjovZ251L3N0b3JlL2EwOGcwZjk1YWl3 MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvc2JpbjovaG9tZS9tdGhsLy5sb2NhbC9iaW46 L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2JpbjovaG9tZS9tdGhsLy5ndWl4LXByb2ZpbGUvc2Jp bjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvYmluOi9y dW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9zYmluCisrIHB3ZAovaG9tZS9tdGhsL3NyYy9hdXRv bWFrZS90L25vYmFzZS1weXRob24uZGlyCisgY2F0CisgY2F0CisgbWtkaXIgc3ViCisgZm9yIGZp bGUgaW4gb25lLnB5IHN1Yi9iYXNlLnB5IHR3by5weSBzdWIvbm9iYXNlLnB5CisgZWNobyAnZGVm IG9uZSgpOiByZXR1cm4gMScKKyBmb3IgZmlsZSBpbiBvbmUucHkgc3ViL2Jhc2UucHkgdHdvLnB5 IHN1Yi9ub2Jhc2UucHkKKyBlY2hvICdkZWYgb25lKCk6IHJldHVybiAxJworIGZvciBmaWxlIGlu IG9uZS5weSBzdWIvYmFzZS5weSB0d28ucHkgc3ViL25vYmFzZS5weQorIGVjaG8gJ2RlZiBvbmUo KTogcmV0dXJuIDEnCisgZm9yIGZpbGUgaW4gb25lLnB5IHN1Yi9iYXNlLnB5IHR3by5weSBzdWIv bm9iYXNlLnB5CisgZWNobyAnZGVmIG9uZSgpOiByZXR1cm4gMScKKyBhY2xvY2FsLTEuMTVhIC1X ZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEuMTVhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxs IC0tYWRkLW1pc3NpbmcKTWFrZWZpbGUuYW06MjogaW5zdGFsbGluZyAnLi9weS1jb21waWxlJwor KyBwd2QKKyAuL2NvbmZpZ3VyZSAtLXByZWZpeCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25v YmFzZS1weXRob24uZGlyL2luc3QgLS1wcm9ncmFtLXByZWZpeD1wCmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBz YXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9m aWxlL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgcHl0aG9uLi4uIC9nbnUvc3Rv cmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vcHl0aG9uCmNo ZWNraW5nIGZvciBweXRob24gdmVyc2lvbi4uLiAzLjUKY2hlY2tpbmcgZm9yIHB5dGhvbiBwbGF0 Zm9ybS4uLiBsaW51eApjaGVja2luZyBmb3IgcHl0aG9uIHNjcmlwdCBkaXJlY3RvcnkuLi4gJHtw cmVmaXh9L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcwpjaGVja2luZyBmb3IgcHl0aG9uIGV4 dGVuc2lvbiBtb2R1bGUgZGlyZWN0b3J5Li4uICR7ZXhlY19wcmVmaXh9L2xpYi9weXRob24zLjUv c2l0ZS1wYWNrYWdlcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQorIG1ha2UKbWFrZTogcmllbiDDoCBmYWly ZSBwb3VyIMKrwqBhbGzCoMK7LgorIHRlc3RfaW5zdGFsbAorIG1ha2UgaW5zdGFsbC1kYXRhCiAv Z251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL21r ZGlyIC1wICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1weXRob24uZGlyL2luc3Qv bXknCiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUv YmluL2luc3RhbGwgLWMgLW0gNjQ0IG9uZS5weSBzdWIvYmFzZS5weSAnL2hvbWUvbXRobC9zcmMv YXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9pbnN0L215JwpCeXRlLWNvbXBpbGluZyBweXRo b24gbW9kdWxlcy4uLgpvbmUucHliYXNlLnB5CkJ5dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVz IChvcHRpbWl6ZWQgdmVyc2lvbnMpIC4uLgpvbmUucHliYXNlLnB5CiAvZ251L3N0b3JlL2EwOGcw Zjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL21rZGlyIC1wICcvaG9tZS9t dGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1weXRob24uZGlyL2luc3QvbXknCiAvZ251L3N0b3Jl L2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICB0d28ucHkgJy9ob21lL210aGwvc3JjL2F1dG9tYWtlL3Qvbm9iYXNlLXB5dGhvbi5k aXIvaW5zdC9teS8uJwovZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFy LXByb2ZpbGUvYmluL21rZGlyIC1wICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1w eXRob24uZGlyL2luc3QvbXkvc3ViJwogL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBz YXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL25vYmFzZS5weSAn L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9pbnN0L215L3N1YicK Qnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMuLi4KdHdvLnB5c3ViL25vYmFzZS5weQpCeXRl LWNvbXBpbGluZyBweXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25zKSAuLi4KdHdvLnB5 c3ViL25vYmFzZS5weQorIGZpbmQgaW5zdCAtcHJpbnQKaW5zdAppbnN0L215Cmluc3QvbXkvc3Vi Cmluc3QvbXkvc3ViL25vYmFzZS5weQppbnN0L215L3N1Yi9fX3B5Y2FjaGVfXwppbnN0L215L3N1 Yi9fX3B5Y2FjaGVfXy9ub2Jhc2UuY3B5dGhvbi0zNS5vcHQtMS5weWMKaW5zdC9teS9zdWIvX19w eWNhY2hlX18vbm9iYXNlLmNweXRob24tMzUucHljCmluc3QvbXkvdHdvLnB5Cmluc3QvbXkvYmFz ZS5weQppbnN0L215L29uZS5weQppbnN0L215L19fcHljYWNoZV9fCmluc3QvbXkvX19weWNhY2hl X18vYmFzZS5jcHl0aG9uLTM1LnB5YwppbnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1 Lm9wdC0xLnB5YwppbnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1LnB5YwppbnN0L215 L19fcHljYWNoZV9fL3R3by5jcHl0aG9uLTM1Lm9wdC0xLnB5YwppbnN0L215L19fcHljYWNoZV9f L3R3by5jcHl0aG9uLTM1LnB5YwppbnN0L215L19fcHljYWNoZV9fL2Jhc2UuY3B5dGhvbi0zNS5v cHQtMS5weWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9vbmUucHkKKyBjYXNlICQjLCQxIGluCisg YW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBhbV90YXJnZXRfcHlfZmls ZT1pbnN0L215L29uZS5weQorIHRlc3QgLWYgaW5zdC9teS9vbmUucHkKKyBweV9pbnN0YWxsZWQg aW5zdC9teS9vbmUucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAt ZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGluc3QvbXkvb25lLnB5YworIGNhc2UgJCMs JDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16ICcn CisrIHB5dGhvbiAtYyAnaW1wb3J0IGltcDsgcHJpbnQoaW1wLmdldF90YWcoKSknCisgYW1fcGVw MzE0N190YWc9Y3B5dGhvbi0zNQorIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKyBjYXNlICQx IGluCisgYW1fcHljX2Rpcj1pbnN0L215CisgYW1fcHljX2Jhc2U9b25lLnB5YworIGFtX3B5Y19l eHQ9cHljCisgYW1fcHljX2Jhc2U9b25lCisgYW1fcHljX2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVf Xy9vbmUuY3B5dGhvbi0zNS5weWMKKyB0ZXN0IG5vID0gbm8KKyBhbV90YXJnZXRfcHlfZmlsZT1p bnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgaW5zdC9teS9f X3B5Y2FjaGVfXy9vbmUuY3B5dGhvbi0zNS5weWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS90d28u cHkKKyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEg aW4KKyBhbV90YXJnZXRfcHlfZmlsZT1pbnN0L215L3R3by5weQorIHRlc3QgLWYgaW5zdC9teS90 d28ucHkKKyBweV9pbnN0YWxsZWQgaW5zdC9teS90d28ucHljCisgY2FzZSAkIywkMSBpbgorIGFt X3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGluc3Qv bXkvdHdvLnB5YworIGNhc2UgJCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFz X3BlcDMxNDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25l CisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9aW5zdC9teQorIGFtX3B5Y19iYXNlPXR3by5weWMK KyBhbV9weWNfZXh0PXB5YworIGFtX3B5Y19iYXNlPXR3bworIGFtX3B5Y19maWxlPWluc3QvbXkv X19weWNhY2hlX18vdHdvLmNweXRob24tMzUucHljCisgdGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0 X3B5X2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy90d28uY3B5dGhvbi0zNS5weWMKKyB0ZXN0IC1m IGluc3QvbXkvX19weWNhY2hlX18vdHdvLmNweXRob24tMzUucHljCisgcHlfaW5zdGFsbGVkIGlu c3QvbXkvYmFzZS5weQorIGNhc2UgJCMsJDEgaW4KKyBhbV90ZXN0X3B5X2ZpbGU9J3Rlc3QgLWYn CisgY2FzZSAkMSBpbgorIGFtX3RhcmdldF9weV9maWxlPWluc3QvbXkvYmFzZS5weQorIHRlc3Qg LWYgaW5zdC9teS9iYXNlLnB5CisgcHlfaW5zdGFsbGVkIGluc3QvbXkvYmFzZS5weWMKKyBjYXNl ICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNf bG9jYXRpb24gaW5zdC9teS9iYXNlLnB5YworIGNhc2UgJCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9 bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0ZXN0IGNweXRo b24tMzUgJyE9JyBub25lCisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9aW5zdC9teQorIGFtX3B5 Y19iYXNlPWJhc2UucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNfYmFzZT1iYXNlCisgYW1f cHljX2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy9iYXNlLmNweXRob24tMzUucHljCisgdGVzdCBu byA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy9iYXNlLmNweXRo b24tMzUucHljCisgdGVzdCAtZiBpbnN0L215L19fcHljYWNoZV9fL2Jhc2UuY3B5dGhvbi0zNS5w eWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9zdWIvbm9iYXNlLnB5CisgY2FzZSAkIywkMSBpbgor IGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQxIGluCisgYW1fdGFyZ2V0X3B5X2Zp bGU9aW5zdC9teS9zdWIvbm9iYXNlLnB5CisgdGVzdCAtZiBpbnN0L215L3N1Yi9ub2Jhc2UucHkK KyBweV9pbnN0YWxsZWQgaW5zdC9teS9zdWIvbm9iYXNlLnB5YworIGNhc2UgJCMsJDEgaW4KKyBh bV90ZXN0X3B5X2ZpbGU9J3Rlc3QgLWYnCisgY2FzZSAkMSBpbgorIHB5Y19sb2NhdGlvbiBpbnN0 L215L3N1Yi9ub2Jhc2UucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3B5Y19wcmludD1ubworIHB5 dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogY3B5dGhvbi0zNQorIHRlc3QgY3B5dGhvbi0zNSAn IT0nIG5vbmUKKyBjYXNlICQxIGluCisgYW1fcHljX2Rpcj1pbnN0L215L3N1YgorIGFtX3B5Y19i YXNlPW5vYmFzZS5weWMKKyBhbV9weWNfZXh0PXB5YworIGFtX3B5Y19iYXNlPW5vYmFzZQorIGFt X3B5Y19maWxlPWluc3QvbXkvc3ViL19fcHljYWNoZV9fL25vYmFzZS5jcHl0aG9uLTM1LnB5Ywor IHRlc3Qgbm8gPSBubworIGFtX3RhcmdldF9weV9maWxlPWluc3QvbXkvc3ViL19fcHljYWNoZV9f L25vYmFzZS5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgaW5zdC9teS9zdWIvX19weWNhY2hlX18v bm9iYXNlLmNweXRob24tMzUucHljCisgcHlfaW5zdGFsbGVkIC0tbm90IGluc3QvbXkvbm9iYXNl LnB5CisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAhIC1lJworIHNoaWZ0 CisgY2FzZSAkMSBpbgorIGFtX3RhcmdldF9weV9maWxlPWluc3QvbXkvbm9iYXNlLnB5CisgdGVz dCAnIScgLWUgaW5zdC9teS9ub2Jhc2UucHkKKyBweV9pbnN0YWxsZWQgLS1ub3QgaW5zdC9teS9u b2Jhc2UucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAhIC1lJwor IHNoaWZ0CisgY2FzZSAkMSBpbgorIHB5Y19sb2NhdGlvbiBpbnN0L215L25vYmFzZS5weWMKKyBj YXNlICQjLCQxIGluCisgYW1fcHljX3ByaW50PW5vCisgcHl0aG9uX2hhc19wZXAzMTQ3CisgdGVz dCAteiBjcHl0aG9uLTM1CisgdGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4K KyBhbV9weWNfZGlyPWluc3QvbXkKKyBhbV9weWNfYmFzZT1ub2Jhc2UucHljCisgYW1fcHljX2V4 dD1weWMKKyBhbV9weWNfYmFzZT1ub2Jhc2UKKyBhbV9weWNfZmlsZT1pbnN0L215L19fcHljYWNo ZV9fL25vYmFzZS5jcHl0aG9uLTM1LnB5YworIHRlc3Qgbm8gPSBubworIGFtX3RhcmdldF9weV9m aWxlPWluc3QvbXkvX19weWNhY2hlX18vbm9iYXNlLmNweXRob24tMzUucHljCisgdGVzdCAnIScg LWUgaW5zdC9teS9fX3B5Y2FjaGVfXy9ub2Jhc2UuY3B5dGhvbi0zNS5weWMKKyB0ZXN0X3VuaW5z dGFsbAorIG1ha2UgdW5pbnN0YWxsCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25v YmFzZS1weXRob24uZGlyL2luc3QvbXknICYmIHJtIC1mIG9uZS5weSBiYXNlLnB5ICkKICggY2Qg Jy9ob21lL210aGwvc3JjL2F1dG9tYWtlL3Qvbm9iYXNlLXB5dGhvbi5kaXIvaW5zdC9teScgJiYg cm0gLWYgb25lLnB5YyBiYXNlLnB5YyApCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90 L25vYmFzZS1weXRob24uZGlyL2luc3QvbXknICYmIHJtIC1mIG9uZS5weW8gYmFzZS5weW8gKQog KCBjZCAnL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9pbnN0L215 L19fcHljYWNoZV9fJyAmJiBybSAtZiBvbmUuKi5weWMgb25lLioucHlvIGJhc2UuKi5weWMgYmFz ZS4qLnB5byApCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1weXRob24u ZGlyL2luc3QvbXknICYmIHJtIC1mIHR3by5weSBzdWIvbm9iYXNlLnB5ICkKICggY2QgJy9ob21l L210aGwvc3JjL2F1dG9tYWtlL3Qvbm9iYXNlLXB5dGhvbi5kaXIvaW5zdC9teScgJiYgcm0gLWYg dHdvLnB5YyBzdWIvbm9iYXNlLnB5YyApCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90 L25vYmFzZS1weXRob24uZGlyL2luc3QvbXknICYmIHJtIC1mIHR3by5weW8gc3ViL25vYmFzZS5w eW8gKQogKCBjZCAnL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9p bnN0L215L19fcHljYWNoZV9fJyAmJiBybSAtZiB0d28uKi5weWMgdHdvLioucHlvIHN1Yi9ub2Jh c2UuKi5weWMgbm9iYXNlLioucHlvICkKKyB0ZXN0IC1kIGluc3QvbXkKKyBncmVwIC4KKyBmaW5k IGluc3QvbXkgLXR5cGUgZiAtcHJpbnQKaW5zdC9teS9zdWIvX19weWNhY2hlX18vbm9iYXNlLmNw eXRob24tMzUub3B0LTEucHljCmluc3QvbXkvc3ViL19fcHljYWNoZV9fL25vYmFzZS5jcHl0aG9u LTM1LnB5YworIGFtX2V4aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9o b21lL210aGwvc3JjL2F1dG9tYWtlCisgdGVzdCBub25lID0gdGFwCisgY2FzZSAkYW1fZXhwbGlj aXRfc2tpcHMgaW4KKyB0ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gK RkFJTCB0L25vYmFzZS1weXRob24uc2ggKGV4aXQgc3RhdHVzOiAxKQoKRkFJTDogdC9weS1jb21w aWxlLWJhc2ljCj09PT09PT09PT09PT09PT09PT09PT09PQoKcHktY29tcGlsZS1iYXNpYzogcnVu bmluZyBweXRob24gLVYKUHl0aG9uIDMuNS4zClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5v ClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2Jpbjov aG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L2F4Oi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFw bmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW46L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBu ZHBzYXF4ejM4Ymkxci1wcm9maWxlL3NiaW46L2hvbWUvbXRobC8ubG9jYWwvYmluOi9ob21lL210 aGwvLmd1aXgtcHJvZmlsZS9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL3NiaW46L3J1bi9z ZXR1aWQtcHJvZ3JhbXM6L3J1bi9jdXJyZW50LXN5c3RlbS9wcm9maWxlL2JpbjovcnVuL2N1cnJl bnQtc3lzdGVtL3Byb2ZpbGUvc2JpbgorKyBwd2QKL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9w eS1jb21waWxlLWJhc2ljLmRpcgorIGNwIC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2xpYi9weS1j b21waWxlIC4KKyBjYXQKKyBta2RpciBzdWIKKyBjYXQKKyBta2RpciAtcCAxL18vMi9fLzMvXwor IDoKKyAuL3B5LWNvbXBpbGUgZm9vLnB5IHN1Yi9iYXIucHkgMS9fLzIvXy8zL18vMC5weQpCeXRl LWNvbXBpbGluZyBweXRob24gbW9kdWxlcy4uLgpmb28ucHlzdWIvYmFyLnB5MS9fLzIvXy8zL18v MC5weQpCeXRlLWNvbXBpbGluZyBweXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25zKSAu Li4KZm9vLnB5c3ViL2Jhci5weTEvXy8yL18vMy9fLzAucHkKKyBweV9pbnN0YWxsZWQgZm9vLnB5 YworIGNhc2UgJCMsJDEgaW4KKyBhbV90ZXN0X3B5X2ZpbGU9J3Rlc3QgLWYnCisgY2FzZSAkMSBp bgorIHB5Y19sb2NhdGlvbiBmb28ucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3B5Y19wcmludD1u bworIHB5dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogJycKKysgcHl0aG9uIC1jICdpbXBvcnQg aW1wOyBwcmludChpbXAuZ2V0X3RhZygpKScKKyBhbV9wZXAzMTQ3X3RhZz1jcHl0aG9uLTM1Cisg dGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4KKyBhbV9weWNfZGlyPS4KKyBh bV9weWNfYmFzZT1mb28ucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNfYmFzZT1mb28KKyBh bV9weWNfZmlsZT0uL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIHRlc3Qgbm8gPSBu bworIGFtX3RhcmdldF9weV9maWxlPS4vX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHljCisg dGVzdCAtZiAuL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIHB5X2luc3RhbGxlZCBm b28ucHlvCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNl ICQxIGluCisgcHljX2xvY2F0aW9uIGZvby5weW8KKyBjYXNlICQjLCQxIGluCisgYW1fcHljX3By aW50PW5vCisgcHl0aG9uX2hhc19wZXAzMTQ3CisgdGVzdCAteiBjcHl0aG9uLTM1CisgdGVzdCBj cHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4KKyBhbV9weWNfZGlyPS4KKyBhbV9weWNf YmFzZT1mb28ucHlvCisgYW1fcHljX2V4dD1weW8KKyBhbV9weWNfYmFzZT1mb28KKyBhbV9weWNf ZmlsZT0uL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5bworIHRlc3Qgbm8gPSBubworIGFt X3RhcmdldF9weV9maWxlPS4vX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHlvCisgdGVzdCAt ZiAuL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5bworIGFtX2V4aXRfdHJhcCAxCisgZXhp dF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL210aGwvc3JjL2F1dG9tYWtlCisgdGVzdCBu b25lID0gdGFwCisgY2FzZSAkYW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0ZXN0IDEgLWVxIDAKKyBr ZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3Rk aXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKRkFJTCB0L3B5LWNvbXBpbGUtYmFzaWMuc2ggKGV4 aXQgc3RhdHVzOiAxKQoKRkFJTDogdC9weS1jb21waWxlLWJhc2VkaXIKPT09PT09PT09PT09PT09 PT09PT09PT09PT0KCnB5LWNvbXBpbGUtYmFzZWRpcjogcnVubmluZyBweXRob24gLVYKUHl0aG9u IDMuNS4zClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUK UEFUSCA9IC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2JpbjovaG9tZS9tdGhsL3NyYy9hdXRvbWFr ZS90L2F4Oi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmls ZS9iaW46L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxl L3NiaW46L2hvbWUvbXRobC8ubG9jYWwvYmluOi9ob21lL210aGwvLmd1aXgtcHJvZmlsZS9iaW46 L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL3NiaW46L3J1bi9zZXR1aWQtcHJvZ3JhbXM6L3J1bi9j dXJyZW50LXN5c3RlbS9wcm9maWxlL2JpbjovcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvc2Jp bgorKyBwd2QKL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weS1jb21waWxlLWJhc2VkaXIuZGly CisgbWtkaXIgc2FuZGJveAorIGNkIHNhbmRib3gKKyBjcCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFr ZS9saWIvcHktY29tcGlsZSAuCisgZj1fX2luaXRfXworKyBwd2QKKyBmb3IgZCBpbiBmb28gZm9v L2JhciAiJChwd2QpL2ZvbyIgLiAuLiAuLi9mb28gJycKKyB0ZXN0IC16IGZvbworIGQyPWZvbwor IC4uL2luc3RhbGwtc2ggLWQgZm9vIGZvby9zdWIKKyA6CisgOgorIC4vcHktY29tcGlsZSAtLWJh c2VkaXIgZm9vIF9faW5pdF9fLnB5IHN1Yi9fX2luaXRfXy5weQpCeXRlLWNvbXBpbGluZyBweXRo b24gbW9kdWxlcy4uLgpfX2luaXRfXy5weXN1Yi9fX2luaXRfXy5weQpCeXRlLWNvbXBpbGluZyBw eXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25zKSAuLi4KX19pbml0X18ucHlzdWIvX19p bml0X18ucHkKKyBmaW5kIGZvbwpmb28KZm9vL3N1Ygpmb28vc3ViL19faW5pdF9fLnB5CmZvby9z dWIvX19weWNhY2hlX18KZm9vL3N1Yi9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1Lm9w dC0xLnB5Ywpmb28vc3ViL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzUucHljCmZvby9f X2luaXRfXy5weQpmb28vX19weWNhY2hlX18KZm9vL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRo b24tMzUub3B0LTEucHljCmZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5Ywor IHB5X2luc3RhbGxlZCBmb28vX19pbml0X18ucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3Rf cHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGZvby9fX2luaXRf Xy5weWMKKyBjYXNlICQjLCQxIGluCisgYW1fcHljX3ByaW50PW5vCisgcHl0aG9uX2hhc19wZXAz MTQ3CisgdGVzdCAteiAnJworKyBweXRob24gLWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRf dGFnKCkpJworIGFtX3BlcDMxNDdfdGFnPWNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9 JyBub25lCisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9Zm9vCisgYW1fcHljX2Jhc2U9X19pbml0 X18ucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNfYmFzZT1fX2luaXRfXworIGFtX3B5Y19m aWxlPWZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5YworIHRlc3Qgbm8gPSBu bworIGFtX3RhcmdldF9weV9maWxlPWZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1 LnB5YworIHRlc3QgLWYgZm9vL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzUucHljCisg cHlfaW5zdGFsbGVkIGZvby9fX2luaXRfXy5weW8KKyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9w eV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNfbG9jYXRpb24gZm9vL19faW5pdF9f LnB5bworIGNhc2UgJCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMx NDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2Fz ZSAkMSBpbgorIGFtX3B5Y19kaXI9Zm9vCisgYW1fcHljX2Jhc2U9X19pbml0X18ucHlvCisgYW1f cHljX2V4dD1weW8KKyBhbV9weWNfYmFzZT1fX2luaXRfXworIGFtX3B5Y19maWxlPWZvby9fX3B5 Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5bworIHRlc3Qgbm8gPSBubworIGFtX3Rhcmdl dF9weV9maWxlPWZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5bworIHRlc3Qg LWYgZm9vL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzUucHlvCisgYW1fZXhpdF90cmFw IDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvbXRobC9zcmMvYXV0b21ha2UK KyB0ZXN0IG5vbmUgPSB0YXAKKyBjYXNlICRhbV9leHBsaWNpdF9za2lwcyBpbgorIHRlc3QgMSAt ZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtl ZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreApGQUlMIHQvcHktY29tcGlsZS1iYXNl ZGlyLnNoIChleGl0IHN0YXR1czogMSkKCkZBSUw6IHQvcHktY29tcGlsZS1kZXN0ZGlyCj09PT09 PT09PT09PT09PT09PT09PT09PT09CgpweS1jb21waWxlLWRlc3RkaXI6IHJ1bm5pbmcgcHl0aG9u IC1WClB5dGhvbiAzLjUuMwpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3Rv Y29sOiBub25lClBBVEggPSAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS9iaW46L2hvbWUvbXRobC9z cmMvYXV0b21ha2UvdC9heDovZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6Mzhi aTFyLXByb2ZpbGUvYmluOi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJp MXItcHJvZmlsZS9zYmluOi9ob21lL210aGwvLmxvY2FsL2JpbjovaG9tZS9tdGhsLy5ndWl4LXBy b2ZpbGUvYmluOi9ob21lL210aGwvLmd1aXgtcHJvZmlsZS9zYmluOi9ydW4vc2V0dWlkLXByb2dy YW1zOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9iaW46L3J1bi9jdXJyZW50LXN5c3RlbS9w cm9maWxlL3NiaW4KKysgcHdkCi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHktY29tcGlsZS1k ZXN0ZGlyLmRpcgorIGNwIC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2xpYi9weS1jb21waWxlIC4K KyBkZXN0ZGlyPVRoZURlc3REaXIKKyBta2RpciBzdWIgVGhlRGVzdERpciBUaGVEZXN0RGlyL3N1 YgorIGVjaG8gJ2RlZiBmb28gKCk6IHJldHVybiAiZm9vIicKKyBlY2hvICdkZWYgYmFyICgpOiBy ZXR1cm4gImJhciInCisgLi9weS1jb21waWxlIC0tZGVzdGRpciBUaGVEZXN0RGlyIGZvby5weSBz dWIvYmFyLnB5CkJ5dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVzLi4uCmZvby5weXN1Yi9iYXIu cHkKQnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4u CmZvby5weXN1Yi9iYXIucHkKKyBmaW5kIFRoZURlc3REaXIKVGhlRGVzdERpcgpUaGVEZXN0RGly L3N1YgpUaGVEZXN0RGlyL3N1Yi9iYXIucHkKVGhlRGVzdERpci9zdWIvX19weWNhY2hlX18KVGhl RGVzdERpci9zdWIvX19weWNhY2hlX18vYmFyLmNweXRob24tMzUucHljClRoZURlc3REaXIvc3Vi L19fcHljYWNoZV9fL2Jhci5jcHl0aG9uLTM1Lm9wdC0xLnB5YwpUaGVEZXN0RGlyL2Zvby5weQpU aGVEZXN0RGlyL19fcHljYWNoZV9fClRoZURlc3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24t MzUub3B0LTEucHljClRoZURlc3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHljCisg c3Q9MAorIGZvciB4IGluIGMgbworIGZvciBiIGluIGZvbyBzdWIvYmFyCisrIHB5Y19sb2NhdGlv biAtcCBUaGVEZXN0RGlyL2Zvby5weWMKKysgY2FzZSAkIywkMSBpbgorKyBhbV9weWNfcHJpbnQ9 eWVzCisrIHNoaWZ0CisrIHB5dGhvbl9oYXNfcGVwMzE0NworKyB0ZXN0IC16ICcnCisrKyBweXRo b24gLWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworKyBhbV9wZXAzMTQ3X3Rh Zz1jcHl0aG9uLTM1CisrIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKysgY2FzZSAkMSBpbgor KyBhbV9weWNfZGlyPVRoZURlc3REaXIKKysgYW1fcHljX2Jhc2U9Zm9vLnB5YworKyBhbV9weWNf ZXh0PXB5YworKyBhbV9weWNfYmFzZT1mb28KKysgYW1fcHljX2ZpbGU9VGhlRGVzdERpci9fX3B5 Y2FjaGVfXy9mb28uY3B5dGhvbi0zNS5weWMKKysgdGVzdCB5ZXMgPSBubworKyBwcmludGYgJyVz XG4nIFRoZURlc3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHljCisgZj1UaGVEZXN0 RGlyL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgVGhlRGVzdERpci9f X3B5Y2FjaGVfXy9mb28uY3B5dGhvbi0zNS5weWMKKyBzdHJpbmdzIFRoZURlc3REaXIvX19weWNh Y2hlX18vZm9vLmNweXRob24tMzUucHljCmZvby5weXIKPG1vZHVsZT4KKyAvZ251L3N0b3JlL2Ew OGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2dyZXAgLUYgVGhlRGVz dERpciBUaGVEZXN0RGlyL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIGZvciBiIGlu IGZvbyBzdWIvYmFyCisrIHB5Y19sb2NhdGlvbiAtcCBUaGVEZXN0RGlyL3N1Yi9iYXIucHljCisr IGNhc2UgJCMsJDEgaW4KKysgYW1fcHljX3ByaW50PXllcworKyBzaGlmdAorKyBweXRob25faGFz X3BlcDMxNDcKKysgdGVzdCAteiAnJworKysgcHl0aG9uIC1jICdpbXBvcnQgaW1wOyBwcmludChp bXAuZ2V0X3RhZygpKScKKysgYW1fcGVwMzE0N190YWc9Y3B5dGhvbi0zNQorKyB0ZXN0IGNweXRo b24tMzUgJyE9JyBub25lCisrIGNhc2UgJDEgaW4KKysgYW1fcHljX2Rpcj1UaGVEZXN0RGlyL3N1 YgorKyBhbV9weWNfYmFzZT1iYXIucHljCisrIGFtX3B5Y19leHQ9cHljCisrIGFtX3B5Y19iYXNl PWJhcgorKyBhbV9weWNfZmlsZT1UaGVEZXN0RGlyL3N1Yi9fX3B5Y2FjaGVfXy9iYXIuY3B5dGhv bi0zNS5weWMKKysgdGVzdCB5ZXMgPSBubworKyBwcmludGYgJyVzXG4nIFRoZURlc3REaXIvc3Vi L19fcHljYWNoZV9fL2Jhci5jcHl0aG9uLTM1LnB5YworIGY9VGhlRGVzdERpci9zdWIvX19weWNh Y2hlX18vYmFyLmNweXRob24tMzUucHljCisgdGVzdCAtZiBUaGVEZXN0RGlyL3N1Yi9fX3B5Y2Fj aGVfXy9iYXIuY3B5dGhvbi0zNS5weWMKKyBzdHJpbmdzIFRoZURlc3REaXIvc3ViL19fcHljYWNo ZV9fL2Jhci5jcHl0aG9uLTM1LnB5YwpzdWIvYmFyLnB5cgo8bW9kdWxlPgorIC9nbnUvc3RvcmUv YTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vZ3JlcCAtRiBUaGVE ZXN0RGlyIFRoZURlc3REaXIvc3ViL19fcHljYWNoZV9fL2Jhci5jcHl0aG9uLTM1LnB5YworIGZv ciB4IGluIGMgbworIGZvciBiIGluIGZvbyBzdWIvYmFyCisrIHB5Y19sb2NhdGlvbiAtcCBUaGVE ZXN0RGlyL2Zvby5weW8KKysgY2FzZSAkIywkMSBpbgorKyBhbV9weWNfcHJpbnQ9eWVzCisrIHNo aWZ0CisrIHB5dGhvbl9oYXNfcGVwMzE0NworKyB0ZXN0IC16ICcnCisrKyBweXRob24gLWMgJ2lt cG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworKyBhbV9wZXAzMTQ3X3RhZz1jcHl0aG9u LTM1CisrIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKysgY2FzZSAkMSBpbgorKyBhbV9weWNf ZGlyPVRoZURlc3REaXIKKysgYW1fcHljX2Jhc2U9Zm9vLnB5bworKyBhbV9weWNfZXh0PXB5bwor KyBhbV9weWNfYmFzZT1mb28KKysgYW1fcHljX2ZpbGU9VGhlRGVzdERpci9fX3B5Y2FjaGVfXy9m b28uY3B5dGhvbi0zNS5weW8KKysgdGVzdCB5ZXMgPSBubworKyBwcmludGYgJyVzXG4nIFRoZURl c3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHlvCisgZj1UaGVEZXN0RGlyL19fcHlj YWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5bworIHRlc3QgLWYgVGhlRGVzdERpci9fX3B5Y2FjaGVf Xy9mb28uY3B5dGhvbi0zNS5weW8KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBz ZXQgK2UKKyBjZCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZQorIHRlc3Qgbm9uZSA9IHRhcAorIGNh c2UgJGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15 ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVy biAwCisgc2V0ICt4CkZBSUwgdC9weS1jb21waWxlLWRlc3RkaXIuc2ggKGV4aXQgc3RhdHVzOiAx KQoKRkFJTDogdC9weS1jb21waWxlLW9wdGlvbi10ZXJtaW5hdGUKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KCnB5LWNvbXBpbGUtb3B0aW9uLXRlcm1pbmF0ZTogcnVubmluZyBw eXRob24gLVYKUHl0aG9uIDMuNS4zClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3Qg UHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2JpbjovaG9tZS9t dGhsL3NyYy9hdXRvbWFrZS90L2F4Oi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2Fx eHozOGJpMXItcHJvZmlsZS9iaW46L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4 ejM4Ymkxci1wcm9maWxlL3NiaW46L2hvbWUvbXRobC8ubG9jYWwvYmluOi9ob21lL210aGwvLmd1 aXgtcHJvZmlsZS9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL3NiaW46L3J1bi9zZXR1aWQt cHJvZ3JhbXM6L3J1bi9jdXJyZW50LXN5c3RlbS9wcm9maWxlL2JpbjovcnVuL2N1cnJlbnQtc3lz dGVtL3Byb2ZpbGUvc2JpbgorKyBwd2QKL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weS1jb21w aWxlLW9wdGlvbi10ZXJtaW5hdGUuZGlyCisgY3AgL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvbGli L3B5LWNvbXBpbGUgLgorIDoKKyA6CisgLi9weS1jb21waWxlIC0tIC1vLnB5IC0tZm9vLnB5CkJ5 dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVzLi4uCi1vLnB5LS1mb28ucHkKQnl0ZS1jb21waWxp bmcgcHl0aG9uIG1vZHVsZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4uCi1vLnB5LS1mb28ucHkK KyBweV9pbnN0YWxsZWQgLi8tby5weWMKKyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxl PSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNfbG9jYXRpb24gLi8tby5weWMKKyBjYXNlICQj LCQxIGluCisgYW1fcHljX3ByaW50PW5vCisgcHl0aG9uX2hhc19wZXAzMTQ3CisgdGVzdCAteiAn JworKyBweXRob24gLWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworIGFtX3Bl cDMxNDdfdGFnPWNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2FzZSAk MSBpbgorIGFtX3B5Y19kaXI9LgorIGFtX3B5Y19iYXNlPS1vLnB5YworIGFtX3B5Y19leHQ9cHlj CisgYW1fcHljX2Jhc2U9LW8KKyBhbV9weWNfZmlsZT0uL19fcHljYWNoZV9fLy1vLmNweXRob24t MzUucHljCisgdGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9Li9fX3B5Y2FjaGVfXy8t by5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgLi9fX3B5Y2FjaGVfXy8tby5jcHl0aG9uLTM1LnB5 YworIHB5X2luc3RhbGxlZCAuLy1vLnB5bworIGNhc2UgJCMsJDEgaW4KKyBhbV90ZXN0X3B5X2Zp bGU9J3Rlc3QgLWYnCisgY2FzZSAkMSBpbgorIHB5Y19sb2NhdGlvbiAuLy1vLnB5bworIGNhc2Ug JCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16 IGNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2FzZSAkMSBpbgorIGFt X3B5Y19kaXI9LgorIGFtX3B5Y19iYXNlPS1vLnB5bworIGFtX3B5Y19leHQ9cHlvCisgYW1fcHlj X2Jhc2U9LW8KKyBhbV9weWNfZmlsZT0uL19fcHljYWNoZV9fLy1vLmNweXRob24tMzUucHlvCisg dGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9Li9fX3B5Y2FjaGVfXy8tby5jcHl0aG9u LTM1LnB5bworIHRlc3QgLWYgLi9fX3B5Y2FjaGVfXy8tby5jcHl0aG9uLTM1LnB5bworIGFtX2V4 aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL210aGwvc3JjL2F1 dG9tYWtlCisgdGVzdCBub25lID0gdGFwCisgY2FzZSAkYW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0 ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBj YXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKRkFJTCB0L3B5LWNvbXBp bGUtb3B0aW9uLXRlcm1pbmF0ZS5zaCAoZXhpdCBzdGF0dXM6IDEpCgpGQUlMOiB0L3B5dGhvbjMK PT09PT09PT09PT09PT09CgpweXRob24zOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRob24gMy41LjMK UnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0g L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvYXg6 L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbjov Z251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvc2Jpbjov aG9tZS9tdGhsLy5sb2NhbC9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2JpbjovaG9tZS9t dGhsLy5ndWl4LXByb2ZpbGUvc2JpbjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVuL2N1cnJlbnQt c3lzdGVtL3Byb2ZpbGUvYmluOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9zYmluCisrIHB3 ZAovaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjMuZGlyCisgY2F0CisgY2F0CisgYWNs b2NhbC0xLjE1YSAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE1YSAtLWZvcmVpZ24g LVdlcnJvciAtV2FsbCAtLWFkZC1taXNzaW5nCk1ha2VmaWxlLmFtOjI6IGluc3RhbGxpbmcgJy4v cHktY29tcGlsZScKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisrIHB3ZAorIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeD0vaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjMuZGlyL2J1aWxkL2lu c3QKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvZ251L3N0b3JlL2Ew OGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwgLWMKY2hl Y2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1h cG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u IGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZv ciBweXRob24uLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1w cm9maWxlL2Jpbi9weXRob24KY2hlY2tpbmcgZm9yIHB5dGhvbiB2ZXJzaW9uLi4uIDMuNQpjaGVj a2luZyBmb3IgcHl0aG9uIHBsYXRmb3JtLi4uIGxpbnV4CmNoZWNraW5nIGZvciBweXRob24gc2Ny aXB0IGRpcmVjdG9yeS4uLiAke3ByZWZpeH0vbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzCmNo ZWNraW5nIGZvciBweXRob24gZXh0ZW5zaW9uIG1vZHVsZSBkaXJlY3RvcnkuLi4gJHtleGVjX3By ZWZpeH0vbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFr ZSBpbnN0YWxsCm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hv bWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24zLmRpci9idWlsZMKgwrsKbWFrZVsxXTogcmll biDDoCBmYWlyZSBwb3VyIMKrwqBpbnN0YWxsLWV4ZWMtYW3CoMK7LgplY2hvICdkZWYgb25lKCk6 IHJldHVybiAxJyA+b25lLnB5CiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6 MzhiaTFyLXByb2ZpbGUvYmluL21rZGlyIC1wICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5 dGhvbjMuZGlyL2J1aWxkL2luc3QvbXknCiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5k cHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwgLWMgLW0gNjQ0IG9uZS5weSAnL2hvbWUv bXRobC9zcmMvYXV0b21ha2UvdC9weXRob24zLmRpci9idWlsZC9pbnN0L215JwpCeXRlLWNvbXBp bGluZyBweXRob24gbW9kdWxlcy4uLgpvbmUucHkKQnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVs ZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4uCm9uZS5weQptYWtlWzFdwqA6IG9uIHF1aXR0ZSBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24zLmRpci9i dWlsZMKgwrsKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9vbmUucHkKKyBjYXNlICQjLCQxIGluCisg YW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBhbV90YXJnZXRfcHlfZmls ZT1pbnN0L215L29uZS5weQorIHRlc3QgLWYgaW5zdC9teS9vbmUucHkKKyBweV9pbnN0YWxsZWQg aW5zdC9teS9vbmUucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAt ZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGluc3QvbXkvb25lLnB5YworIGNhc2UgJCMs JDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16ICcn CisrIHB5dGhvbiAtYyAnaW1wb3J0IGltcDsgcHJpbnQoaW1wLmdldF90YWcoKSknCisgYW1fcGVw MzE0N190YWc9Y3B5dGhvbi0zNQorIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKyBjYXNlICQx IGluCisgYW1fcHljX2Rpcj1pbnN0L215CisgYW1fcHljX2Jhc2U9b25lLnB5YworIGFtX3B5Y19l eHQ9cHljCisgYW1fcHljX2Jhc2U9b25lCisgYW1fcHljX2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVf Xy9vbmUuY3B5dGhvbi0zNS5weWMKKyB0ZXN0IG5vID0gbm8KKyBhbV90YXJnZXRfcHlfZmlsZT1p bnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgaW5zdC9teS9f X3B5Y2FjaGVfXy9vbmUuY3B5dGhvbi0zNS5weWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9vbmUu cHlvCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQx IGluCisgcHljX2xvY2F0aW9uIGluc3QvbXkvb25lLnB5bworIGNhc2UgJCMsJDEgaW4KKyBhbV9w eWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0 ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9aW5zdC9t eQorIGFtX3B5Y19iYXNlPW9uZS5weW8KKyBhbV9weWNfZXh0PXB5bworIGFtX3B5Y19iYXNlPW9u ZQorIGFtX3B5Y19maWxlPWluc3QvbXkvX19weWNhY2hlX18vb25lLmNweXRob24tMzUucHlvCisg dGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy9vbmUu Y3B5dGhvbi0zNS5weW8KKyB0ZXN0IC1mIGluc3QvbXkvX19weWNhY2hlX18vb25lLmNweXRob24t MzUucHlvCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hv bWUvbXRobC9zcmMvYXV0b21ha2UKKyB0ZXN0IG5vbmUgPSB0YXAKKyBjYXNlICRhbV9leHBsaWNp dF9za2lwcyBpbgorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreApG QUlMIHQvcHl0aG9uMy5zaCAoZXhpdCBzdGF0dXM6IDEpCgpGQUlMOiB0L3B5dGhvbjEwCj09PT09 PT09PT09PT09PT0KCnB5dGhvbjEwOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRob24gMy41LjMKUnVu bmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hv bWUvbXRobC9zcmMvYXV0b21ha2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvYXg6L2du dS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2JpbjovZ251 L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvc2JpbjovaG9t ZS9tdGhsLy5sb2NhbC9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2JpbjovaG9tZS9tdGhs Ly5ndWl4LXByb2ZpbGUvc2JpbjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVuL2N1cnJlbnQtc3lz dGVtL3Byb2ZpbGUvYmluOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9zYmluCisrIHB3ZAov aG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEwLmRpcgorIGNhdAorIGNhdAorIGFjbG9j YWwtMS4xNWEgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNWEgLS1mb3JlaWduIC1X ZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZwpNYWtlZmlsZS5hbTozOiBpbnN0YWxsaW5nICcuL3B5 LWNvbXBpbGUnCisgaW5zdD1pbnN0XworIG1rZGlyIGluc3RfIGJ1aWxkXworIGNkIGJ1aWxkXwor KyBwd2QKKyBjd2Q9L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMC5kaXIvYnVpbGRf CisgLi4vY29uZmlndXJlIC0tcHJlZml4PS9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9u MTAuZGlyL2J1aWxkXy9pbnN0XyBvbmU9MApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsLi4uIC9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJv ZmlsZS9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9nbnUv c3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlh Ymxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIHB5dGhvbi4uLiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3 MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL3B5dGhvbgpjaGVja2luZyBmb3IgcHl0 aG9uIHZlcnNpb24uLi4gMy41CmNoZWNraW5nIGZvciBweXRob24gcGxhdGZvcm0uLi4gbGludXgK Y2hlY2tpbmcgZm9yIHB5dGhvbiBzY3JpcHQgZGlyZWN0b3J5Li4uICR7cHJlZml4fS9saWIvcHl0 aG9uMy41L3NpdGUtcGFja2FnZXMKY2hlY2tpbmcgZm9yIHB5dGhvbiBleHRlbnNpb24gbW9kdWxl IGRpcmVjdG9yeS4uLiAke2V4ZWNfcHJlZml4fS9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMK Y2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGluc3RhbGwKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5z IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEwLmRp ci9idWlsZF/CoMK7Cm1ha2VbMV06IHJpZW4gw6AgZmFpcmUgcG91ciDCq8KgaW5zdGFsbC1leGVj LWFtwqDCuy4KZWNobyAnZGVmIHR3bygpOiByZXR1cm4gMScgPnR3by5weQogL2dudS9zdG9yZS9h MDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9ta2RpciAtcCAnL2hv bWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMC5kaXIvYnVpbGRfL2luc3RfL3lvdXInCiAv Z251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IHR3by5weSAnL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24x MC5kaXIvYnVpbGRfL2luc3RfL3lvdXInCkJ5dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVzLi4u CnR3by5weQpCeXRlLWNvbXBpbGluZyBweXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25z KSAuLi4KdHdvLnB5Cm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9t ZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEwLmRpci9idWlsZF/CoMK7CisgdGVzdCAtZiBp bnN0Xy95b3VyL3R3by5weQorIHB5X2luc3RhbGxlZCBpbnN0Xy95b3VyL3R3by5weWMKKyBjYXNl ICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNf bG9jYXRpb24gaW5zdF8veW91ci90d28ucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3B5Y19wcmlu dD1ubworIHB5dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogJycKKysgcHl0aG9uIC1jICdpbXBv cnQgaW1wOyBwcmludChpbXAuZ2V0X3RhZygpKScKKyBhbV9wZXAzMTQ3X3RhZz1jcHl0aG9uLTM1 CisgdGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4KKyBhbV9weWNfZGlyPWlu c3RfL3lvdXIKKyBhbV9weWNfYmFzZT10d28ucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNf YmFzZT10d28KKyBhbV9weWNfZmlsZT1pbnN0Xy95b3VyL19fcHljYWNoZV9fL3R3by5jcHl0aG9u LTM1LnB5YworIHRlc3Qgbm8gPSBubworIGFtX3RhcmdldF9weV9maWxlPWluc3RfL3lvdXIvX19w eWNhY2hlX18vdHdvLmNweXRob24tMzUucHljCisgdGVzdCAtZiBpbnN0Xy95b3VyL19fcHljYWNo ZV9fL3R3by5jcHl0aG9uLTM1LnB5YworIHB5X2luc3RhbGxlZCBpbnN0Xy95b3VyL3R3by5weW8K KyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4K KyBweWNfbG9jYXRpb24gaW5zdF8veW91ci90d28ucHlvCisgY2FzZSAkIywkMSBpbgorIGFtX3B5 Y19wcmludD1ubworIHB5dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogY3B5dGhvbi0zNQorIHRl c3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKyBjYXNlICQxIGluCisgYW1fcHljX2Rpcj1pbnN0Xy95 b3VyCisgYW1fcHljX2Jhc2U9dHdvLnB5bworIGFtX3B5Y19leHQ9cHlvCisgYW1fcHljX2Jhc2U9 dHdvCisgYW1fcHljX2ZpbGU9aW5zdF8veW91ci9fX3B5Y2FjaGVfXy90d28uY3B5dGhvbi0zNS5w eW8KKyB0ZXN0IG5vID0gbm8KKyBhbV90YXJnZXRfcHlfZmlsZT1pbnN0Xy95b3VyL19fcHljYWNo ZV9fL3R3by5jcHl0aG9uLTM1LnB5bworIHRlc3QgLWYgaW5zdF8veW91ci9fX3B5Y2FjaGVfXy90 d28uY3B5dGhvbi0zNS5weW8KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQg K2UKKyBjZCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZQorIHRlc3Qgbm9uZSA9IHRhcAorIGNhc2Ug JGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMK KyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAw Cisgc2V0ICt4CkZBSUwgdC9weXRob24xMC5zaCAoZXhpdCBzdGF0dXM6IDEpCgpGQUlMOiB0L3B5 dGhvbjEyCj09PT09PT09PT09PT09PT0KCnB5dGhvbjEyOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRo b24gMy41LjMKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9u ZQpQQVRIID0gL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9t YWtlL3QvYXg6L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9m aWxlL2JpbjovZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2Zp bGUvc2JpbjovaG9tZS9tdGhsLy5sb2NhbC9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2Jp bjovaG9tZS9tdGhsLy5ndWl4LXByb2ZpbGUvc2JpbjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVu L2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvYmluOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9z YmluCisrIHB3ZAovaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpcgorIGNhdAor IGNhdAorIGFjbG9jYWwtMS4xNWEgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNWEg LS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZwpNYWtlZmlsZS5hbToyOiBpbnN0 YWxsaW5nICcuL3B5LWNvbXBpbGUnCisrIHB3ZAorIGRlc3RkaXI9L2hvbWUvbXRobC9zcmMvYXV0 b21ha2UvdC9weXRob24xMi5kaXIvaW5zdAorIG1rZGlyIGluc3QgYnVpbGQKKyBjZCBidWlsZAor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1w cm9maWxlL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg aXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2du dS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgcHl0aG9uLi4uIC9nbnUvc3RvcmUvYTA4ZzBmOTVh aXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vcHl0aG9uCmNoZWNraW5nIGZvciBw eXRob24gdmVyc2lvbi4uLiAzLjUKY2hlY2tpbmcgZm9yIHB5dGhvbiBwbGF0Zm9ybS4uLiBsaW51 eApjaGVja2luZyBmb3IgcHl0aG9uIHNjcmlwdCBkaXJlY3RvcnkuLi4gJHtwcmVmaXh9L2xpYi9w eXRob24zLjUvc2l0ZS1wYWNrYWdlcwpjaGVja2luZyBmb3IgcHl0aG9uIGV4dGVuc2lvbiBtb2R1 bGUgZGlyZWN0b3J5Li4uICR7ZXhlY19wcmVmaXh9L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl cwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQorIG1ha2UgaW5zdGFsbCBERVNURElSPS9ob21lL210aGwvc3Jj L2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9i dWlsZMKgwrsKbWFrZVsxXTogcmllbiDDoCBmYWlyZSBwb3VyIMKrwqBpbnN0YWxsLWV4ZWMtYW3C oMK7LgplY2hvICdkZWYgbXkoKTogcmV0dXJuIDEnID5teS5weQogL2dudS9zdG9yZS9hMDhnMGY5 NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9ta2RpciAtcCAnL2hvbWUvbXRo bC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdC91c3Ivc2hhcmUvbXknCiAvZ251L3N0 b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwg LWMgLW0gNjQ0IG15LnB5ICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9p bnN0L3Vzci9zaGFyZS9teScKQnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMuLi4KbXkucHkK Qnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4uCm15 LnB5Cm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9tdGhsL3Ny Yy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9idWlsZMKgwrsKKyB0ZXN0IC1mIC9ob21lL210aGwv c3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNyL3NoYXJlL215L215LnB5CisrIHB5 Y19sb2NhdGlvbiAtcCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9pbnN0 L3Vzci9zaGFyZS9teS9teS5weW8KKysgY2FzZSAkIywkMSBpbgorKyBhbV9weWNfcHJpbnQ9eWVz CisrIHNoaWZ0CisrIHB5dGhvbl9oYXNfcGVwMzE0NworKyB0ZXN0IC16ICcnCisrKyBweXRob24g LWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworKyBhbV9wZXAzMTQ3X3RhZz1j cHl0aG9uLTM1CisrIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKysgY2FzZSAkMSBpbgorKyBh bV9weWNfZGlyPS9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNy L3NoYXJlL215CisrIGFtX3B5Y19iYXNlPW15LnB5bworKyBhbV9weWNfZXh0PXB5bworKyBhbV9w eWNfYmFzZT1teQorKyBhbV9weWNfZmlsZT0vaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhv bjEyLmRpci9pbnN0L3Vzci9zaGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5bwor KyB0ZXN0IHllcyA9IG5vCisrIHByaW50ZiAnJXNcbicgL2hvbWUvbXRobC9zcmMvYXV0b21ha2Uv dC9weXRob24xMi5kaXIvaW5zdC91c3Ivc2hhcmUvbXkvX19weWNhY2hlX18vbXkuY3B5dGhvbi0z NS5weW8KKyBweW89L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdC91 c3Ivc2hhcmUvbXkvX19weWNhY2hlX18vbXkuY3B5dGhvbi0zNS5weW8KKysgcHljX2xvY2F0aW9u IC1wIC9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNyL3NoYXJl L215L215LnB5YworKyBjYXNlICQjLCQxIGluCisrIGFtX3B5Y19wcmludD15ZXMKKysgc2hpZnQK KysgcHl0aG9uX2hhc19wZXAzMTQ3CisrIHRlc3QgLXogJycKKysrIHB5dGhvbiAtYyAnaW1wb3J0 IGltcDsgcHJpbnQoaW1wLmdldF90YWcoKSknCisrIGFtX3BlcDMxNDdfdGFnPWNweXRob24tMzUK KysgdGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorKyBjYXNlICQxIGluCisrIGFtX3B5Y19kaXI9 L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdC91c3Ivc2hhcmUvbXkK KysgYW1fcHljX2Jhc2U9bXkucHljCisrIGFtX3B5Y19leHQ9cHljCisrIGFtX3B5Y19iYXNlPW15 CisrIGFtX3B5Y19maWxlPS9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2lu c3QvdXNyL3NoYXJlL215L19fcHljYWNoZV9fL215LmNweXRob24tMzUucHljCisrIHRlc3QgeWVz ID0gbm8KKysgcHJpbnRmICclc1xuJyAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEy LmRpci9pbnN0L3Vzci9zaGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5YworIHB5 Yz0vaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9pbnN0L3Vzci9zaGFyZS9t eS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5YworIHN0PTAKKyAvZ251L3N0b3JlL2EwOGcw Zjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2dyZXAgLUYgL2hvbWUvbXRo bC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFr ZS90L3B5dGhvbjEyLmRpci9pbnN0L3Vzci9zaGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9u LTM1LnB5YyAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9pbnN0L3Vzci9z aGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5bwovZ251L3N0b3JlL2EwOGcwZjk1 YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2dyZXA6IC9ob21lL210aGwvc3Jj L2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNyL3NoYXJlL215L19fcHljYWNoZV9fL215 LmNweXRob24tMzUucHlvOiBBdWN1biBmaWNoaWVyIG91IGRvc3NpZXIgZGUgY2UgdHlwZQorIHN0 PTIKKyB0ZXN0IDIgLWVxIDEKKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQg K2UKKyBjZCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZQorIHRlc3Qgbm9uZSA9IHRhcAorIGNhc2Ug JGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMK KyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAw Cisgc2V0ICt4CkZBSUwgdC9weXRob24xMi5zaCAoZXhpdCBzdGF0dXM6IDEpCgo= --=-=-= Content-Type: text/plain [1] https://www.python.org/dev/peps/pep-0394/ -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 07 22:48:11 2022 Received: (at control) by debbugs.gnu.org; 8 Feb 2022 03:48:11 +0000 Received: from localhost ([127.0.0.1]:44576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nHHUB-0005Sl-CR for submit@debbugs.gnu.org; Mon, 07 Feb 2022 22:48:11 -0500 Received: from woodpecker.gentoo.org ([140.211.166.183]:43016 helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nHHU9-0005SJ-GW for control@debbugs.gnu.org; Mon, 07 Feb 2022 22:48:09 -0500 Received: by smtp.gentoo.org (Postfix, from userid 559) id BCE64342D3A; Tue, 8 Feb 2022 03:48:03 +0000 (UTC) From: Mike Frysinger To: control@debbugs.gnu.org Subject: Control message Message-Id: <20220208034803.BCE64342D3A@smtp.gentoo.org> Date: Tue, 8 Feb 2022 03:48:03 +0000 (UTC) X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) severity 30556 wishlist tag 30556 = confirmed thankyou From unknown Sun Jun 22 17:17:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30556: [PATCH] Python tests should run with multiple python versions References: <874lmbv1jh.fsf@gnu.org> In-Reply-To: <874lmbv1jh.fsf@gnu.org> Resent-From: Bogdan Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Sun, 26 Mar 2023 11:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30556 X-GNU-PR-Package: automake X-GNU-PR-Keywords: confirmed To: automake-patches@gnu.org, 30556@debbugs.gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167982973511428 (code B ref -1); Sun, 26 Mar 2023 11:23:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Mar 2023 11:22:15 +0000 Received: from localhost ([127.0.0.1]:44150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgORz-0002yG-4k for submit@debbugs.gnu.org; Sun, 26 Mar 2023 07:22:15 -0400 Received: from lists.gnu.org ([209.51.188.17]:49476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgORx-0002y4-74 for submit@debbugs.gnu.org; Sun, 26 Mar 2023 07:22:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgORw-0002ub-LX for automake-patches@gnu.org; Sun, 26 Mar 2023 07:22:12 -0400 Received: from mout.gmx.net ([212.227.15.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgORu-0004nb-AB for automake-patches@gnu.org; Sun, 26 Mar 2023 07:22:12 -0400 Received: from [192.168.1.226] ([90.227.12.124]) by mail.gmx.net (mrgmx004 [212.227.17.184]) with ESMTPSA (Nemesis) id 1Mlw7V-1q7iaT1qBn-00j3Ou; Sun, 26 Mar 2023 13:21:50 +0200 Content-Type: multipart/mixed; boundary="------------mBwnwsVsOXHBl14zvl6P5J33" Message-ID: Date: Sun, 26 Mar 2023 13:21:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 From: Bogdan Content-Language: en-GB, sv-SE, pl X-Provags-ID: V03:K1:v/d2Vj5ZgzNSW9v4yjjeyRVg3Sjs1+Ews37e2WEfOVXZTckDPa1 huuouziXxmpxnmD11GoDAxkHpkfgs3+yVVDRFsMei0b1HiHcrNsgHLrdPCbfqX1IUYXvoAf kyqhvATRXmwGo5foxwqfuUhMvx/H23DKLczi6s8YtZWCV5+/ISryJVSAUs/QbvSHZ6Nr7/Q 0CNf5yy26+3sJszzpD0ng== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:rliASf3UfyQ=;e1tKVSN4W9b7hOCTNAWcnynvoz7 4/f1sQYlXYbDmIvZDlMsMiTruGeVAE06cx1KujbmLCeRCxSioE7o5h3BpjexdCJIc2exvkC3Q b7laV4OvKg5x/PsjpXJw5CTGGcPWSnUNej4ArhjIZP3apL+xnZsTy2pxDhDDvsMOl6hf9eWmW ghBdimHJK8mfSvSaLAchtpFeUITNUs3oCHIxRApuESQJvug42CeUVHCAG/B9+XJGtGT1kKmY+ btHSOjw8ZR3kv3WW4N+PoiNMV8+FC2hgK7FXGCOKthAG+WCQ5iJKB5LTvU1xaQqUYzl8Hm7gb vxYFeLhkYa4t1LyhjLn4f/WATqwrqK2PgVN4NGumHtHghuzoZASChFcul/HD+8MYlCKZFii8C uUnbJmkGKEfwY8da+jow2DHkUcEBetx074OgdS6M7kA8f4jFGfn9SkoRzBGzLHNF5EEcgNEec ryaKE7ae5P1RWRZEy1DrZAeBNJYWU3M3tGHJng5rqEPR/D5i0DWWemQKjW2zrpKEJ+0avzPPT nPv635Fi+Fvlwlwgia6n6Xlg9K6gZOPBCNYUQ0j/3zZHLNwQGpz9Zv7dfqm6DEYjFP8SYMzOV NaI24wsSC9FzOnc4ELopDsReYSGWEuw+BJssH/yunwQfPk9lfcRmuMcZz4fqxa+wPkHpQLXo9 lTlNnmVw8y7l35rwK1h5Ui1s8tt90fIzrLnMF9r3D/heue87I/9/IcbhUy8qXyKuS7EkvPKZG Ufg2eVLD1i+1wvgAlsWv///L0NLbDM0M3WCUbgFAVVVIIAHFnMPfFRdHLJ95dK9h+uM1Zk5UC W4YqRou7KqqskfvR/dDAmuKqvoJejX8x+PGliGk/Bke+Y9eS0wp4/rOqwvME4okG38ofpY+BL SUAW8QBXKT61B7PMZXKzp5FmFhjj/l0l08TfWmIlJo0Kzjqc2ETshm0B1MJSf0S4ewe8HISqZ lsTUVvI8ivQE/jXcJ/JBX79Lxvo= Received-SPF: pass client-ip=212.227.15.18; envelope-from=bogdro_rep@gmx.us; helo=mout.gmx.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) This is a multi-part message in MIME format. --------------mBwnwsVsOXHBl14zvl6P5J33 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi. I have both Python v2 and v3 installed on my system. The tests shown in the provided error log pass for me, in all cases: - no version - defaults to 3.9.8 make check TESTS='t/nobase-python.sh t/py-compile-basic.sh t/py-compile-basedir.sh t/py-compile-destdir.sh t/py-compile-option-terminate.sh t/python3.sh t/python10.sh t/python12.sh ' - explicit v2 (2.7.18): PYTHON=python2 make check TESTS='t/nobase-python.sh t/py-compile-basic.sh t/py-compile-basedir.sh t/py-compile-destdir.sh t/py-compile-option-terminate.sh t/python3.sh t/python10.sh t/python12.sh ' - explicit v3: PYTHON=python3 make check TESTS='t/nobase-python.sh t/py-compile-basic.sh t/py-compile-basedir.sh t/py-compile-destdir.sh t/py-compile-option-terminate.sh t/python3.sh t/python10.sh t/python12.sh ' I guess this got fixed in the repository since the defect was reported. Some of the tests touch the "uninstall" target and that certainly was changed. My Automake version: - branch: master - last commit ID: 0901ccdd0cb21bfa3911a2668615e388fef94426 - last commit date: Wed Mar 1 15:03:30 2023 -0800 Actually, I could fix t/python-prefix.sh to work with Python v2 and t/python-virtualenv.sh to work at all (didn't work by default for me). Patch attached. Now all tests with "py" in the name pass on my system (both with v2 and v3). I assume that Automake, 'make install' and 'make uninstall' do their job correctly (and that's most probably true) and it's just the tests that were doing wrong. -- Regards - Bogdan ('bogdro') D. (GNU/Linux & FreeDOS) X86 assembly (DOS, GNU/Linux): http://bogdro.evai.pl/index-en.php Soft(EN): http://bogdro.evai.pl/soft http://bogdro.evai.pl/soft4asm www.Xiph.org www.TorProject.org www.LibreOffice.org www.GnuPG.org --------------mBwnwsVsOXHBl14zvl6P5J33 Content-Type: text/x-patch; charset=UTF-8; name="automake-fix-python-tests-mail.diff" Content-Disposition: attachment; filename="automake-fix-python-tests-mail.diff" Content-Transfer-Encoding: base64 RnJvbSA5NmRhMjRmYmJhZjQwY2I3OTNhYzBkZWNkNGMzOThjZGI2ODNiNGUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCb2dkYW4gRHJvemRvd3NraSA8PgpEYXRlOiBTdW4s IDI2IE1hciAyMDIzIDEzOjE1OjQwICswMjAwClN1YmplY3Q6IFtQQVRDSF0gRml4IFB5dGhv biB0ZXN0cyAtIG11bHRpcGxlIHZlcnNpb25zCgotLS0KIHQvcHl0aG9uLXByZWZpeC5zaCAg ICAgfCAgNiArKysrKy0KIHQvcHl0aG9uLXZpcnR1YWxlbnYuc2ggfCAxMCArKysrKystLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvdC9weXRob24tcHJlZml4LnNoIGIvdC9weXRob24tcHJlZml4LnNoCmlu ZGV4IGRmMTVlNDMwMC4uZGFiMmU5ZmQ1IDEwMDY0NAotLS0gYS90L3B5dGhvbi1wcmVmaXgu c2gKKysrIGIvdC9weXRob24tcHJlZml4LnNoCkBAIC00Myw3ICs0MywxMSBAQCBlY2hvLXB5 dGhvbi1leGVjLXByZWZpeDoKIAlAZWNobyAkKFBZVEhPTl9FWEVDX1BSRUZJWCkKIEVORAog Ci1weV92ZXJzaW9uPSQocHl0aG9uIC1jICdpbXBvcnQgc3lzOyBwcmludCgiJXUuJXUiICUg c3lzLnZlcnNpb25faW5mb1s6Ml0pJykKK3B5X2V4ZWM9JFBZVEhPTgoraWYgdGVzdCAieCRw eV9leGVjIiA9ICJ4IjsgdGhlbgorICBweV9leGVjPXB5dGhvbgorZmkKK3B5X3ZlcnNpb249 JCgkcHlfZXhlYyAtYyAnaW1wb3J0IHN5czsgcHJpbnQoIiV1LiV1IiAlIHN5cy52ZXJzaW9u X2luZm9bOjJdKScpCiBweV9pbnN0X3NpdGU9aW5zdC9saWIvcHl0aG9uJHB5X3ZlcnNpb24v c2l0ZS1wYWNrYWdlcwogcHlfaW5zdGV4ZWNfc2l0ZT1pbnN0ZXhlYy9saWIvcHl0aG9uJHB5 X3ZlcnNpb24vc2l0ZS1wYWNrYWdlcwogCmRpZmYgLS1naXQgYS90L3B5dGhvbi12aXJ0dWFs ZW52LnNoIGIvdC9weXRob24tdmlydHVhbGVudi5zaAppbmRleCBhZTVkOTZhZDYuLmIwNjk2 NGI5MCAxMDA2NDQKLS0tIGEvdC9weXRob24tdmlydHVhbGVudi5zaAorKysgYi90L3B5dGhv bi12aXJ0dWFsZW52LnNoCkBAIC0xMDAsNiArMTAwLDggQEAgdGVzdC1ydW46CiAJcHl0aG9u IC1jICdmcm9tIGFtX2ZvbyBpbXBvcnQgZm9vX2Z1bmM7IGFzc2VydCAoZm9vX2Z1bmMgKCkg PT0gMTIzNDUpJwogCXB5dGhvbiAtYyAnZnJvbSBhbV92aXJ0ZW52IGltcG9ydCBvbGRfYW07 IGFzc2VydCAob2xkX2FtICgpID09ICJBdXRvTWFrZSIpJwogYWxsLWxvY2FsOiBkZWJ1Zwor Z2V0LXB5ZXhlY2RpcjoKKwlAZWNobyAkKHB5ZXhlY2RpcikKIEVORAogCiBjYXQgPiBhbV9m b28ucHkgPDwgJ0VORCcKQEAgLTEyNyw4ICsxMjksOCBAQCBjaGVja19pbnN0YWxsICgpCiAg IHB5X2luc3RhbGxlZCAiJHB5X3NpdGUiL2FtX2Zvby5weWMKICAgcHlfaW5zdGFsbGVkICIk cHlfc2l0ZSIvYW1fdmlydGVudi9fX2luaXRfXy5weQogICBweV9pbnN0YWxsZWQgIiRweV9z aXRlIi9hbV92aXJ0ZW52L19faW5pdF9fLnB5YwotICB0ZXN0IC1mICAgICAgIiRweV9zaXRl Ii9saWJxdXV4LmEKLSAgdGVzdCAtZiAgICAgICIkcHlfc2l0ZSIvYW1fdmlydGVudi9saWJ6 YXJkb3ouYQorICB0ZXN0IC1mICAgICAgIiQoJE1BS0UgZ2V0LXB5ZXhlY2RpciAkezErIiRA In0pIi9saWJxdXV4LmEKKyAgdGVzdCAtZiAgICAgICIkKCRNQUtFIGdldC1weWV4ZWNkaXIg JHsxKyIkQCJ9KSIvYW1fdmlydGVudi9saWJ6YXJkb3ouYQogfQogCiBjaGVja191bmluc3Rh bGwgKCkKQEAgLTEzOSw4ICsxNDEsOCBAQCBjaGVja191bmluc3RhbGwgKCkKICAgcHlfaW5z dGFsbGVkIC0tbm90ICIkcHlfc2l0ZSIvYW1fZm9vLnB5YwogICB0ZXN0ICEgLWUgICAgICAg ICAgIiRweV9zaXRlIi9hbV92aXJ0ZW52L19faW5pdF9fLnB5CiAgIHB5X2luc3RhbGxlZCAt LW5vdCAiJHB5X3NpdGUiL2FtX3ZpcnRlbnYvX19pbml0X18ucHljCi0gIHRlc3QgISAtZSAg ICAgICAgICAiJHB5X3NpdGUiL2xpYnF1dXguYQotICB0ZXN0ICEgLWUgICAgICAgICAgIiRw eV9zaXRlIi9hbV92aXJ0ZW52L2xpYnphcmRvei5hCisgIHRlc3QgISAtZSAgICAgICAgICAi JCgkTUFLRSBnZXQtcHlleGVjZGlyICR7MSsiJEAifSkiL2xpYnF1dXguYQorICB0ZXN0ICEg LWUgICAgICAgICAgIiQoJE1BS0UgZ2V0LXB5ZXhlY2RpciAkezErIiRAIn0pIi9hbV92aXJ0 ZW52L2xpYnphcmRvei5hCiB9CiAKICRBQ0xPQ0FMCi0tIAoyLjM1LjEKCg== --------------mBwnwsVsOXHBl14zvl6P5J33-- From unknown Sun Jun 22 17:17:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30556: [PATCH] Python tests should run with multiple python versions References: <874lmbv1jh.fsf@gnu.org> Resent-From: Karl Berry Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Sun, 26 Mar 2023 22:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30556 X-GNU-PR-Package: automake X-GNU-PR-Keywords: confirmed To: bogdro_rep@gmx.us, 30556@debbugs.gnu.org Received: via spool by 30556-submit@debbugs.gnu.org id=B30556.167987084515081 (code B ref 30556); Sun, 26 Mar 2023 22:48:02 +0000 Received: (at 30556) by debbugs.gnu.org; 26 Mar 2023 22:47:25 +0000 Received: from localhost ([127.0.0.1]:46085 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgZ92-0003vA-V4 for submit@debbugs.gnu.org; Sun, 26 Mar 2023 18:47:25 -0400 Received: from frenzy.freefriends.org ([198.99.81.75]:44036 helo=freefriends.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgZ91-0003uz-10 for 30556@debbugs.gnu.org; Sun, 26 Mar 2023 18:47:23 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (frenzy.freefriends.org [198.99.81.75]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 32QMlJrh030487 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 26 Mar 2023 16:47:20 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 32QMlI1D030486; Sun, 26 Mar 2023 16:47:18 -0600 Date: Sun, 26 Mar 2023 16:47:18 -0600 Message-Id: <202303262247.32QMlI1D030486@freefriends.org> From: Karl Berry In-Reply-To: X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Subject: bug#30556: [PATCH] Python tests should run with multiple python versions Thanks Bogdan (for this and other recent patches). I guess this got fixed in the repository Yes, Mike (Frysinger) has installed several Python-related patches since the last release. And I think others are still pending. I've kind of lost track of the current situation. (Myself, I remain blocked due to the random test failure problem. Someday I'll get back to Automake, I hope, but not this week. :() karl From unknown Sun Jun 22 17:17:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30556: [PATCH] Python tests should run with multiple python versions Resent-From: Bogdan Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Mon, 27 Mar 2023 10:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30556 X-GNU-PR-Package: automake X-GNU-PR-Keywords: confirmed To: Karl Berry , 30556@debbugs.gnu.org Received: via spool by 30556-submit@debbugs.gnu.org id=B30556.167991414928556 (code B ref 30556); Mon, 27 Mar 2023 10:50:01 +0000 Received: (at 30556) by debbugs.gnu.org; 27 Mar 2023 10:49:09 +0000 Received: from localhost ([127.0.0.1]:46658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgkPV-0007QV-AM for submit@debbugs.gnu.org; Mon, 27 Mar 2023 06:49:09 -0400 Received: from mout.gmx.net ([212.227.15.18]:41145) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgkPS-0007Q3-MO for 30556@debbugs.gnu.org; Mon, 27 Mar 2023 06:49:07 -0400 Received: from [192.168.1.226] ([90.227.12.124]) by mail.gmx.net (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1MWRRZ-1pwJUJ2had-00Xsbi; Mon, 27 Mar 2023 12:48:56 +0200 Message-ID: <660f3526-34a4-1f72-fdfb-bcc52ed88ba7@gmx.us> Date: Mon, 27 Mar 2023 12:48:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-GB, sv-SE, pl References: <202303262247.32QMlI1D030486@freefriends.org> From: Bogdan In-Reply-To: <202303262247.32QMlI1D030486@freefriends.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:I2TUkrRQ/DTpLJN8JNzeQRny5FAlVg/Sw7+84tXUtXJcvbQE+qK +fop18lZUBRwnJKtUJyB0e2Da5dqQUUgXTMYZYz3kceM+nDJdJiEvokKmUediNQKg/JdcZF UI5G8Fgf+QMVrWVLlmnC9Zp0llBopVEhOhpL5Djj0SxTtvzd3EPCnPb0oeYlpoPscfb+e7l qs3NjfHmw1zo3c8YTMWFA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:hGwgzHebgIU=;E9MURcSBobmN3Xxq8yu8ZRGVq0S wJ4OgHaHh8SEI3FHxrZXdHANYhfU2Ao6aYy9tb1lKVqb7wKwTES6jGshs3m1TXDtpL10rAj9o XWJouKnVjM+xM1mECz3CZYTcEdTckXdA3EPasZSFFu4z0XHJ0oZYay+M3O6jSozYzJ6emXwU6 x5waiaf763DfTlS3gp0VTzIaBQkfJZWNx+ZAXvLdGwkbLyT27VL2tfzYZ/m2nwAoaiy/YaXi5 SoKflHy2dYZKwbTYfaUDMTLHY/iTokwYKDf7DqeoVEuosAx2hXfAvX8gJcf79SLkAz2/3a1pV Bgs/WWme6aibESgI1n78BM+WQURckoJILw2XjmQKhl3628dbaCDQyGTp/kybALfl+BwZWmVth 8mVkOoe2NC67qozZsm3WogMEh7UUK74gu8BCqtFsGkSx7B7sdhzq/Qwe1DpxgkN5p1Idni1dR UDxruNijzOf+Ip98lp4MKNLRFwokc0Ph9/vH/HqWTmaTpbGsdB+8Ft2wjSUquwT8Yth7Zky9J zo8+ZD+ioKsh1mY3WeJd9ltfgGZ9fskAXcgOybnXEB8ii1SPZl7aGxdXl1CSa5fa15gFcwYvZ KYNUZkiJ3Q0BjeoiUkVof1C4eWapnzi0M3U2AUq8LOElBMTi8qD1ND7/AFELxRNcF/xvTJqDA NaVhkgz/YSyi0/0/R2GKg42Lsw8F8kdLJsgplcrryeq2ThLetBsn9iiSiN7TLxHJubRdcqbmc XGQCy6UF15ZTzvrXs8wqHr3+wUv4LXqQ+ub9sjDM8R+Bx0tTok1XQKXCpYbogTx/WnMfzryy3 RTq/XxFwJ4gqLjws94sV3nOg+mRYmBvelUbK897kBXoI2M6K2FcPEvA+PLMb4k6gOpLerHX6X G17JvzlOfBVNvzrEUTAZez4DmmP73EW1qHamWZcqNjU9Jx7QausdUDYOOoHkrkQ0RQWR0Elpp cuEhZw== X-Spam-Score: -1.8 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) Karl Berry , Mon Mar 27 2023 00:47:18 GMT+0200 (Central European Summer Time) > Subject: bug#30556: [PATCH] Python tests should run with multiple python > versions > > Thanks Bogdan (for this and other recent patches). Glad to help. :) > I guess this got fixed in the repository > > Yes, Mike (Frysinger) has installed several Python-related patches since > the last release. And I think others are still pending. Yes, I saw a few commits in the history. I didn't dig deeper into them, but I saw that some at least touched one of the areas pointed to by this bug, so I simply assumed the commits fixed this bug "by the way". Python support looks more complicated than I thought (install source, complied objects, compiled-optimized objects, one time in "lib", the other - in "lib64", ...), but this at least was something I more-or-less understand and could help with. > I've kind of > lost track of the current situation. > > (Myself, I remain blocked due to the random test failure > problem. Someday I'll get back to Automake, I hope, but not this week. :() Since the defects I understand and maybe can fix are becoming fewer and fewer, I'm looking at that myself as well. Right now, I still insist the problem is in autom4te, but I'll need to do more analysis and testing. -- Regards - Bogdan ('bogdro') D. (GNU/Linux & FreeDOS) X86 assembly (DOS, GNU/Linux): http://bogdro.evai.pl/index-en.php Soft(EN): http://bogdro.evai.pl/soft http://bogdro.evai.pl/soft4asm www.Xiph.org www.TorProject.org www.LibreOffice.org www.GnuPG.org From unknown Sun Jun 22 17:17:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30556: [PATCH] Python tests should run with multiple python versions References: <874lmbv1jh.fsf@gnu.org> Resent-From: Karl Berry Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Fri, 07 Jul 2023 01:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30556 X-GNU-PR-Package: automake X-GNU-PR-Keywords: confirmed To: bogdro_rep@gmx.us, mthl@gnu.org Cc: 30556@debbugs.gnu.org Received: via spool by 30556-submit@debbugs.gnu.org id=B30556.168869330430403 (code B ref 30556); Fri, 07 Jul 2023 01:29:01 +0000 Received: (at 30556) by debbugs.gnu.org; 7 Jul 2023 01:28:24 +0000 Received: from localhost ([127.0.0.1]:42273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHaGl-0007uD-Gj for submit@debbugs.gnu.org; Thu, 06 Jul 2023 21:28:23 -0400 Received: from frenzy.freefriends.org ([198.99.81.75]:35876 helo=freefriends.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHaGi-0007tt-2h; Thu, 06 Jul 2023 21:28:21 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (localhost [127.0.0.1]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 3671SHdT017616 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 6 Jul 2023 19:28:17 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 3671SGMQ017615; Thu, 6 Jul 2023 19:28:16 -0600 Date: Thu, 6 Jul 2023 19:28:16 -0600 Message-Id: <202307070128.3671SGMQ017615@freefriends.org> From: Karl Berry In-Reply-To: <660f3526-34a4-1f72-fdfb-bcc52ed88ba7@gmx.us> X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Mathieu and all - back on this report from 2018: https://bugs.gnu.org/30556. Mike (Frysinger) and Bogdan both made various patches that together have, I think, fixed all these issues. Thanks x 2 :). Here is the patch from Bogdan that I've just pushed to finish it. Closing, with fingers crossed. --karl 2023-07-06 Bogdan python: generalize tests. This change finishes fixing https://bugs.gnu.org/30556. * t/python-prefix.sh: use $PYTHON if set, not hardwiring "python". * t/python-virtualenv.sh (get-pyexecdir): new make target; use it instead of hardwiring $py_site. diff --git a/t/python-prefix.sh b/t/python-prefix.sh index df15e4300..766f47258 100644 --- a/t/python-prefix.sh +++ b/t/python-prefix.sh @@ -43,7 +43,12 @@ echo-python-exec-prefix: @echo $(PYTHON_EXEC_PREFIX) END -py_version=$(python -c 'import sys; print("%u.%u" % sys.version_info[:2])') +if test -z "$PYTHON"; then + py_exec=python +else + py_exec=$PYTHON +fi +py_version=$("$py_exec" -c 'import sys; print("%u.%u" % sys.version_info[:2])') py_inst_site=inst/lib/python$py_version/site-packages py_instexec_site=instexec/lib/python$py_version/site-packages diff --git a/t/python-virtualenv.sh b/t/python-virtualenv.sh index ae5d96ad6..b06964b90 100644 --- a/t/python-virtualenv.sh +++ b/t/python-virtualenv.sh @@ -100,6 +100,8 @@ test-run: python -c 'from am_foo import foo_func; assert (foo_func () == 12345)' python -c 'from am_virtenv import old_am; assert (old_am () == "AutoMake")' all-local: debug +get-pyexecdir: + @echo $(pyexecdir) x END cat > am_foo.py << 'END' @@ -127,8 +129,8 @@ check_install () py_installed "$py_site"/am_foo.pyc py_installed "$py_site"/am_virtenv/__init__.py py_installed "$py_site"/am_virtenv/__init__.pyc - test -f "$py_site"/libquux.a - test -f "$py_site"/am_virtenv/libzardoz.a + test -f "$($MAKE get-pyexecdir ${1+"$@"})"/libquux.a + test -f "$($MAKE get-pyexecdir ${1+"$@"})"/am_virtenv/libzardoz.a } check_uninstall () @@ -139,8 +141,8 @@ check_uninstall () py_installed --not "$py_site"/am_foo.pyc test ! -e "$py_site"/am_virtenv/__init__.py py_installed --not "$py_site"/am_virtenv/__init__.pyc - test ! -e "$py_site"/libquux.a - test ! -e "$py_site"/am_virtenv/libzardoz.a + test ! -e "$($MAKE get-pyexecdir ${1+"$@"})"/libquux.a + test ! -e "$($MAKE get-pyexecdir ${1+"$@"})"/am_virtenv/libzardoz.a } $ACLOCAL compile finished at Thu Jul 6 18:27:36 2023 From unknown Sun Jun 22 17:17:13 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Mathieu Lirzin Subject: bug#30556: closed (Re: bug#30556: [PATCH] Python tests should run with multiple python versions) Message-ID: References: <202307070128.3671SGMQ017615@freefriends.org> <874lmbv1jh.fsf@gnu.org> X-Gnu-PR-Message: they-closed 30556 X-Gnu-PR-Package: automake X-Gnu-PR-Keywords: confirmed Reply-To: 30556@debbugs.gnu.org Date: Fri, 07 Jul 2023 01:29:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1688693342-30464-1" This is a multi-part message in MIME format... ------------=_1688693342-30464-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #30556: Python tests should run with multiple python versions which was filed against the automake package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 30556@debbugs.gnu.org. --=20 30556: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D30556 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1688693342-30464-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 30556-done) by debbugs.gnu.org; 7 Jul 2023 01:28:23 +0000 Received: from localhost ([127.0.0.1]:42271 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHaGk-0007uA-Us for submit@debbugs.gnu.org; Thu, 06 Jul 2023 21:28:23 -0400 Received: from frenzy.freefriends.org ([198.99.81.75]:35876 helo=freefriends.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qHaGi-0007tt-2h; Thu, 06 Jul 2023 21:28:21 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (localhost [127.0.0.1]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 3671SHdT017616 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 6 Jul 2023 19:28:17 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 3671SGMQ017615; Thu, 6 Jul 2023 19:28:16 -0600 Date: Thu, 6 Jul 2023 19:28:16 -0600 Message-Id: <202307070128.3671SGMQ017615@freefriends.org> From: Karl Berry To: bogdro_rep@gmx.us, mthl@gnu.org Subject: Re: bug#30556: [PATCH] Python tests should run with multiple python versions In-Reply-To: <660f3526-34a4-1f72-fdfb-bcc52ed88ba7@gmx.us> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30556-done Cc: 30556@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Mathieu and all - back on this report from 2018: https://bugs.gnu.org/30556. Mike (Frysinger) and Bogdan both made various patches that together have, I think, fixed all these issues. Thanks x 2 :). Here is the patch from Bogdan that I've just pushed to finish it. Closing, with fingers crossed. --karl 2023-07-06 Bogdan python: generalize tests. This change finishes fixing https://bugs.gnu.org/30556. * t/python-prefix.sh: use $PYTHON if set, not hardwiring "python". * t/python-virtualenv.sh (get-pyexecdir): new make target; use it instead of hardwiring $py_site. diff --git a/t/python-prefix.sh b/t/python-prefix.sh index df15e4300..766f47258 100644 --- a/t/python-prefix.sh +++ b/t/python-prefix.sh @@ -43,7 +43,12 @@ echo-python-exec-prefix: @echo $(PYTHON_EXEC_PREFIX) END -py_version=$(python -c 'import sys; print("%u.%u" % sys.version_info[:2])') +if test -z "$PYTHON"; then + py_exec=python +else + py_exec=$PYTHON +fi +py_version=$("$py_exec" -c 'import sys; print("%u.%u" % sys.version_info[:2])') py_inst_site=inst/lib/python$py_version/site-packages py_instexec_site=instexec/lib/python$py_version/site-packages diff --git a/t/python-virtualenv.sh b/t/python-virtualenv.sh index ae5d96ad6..b06964b90 100644 --- a/t/python-virtualenv.sh +++ b/t/python-virtualenv.sh @@ -100,6 +100,8 @@ test-run: python -c 'from am_foo import foo_func; assert (foo_func () == 12345)' python -c 'from am_virtenv import old_am; assert (old_am () == "AutoMake")' all-local: debug +get-pyexecdir: + @echo $(pyexecdir) x END cat > am_foo.py << 'END' @@ -127,8 +129,8 @@ check_install () py_installed "$py_site"/am_foo.pyc py_installed "$py_site"/am_virtenv/__init__.py py_installed "$py_site"/am_virtenv/__init__.pyc - test -f "$py_site"/libquux.a - test -f "$py_site"/am_virtenv/libzardoz.a + test -f "$($MAKE get-pyexecdir ${1+"$@"})"/libquux.a + test -f "$($MAKE get-pyexecdir ${1+"$@"})"/am_virtenv/libzardoz.a } check_uninstall () @@ -139,8 +141,8 @@ check_uninstall () py_installed --not "$py_site"/am_foo.pyc test ! -e "$py_site"/am_virtenv/__init__.py py_installed --not "$py_site"/am_virtenv/__init__.pyc - test ! -e "$py_site"/libquux.a - test ! -e "$py_site"/am_virtenv/libzardoz.a + test ! -e "$($MAKE get-pyexecdir ${1+"$@"})"/libquux.a + test ! -e "$($MAKE get-pyexecdir ${1+"$@"})"/am_virtenv/libzardoz.a } $ACLOCAL compile finished at Thu Jul 6 18:27:36 2023 ------------=_1688693342-30464-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 20 Feb 2018 20:39:35 +0000 Received: from localhost ([127.0.0.1]:53267 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eoEhK-0001lk-R9 for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:35 -0500 Received: from eggs.gnu.org ([208.118.235.92]:42849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eoEhI-0001lW-Tp for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eoEhC-0007UN-SU for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:27 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33209) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eoEhC-0007UC-JE for submit@debbugs.gnu.org; Tue, 20 Feb 2018 15:39:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33817) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eoEhB-0002cE-AQ for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eoEhA-0007T4-Ec for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:25 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33141) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eoEhA-0007Sr-4w for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:24 -0500 Received: from [2a01:e35:2ec2:e580:7d5f:f616:fc6f:3970] (port=34340 helo=godel) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eoEh8-0007cF-8k for bug-automake@gnu.org; Tue, 20 Feb 2018 15:39:23 -0500 From: Mathieu Lirzin To: bug-automake@gnu.org Subject: Python tests should run with multiple python versions Date: Tue, 20 Feb 2018 21:39:14 +0100 Message-ID: <874lmbv1jh.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable The test suite applies its tests only with the =E2=80=98python=E2=80=99 exe= cutable which is an issue since on most systems it corresponds to =E2=80=98python2=E2=80= =99, and for systems having only =E2=80=98python3=E2=80=99 the tests are simply skipped. Moreover, when =E2=80=98python=E2=80=99 corresponds to =E2=80=98python3=E2= =80=99 as it is the case on distributions not following PEP394 [1] like Arch Linux, the test suite fails (See attached log). --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=test-suite.log Content-Transfer-Encoding: base64 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEdOVSBBdXRvbWFr ZSAxLjE1YTogLi90ZXN0LXN1aXRlLmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KCiMgVE9UQUw6IDgKIyBQQVNTOiAgMAojIFNLSVA6ICAwCiMgWEZBSUw6IDAK IyBGQUlMOiAgOAojIFhQQVNTOiAwCiMgRVJST1I6IDAKCi4uIGNvbnRlbnRzOjogOmRlcHRoOiAy CgpGQUlMOiB0L25vYmFzZS1weXRob24KPT09PT09PT09PT09PT09PT09PT09Cgpub2Jhc2UtcHl0 aG9uOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRob24gMy41LjMKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvbXRobC9zcmMvYXV0b21h a2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvYXg6L2dudS9zdG9yZS9hMDhnMGY5NWFp dzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2JpbjovZ251L3N0b3JlL2EwOGcwZjk1YWl3 MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvc2JpbjovaG9tZS9tdGhsLy5sb2NhbC9iaW46 L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2JpbjovaG9tZS9tdGhsLy5ndWl4LXByb2ZpbGUvc2Jp bjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvYmluOi9y dW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9zYmluCisrIHB3ZAovaG9tZS9tdGhsL3NyYy9hdXRv bWFrZS90L25vYmFzZS1weXRob24uZGlyCisgY2F0CisgY2F0CisgbWtkaXIgc3ViCisgZm9yIGZp bGUgaW4gb25lLnB5IHN1Yi9iYXNlLnB5IHR3by5weSBzdWIvbm9iYXNlLnB5CisgZWNobyAnZGVm IG9uZSgpOiByZXR1cm4gMScKKyBmb3IgZmlsZSBpbiBvbmUucHkgc3ViL2Jhc2UucHkgdHdvLnB5 IHN1Yi9ub2Jhc2UucHkKKyBlY2hvICdkZWYgb25lKCk6IHJldHVybiAxJworIGZvciBmaWxlIGlu IG9uZS5weSBzdWIvYmFzZS5weSB0d28ucHkgc3ViL25vYmFzZS5weQorIGVjaG8gJ2RlZiBvbmUo KTogcmV0dXJuIDEnCisgZm9yIGZpbGUgaW4gb25lLnB5IHN1Yi9iYXNlLnB5IHR3by5weSBzdWIv bm9iYXNlLnB5CisgZWNobyAnZGVmIG9uZSgpOiByZXR1cm4gMScKKyBhY2xvY2FsLTEuMTVhIC1X ZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEuMTVhIC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxs IC0tYWRkLW1pc3NpbmcKTWFrZWZpbGUuYW06MjogaW5zdGFsbGluZyAnLi9weS1jb21waWxlJwor KyBwd2QKKyAuL2NvbmZpZ3VyZSAtLXByZWZpeCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25v YmFzZS1weXRob24uZGlyL2luc3QgLS1wcm9ncmFtLXByZWZpeD1wCmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBz YXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9m aWxlL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgcHl0aG9uLi4uIC9nbnUvc3Rv cmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vcHl0aG9uCmNo ZWNraW5nIGZvciBweXRob24gdmVyc2lvbi4uLiAzLjUKY2hlY2tpbmcgZm9yIHB5dGhvbiBwbGF0 Zm9ybS4uLiBsaW51eApjaGVja2luZyBmb3IgcHl0aG9uIHNjcmlwdCBkaXJlY3RvcnkuLi4gJHtw cmVmaXh9L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdlcwpjaGVja2luZyBmb3IgcHl0aG9uIGV4 dGVuc2lvbiBtb2R1bGUgZGlyZWN0b3J5Li4uICR7ZXhlY19wcmVmaXh9L2xpYi9weXRob24zLjUv c2l0ZS1wYWNrYWdlcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQorIG1ha2UKbWFrZTogcmllbiDDoCBmYWly ZSBwb3VyIMKrwqBhbGzCoMK7LgorIHRlc3RfaW5zdGFsbAorIG1ha2UgaW5zdGFsbC1kYXRhCiAv Z251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL21r ZGlyIC1wICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1weXRob24uZGlyL2luc3Qv bXknCiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUv YmluL2luc3RhbGwgLWMgLW0gNjQ0IG9uZS5weSBzdWIvYmFzZS5weSAnL2hvbWUvbXRobC9zcmMv YXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9pbnN0L215JwpCeXRlLWNvbXBpbGluZyBweXRo b24gbW9kdWxlcy4uLgpvbmUucHliYXNlLnB5CkJ5dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVz IChvcHRpbWl6ZWQgdmVyc2lvbnMpIC4uLgpvbmUucHliYXNlLnB5CiAvZ251L3N0b3JlL2EwOGcw Zjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL21rZGlyIC1wICcvaG9tZS9t dGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1weXRob24uZGlyL2luc3QvbXknCiAvZ251L3N0b3Jl L2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICB0d28ucHkgJy9ob21lL210aGwvc3JjL2F1dG9tYWtlL3Qvbm9iYXNlLXB5dGhvbi5k aXIvaW5zdC9teS8uJwovZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFy LXByb2ZpbGUvYmluL21rZGlyIC1wICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1w eXRob24uZGlyL2luc3QvbXkvc3ViJwogL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBz YXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL25vYmFzZS5weSAn L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9pbnN0L215L3N1YicK Qnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMuLi4KdHdvLnB5c3ViL25vYmFzZS5weQpCeXRl LWNvbXBpbGluZyBweXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25zKSAuLi4KdHdvLnB5 c3ViL25vYmFzZS5weQorIGZpbmQgaW5zdCAtcHJpbnQKaW5zdAppbnN0L215Cmluc3QvbXkvc3Vi Cmluc3QvbXkvc3ViL25vYmFzZS5weQppbnN0L215L3N1Yi9fX3B5Y2FjaGVfXwppbnN0L215L3N1 Yi9fX3B5Y2FjaGVfXy9ub2Jhc2UuY3B5dGhvbi0zNS5vcHQtMS5weWMKaW5zdC9teS9zdWIvX19w eWNhY2hlX18vbm9iYXNlLmNweXRob24tMzUucHljCmluc3QvbXkvdHdvLnB5Cmluc3QvbXkvYmFz ZS5weQppbnN0L215L29uZS5weQppbnN0L215L19fcHljYWNoZV9fCmluc3QvbXkvX19weWNhY2hl X18vYmFzZS5jcHl0aG9uLTM1LnB5YwppbnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1 Lm9wdC0xLnB5YwppbnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1LnB5YwppbnN0L215 L19fcHljYWNoZV9fL3R3by5jcHl0aG9uLTM1Lm9wdC0xLnB5YwppbnN0L215L19fcHljYWNoZV9f L3R3by5jcHl0aG9uLTM1LnB5YwppbnN0L215L19fcHljYWNoZV9fL2Jhc2UuY3B5dGhvbi0zNS5v cHQtMS5weWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9vbmUucHkKKyBjYXNlICQjLCQxIGluCisg YW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBhbV90YXJnZXRfcHlfZmls ZT1pbnN0L215L29uZS5weQorIHRlc3QgLWYgaW5zdC9teS9vbmUucHkKKyBweV9pbnN0YWxsZWQg aW5zdC9teS9vbmUucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAt ZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGluc3QvbXkvb25lLnB5YworIGNhc2UgJCMs JDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16ICcn CisrIHB5dGhvbiAtYyAnaW1wb3J0IGltcDsgcHJpbnQoaW1wLmdldF90YWcoKSknCisgYW1fcGVw MzE0N190YWc9Y3B5dGhvbi0zNQorIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKyBjYXNlICQx IGluCisgYW1fcHljX2Rpcj1pbnN0L215CisgYW1fcHljX2Jhc2U9b25lLnB5YworIGFtX3B5Y19l eHQ9cHljCisgYW1fcHljX2Jhc2U9b25lCisgYW1fcHljX2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVf Xy9vbmUuY3B5dGhvbi0zNS5weWMKKyB0ZXN0IG5vID0gbm8KKyBhbV90YXJnZXRfcHlfZmlsZT1p bnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgaW5zdC9teS9f X3B5Y2FjaGVfXy9vbmUuY3B5dGhvbi0zNS5weWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS90d28u cHkKKyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEg aW4KKyBhbV90YXJnZXRfcHlfZmlsZT1pbnN0L215L3R3by5weQorIHRlc3QgLWYgaW5zdC9teS90 d28ucHkKKyBweV9pbnN0YWxsZWQgaW5zdC9teS90d28ucHljCisgY2FzZSAkIywkMSBpbgorIGFt X3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGluc3Qv bXkvdHdvLnB5YworIGNhc2UgJCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFz X3BlcDMxNDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25l CisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9aW5zdC9teQorIGFtX3B5Y19iYXNlPXR3by5weWMK KyBhbV9weWNfZXh0PXB5YworIGFtX3B5Y19iYXNlPXR3bworIGFtX3B5Y19maWxlPWluc3QvbXkv X19weWNhY2hlX18vdHdvLmNweXRob24tMzUucHljCisgdGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0 X3B5X2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy90d28uY3B5dGhvbi0zNS5weWMKKyB0ZXN0IC1m IGluc3QvbXkvX19weWNhY2hlX18vdHdvLmNweXRob24tMzUucHljCisgcHlfaW5zdGFsbGVkIGlu c3QvbXkvYmFzZS5weQorIGNhc2UgJCMsJDEgaW4KKyBhbV90ZXN0X3B5X2ZpbGU9J3Rlc3QgLWYn CisgY2FzZSAkMSBpbgorIGFtX3RhcmdldF9weV9maWxlPWluc3QvbXkvYmFzZS5weQorIHRlc3Qg LWYgaW5zdC9teS9iYXNlLnB5CisgcHlfaW5zdGFsbGVkIGluc3QvbXkvYmFzZS5weWMKKyBjYXNl ICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNf bG9jYXRpb24gaW5zdC9teS9iYXNlLnB5YworIGNhc2UgJCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9 bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0ZXN0IGNweXRo b24tMzUgJyE9JyBub25lCisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9aW5zdC9teQorIGFtX3B5 Y19iYXNlPWJhc2UucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNfYmFzZT1iYXNlCisgYW1f cHljX2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy9iYXNlLmNweXRob24tMzUucHljCisgdGVzdCBu byA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy9iYXNlLmNweXRo b24tMzUucHljCisgdGVzdCAtZiBpbnN0L215L19fcHljYWNoZV9fL2Jhc2UuY3B5dGhvbi0zNS5w eWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9zdWIvbm9iYXNlLnB5CisgY2FzZSAkIywkMSBpbgor IGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQxIGluCisgYW1fdGFyZ2V0X3B5X2Zp bGU9aW5zdC9teS9zdWIvbm9iYXNlLnB5CisgdGVzdCAtZiBpbnN0L215L3N1Yi9ub2Jhc2UucHkK KyBweV9pbnN0YWxsZWQgaW5zdC9teS9zdWIvbm9iYXNlLnB5YworIGNhc2UgJCMsJDEgaW4KKyBh bV90ZXN0X3B5X2ZpbGU9J3Rlc3QgLWYnCisgY2FzZSAkMSBpbgorIHB5Y19sb2NhdGlvbiBpbnN0 L215L3N1Yi9ub2Jhc2UucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3B5Y19wcmludD1ubworIHB5 dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogY3B5dGhvbi0zNQorIHRlc3QgY3B5dGhvbi0zNSAn IT0nIG5vbmUKKyBjYXNlICQxIGluCisgYW1fcHljX2Rpcj1pbnN0L215L3N1YgorIGFtX3B5Y19i YXNlPW5vYmFzZS5weWMKKyBhbV9weWNfZXh0PXB5YworIGFtX3B5Y19iYXNlPW5vYmFzZQorIGFt X3B5Y19maWxlPWluc3QvbXkvc3ViL19fcHljYWNoZV9fL25vYmFzZS5jcHl0aG9uLTM1LnB5Ywor IHRlc3Qgbm8gPSBubworIGFtX3RhcmdldF9weV9maWxlPWluc3QvbXkvc3ViL19fcHljYWNoZV9f L25vYmFzZS5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgaW5zdC9teS9zdWIvX19weWNhY2hlX18v bm9iYXNlLmNweXRob24tMzUucHljCisgcHlfaW5zdGFsbGVkIC0tbm90IGluc3QvbXkvbm9iYXNl LnB5CisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAhIC1lJworIHNoaWZ0 CisgY2FzZSAkMSBpbgorIGFtX3RhcmdldF9weV9maWxlPWluc3QvbXkvbm9iYXNlLnB5CisgdGVz dCAnIScgLWUgaW5zdC9teS9ub2Jhc2UucHkKKyBweV9pbnN0YWxsZWQgLS1ub3QgaW5zdC9teS9u b2Jhc2UucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAhIC1lJwor IHNoaWZ0CisgY2FzZSAkMSBpbgorIHB5Y19sb2NhdGlvbiBpbnN0L215L25vYmFzZS5weWMKKyBj YXNlICQjLCQxIGluCisgYW1fcHljX3ByaW50PW5vCisgcHl0aG9uX2hhc19wZXAzMTQ3CisgdGVz dCAteiBjcHl0aG9uLTM1CisgdGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4K KyBhbV9weWNfZGlyPWluc3QvbXkKKyBhbV9weWNfYmFzZT1ub2Jhc2UucHljCisgYW1fcHljX2V4 dD1weWMKKyBhbV9weWNfYmFzZT1ub2Jhc2UKKyBhbV9weWNfZmlsZT1pbnN0L215L19fcHljYWNo ZV9fL25vYmFzZS5jcHl0aG9uLTM1LnB5YworIHRlc3Qgbm8gPSBubworIGFtX3RhcmdldF9weV9m aWxlPWluc3QvbXkvX19weWNhY2hlX18vbm9iYXNlLmNweXRob24tMzUucHljCisgdGVzdCAnIScg LWUgaW5zdC9teS9fX3B5Y2FjaGVfXy9ub2Jhc2UuY3B5dGhvbi0zNS5weWMKKyB0ZXN0X3VuaW5z dGFsbAorIG1ha2UgdW5pbnN0YWxsCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25v YmFzZS1weXRob24uZGlyL2luc3QvbXknICYmIHJtIC1mIG9uZS5weSBiYXNlLnB5ICkKICggY2Qg Jy9ob21lL210aGwvc3JjL2F1dG9tYWtlL3Qvbm9iYXNlLXB5dGhvbi5kaXIvaW5zdC9teScgJiYg cm0gLWYgb25lLnB5YyBiYXNlLnB5YyApCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90 L25vYmFzZS1weXRob24uZGlyL2luc3QvbXknICYmIHJtIC1mIG9uZS5weW8gYmFzZS5weW8gKQog KCBjZCAnL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9pbnN0L215 L19fcHljYWNoZV9fJyAmJiBybSAtZiBvbmUuKi5weWMgb25lLioucHlvIGJhc2UuKi5weWMgYmFz ZS4qLnB5byApCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L25vYmFzZS1weXRob24u ZGlyL2luc3QvbXknICYmIHJtIC1mIHR3by5weSBzdWIvbm9iYXNlLnB5ICkKICggY2QgJy9ob21l L210aGwvc3JjL2F1dG9tYWtlL3Qvbm9iYXNlLXB5dGhvbi5kaXIvaW5zdC9teScgJiYgcm0gLWYg dHdvLnB5YyBzdWIvbm9iYXNlLnB5YyApCiAoIGNkICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90 L25vYmFzZS1weXRob24uZGlyL2luc3QvbXknICYmIHJtIC1mIHR3by5weW8gc3ViL25vYmFzZS5w eW8gKQogKCBjZCAnL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9ub2Jhc2UtcHl0aG9uLmRpci9p bnN0L215L19fcHljYWNoZV9fJyAmJiBybSAtZiB0d28uKi5weWMgdHdvLioucHlvIHN1Yi9ub2Jh c2UuKi5weWMgbm9iYXNlLioucHlvICkKKyB0ZXN0IC1kIGluc3QvbXkKKyBncmVwIC4KKyBmaW5k IGluc3QvbXkgLXR5cGUgZiAtcHJpbnQKaW5zdC9teS9zdWIvX19weWNhY2hlX18vbm9iYXNlLmNw eXRob24tMzUub3B0LTEucHljCmluc3QvbXkvc3ViL19fcHljYWNoZV9fL25vYmFzZS5jcHl0aG9u LTM1LnB5YworIGFtX2V4aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9o b21lL210aGwvc3JjL2F1dG9tYWtlCisgdGVzdCBub25lID0gdGFwCisgY2FzZSAkYW1fZXhwbGlj aXRfc2tpcHMgaW4KKyB0ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gK RkFJTCB0L25vYmFzZS1weXRob24uc2ggKGV4aXQgc3RhdHVzOiAxKQoKRkFJTDogdC9weS1jb21w aWxlLWJhc2ljCj09PT09PT09PT09PT09PT09PT09PT09PQoKcHktY29tcGlsZS1iYXNpYzogcnVu bmluZyBweXRob24gLVYKUHl0aG9uIDMuNS4zClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5v ClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2Jpbjov aG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L2F4Oi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFw bmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW46L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBu ZHBzYXF4ejM4Ymkxci1wcm9maWxlL3NiaW46L2hvbWUvbXRobC8ubG9jYWwvYmluOi9ob21lL210 aGwvLmd1aXgtcHJvZmlsZS9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL3NiaW46L3J1bi9z ZXR1aWQtcHJvZ3JhbXM6L3J1bi9jdXJyZW50LXN5c3RlbS9wcm9maWxlL2JpbjovcnVuL2N1cnJl bnQtc3lzdGVtL3Byb2ZpbGUvc2JpbgorKyBwd2QKL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9w eS1jb21waWxlLWJhc2ljLmRpcgorIGNwIC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2xpYi9weS1j b21waWxlIC4KKyBjYXQKKyBta2RpciBzdWIKKyBjYXQKKyBta2RpciAtcCAxL18vMi9fLzMvXwor IDoKKyAuL3B5LWNvbXBpbGUgZm9vLnB5IHN1Yi9iYXIucHkgMS9fLzIvXy8zL18vMC5weQpCeXRl LWNvbXBpbGluZyBweXRob24gbW9kdWxlcy4uLgpmb28ucHlzdWIvYmFyLnB5MS9fLzIvXy8zL18v MC5weQpCeXRlLWNvbXBpbGluZyBweXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25zKSAu Li4KZm9vLnB5c3ViL2Jhci5weTEvXy8yL18vMy9fLzAucHkKKyBweV9pbnN0YWxsZWQgZm9vLnB5 YworIGNhc2UgJCMsJDEgaW4KKyBhbV90ZXN0X3B5X2ZpbGU9J3Rlc3QgLWYnCisgY2FzZSAkMSBp bgorIHB5Y19sb2NhdGlvbiBmb28ucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3B5Y19wcmludD1u bworIHB5dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogJycKKysgcHl0aG9uIC1jICdpbXBvcnQg aW1wOyBwcmludChpbXAuZ2V0X3RhZygpKScKKyBhbV9wZXAzMTQ3X3RhZz1jcHl0aG9uLTM1Cisg dGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4KKyBhbV9weWNfZGlyPS4KKyBh bV9weWNfYmFzZT1mb28ucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNfYmFzZT1mb28KKyBh bV9weWNfZmlsZT0uL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIHRlc3Qgbm8gPSBu bworIGFtX3RhcmdldF9weV9maWxlPS4vX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHljCisg dGVzdCAtZiAuL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIHB5X2luc3RhbGxlZCBm b28ucHlvCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNl ICQxIGluCisgcHljX2xvY2F0aW9uIGZvby5weW8KKyBjYXNlICQjLCQxIGluCisgYW1fcHljX3By aW50PW5vCisgcHl0aG9uX2hhc19wZXAzMTQ3CisgdGVzdCAteiBjcHl0aG9uLTM1CisgdGVzdCBj cHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4KKyBhbV9weWNfZGlyPS4KKyBhbV9weWNf YmFzZT1mb28ucHlvCisgYW1fcHljX2V4dD1weW8KKyBhbV9weWNfYmFzZT1mb28KKyBhbV9weWNf ZmlsZT0uL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5bworIHRlc3Qgbm8gPSBubworIGFt X3RhcmdldF9weV9maWxlPS4vX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHlvCisgdGVzdCAt ZiAuL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5bworIGFtX2V4aXRfdHJhcCAxCisgZXhp dF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL210aGwvc3JjL2F1dG9tYWtlCisgdGVzdCBu b25lID0gdGFwCisgY2FzZSAkYW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0ZXN0IDEgLWVxIDAKKyBr ZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBjYXNlICRrZWVwX3Rlc3Rk aXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKRkFJTCB0L3B5LWNvbXBpbGUtYmFzaWMuc2ggKGV4 aXQgc3RhdHVzOiAxKQoKRkFJTDogdC9weS1jb21waWxlLWJhc2VkaXIKPT09PT09PT09PT09PT09 PT09PT09PT09PT0KCnB5LWNvbXBpbGUtYmFzZWRpcjogcnVubmluZyBweXRob24gLVYKUHl0aG9u IDMuNS4zClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUK UEFUSCA9IC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2JpbjovaG9tZS9tdGhsL3NyYy9hdXRvbWFr ZS90L2F4Oi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmls ZS9iaW46L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxl L3NiaW46L2hvbWUvbXRobC8ubG9jYWwvYmluOi9ob21lL210aGwvLmd1aXgtcHJvZmlsZS9iaW46 L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL3NiaW46L3J1bi9zZXR1aWQtcHJvZ3JhbXM6L3J1bi9j dXJyZW50LXN5c3RlbS9wcm9maWxlL2JpbjovcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvc2Jp bgorKyBwd2QKL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weS1jb21waWxlLWJhc2VkaXIuZGly CisgbWtkaXIgc2FuZGJveAorIGNkIHNhbmRib3gKKyBjcCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFr ZS9saWIvcHktY29tcGlsZSAuCisgZj1fX2luaXRfXworKyBwd2QKKyBmb3IgZCBpbiBmb28gZm9v L2JhciAiJChwd2QpL2ZvbyIgLiAuLiAuLi9mb28gJycKKyB0ZXN0IC16IGZvbworIGQyPWZvbwor IC4uL2luc3RhbGwtc2ggLWQgZm9vIGZvby9zdWIKKyA6CisgOgorIC4vcHktY29tcGlsZSAtLWJh c2VkaXIgZm9vIF9faW5pdF9fLnB5IHN1Yi9fX2luaXRfXy5weQpCeXRlLWNvbXBpbGluZyBweXRo b24gbW9kdWxlcy4uLgpfX2luaXRfXy5weXN1Yi9fX2luaXRfXy5weQpCeXRlLWNvbXBpbGluZyBw eXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25zKSAuLi4KX19pbml0X18ucHlzdWIvX19p bml0X18ucHkKKyBmaW5kIGZvbwpmb28KZm9vL3N1Ygpmb28vc3ViL19faW5pdF9fLnB5CmZvby9z dWIvX19weWNhY2hlX18KZm9vL3N1Yi9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1Lm9w dC0xLnB5Ywpmb28vc3ViL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzUucHljCmZvby9f X2luaXRfXy5weQpmb28vX19weWNhY2hlX18KZm9vL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRo b24tMzUub3B0LTEucHljCmZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5Ywor IHB5X2luc3RhbGxlZCBmb28vX19pbml0X18ucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3Rf cHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGZvby9fX2luaXRf Xy5weWMKKyBjYXNlICQjLCQxIGluCisgYW1fcHljX3ByaW50PW5vCisgcHl0aG9uX2hhc19wZXAz MTQ3CisgdGVzdCAteiAnJworKyBweXRob24gLWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRf dGFnKCkpJworIGFtX3BlcDMxNDdfdGFnPWNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9 JyBub25lCisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9Zm9vCisgYW1fcHljX2Jhc2U9X19pbml0 X18ucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNfYmFzZT1fX2luaXRfXworIGFtX3B5Y19m aWxlPWZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5YworIHRlc3Qgbm8gPSBu bworIGFtX3RhcmdldF9weV9maWxlPWZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1 LnB5YworIHRlc3QgLWYgZm9vL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzUucHljCisg cHlfaW5zdGFsbGVkIGZvby9fX2luaXRfXy5weW8KKyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9w eV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNfbG9jYXRpb24gZm9vL19faW5pdF9f LnB5bworIGNhc2UgJCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMx NDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2Fz ZSAkMSBpbgorIGFtX3B5Y19kaXI9Zm9vCisgYW1fcHljX2Jhc2U9X19pbml0X18ucHlvCisgYW1f cHljX2V4dD1weW8KKyBhbV9weWNfYmFzZT1fX2luaXRfXworIGFtX3B5Y19maWxlPWZvby9fX3B5 Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5bworIHRlc3Qgbm8gPSBubworIGFtX3Rhcmdl dF9weV9maWxlPWZvby9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9uLTM1LnB5bworIHRlc3Qg LWYgZm9vL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzUucHlvCisgYW1fZXhpdF90cmFw IDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvbXRobC9zcmMvYXV0b21ha2UK KyB0ZXN0IG5vbmUgPSB0YXAKKyBjYXNlICRhbV9leHBsaWNpdF9za2lwcyBpbgorIHRlc3QgMSAt ZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNhc2UgJGtl ZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreApGQUlMIHQvcHktY29tcGlsZS1iYXNl ZGlyLnNoIChleGl0IHN0YXR1czogMSkKCkZBSUw6IHQvcHktY29tcGlsZS1kZXN0ZGlyCj09PT09 PT09PT09PT09PT09PT09PT09PT09CgpweS1jb21waWxlLWRlc3RkaXI6IHJ1bm5pbmcgcHl0aG9u IC1WClB5dGhvbiAzLjUuMwpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3Rv Y29sOiBub25lClBBVEggPSAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS9iaW46L2hvbWUvbXRobC9z cmMvYXV0b21ha2UvdC9heDovZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6Mzhi aTFyLXByb2ZpbGUvYmluOi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJp MXItcHJvZmlsZS9zYmluOi9ob21lL210aGwvLmxvY2FsL2JpbjovaG9tZS9tdGhsLy5ndWl4LXBy b2ZpbGUvYmluOi9ob21lL210aGwvLmd1aXgtcHJvZmlsZS9zYmluOi9ydW4vc2V0dWlkLXByb2dy YW1zOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9iaW46L3J1bi9jdXJyZW50LXN5c3RlbS9w cm9maWxlL3NiaW4KKysgcHdkCi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHktY29tcGlsZS1k ZXN0ZGlyLmRpcgorIGNwIC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2xpYi9weS1jb21waWxlIC4K KyBkZXN0ZGlyPVRoZURlc3REaXIKKyBta2RpciBzdWIgVGhlRGVzdERpciBUaGVEZXN0RGlyL3N1 YgorIGVjaG8gJ2RlZiBmb28gKCk6IHJldHVybiAiZm9vIicKKyBlY2hvICdkZWYgYmFyICgpOiBy ZXR1cm4gImJhciInCisgLi9weS1jb21waWxlIC0tZGVzdGRpciBUaGVEZXN0RGlyIGZvby5weSBz dWIvYmFyLnB5CkJ5dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVzLi4uCmZvby5weXN1Yi9iYXIu cHkKQnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4u CmZvby5weXN1Yi9iYXIucHkKKyBmaW5kIFRoZURlc3REaXIKVGhlRGVzdERpcgpUaGVEZXN0RGly L3N1YgpUaGVEZXN0RGlyL3N1Yi9iYXIucHkKVGhlRGVzdERpci9zdWIvX19weWNhY2hlX18KVGhl RGVzdERpci9zdWIvX19weWNhY2hlX18vYmFyLmNweXRob24tMzUucHljClRoZURlc3REaXIvc3Vi L19fcHljYWNoZV9fL2Jhci5jcHl0aG9uLTM1Lm9wdC0xLnB5YwpUaGVEZXN0RGlyL2Zvby5weQpU aGVEZXN0RGlyL19fcHljYWNoZV9fClRoZURlc3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24t MzUub3B0LTEucHljClRoZURlc3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHljCisg c3Q9MAorIGZvciB4IGluIGMgbworIGZvciBiIGluIGZvbyBzdWIvYmFyCisrIHB5Y19sb2NhdGlv biAtcCBUaGVEZXN0RGlyL2Zvby5weWMKKysgY2FzZSAkIywkMSBpbgorKyBhbV9weWNfcHJpbnQ9 eWVzCisrIHNoaWZ0CisrIHB5dGhvbl9oYXNfcGVwMzE0NworKyB0ZXN0IC16ICcnCisrKyBweXRo b24gLWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworKyBhbV9wZXAzMTQ3X3Rh Zz1jcHl0aG9uLTM1CisrIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKysgY2FzZSAkMSBpbgor KyBhbV9weWNfZGlyPVRoZURlc3REaXIKKysgYW1fcHljX2Jhc2U9Zm9vLnB5YworKyBhbV9weWNf ZXh0PXB5YworKyBhbV9weWNfYmFzZT1mb28KKysgYW1fcHljX2ZpbGU9VGhlRGVzdERpci9fX3B5 Y2FjaGVfXy9mb28uY3B5dGhvbi0zNS5weWMKKysgdGVzdCB5ZXMgPSBubworKyBwcmludGYgJyVz XG4nIFRoZURlc3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHljCisgZj1UaGVEZXN0 RGlyL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgVGhlRGVzdERpci9f X3B5Y2FjaGVfXy9mb28uY3B5dGhvbi0zNS5weWMKKyBzdHJpbmdzIFRoZURlc3REaXIvX19weWNh Y2hlX18vZm9vLmNweXRob24tMzUucHljCmZvby5weXIKPG1vZHVsZT4KKyAvZ251L3N0b3JlL2Ew OGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2dyZXAgLUYgVGhlRGVz dERpciBUaGVEZXN0RGlyL19fcHljYWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5YworIGZvciBiIGlu IGZvbyBzdWIvYmFyCisrIHB5Y19sb2NhdGlvbiAtcCBUaGVEZXN0RGlyL3N1Yi9iYXIucHljCisr IGNhc2UgJCMsJDEgaW4KKysgYW1fcHljX3ByaW50PXllcworKyBzaGlmdAorKyBweXRob25faGFz X3BlcDMxNDcKKysgdGVzdCAteiAnJworKysgcHl0aG9uIC1jICdpbXBvcnQgaW1wOyBwcmludChp bXAuZ2V0X3RhZygpKScKKysgYW1fcGVwMzE0N190YWc9Y3B5dGhvbi0zNQorKyB0ZXN0IGNweXRo b24tMzUgJyE9JyBub25lCisrIGNhc2UgJDEgaW4KKysgYW1fcHljX2Rpcj1UaGVEZXN0RGlyL3N1 YgorKyBhbV9weWNfYmFzZT1iYXIucHljCisrIGFtX3B5Y19leHQ9cHljCisrIGFtX3B5Y19iYXNl PWJhcgorKyBhbV9weWNfZmlsZT1UaGVEZXN0RGlyL3N1Yi9fX3B5Y2FjaGVfXy9iYXIuY3B5dGhv bi0zNS5weWMKKysgdGVzdCB5ZXMgPSBubworKyBwcmludGYgJyVzXG4nIFRoZURlc3REaXIvc3Vi L19fcHljYWNoZV9fL2Jhci5jcHl0aG9uLTM1LnB5YworIGY9VGhlRGVzdERpci9zdWIvX19weWNh Y2hlX18vYmFyLmNweXRob24tMzUucHljCisgdGVzdCAtZiBUaGVEZXN0RGlyL3N1Yi9fX3B5Y2Fj aGVfXy9iYXIuY3B5dGhvbi0zNS5weWMKKyBzdHJpbmdzIFRoZURlc3REaXIvc3ViL19fcHljYWNo ZV9fL2Jhci5jcHl0aG9uLTM1LnB5YwpzdWIvYmFyLnB5cgo8bW9kdWxlPgorIC9nbnUvc3RvcmUv YTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vZ3JlcCAtRiBUaGVE ZXN0RGlyIFRoZURlc3REaXIvc3ViL19fcHljYWNoZV9fL2Jhci5jcHl0aG9uLTM1LnB5YworIGZv ciB4IGluIGMgbworIGZvciBiIGluIGZvbyBzdWIvYmFyCisrIHB5Y19sb2NhdGlvbiAtcCBUaGVE ZXN0RGlyL2Zvby5weW8KKysgY2FzZSAkIywkMSBpbgorKyBhbV9weWNfcHJpbnQ9eWVzCisrIHNo aWZ0CisrIHB5dGhvbl9oYXNfcGVwMzE0NworKyB0ZXN0IC16ICcnCisrKyBweXRob24gLWMgJ2lt cG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworKyBhbV9wZXAzMTQ3X3RhZz1jcHl0aG9u LTM1CisrIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKysgY2FzZSAkMSBpbgorKyBhbV9weWNf ZGlyPVRoZURlc3REaXIKKysgYW1fcHljX2Jhc2U9Zm9vLnB5bworKyBhbV9weWNfZXh0PXB5bwor KyBhbV9weWNfYmFzZT1mb28KKysgYW1fcHljX2ZpbGU9VGhlRGVzdERpci9fX3B5Y2FjaGVfXy9m b28uY3B5dGhvbi0zNS5weW8KKysgdGVzdCB5ZXMgPSBubworKyBwcmludGYgJyVzXG4nIFRoZURl c3REaXIvX19weWNhY2hlX18vZm9vLmNweXRob24tMzUucHlvCisgZj1UaGVEZXN0RGlyL19fcHlj YWNoZV9fL2Zvby5jcHl0aG9uLTM1LnB5bworIHRlc3QgLWYgVGhlRGVzdERpci9fX3B5Y2FjaGVf Xy9mb28uY3B5dGhvbi0zNS5weW8KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBz ZXQgK2UKKyBjZCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZQorIHRlc3Qgbm9uZSA9IHRhcAorIGNh c2UgJGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15 ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVy biAwCisgc2V0ICt4CkZBSUwgdC9weS1jb21waWxlLWRlc3RkaXIuc2ggKGV4aXQgc3RhdHVzOiAx KQoKRkFJTDogdC9weS1jb21waWxlLW9wdGlvbi10ZXJtaW5hdGUKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KCnB5LWNvbXBpbGUtb3B0aW9uLXRlcm1pbmF0ZTogcnVubmluZyBw eXRob24gLVYKUHl0aG9uIDMuNS4zClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3Qg UHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL210aGwvc3JjL2F1dG9tYWtlL2JpbjovaG9tZS9t dGhsL3NyYy9hdXRvbWFrZS90L2F4Oi9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2Fx eHozOGJpMXItcHJvZmlsZS9iaW46L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4 ejM4Ymkxci1wcm9maWxlL3NiaW46L2hvbWUvbXRobC8ubG9jYWwvYmluOi9ob21lL210aGwvLmd1 aXgtcHJvZmlsZS9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL3NiaW46L3J1bi9zZXR1aWQt cHJvZ3JhbXM6L3J1bi9jdXJyZW50LXN5c3RlbS9wcm9maWxlL2JpbjovcnVuL2N1cnJlbnQtc3lz dGVtL3Byb2ZpbGUvc2JpbgorKyBwd2QKL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weS1jb21w aWxlLW9wdGlvbi10ZXJtaW5hdGUuZGlyCisgY3AgL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvbGli L3B5LWNvbXBpbGUgLgorIDoKKyA6CisgLi9weS1jb21waWxlIC0tIC1vLnB5IC0tZm9vLnB5CkJ5 dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVzLi4uCi1vLnB5LS1mb28ucHkKQnl0ZS1jb21waWxp bmcgcHl0aG9uIG1vZHVsZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4uCi1vLnB5LS1mb28ucHkK KyBweV9pbnN0YWxsZWQgLi8tby5weWMKKyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxl PSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNfbG9jYXRpb24gLi8tby5weWMKKyBjYXNlICQj LCQxIGluCisgYW1fcHljX3ByaW50PW5vCisgcHl0aG9uX2hhc19wZXAzMTQ3CisgdGVzdCAteiAn JworKyBweXRob24gLWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworIGFtX3Bl cDMxNDdfdGFnPWNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2FzZSAk MSBpbgorIGFtX3B5Y19kaXI9LgorIGFtX3B5Y19iYXNlPS1vLnB5YworIGFtX3B5Y19leHQ9cHlj CisgYW1fcHljX2Jhc2U9LW8KKyBhbV9weWNfZmlsZT0uL19fcHljYWNoZV9fLy1vLmNweXRob24t MzUucHljCisgdGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9Li9fX3B5Y2FjaGVfXy8t by5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgLi9fX3B5Y2FjaGVfXy8tby5jcHl0aG9uLTM1LnB5 YworIHB5X2luc3RhbGxlZCAuLy1vLnB5bworIGNhc2UgJCMsJDEgaW4KKyBhbV90ZXN0X3B5X2Zp bGU9J3Rlc3QgLWYnCisgY2FzZSAkMSBpbgorIHB5Y19sb2NhdGlvbiAuLy1vLnB5bworIGNhc2Ug JCMsJDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16 IGNweXRob24tMzUKKyB0ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2FzZSAkMSBpbgorIGFt X3B5Y19kaXI9LgorIGFtX3B5Y19iYXNlPS1vLnB5bworIGFtX3B5Y19leHQ9cHlvCisgYW1fcHlj X2Jhc2U9LW8KKyBhbV9weWNfZmlsZT0uL19fcHljYWNoZV9fLy1vLmNweXRob24tMzUucHlvCisg dGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9Li9fX3B5Y2FjaGVfXy8tby5jcHl0aG9u LTM1LnB5bworIHRlc3QgLWYgLi9fX3B5Y2FjaGVfXy8tby5jcHl0aG9uLTM1LnB5bworIGFtX2V4 aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL210aGwvc3JjL2F1 dG9tYWtlCisgdGVzdCBub25lID0gdGFwCisgY2FzZSAkYW1fZXhwbGljaXRfc2tpcHMgaW4KKyB0 ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBj YXNlICRrZWVwX3Rlc3RkaXJzIGluCisgcmV0dXJuIDAKKyBzZXQgK3gKRkFJTCB0L3B5LWNvbXBp bGUtb3B0aW9uLXRlcm1pbmF0ZS5zaCAoZXhpdCBzdGF0dXM6IDEpCgpGQUlMOiB0L3B5dGhvbjMK PT09PT09PT09PT09PT09CgpweXRob24zOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRob24gMy41LjMK UnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0g L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvYXg6 L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbjov Z251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvc2Jpbjov aG9tZS9tdGhsLy5sb2NhbC9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2JpbjovaG9tZS9t dGhsLy5ndWl4LXByb2ZpbGUvc2JpbjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVuL2N1cnJlbnQt c3lzdGVtL3Byb2ZpbGUvYmluOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9zYmluCisrIHB3 ZAovaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjMuZGlyCisgY2F0CisgY2F0CisgYWNs b2NhbC0xLjE1YSAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE1YSAtLWZvcmVpZ24g LVdlcnJvciAtV2FsbCAtLWFkZC1taXNzaW5nCk1ha2VmaWxlLmFtOjI6IGluc3RhbGxpbmcgJy4v cHktY29tcGlsZScKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisrIHB3ZAorIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeD0vaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjMuZGlyL2J1aWxkL2lu c3QKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvZ251L3N0b3JlL2Ew OGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwgLWMKY2hl Y2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1h cG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u IGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZv ciBweXRob24uLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1w cm9maWxlL2Jpbi9weXRob24KY2hlY2tpbmcgZm9yIHB5dGhvbiB2ZXJzaW9uLi4uIDMuNQpjaGVj a2luZyBmb3IgcHl0aG9uIHBsYXRmb3JtLi4uIGxpbnV4CmNoZWNraW5nIGZvciBweXRob24gc2Ny aXB0IGRpcmVjdG9yeS4uLiAke3ByZWZpeH0vbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzCmNo ZWNraW5nIGZvciBweXRob24gZXh0ZW5zaW9uIG1vZHVsZSBkaXJlY3RvcnkuLi4gJHtleGVjX3By ZWZpeH0vbGliL3B5dGhvbjMuNS9zaXRlLXBhY2thZ2VzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFr ZSBpbnN0YWxsCm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hv bWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24zLmRpci9idWlsZMKgwrsKbWFrZVsxXTogcmll biDDoCBmYWlyZSBwb3VyIMKrwqBpbnN0YWxsLWV4ZWMtYW3CoMK7LgplY2hvICdkZWYgb25lKCk6 IHJldHVybiAxJyA+b25lLnB5CiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6 MzhiaTFyLXByb2ZpbGUvYmluL21rZGlyIC1wICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5 dGhvbjMuZGlyL2J1aWxkL2luc3QvbXknCiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5k cHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwgLWMgLW0gNjQ0IG9uZS5weSAnL2hvbWUv bXRobC9zcmMvYXV0b21ha2UvdC9weXRob24zLmRpci9idWlsZC9pbnN0L215JwpCeXRlLWNvbXBp bGluZyBweXRob24gbW9kdWxlcy4uLgpvbmUucHkKQnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVs ZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4uCm9uZS5weQptYWtlWzFdwqA6IG9uIHF1aXR0ZSBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24zLmRpci9i dWlsZMKgwrsKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9vbmUucHkKKyBjYXNlICQjLCQxIGluCisg YW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBhbV90YXJnZXRfcHlfZmls ZT1pbnN0L215L29uZS5weQorIHRlc3QgLWYgaW5zdC9teS9vbmUucHkKKyBweV9pbnN0YWxsZWQg aW5zdC9teS9vbmUucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAt ZicKKyBjYXNlICQxIGluCisgcHljX2xvY2F0aW9uIGluc3QvbXkvb25lLnB5YworIGNhc2UgJCMs JDEgaW4KKyBhbV9weWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16ICcn CisrIHB5dGhvbiAtYyAnaW1wb3J0IGltcDsgcHJpbnQoaW1wLmdldF90YWcoKSknCisgYW1fcGVw MzE0N190YWc9Y3B5dGhvbi0zNQorIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKyBjYXNlICQx IGluCisgYW1fcHljX2Rpcj1pbnN0L215CisgYW1fcHljX2Jhc2U9b25lLnB5YworIGFtX3B5Y19l eHQ9cHljCisgYW1fcHljX2Jhc2U9b25lCisgYW1fcHljX2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVf Xy9vbmUuY3B5dGhvbi0zNS5weWMKKyB0ZXN0IG5vID0gbm8KKyBhbV90YXJnZXRfcHlfZmlsZT1p bnN0L215L19fcHljYWNoZV9fL29uZS5jcHl0aG9uLTM1LnB5YworIHRlc3QgLWYgaW5zdC9teS9f X3B5Y2FjaGVfXy9vbmUuY3B5dGhvbi0zNS5weWMKKyBweV9pbnN0YWxsZWQgaW5zdC9teS9vbmUu cHlvCisgY2FzZSAkIywkMSBpbgorIGFtX3Rlc3RfcHlfZmlsZT0ndGVzdCAtZicKKyBjYXNlICQx IGluCisgcHljX2xvY2F0aW9uIGluc3QvbXkvb25lLnB5bworIGNhc2UgJCMsJDEgaW4KKyBhbV9w eWNfcHJpbnQ9bm8KKyBweXRob25faGFzX3BlcDMxNDcKKyB0ZXN0IC16IGNweXRob24tMzUKKyB0 ZXN0IGNweXRob24tMzUgJyE9JyBub25lCisgY2FzZSAkMSBpbgorIGFtX3B5Y19kaXI9aW5zdC9t eQorIGFtX3B5Y19iYXNlPW9uZS5weW8KKyBhbV9weWNfZXh0PXB5bworIGFtX3B5Y19iYXNlPW9u ZQorIGFtX3B5Y19maWxlPWluc3QvbXkvX19weWNhY2hlX18vb25lLmNweXRob24tMzUucHlvCisg dGVzdCBubyA9IG5vCisgYW1fdGFyZ2V0X3B5X2ZpbGU9aW5zdC9teS9fX3B5Y2FjaGVfXy9vbmUu Y3B5dGhvbi0zNS5weW8KKyB0ZXN0IC1mIGluc3QvbXkvX19weWNhY2hlX18vb25lLmNweXRob24t MzUucHlvCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hv bWUvbXRobC9zcmMvYXV0b21ha2UKKyB0ZXN0IG5vbmUgPSB0YXAKKyBjYXNlICRhbV9leHBsaWNp dF9za2lwcyBpbgorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreApG QUlMIHQvcHl0aG9uMy5zaCAoZXhpdCBzdGF0dXM6IDEpCgpGQUlMOiB0L3B5dGhvbjEwCj09PT09 PT09PT09PT09PT0KCnB5dGhvbjEwOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRob24gMy41LjMKUnVu bmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hv bWUvbXRobC9zcmMvYXV0b21ha2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvYXg6L2du dS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2JpbjovZ251 L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvc2JpbjovaG9t ZS9tdGhsLy5sb2NhbC9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2JpbjovaG9tZS9tdGhs Ly5ndWl4LXByb2ZpbGUvc2JpbjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVuL2N1cnJlbnQtc3lz dGVtL3Byb2ZpbGUvYmluOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9zYmluCisrIHB3ZAov aG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEwLmRpcgorIGNhdAorIGNhdAorIGFjbG9j YWwtMS4xNWEgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNWEgLS1mb3JlaWduIC1X ZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZwpNYWtlZmlsZS5hbTozOiBpbnN0YWxsaW5nICcuL3B5 LWNvbXBpbGUnCisgaW5zdD1pbnN0XworIG1rZGlyIGluc3RfIGJ1aWxkXworIGNkIGJ1aWxkXwor KyBwd2QKKyBjd2Q9L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMC5kaXIvYnVpbGRf CisgLi4vY29uZmlndXJlIC0tcHJlZml4PS9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9u MTAuZGlyL2J1aWxkXy9pbnN0XyBvbmU9MApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsLi4uIC9nbnUvc3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJv ZmlsZS9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9nbnUv c3RvcmUvYTA4ZzBmOTVhaXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlh Ymxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIHB5dGhvbi4uLiAvZ251L3N0b3JlL2EwOGcwZjk1YWl3 MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL3B5dGhvbgpjaGVja2luZyBmb3IgcHl0 aG9uIHZlcnNpb24uLi4gMy41CmNoZWNraW5nIGZvciBweXRob24gcGxhdGZvcm0uLi4gbGludXgK Y2hlY2tpbmcgZm9yIHB5dGhvbiBzY3JpcHQgZGlyZWN0b3J5Li4uICR7cHJlZml4fS9saWIvcHl0 aG9uMy41L3NpdGUtcGFja2FnZXMKY2hlY2tpbmcgZm9yIHB5dGhvbiBleHRlbnNpb24gbW9kdWxl IGRpcmVjdG9yeS4uLiAke2V4ZWNfcHJlZml4fS9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMK Y2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGluc3RhbGwKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5z IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEwLmRp ci9idWlsZF/CoMK7Cm1ha2VbMV06IHJpZW4gw6AgZmFpcmUgcG91ciDCq8KgaW5zdGFsbC1leGVj LWFtwqDCuy4KZWNobyAnZGVmIHR3bygpOiByZXR1cm4gMScgPnR3by5weQogL2dudS9zdG9yZS9h MDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9ta2RpciAtcCAnL2hv bWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMC5kaXIvYnVpbGRfL2luc3RfL3lvdXInCiAv Z251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IHR3by5weSAnL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24x MC5kaXIvYnVpbGRfL2luc3RfL3lvdXInCkJ5dGUtY29tcGlsaW5nIHB5dGhvbiBtb2R1bGVzLi4u CnR3by5weQpCeXRlLWNvbXBpbGluZyBweXRob24gbW9kdWxlcyAob3B0aW1pemVkIHZlcnNpb25z KSAuLi4KdHdvLnB5Cm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9t ZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEwLmRpci9idWlsZF/CoMK7CisgdGVzdCAtZiBp bnN0Xy95b3VyL3R3by5weQorIHB5X2luc3RhbGxlZCBpbnN0Xy95b3VyL3R3by5weWMKKyBjYXNl ICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4KKyBweWNf bG9jYXRpb24gaW5zdF8veW91ci90d28ucHljCisgY2FzZSAkIywkMSBpbgorIGFtX3B5Y19wcmlu dD1ubworIHB5dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogJycKKysgcHl0aG9uIC1jICdpbXBv cnQgaW1wOyBwcmludChpbXAuZ2V0X3RhZygpKScKKyBhbV9wZXAzMTQ3X3RhZz1jcHl0aG9uLTM1 CisgdGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorIGNhc2UgJDEgaW4KKyBhbV9weWNfZGlyPWlu c3RfL3lvdXIKKyBhbV9weWNfYmFzZT10d28ucHljCisgYW1fcHljX2V4dD1weWMKKyBhbV9weWNf YmFzZT10d28KKyBhbV9weWNfZmlsZT1pbnN0Xy95b3VyL19fcHljYWNoZV9fL3R3by5jcHl0aG9u LTM1LnB5YworIHRlc3Qgbm8gPSBubworIGFtX3RhcmdldF9weV9maWxlPWluc3RfL3lvdXIvX19w eWNhY2hlX18vdHdvLmNweXRob24tMzUucHljCisgdGVzdCAtZiBpbnN0Xy95b3VyL19fcHljYWNo ZV9fL3R3by5jcHl0aG9uLTM1LnB5YworIHB5X2luc3RhbGxlZCBpbnN0Xy95b3VyL3R3by5weW8K KyBjYXNlICQjLCQxIGluCisgYW1fdGVzdF9weV9maWxlPSd0ZXN0IC1mJworIGNhc2UgJDEgaW4K KyBweWNfbG9jYXRpb24gaW5zdF8veW91ci90d28ucHlvCisgY2FzZSAkIywkMSBpbgorIGFtX3B5 Y19wcmludD1ubworIHB5dGhvbl9oYXNfcGVwMzE0NworIHRlc3QgLXogY3B5dGhvbi0zNQorIHRl c3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKyBjYXNlICQxIGluCisgYW1fcHljX2Rpcj1pbnN0Xy95 b3VyCisgYW1fcHljX2Jhc2U9dHdvLnB5bworIGFtX3B5Y19leHQ9cHlvCisgYW1fcHljX2Jhc2U9 dHdvCisgYW1fcHljX2ZpbGU9aW5zdF8veW91ci9fX3B5Y2FjaGVfXy90d28uY3B5dGhvbi0zNS5w eW8KKyB0ZXN0IG5vID0gbm8KKyBhbV90YXJnZXRfcHlfZmlsZT1pbnN0Xy95b3VyL19fcHljYWNo ZV9fL3R3by5jcHl0aG9uLTM1LnB5bworIHRlc3QgLWYgaW5zdF8veW91ci9fX3B5Y2FjaGVfXy90 d28uY3B5dGhvbi0zNS5weW8KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQg K2UKKyBjZCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZQorIHRlc3Qgbm9uZSA9IHRhcAorIGNhc2Ug JGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMK KyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAw Cisgc2V0ICt4CkZBSUwgdC9weXRob24xMC5zaCAoZXhpdCBzdGF0dXM6IDEpCgpGQUlMOiB0L3B5 dGhvbjEyCj09PT09PT09PT09PT09PT0KCnB5dGhvbjEyOiBydW5uaW5nIHB5dGhvbiAtVgpQeXRo b24gMy41LjMKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9u ZQpQQVRIID0gL2hvbWUvbXRobC9zcmMvYXV0b21ha2UvYmluOi9ob21lL210aGwvc3JjL2F1dG9t YWtlL3QvYXg6L2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9m aWxlL2JpbjovZ251L3N0b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2Zp bGUvc2JpbjovaG9tZS9tdGhsLy5sb2NhbC9iaW46L2hvbWUvbXRobC8uZ3VpeC1wcm9maWxlL2Jp bjovaG9tZS9tdGhsLy5ndWl4LXByb2ZpbGUvc2JpbjovcnVuL3NldHVpZC1wcm9ncmFtczovcnVu L2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUvYmluOi9ydW4vY3VycmVudC1zeXN0ZW0vcHJvZmlsZS9z YmluCisrIHB3ZAovaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpcgorIGNhdAor IGNhdAorIGFjbG9jYWwtMS4xNWEgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNWEg LS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZwpNYWtlZmlsZS5hbToyOiBpbnN0 YWxsaW5nICcuL3B5LWNvbXBpbGUnCisrIHB3ZAorIGRlc3RkaXI9L2hvbWUvbXRobC9zcmMvYXV0 b21ha2UvdC9weXRob24xMi5kaXIvaW5zdAorIG1rZGlyIGluc3QgYnVpbGQKKyBjZCBidWlsZAor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL2dudS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1w cm9maWxlL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg aXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2du dS9zdG9yZS9hMDhnMGY5NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgcHl0aG9uLi4uIC9nbnUvc3RvcmUvYTA4ZzBmOTVh aXcydncybWFwbmRwc2FxeHozOGJpMXItcHJvZmlsZS9iaW4vcHl0aG9uCmNoZWNraW5nIGZvciBw eXRob24gdmVyc2lvbi4uLiAzLjUKY2hlY2tpbmcgZm9yIHB5dGhvbiBwbGF0Zm9ybS4uLiBsaW51 eApjaGVja2luZyBmb3IgcHl0aG9uIHNjcmlwdCBkaXJlY3RvcnkuLi4gJHtwcmVmaXh9L2xpYi9w eXRob24zLjUvc2l0ZS1wYWNrYWdlcwpjaGVja2luZyBmb3IgcHl0aG9uIGV4dGVuc2lvbiBtb2R1 bGUgZGlyZWN0b3J5Li4uICR7ZXhlY19wcmVmaXh9L2xpYi9weXRob24zLjUvc2l0ZS1wYWNrYWdl cwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQorIG1ha2UgaW5zdGFsbCBERVNURElSPS9ob21lL210aGwvc3Jj L2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9i dWlsZMKgwrsKbWFrZVsxXTogcmllbiDDoCBmYWlyZSBwb3VyIMKrwqBpbnN0YWxsLWV4ZWMtYW3C oMK7LgplY2hvICdkZWYgbXkoKTogcmV0dXJuIDEnID5teS5weQogL2dudS9zdG9yZS9hMDhnMGY5 NWFpdzJ2dzJtYXBuZHBzYXF4ejM4Ymkxci1wcm9maWxlL2Jpbi9ta2RpciAtcCAnL2hvbWUvbXRo bC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdC91c3Ivc2hhcmUvbXknCiAvZ251L3N0 b3JlL2EwOGcwZjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2luc3RhbGwg LWMgLW0gNjQ0IG15LnB5ICcvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9p bnN0L3Vzci9zaGFyZS9teScKQnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMuLi4KbXkucHkK Qnl0ZS1jb21waWxpbmcgcHl0aG9uIG1vZHVsZXMgKG9wdGltaXplZCB2ZXJzaW9ucykgLi4uCm15 LnB5Cm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9tdGhsL3Ny Yy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9idWlsZMKgwrsKKyB0ZXN0IC1mIC9ob21lL210aGwv c3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNyL3NoYXJlL215L215LnB5CisrIHB5 Y19sb2NhdGlvbiAtcCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9pbnN0 L3Vzci9zaGFyZS9teS9teS5weW8KKysgY2FzZSAkIywkMSBpbgorKyBhbV9weWNfcHJpbnQ9eWVz CisrIHNoaWZ0CisrIHB5dGhvbl9oYXNfcGVwMzE0NworKyB0ZXN0IC16ICcnCisrKyBweXRob24g LWMgJ2ltcG9ydCBpbXA7IHByaW50KGltcC5nZXRfdGFnKCkpJworKyBhbV9wZXAzMTQ3X3RhZz1j cHl0aG9uLTM1CisrIHRlc3QgY3B5dGhvbi0zNSAnIT0nIG5vbmUKKysgY2FzZSAkMSBpbgorKyBh bV9weWNfZGlyPS9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNy L3NoYXJlL215CisrIGFtX3B5Y19iYXNlPW15LnB5bworKyBhbV9weWNfZXh0PXB5bworKyBhbV9w eWNfYmFzZT1teQorKyBhbV9weWNfZmlsZT0vaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhv bjEyLmRpci9pbnN0L3Vzci9zaGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5bwor KyB0ZXN0IHllcyA9IG5vCisrIHByaW50ZiAnJXNcbicgL2hvbWUvbXRobC9zcmMvYXV0b21ha2Uv dC9weXRob24xMi5kaXIvaW5zdC91c3Ivc2hhcmUvbXkvX19weWNhY2hlX18vbXkuY3B5dGhvbi0z NS5weW8KKyBweW89L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdC91 c3Ivc2hhcmUvbXkvX19weWNhY2hlX18vbXkuY3B5dGhvbi0zNS5weW8KKysgcHljX2xvY2F0aW9u IC1wIC9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNyL3NoYXJl L215L215LnB5YworKyBjYXNlICQjLCQxIGluCisrIGFtX3B5Y19wcmludD15ZXMKKysgc2hpZnQK KysgcHl0aG9uX2hhc19wZXAzMTQ3CisrIHRlc3QgLXogJycKKysrIHB5dGhvbiAtYyAnaW1wb3J0 IGltcDsgcHJpbnQoaW1wLmdldF90YWcoKSknCisrIGFtX3BlcDMxNDdfdGFnPWNweXRob24tMzUK KysgdGVzdCBjcHl0aG9uLTM1ICchPScgbm9uZQorKyBjYXNlICQxIGluCisrIGFtX3B5Y19kaXI9 L2hvbWUvbXRobC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdC91c3Ivc2hhcmUvbXkK KysgYW1fcHljX2Jhc2U9bXkucHljCisrIGFtX3B5Y19leHQ9cHljCisrIGFtX3B5Y19iYXNlPW15 CisrIGFtX3B5Y19maWxlPS9ob21lL210aGwvc3JjL2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2lu c3QvdXNyL3NoYXJlL215L19fcHljYWNoZV9fL215LmNweXRob24tMzUucHljCisrIHRlc3QgeWVz ID0gbm8KKysgcHJpbnRmICclc1xuJyAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEy LmRpci9pbnN0L3Vzci9zaGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5YworIHB5 Yz0vaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9pbnN0L3Vzci9zaGFyZS9t eS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5YworIHN0PTAKKyAvZ251L3N0b3JlL2EwOGcw Zjk1YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2dyZXAgLUYgL2hvbWUvbXRo bC9zcmMvYXV0b21ha2UvdC9weXRob24xMi5kaXIvaW5zdCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFr ZS90L3B5dGhvbjEyLmRpci9pbnN0L3Vzci9zaGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9u LTM1LnB5YyAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZS90L3B5dGhvbjEyLmRpci9pbnN0L3Vzci9z aGFyZS9teS9fX3B5Y2FjaGVfXy9teS5jcHl0aG9uLTM1LnB5bwovZ251L3N0b3JlL2EwOGcwZjk1 YWl3MnZ3Mm1hcG5kcHNhcXh6MzhiaTFyLXByb2ZpbGUvYmluL2dyZXA6IC9ob21lL210aGwvc3Jj L2F1dG9tYWtlL3QvcHl0aG9uMTIuZGlyL2luc3QvdXNyL3NoYXJlL215L19fcHljYWNoZV9fL215 LmNweXRob24tMzUucHlvOiBBdWN1biBmaWNoaWVyIG91IGRvc3NpZXIgZGUgY2UgdHlwZQorIHN0 PTIKKyB0ZXN0IDIgLWVxIDEKKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQg K2UKKyBjZCAvaG9tZS9tdGhsL3NyYy9hdXRvbWFrZQorIHRlc3Qgbm9uZSA9IHRhcAorIGNhc2Ug JGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMK KyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgorIHJldHVybiAw Cisgc2V0ICt4CkZBSUwgdC9weXRob24xMi5zaCAoZXhpdCBzdGF0dXM6IDEpCgo= --=-=-= Content-Type: text/plain [1] https://www.python.org/dev/peps/pep-0394/ -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 --=-=-=-- ------------=_1688693342-30464-1--