Authentication-Results: mail-b.sr.ht; dkim=pass header.d=protonmail.com header.i=@protonmail.com Received: from mail-40132.protonmail.ch (mail-40132.protonmail.ch [185.70.40.132]) by mail-b.sr.ht (Postfix) with ESMTPS id D0FD411EEAC for ; Tue, 4 Jan 2022 23:37:41 +0000 (UTC) Date: Tue, 04 Jan 2022 23:37:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail2; t=1641339459; bh=7jsys06eJ5uQFjh23mqGQqXxEGbKtWE21V8G9qT+ds4=; h=Date:To:From:Reply-To:Subject:Message-ID:From:To:Cc; b=QKj1izRUS9smxjP29w1OEpCYOpLJW/U7ICwLeJDvhAF6DeEv3imr53fmDsn4R13OR 8biB6s/KDk0dsDlyAtGeTMX6cEXl9JG8YJvPWyjq9DeCLVOUa17Aqldo2b3ktsWs1o Zz6Ia+0+4cd4pCATybXMO/wyJR69ZLCa/MaeIMlbLFgmoI3l1qCKOPZcr0pY406GEv Sd8GhZcXUjmbLeYG4RL5IinztoEkay157YKqOs6WKRYikOsnHw1srVMAb+iETYHWxx H+olq3kDJJFF4ZiLErPL3ZzFAJzdpHbuYptJMWl8O9xHAKs4FQPQ5/7spArRzcApSt bJQc6lAYuCbVQ== To: "u.kennylevinsen.seatd-devel@lists.sr.ht" From: prspkt Reply-To: prspkt Subject: Alpine Linux build issue Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_KKGvnswT4sr8qfxNn5b2zcUk56muWXM9v0xc9gWI" X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch This is a multi-part message in MIME format. --b1_KKGvnswT4sr8qfxNn5b2zcUk56muWXM9v0xc9gWI Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, I would like to ask about a build issue I encountered on Alpine Linux speci= fically on the ppc64le musl-libc target where building seatd fails due to all warnings bei= ng treated as errors. The warning I receive is: ../common/evdev.c:27:26: error: overflow in conversion from 'long unsigned = int' to 'int' changes value from '2147763601' to '-2147203695' [-Werror=3Do= verflow] 27 | return ioctl(fd, EVIOCREVOKE, NULL); | ^~~~~~~~~~~ cc1: all warnings being treated as errors The full build-log is below and I also included a raw attachment: https://gitlab.alpinelinux.org/alpine/aports/-/jobs/584289#L208 musl defines the ioctl function prototype as: int ioctl (int, int, ...); https://git.musl-libc.org/cgit/musl/tree/include/sys/ioctl.h#n115 whereas glibc defines it as: extern int __ioctl (int __fd, unsigned long int __request, ...); https://sourceware.org/git/?p=3Dglibc.git;a=3Dblob;f=3Dinclude/sys/ioctl.h;= h=3Ddd7c3c7c9cabaa12403c4b987f88eb327f1b9d06;hb=3DHEAD#l7 I created a patch which does an explicit type cast but I am not entirely su= re if it is the correct solution or if it results in bits getting lost (unsigned long i= nt -> int). My patch is here: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/29188/diffs#d= iff-content-6b9ab223e670421d2b3e35e9e384d8e768d21ff8 Would it be a good idea to forward the patch upstream or should we configur= e the build with -Dwerror=3Dfalse? Thanks in advance. --b1_KKGvnswT4sr8qfxNn5b2zcUk56muWXM9v0xc9gWI Content-Type: text/x-log; name=build-seatd.log Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=build-seatd.log G1sxOzMybT4+PhtbMTswbSAbWzE7MW1zZWF0ZBtbMTswbTogQnVpbGRpbmcgY29tbXVuaXR5L3Nl YXRkIDAuNi4zLXIxICh1c2luZyBhYnVpbGQgMy45LjAtcjApIHN0YXJ0ZWQgVHVlLCAwNCBKYW4g MjAyMiAyMjozMjo1NiArMDAwMAobWzE7MzJtPj4+G1sxOzBtIBtbMTsxbXNlYXRkG1sxOzBtOiBD aGVja2luZyBzYW5pdHkgb2YgL2J1aWxkcy9hbHBpbmUvYXBvcnRzL2NvbW11bml0eS9zZWF0ZC9B UEtCVUlMRC4uLgobWzE7MzJtPj4+G1sxOzBtIBtbMTsxbXNlYXRkG1sxOzBtOiBBbmFseXppbmcg ZGVwZW5kZW5jaWVzLi4uChtbMTszMm0+Pj4bWzE7MG0gG1sxOzFtc2VhdGQbWzE7MG06IEluc3Rh bGxpbmcgZm9yIGJ1aWxkOiBidWlsZC1iYXNlIG1lc29uIHNjZG9jIGVsb2dpbmQtZGV2IGxpbnV4 LWhlYWRlcnMKV0FSTklORzogSWdub3JpbmcgL2hvbWUvYnVpbGRvemVyL3BhY2thZ2VzL2NvbW11 bml0eTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpXQVJOSU5HOiBJZ25vcmluZyAvaG9tZS9i dWlsZG96ZXIvcGFja2FnZXMvbWFpbjogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQooMS8xOCkg SW5zdGFsbGluZyBzYW11cmFpICgxLjItcjEpCigyLzE4KSBJbnN0YWxsaW5nIGxpYmJ6MiAoMS4w LjgtcjEpCigzLzE4KSBJbnN0YWxsaW5nIGxpYmZmaSAoMy40LjItcjEpCig0LzE4KSBJbnN0YWxs aW5nIGdkYm0gKDEuMjItcjApCig1LzE4KSBJbnN0YWxsaW5nIHh6LWxpYnMgKDUuMi41LXIwKQoo Ni8xOCkgSW5zdGFsbGluZyBtcGRlY2ltYWwgKDIuNS4xLXIxKQooNy8xOCkgSW5zdGFsbGluZyBu Y3Vyc2VzLXRlcm1pbmZvLWJhc2UgKDYuM19wMjAyMTEyMjUtcjApCig4LzE4KSBJbnN0YWxsaW5n IG5jdXJzZXMtbGlicyAoNi4zX3AyMDIxMTIyNS1yMCkKKDkvMTgpIEluc3RhbGxpbmcgcmVhZGxp bmUgKDguMS4xLXIwKQooMTAvMTgpIEluc3RhbGxpbmcgc3FsaXRlLWxpYnMgKDMuMzcuMS1yMCkK KDExLzE4KSBJbnN0YWxsaW5nIHB5dGhvbjMgKDMuMTAuMS1yMCkKKDEyLzE4KSBJbnN0YWxsaW5n IG1lc29uICgwLjYwLjItcjEpCigxMy8xOCkgSW5zdGFsbGluZyBzY2RvYyAoMS4xMS4yLXIwKQoo MTQvMTgpIEluc3RhbGxpbmcgbGliY2FwICgyLjYyLXIwKQooMTUvMTgpIEluc3RhbGxpbmcgbGli ZWxvZ2luZCAoMjQ2LjEwLXI0KQooMTYvMTgpIEluc3RhbGxpbmcgZWxvZ2luZC1kZXYgKDI0Ni4x MC1yNCkKKDE3LzE4KSBJbnN0YWxsaW5nIGxpbnV4LWhlYWRlcnMgKDUuMTAuNDEtcjApCigxOC8x OCkgSW5zdGFsbGluZyAubWFrZWRlcGVuZHMtc2VhdGQgKDIwMjIwMTA0LjIyMzI1NykKRXhlY3V0 aW5nIGJ1c3lib3gtMS4zNC4xLXI2LnRyaWdnZXIKT0s6IDI4MiBNaUIgaW4gNzcgcGFja2FnZXMK G1sxOzMybT4+PhtbMTswbSAbWzE7MW1zZWF0ZBtbMTswbTogQ2xlYW5pbmcgdXAgc3JjZGlyChtb MTszMm0+Pj4bWzE7MG0gG1sxOzFtc2VhdGQbWzE7MG06IENsZWFuaW5nIHVwIHBrZ2RpcgobWzE7 MzJtPj4+G1sxOzBtIBtbMTsxbXNlYXRkG1sxOzBtOiBGZXRjaGluZyBzZWF0ZC0wLjYuMy50YXIu Z3o6Omh0dHBzOi8vZ2l0LnNyLmh0L35rZW5ueWxldmluc2VuL3NlYXRkL2FyY2hpdmUvMC42LjMu dGFyLmd6CiAgJSBUb3RhbCAgICAlIFJlY2VpdmVkICUgWGZlcmQgIEF2ZXJhZ2UgU3BlZWQgICBU aW1lICAgIFRpbWUgICAgIFRpbWUgIEN1cnJlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRGxvYWQgIFVwbG9hZCAgIFRvdGFsICAgU3BlbnQgICAgTGVmdCAgU3BlZWQKDSAgMCAg ICAgMCAgICAwICAgICAwICAgIDAgICAgIDAgICAgICAwICAgICAgMCAtLTotLTotLSAtLTotLTot LSAtLTotLTotLSAgICAgMA0gIDAgICAgIDAgICAgMCAgICAgMCAgICAwICAgICAwICAgICAgMCAg ICAgIDAgLS06LS06LS0gLS06LS06LS0gLS06LS06LS0gICAgIDANMTAwIDM4NTI1ICAgIDAgMzg1 MjUgICAgMCAgICAgMCAgNDE3ODkgICAgICAwIC0tOi0tOi0tIC0tOi0tOi0tIC0tOi0tOi0tIDQx Nzg0ChtbMTszMm0+Pj4bWzE7MG0gG1sxOzFtc2VhdGQbWzE7MG06IEZldGNoaW5nIHNlYXRkLTAu Ni4zLnRhci5nejo6aHR0cHM6Ly9naXQuc3IuaHQvfmtlbm55bGV2aW5zZW4vc2VhdGQvYXJjaGl2 ZS8wLjYuMy50YXIuZ3oKG1sxOzMybT4+PhtbMTswbSAbWzE7MW1zZWF0ZBtbMTswbTogQ2hlY2tp bmcgc2hhNTEyc3Vtcy4uLgpzZWF0ZC0wLjYuMy50YXIuZ3o6IE9LCnNlYXRkLmluaXRkOiBPSwpz ZWF0ZC5jb25mZDogT0sKG1sxOzMybT4+PhtbMTswbSAbWzE7MW1zZWF0ZBtbMTswbTogVW5wYWNr aW5nIC92YXIvY2FjaGUvZGlzdGZpbGVzL3NlYXRkLTAuNi4zLnRhci5nei4uLgobWzE7MzJtPj4+ G1sxOzBtIBtbMTsxbXNlYXRkG1sxOzBtOiBDcmVhdGluZyBncm91cCBzZWF0ClRoZSBNZXNvbiBi dWlsZCBzeXN0ZW0KVmVyc2lvbjogMC42MC4yClNvdXJjZSBkaXI6IC9idWlsZHMvYWxwaW5lL2Fw b3J0cy9jb21tdW5pdHkvc2VhdGQvc3JjL3NlYXRkLTAuNi4zCkJ1aWxkIGRpcjogL2J1aWxkcy9h bHBpbmUvYXBvcnRzL2NvbW11bml0eS9zZWF0ZC9zcmMvc2VhdGQtMC42LjMvb3V0cHV0CkJ1aWxk IHR5cGU6IG5hdGl2ZSBidWlsZApQcm9qZWN0IG5hbWU6IHNlYXRkClByb2plY3QgdmVyc2lvbjog MC42LjMKQyBjb21waWxlciBmb3IgdGhlIGhvc3QgbWFjaGluZTogZ2NjIChnY2MgMTEuMi4xICJn Y2MgKEFscGluZSAxMS4yLjFfZ2l0MjAyMTExMjgpIDExLjIuMSAyMDIxMTEyOCIpCkMgbGlua2Vy IGZvciB0aGUgaG9zdCBtYWNoaW5lOiBnY2MgbGQuYmZkIDIuMzcKSG9zdCBtYWNoaW5lIGNwdSBm YW1pbHk6IHBwYzY0Ckhvc3QgbWFjaGluZSBjcHU6IHBwYzY0bGUKQ29tcGlsZXIgZm9yIEMgc3Vw cG9ydHMgYXJndW1lbnRzIC1XdW5kZWY6IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJn dW1lbnRzIC1XdW51c2VkOiBZRVMgCkNvbXBpbGVyIGZvciBDIHN1cHBvcnRzIGFyZ3VtZW50cyAt V2xvZ2ljYWwtb3A6IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJndW1lbnRzIC1XbWlz c2luZy1pbmNsdWRlLWRpcnM6IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJndW1lbnRz IC1Xb2xkLXN0eWxlLWRlZmluaXRpb246IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJn dW1lbnRzIC1XcG9pbnRlci1hcml0aDogWUVTIApDb21waWxlciBmb3IgQyBzdXBwb3J0cyBhcmd1 bWVudHMgLVdzdHJpY3QtcHJvdG90eXBlczogWUVTIApDb21waWxlciBmb3IgQyBzdXBwb3J0cyBh cmd1bWVudHMgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaDogWUVTIApDb21waWxlciBmb3IgQyBzdXBw b3J0cyBhcmd1bWVudHMgLVdtaXNzaW5nLXByb3RvdHlwZXM6IFlFUyAKQ29tcGlsZXIgZm9yIEMg c3VwcG9ydHMgYXJndW1lbnRzIC1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbjogTk8gCkNvbXBp bGVyIGZvciBDIHN1cHBvcnRzIGFyZ3VtZW50cyAtV25vLXVudXNlZC1jb21tYW5kLWxpbmUtYXJn dW1lbnQ6IE5PIApDb21waWxlciBmb3IgQyBzdXBwb3J0cyBhcmd1bWVudHMgLVd2bGE6IFlFUyAK V0FSTklORzogLVdsLC0tZXhjbHVkZS1saWJzPUFMTCBsb29rcyBsaWtlIGEgbGlua2VyIGFyZ3Vt ZW50LCBidXQgaGFzX2FyZ3VtZW50IGFuZCBvdGhlciBzaW1pbGFyIG1ldGhvZHMgb25seSBzdXBw b3J0IGNoZWNraW5nIGNvbXBpbGVyIGFyZ3VtZW50cy4gVXNpbmcgdGhlbSB0byBjaGVjayBsaW5r ZXIgYXJndW1lbnRzIGFyZSBuZXZlciBzdXBwb3J0ZWQsIGFuZCByZXN1bHRzIGFyZSBsaWtlbHkg dG8gYmUgd3JvbmcgcmVnYXJkbGVzcyBvZiB0aGUgY29tcGlsZXIgeW91IGFyZSB1c2luZy4gaGFz X2xpbmtfYXJndW1lbnQgb3Igb3RoZXIgc2ltaWxhciBtZXRob2QgY2FuIGJlIHVzZWQgaW5zdGVh ZC4KQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJndW1lbnRzIC1XbCwtLWV4Y2x1ZGUtbGlicz1B TEw6IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJndW1lbnRzIC1EX1hPUEVOX1NPVVJD RT03MDA6IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJndW1lbnRzIC1EX19CU0RfVklT SUJMRTogWUVTIApDb21waWxlciBmb3IgQyBzdXBwb3J0cyBhcmd1bWVudHMgLURTRUFURF9WRVJT SU9OPSIwLjYuMyI6IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3VwcG9ydHMgYXJndW1lbnRzIC1EU0VB VERfREVGQVVMVFBBVEg9Ii9ydW4vc2VhdGQuc29jayI6IFlFUyAKQ29tcGlsZXIgZm9yIEMgc3Vw cG9ydHMgYXJndW1lbnRzIC1EU0VBVERfSU5TVEFMTFBBVEg9Ii91c3IvYmluL3NlYXRkIjogWUVT IApXQVJOSU5HOiBQcm9qZWN0IHRhcmdldGluZyAnPj0wLjU2LjAnIGJ1dCB0cmllZCB0byB1c2Ug ZmVhdHVyZSBkZXByZWNhdGVkIHNpbmNlICcwLjU2LjAnOiBtZXNvbi5idWlsZF9yb290LiB1c2Ug bWVzb24ucHJvamVjdF9idWlsZF9yb290KCkgb3IgbWVzb24uZ2xvYmFsX2J1aWxkX3Jvb3QoKSBp bnN0ZWFkLgpGb3VuZCBwa2ctY29uZmlnOiAvdXNyL2Jpbi9wa2ctY29uZmlnICgxLjguMCkKUnVu LXRpbWUgZGVwZW5kZW5jeSBsaWJlbG9naW5kIGZvdW5kOiBZRVMgMjQ2CkxpYnJhcnkgcnQgZm91 bmQ6IFlFUwpGb3VuZCBwa2ctY29uZmlnOiAvdXNyL2Jpbi9wa2ctY29uZmlnICgxLjguMCkKQnVp bGQtdGltZSBkZXBlbmRlbmN5IHNjZG9jIGZvdW5kOiBZRVMgMS4xMS4yClByb2dyYW0gL3Vzci9i aW4vc2Nkb2MgZm91bmQ6IFlFUyAoL3Vzci9iaW4vc2Nkb2MpClByb2dyYW0gc2ggZm91bmQ6IFlF UyAoL2Jpbi9zaCkKUHJvZ3JhbSBzaCBmb3VuZDogWUVTICgvYmluL3NoKQpCdWlsZCB0YXJnZXRz IGluIHByb2plY3Q6IDkKV0FSTklORzogRGVwcmVjYXRlZCBmZWF0dXJlcyB1c2VkOgogKiAwLjU2 LjA6IHsnbWVzb24uYnVpbGRfcm9vdCd9CgpzZWF0ZCAwLjYuMwoKICAgIGxpYnNlYXQtc2VhdGQg IDogWUVTCiAgICBsaWJzZWF0LWJ1aWx0aW46IE5PCiAgICBsaWJzZWF0LXN5c3RlbWQ6IE5PCiAg ICBsaWJzZWF0LWVsb2dpbmQ6IFlFUwogICAgc2VydmVyICAgICAgICAgOiBZRVMKCiAgVXNlciBk ZWZpbmVkIG9wdGlvbnMKICAgIGF1dG9fZmVhdHVyZXMgIDogYXV0bwogICAgYmluZGlyICAgICAg ICAgOiAvdXNyL2JpbgogICAgYnVpbGR0eXBlICAgICAgOiBwbGFpbgogICAgZGF0YWRpciAgICAg ICAgOiAvdXNyL3NoYXJlCiAgICBpbmNsdWRlZGlyICAgICA6IC91c3IvaW5jbHVkZQogICAgaW5m b2RpciAgICAgICAgOiAvdXNyL3NoYXJlL2luZm8KICAgIGxpYmRpciAgICAgICAgIDogL3Vzci9s aWIKICAgIGxpYmV4ZWNkaXIgICAgIDogL3Vzci9saWJleGVjCiAgICBsb2NhbGVkaXIgICAgICA6 IC91c3Ivc2hhcmUvbG9jYWxlCiAgICBsb2NhbHN0YXRlZGlyICA6IC92YXIKICAgIG1hbmRpciAg ICAgICAgIDogL3Vzci9zaGFyZS9tYW4KICAgIHByZWZpeCAgICAgICAgIDogL3VzcgogICAgc2Jp bmRpciAgICAgICAgOiAvdXNyL3NiaW4KICAgIHNoYXJlZHN0YXRlZGlyIDogL3Zhci9saWIKICAg IHN5c2NvbmZkaXIgICAgIDogL2V0YwogICAgd3JhcF9tb2RlICAgICAgOiBub2Rvd25sb2FkCiAg ICBiX2x0byAgICAgICAgICA6IGZhbHNlCiAgICBiX3BpZSAgICAgICAgICA6IHRydWUKICAgIGJf c3RhdGljcGljICAgIDogdHJ1ZQogICAgbGlic2VhdC1sb2dpbmQgOiBlbG9naW5kCiAgICBtYW4t cGFnZXMgICAgICA6IGVuYWJsZWQKCkZvdW5kIG5pbmphLTEuOSBhdCAvdXNyL2Jpbi9uaW5qYQpu aW5qYTogZW50ZXJpbmcgZGlyZWN0b3J5ICcvYnVpbGRzL2FscGluZS9hcG9ydHMvY29tbXVuaXR5 L3NlYXRkL3NyYy9zZWF0ZC0wLjYuMy9vdXRwdXQnClsxLzM2XSBHZW5lcmF0aW5nIHNlYXRkLWxh dW5jaC4xIHdpdGggYSBjdXN0b20gY29tbWFuZApbMi8zNl0gR2VuZXJhdGluZyBzZWF0ZC4xIHdp dGggYSBjdXN0b20gY29tbWFuZApbMy8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0IHBvbGxlcl90ZXN0 LnAvc2VhdGRfcG9sbGVyLmMubwpbNC8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0IHBvbGxlcl90ZXN0 LnAvY29tbW9uX2xpbmtlZF9saXN0LmMubwpbNS8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0IHBvbGxl cl90ZXN0LnAvdGVzdHNfcG9sbGVyLmMubwpbNi8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGNvbm5l Y3Rpb25fdGVzdC5wL2NvbW1vbl9jb25uZWN0aW9uLmMubwpbNy8zNl0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGNvbm5lY3Rpb25fdGVzdC5wL3Rlc3RzX2Nvbm5lY3Rpb24uYy5vCls4LzM2XSBDb21waWxp bmcgQyBvYmplY3QgbGlua2VkX2xpc3RfdGVzdC5wL2NvbW1vbl9saW5rZWRfbGlzdC5jLm8KWzkv MzZdIENvbXBpbGluZyBDIG9iamVjdCBsaW5rZWRfbGlzdF90ZXN0LnAvdGVzdHNfbGlua2VkX2xp c3QuYy5vClsxMC8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0IHNlYXRkLWxhdW5jaC5wL3NlYXRkLWxh dW5jaF9zZWF0ZC1sYXVuY2guYy5vClsxMS8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0IHNlYXRkLnAv c2VhdGRfc2VhdGQuYy5vClsxMi8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0IHNlYXRkLnAvc2VhdGRf c2VydmVyLmMubwpbMTMvMzZdIENvbXBpbGluZyBDIG9iamVjdCBzZWF0ZC5wL3NlYXRkX2NsaWVu dC5jLm8KWzE0LzM2XSBDb21waWxpbmcgQyBvYmplY3Qgc2VhdGQucC9zZWF0ZF9zZWF0LmMubwpb MTUvMzZdIENvbXBpbGluZyBDIG9iamVjdCBzZWF0ZC5wL3NlYXRkX3BvbGxlci5jLm8KWzE2LzM2 XSBDb21waWxpbmcgQyBvYmplY3Qgc2VhdGQucC9jb21tb25fZHJtLmMubwpbMTcvMzZdIENvbXBp bGluZyBDIG9iamVjdCBzZWF0ZC5wL2NvbW1vbl9ldmRldi5jLm8KWzE4LzM2XSBDb21waWxpbmcg QyBvYmplY3Qgc2VhdGQucC9jb21tb25fY29ubmVjdGlvbi5jLm8KWzE5LzM2XSBDb21waWxpbmcg QyBvYmplY3Qgc2VhdGQucC9jb21tb25fdGVybWluYWwuYy5vClsyMC8zNl0gQ29tcGlsaW5nIEMg b2JqZWN0IHNlYXRkLnAvY29tbW9uX2xpbmtlZF9saXN0LmMubwpbMjEvMzZdIENvbXBpbGluZyBD IG9iamVjdCBzZWF0ZC5wL2NvbW1vbl9sb2cuYy5vClsyMi8zNl0gQ29tcGlsaW5nIEMgb2JqZWN0 IGxpYnNlYXQuc28uMS5wL2xpYnNlYXRfYmFja2VuZF9ub29wLmMubwpbMjMvMzZdIENvbXBpbGlu ZyBDIG9iamVjdCBsaWJzZWF0LnNvLjEucC9saWJzZWF0X2xpYnNlYXQuYy5vClsyNC8zNl0gQ29t cGlsaW5nIEMgb2JqZWN0IGxpYnNlYXQtcHJpdmF0ZS5hLnAvY29tbW9uX2RybS5jLm8KWzI1LzM2 XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2VhdC1wcml2YXRlLmEucC9saWJzZWF0X2JhY2tlbmRf bG9naW5kLmMubwpbMjYvMzZdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzZWF0LXByaXZhdGUuYS5w L2xpYnNlYXRfYmFja2VuZF9zZWF0ZC5jLm8KWzI3LzM2XSBDb21waWxpbmcgQyBvYmplY3QgbGli c2VhdC1wcml2YXRlLmEucC9jb21tb25fbG9nLmMubwpbMjgvMzZdIENvbXBpbGluZyBDIG9iamVj dCBsaWJzZWF0LXByaXZhdGUuYS5wL2NvbW1vbl9saW5rZWRfbGlzdC5jLm8KWzI5LzM2XSBDb21w aWxpbmcgQyBvYmplY3QgbGlic2VhdC1wcml2YXRlLmEucC9jb21tb25fY29ubmVjdGlvbi5jLm8K bmluamE6IGpvYiBmYWlsZWQ6IGdjYyAtSXNlYXRkLnAgLUkuIC1JLi4gLUkuLi9pbmNsdWRlIC1m ZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdp bnZhbGlkLXBjaCAtV2V4dHJhIC1XcGVkYW50aWMgLVdlcnJvciAtc3RkPWMxMSAtV3VuZGVmIC1X dW51c2VkIC1XbG9naWNhbC1vcCAtV21pc3NpbmctaW5jbHVkZS1kaXJzIC1Xb2xkLXN0eWxlLWRl ZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdpbXBsaWNpdC1m YWxsdGhyb3VnaCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3ZsYSAtV2wsLS1leGNsdWRlLWxpYnM9 QUxMIC1EX1hPUEVOX1NPVVJDRT03MDAgLURfX0JTRF9WSVNJQkxFICctRFNFQVREX1ZFUlNJT049 IjAuNi4zIicgJy1EU0VBVERfREVGQVVMVFBBVEg9Ii9ydW4vc2VhdGQuc29jayInICctRFNFQVRE X0lOU1RBTExQQVRIPSIvdXNyL2Jpbi9zZWF0ZCInICctRFJFTF9TUkNfRElSPSIuLi8iJyAtRFNF QVREX0VOQUJMRUQ9MSAtRExPR0lORF9FTkFCTEVEPTEgLURIQVZFX0VMT0dJTkQ9MSAtT3MgLWZv bWl0LWZyYW1lLXBvaW50ZXIgLU9zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1mUElFIC1NRCAtTVEg c2VhdGQucC9jb21tb25fZXZkZXYuYy5vIC1NRiBzZWF0ZC5wL2NvbW1vbl9ldmRldi5jLm8uZCAt byBzZWF0ZC5wL2NvbW1vbl9ldmRldi5jLm8gLWMgLi4vY29tbW9uL2V2ZGV2LmMKG1swMW0bW0su Li9jb21tb24vZXZkZXYuYzobW20bW0sgSW4gZnVuY3Rpb24gJxtbMDFtG1tLZXZkZXZfcmV2b2tl G1ttG1tLJzoKG1swMW0bW0suLi9jb21tb24vZXZkZXYuYzoyNzoyNjobW20bW0sgG1swMTszMW0b W0tlcnJvcjogG1ttG1tLb3ZlcmZsb3cgaW4gY29udmVyc2lvbiBmcm9tICcbWzAxbRtbS2xvbmcg dW5zaWduZWQgaW50G1ttG1tLJyB0byAnG1swMW0bW0tpbnQbW20bW0snIGNoYW5nZXMgdmFsdWUg ZnJvbSAnG1swMW0bW0syMTQ3NzYzNjAxG1ttG1tLJyB0byAnG1swMW0bW0stMjE0NzIwMzY5NRtb bRtbSycgWxtbMDE7MzFtG1tLLVdlcnJvcj1vdmVyZmxvdxtbbRtbS10KICAgMjcgfCAgICAgICAg IHJldHVybiBpb2N0bChmZCwgG1swMTszMW0bW0tFVklPQ1JFVk9LRRtbbRtbSywgTlVMTCk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMDE7MzFtG1tLXn5+fn5+fn5+fn4bW20b W0sKY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbmluamE6IHN1YmNv bW1hbmQgZmFpbGVkChtbMTszMW0+Pj4gRVJST1I6G1sxOzBtIBtbMTsxbXNlYXRkG1sxOzBtOiBi dWlsZCBmYWlsZWQKG1sxOzMybT4+PhtbMTswbSAbWzE7MW1zZWF0ZBtbMTswbTogVW5pbnN0YWxs aW5nIGRlcGVuZGVuY2llcy4uLgpXQVJOSU5HOiBJZ25vcmluZyAvaG9tZS9idWlsZG96ZXIvcGFj a2FnZXMvbWFpbjogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpXQVJOSU5HOiBJZ25vcmluZyAv aG9tZS9idWlsZG96ZXIvcGFja2FnZXMvY29tbXVuaXR5OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CigxLzE4KSBQdXJnaW5nIC5tYWtlZGVwZW5kcy1zZWF0ZCAoMjAyMjAxMDQuMjIzMjU3KQoo Mi8xOCkgUHVyZ2luZyBtZXNvbiAoMC42MC4yLXIxKQooMy8xOCkgUHVyZ2luZyBzYW11cmFpICgx LjItcjEpCig0LzE4KSBQdXJnaW5nIHB5dGhvbjMgKDMuMTAuMS1yMCkKKDUvMTgpIFB1cmdpbmcg c2Nkb2MgKDEuMTEuMi1yMCkKKDYvMTgpIFB1cmdpbmcgZWxvZ2luZC1kZXYgKDI0Ni4xMC1yNCkK KDcvMTgpIFB1cmdpbmcgbGliZWxvZ2luZCAoMjQ2LjEwLXI0KQooOC8xOCkgUHVyZ2luZyBsaW51 eC1oZWFkZXJzICg1LjEwLjQxLXIwKQooOS8xOCkgUHVyZ2luZyBsaWJiejIgKDEuMC44LXIxKQoo MTAvMTgpIFB1cmdpbmcgbGliZmZpICgzLjQuMi1yMSkKKDExLzE4KSBQdXJnaW5nIGdkYm0gKDEu MjItcjApCigxMi8xOCkgUHVyZ2luZyB4ei1saWJzICg1LjIuNS1yMCkKKDEzLzE4KSBQdXJnaW5n IG1wZGVjaW1hbCAoMi41LjEtcjEpCigxNC8xOCkgUHVyZ2luZyByZWFkbGluZSAoOC4xLjEtcjAp CigxNS8xOCkgUHVyZ2luZyBuY3Vyc2VzLWxpYnMgKDYuM19wMjAyMTEyMjUtcjApCigxNi8xOCkg UHVyZ2luZyBuY3Vyc2VzLXRlcm1pbmZvLWJhc2UgKDYuM19wMjAyMTEyMjUtcjApCigxNy8xOCkg UHVyZ2luZyBzcWxpdGUtbGlicyAoMy4zNy4xLXIwKQooMTgvMTgpIFB1cmdpbmcgbGliY2FwICgy LjYyLXIwKQpFeGVjdXRpbmcgYnVzeWJveC0xLjM0LjEtcjYudHJpZ2dlcgpPSzogMjE0IE1pQiBp biA1OSBwYWNrYWdlcwo= --b1_KKGvnswT4sr8qfxNn5b2zcUk56muWXM9v0xc9gWI--