Date: Fri, 21 Nov 1997 21:31:59 +0100 (MET) From: Hans-Bernhard Broeker To: djgpp-workers AT delorie DOT com cc: dj AT delorie DOT com Subject: alpha-971114: Makefiles revisited Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-494318816-409752708-880144319=:10934" Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info. ---494318816-409752708-880144319=:10934 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, DJ, and all the others. In the 971114 alpha release, the revised set of Makefiles I had made back in July seem to have made it in the distribution, finally, but they didn't make it unharmed, it seems. :-) Several of the goals DJ had then sent me as a TODO-list, and which had been reached already, have been dropped in favour of a smaller set of tools to be required (no Bash and fileutils for a native build). Trying out the new build tools, I noticed several (possible) problems, and fixed some of them (see the attached diffs). Here's a rough list of the problems I remember offhand (left my notes at home...): * Not all tools get made with the newly compiled libc.a, crt0.o and stub, as can be seen with RCS 'ident' tool. That's mostly because several of those .exe's were built by just calling the compiler to link and stubedit them, instead of using the provided special linker and stubedit commands $(LINK) and $(EXE). (fixed) * Due to a bug in the 'makemake' tool, you couldn't call the sub-makefiles in libc, libm, and debug any more, after the corresponding library has been built once. 'makemake' reads in the 'makefile.oh' files from all subdirectories to get the list of objects to link into the lib and writes that into a big 'makefile.oh' file, among others. The bug is that it will read the big master makefile.oh file as well if called again. (fixed) * A little problem that's a bit hard to find: you have to stubedit your 'make' to more than the default (as of 2.01) 16 KB of transfer buffer size. Otherwise, passing the 14 KB long list of filenames for the libc.a 'ar' command line around will break, with no visible error message but 'Error -1'. * It will unconditionally install all the files in '../bin', '../lib' etc., relative to the 'src' directory where the build starts. Thus, if you install the lib sources in $DJDIR, as usual, it'll overwrite your currently installed versions of both libc and all the tools with the new versions it builds. Disaster might result if those new versions of such important files as 'crt0.o', 'libc.a' or 'stubify.exe' happen to not work correctly: you may not be able to run the compiler any more to build corrected versions, i.e. you're stuck. (I used to have this working via a 'make ; make install' kind of setup, but have left this alone, for now.) * Building in a separate tree, outside of $DJDIR, would help to avoid the aforementioned danger, but it doesn't work, at least not unless you're willing to install a second copy of djdev202 and at gcc2721b in your build tree as well. The build process references about half a dozen include files, and 'libgcc.a' by relative paths from the 'src' directory (as in '../include/coff.h' or '../lib/libgcc.a'). Furthermore, it just assumes that '../bin', '../include', '../lib' and '../info' are present, instead of calling mkdir to make them if they're absent. (fixed) Enough of this, now. Feel free to comment on these changes, or just put them in the distributed version. Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de) Even if all the snow were burnt, ashes would remain. ---494318816-409752708-880144319=:10934 Content-Type: APPLICATION/octet-stream; name="djlsr202-alpha-971114.diffs" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Patches ZGlmZiAtUHVyIGRqbHNyX2E0Lm9yZy9zcmMvZGVidWcvY29tbW9uL21ha2Vm aWxlIGRqbHNyX2E0LmhiYi9zcmMvZGVidWcvY29tbW9uL21ha2VmaWxlCi0t LSBkamxzcl9hNC5vcmcvc3JjL2RlYnVnL2NvbW1vbi9tYWtlZmlsZQlNb24g Tm92ICAzIDAzOjI2OjAwIDE5OTcKKysrIGRqbHNyX2E0LmhiYi9zcmMvZGVi dWcvY29tbW9uL21ha2VmaWxlCUZyaSBOb3YgMjEgMDY6MzI6NDYgMTk5NwpA QCAtOSw5ICs5LDEyIEBACiAKIGluY2x1ZGUgJChUT1ApLy4uL21ha2VmaWxl LmluYwogCisjcmVsYXggZXJyb3IgY2hlY2tpbmcKK1hHQ0M9JChYTEdDQykK IAogZSA6ICQoQklOKS9zeW1pZnkuZXhlCiAJJChOT1ApCiAKLSQoQklOKS9z eW1pZnkuZXhlIDogJEMgc3ltaWZ5LmMgJChMSUIpL2xpYmRiZy5hICRMCi0J JChYTEdDQykgLW8gJEAgc3ltaWZ5LmMgJChMSUIpL2xpYmRiZy5hIAorJChC SU4pL3N5bWlmeS5leGUgOiAkQyBzeW1pZnkubyAkKExJQikvbGliZGJnLmEg JEwKKwkkKExJTkspCisJJChFWEUpCmRpZmYgLVB1ciBkamxzcl9hNC5vcmcv c3JjL2RlYnVnL2VkZWJ1Zy9tYWtlZmlsZSBkamxzcl9hNC5oYmIvc3JjL2Rl YnVnL2VkZWJ1Zy9tYWtlZmlsZQotLS0gZGpsc3JfYTQub3JnL3NyYy9kZWJ1 Zy9lZGVidWcvbWFrZWZpbGUJTW9uIE5vdiAgMyAwMzoyNjo1NiAxOTk3Cisr KyBkamxzcl9hNC5oYmIvc3JjL2RlYnVnL2VkZWJ1Zy9tYWtlZmlsZQlGcmkg Tm92IDIxIDA2OjM1OjI2IDE5OTcKQEAgLTgsOCArOCwxMiBAQAogCiBpbmNs dWRlICQoVE9QKS8uLi9tYWtlZmlsZS5pbmMKIAorI3JlbGF4IGVycm9yIGNo ZWNraW5nOgorWEdDQz0kKFhMR0NDKQorCiBlIDogJChCSU4pL2VkZWJ1ZzMy LmV4ZQogCSQoTk9QKQogCiAkKEJJTikvZWRlYnVnMzIuZXhlIDogJEMgJChF T0JKUykgJChMSUIpL2xpYmRiZy5hICRMCi0JJChYTEdDQykgLW8gJEAgJChF T0JKUykgJChMSUIpL2xpYmRiZy5hCisJJChMSU5LKQorCSQoRVhFKQpkaWZm IC1QdXIgZGpsc3JfYTQub3JnL3NyYy9kZWJ1Zy9mc2RiL21ha2VmaWxlIGRq bHNyX2E0LmhiYi9zcmMvZGVidWcvZnNkYi9tYWtlZmlsZQotLS0gZGpsc3Jf YTQub3JnL3NyYy9kZWJ1Zy9mc2RiL21ha2VmaWxlCU1vbiBOb3YgIDMgMDM6 MzY6MDggMTk5NworKysgZGpsc3JfYTQuaGJiL3NyYy9kZWJ1Zy9mc2RiL21h a2VmaWxlCUZyaSBOb3YgMjEgMDY6Mzc6MDQgMTk5NwpAQCAtMTEsMTAgKzEx LDEyIEBACiAKIGluY2x1ZGUgJChUT1ApLy4uL21ha2VmaWxlLmluYwogCisj cmVsYXggZXJyb3IgY2hlY2tpbmc6CiBYR0NDID0gJChYTEdDQykKIAogZSA6 ICQoQklOKS9mc2RiLmV4ZQogCSQoTk9QKQogCiAkKEJJTikvZnNkYi5leGUg OiAkQyAkKEVPQkpTKSAkKExJQikvbGliZGJnLmEgJEwKLQkkKFhMR0NDKSAt byAkQCAkKEVPQkpTKSAkKExJQikvbGliZGJnLmEKKwkkKExJTkspCisJJChF WEUpCmRpZmYgLVB1ciBkamxzcl9hNC5vcmcvc3JjL2RlYnVnL21ha2VmaWxl IGRqbHNyX2E0LmhiYi9zcmMvZGVidWcvbWFrZWZpbGUKLS0tIGRqbHNyX2E0 Lm9yZy9zcmMvZGVidWcvbWFrZWZpbGUJTW9uIE5vdiAgMyAwMDozOToyNCAx OTk3CisrKyBkamxzcl9hNC5oYmIvc3JjL2RlYnVnL21ha2VmaWxlCUZyaSBO b3YgMjEgMDc6MDM6MDQgMTk5NwpAQCAtMTAsMyArMTAsOCBAQAogCiBlOgog CUByZW0KKworY2xlYW4gOjoKKwkkKE1BS0UpIC1DIGZzZGIgY2xlYW4KKwkk KE1BS0UpIC1DIGVkZWJ1ZyBjbGVhbgorCSQoTUFLRSkgLUMgY29tbW9uIGNs ZWFuCmRpZmYgLVB1ciBkamxzcl9hNC5vcmcvc3JjL2RlYnVnL21ha2VmaWxl Lm9pIGRqbHNyX2E0LmhiYi9zcmMvZGVidWcvbWFrZWZpbGUub2kKLS0tIGRq bHNyX2E0Lm9yZy9zcmMvZGVidWcvbWFrZWZpbGUub2kJU2F0IE5vdiAxNSAw Mzo1MDo0NCAxOTk3CisrKyBkamxzcl9hNC5oYmIvc3JjL2RlYnVnL21ha2Vm aWxlLm9pCUZyaSBOb3YgMjEgMDc6MjM6NDYgMTk5NwpAQCAtMSw0ICsxLDMg QEAKLQogT0JKUyArPSBjb21tb24vZGJnY29tLm8gY29tbW9uL3N5bXMubyBj b21tb24vdjJsb2FkLm8gY29tbW9uL3dpbGQubwotT0JKUyArPSAKKwogCmRp ZmYgLVB1ciBkamxzcl9hNC5vcmcvc3JjL2RlYnVnL21ha2VmaWxlLnJmIGRq bHNyX2E0LmhiYi9zcmMvZGVidWcvbWFrZWZpbGUucmYKLS0tIGRqbHNyX2E0 Lm9yZy9zcmMvZGVidWcvbWFrZWZpbGUucmYJTW9uIE5vdiAgMyAwMzozNzow MCAxOTk3CisrKyBkamxzcl9hNC5oYmIvc3JjL2RlYnVnL21ha2VmaWxlLnJm CUZyaSBOb3YgMjEgMDQ6NDY6NDYgMTk5NwpAQCAtMSw0ICsxLDMgQEAKLQog Y29tbW9uL2RiZ2NvbS5vIGNvbW1vbi9zeW1zLm8gY29tbW9uL3YybG9hZC5v IGNvbW1vbi93aWxkLm8KIAogCmRpZmYgLVB1ciBkamxzcl9hNC5vcmcvc3Jj L2R4ZS9keGVnZW4uYyBkamxzcl9hNC5oYmIvc3JjL2R4ZS9keGVnZW4uYwot LS0gZGpsc3JfYTQub3JnL3NyYy9keGUvZHhlZ2VuLmMJTW9uIE5vdiAgMyAw NjowMTo0NCAxOTk3CisrKyBkamxzcl9hNC5oYmIvc3JjL2R4ZS9keGVnZW4u YwlUaHUgTm92IDIwIDIzOjUxOjAwIDE5OTcKQEAgLTUsOCArNSw4IEBACiAj aW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNs dWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlICIuLi8uLi9pbmNsdWRlL2NvZmYu aCIKLSNpbmNsdWRlICIuLi8uLi9pbmNsdWRlL3N5cy9keGUuaCIKKyNpbmNs dWRlIDxjb2ZmLmg+CisjaW5jbHVkZSA8c3lzL2R4ZS5oPgogCiB2b2lkIGV4 aXRfY2xlYW51cCh2b2lkKQogewpkaWZmIC1QdXIgZGpsc3JfYTQub3JnL3Ny Yy9keGUvbWFrZWZpbGUgZGpsc3JfYTQuaGJiL3NyYy9keGUvbWFrZWZpbGUK LS0tIGRqbHNyX2E0Lm9yZy9zcmMvZHhlL21ha2VmaWxlCU1vbiBOb3YgIDMg MDM6MjM6MjYgMTk5NworKysgZGpsc3JfYTQuaGJiL3NyYy9keGUvbWFrZWZp bGUJRnJpIE5vdiAyMSAwNjozMDozNCAxOTk3CkBAIC0zLDYgKzMsOSBAQAog VE9QPS4KIGluY2x1ZGUgJChUT1ApLy4uL21ha2VmaWxlLmluYwogCisjIHJl bGF4IGVycm9yIGNoZWNraW5nOgorWEdDQz0kKFhMR0NDKQorCiBhbGwgOjog bmF0aXZlIFwKIAkkKEJJTikvZHhlZ2VuLmV4ZSBcCiAJJEUKQEAgLTExLDEx ICsxNCwxMCBAQAogCSQoSE9TVEJJTikvZHhlZ2VuLmV4ZQogCSRFCiAKLSQo QklOKS9keGVnZW4uZXhlIDogZHhlZ2VuLmMKLQkkKFhMR0NDKSBkeGVnZW4u YyAtbyAkQAorZHhlZ2VuLm8gOiBkeGVnZW4uYwogCiAkKEhPU1RCSU4pL2R4 ZWdlbi5leGUgOiBkeGVnZW4uYwogCSQoR0NDKSBkeGVnZW4uYyAtbyAkQAog CiBjbGVhbiA6OgotCS1ybSAtZiAqLm8KKwlALSQoTUlTQykgcm0gKi5vICQo SE9TVEJJTikvZHhlZ2VuLmV4ZQpkaWZmIC1QdXIgZGpsc3JfYTQub3JnL3Ny Yy9saWJjL2NydDAvbWFrZWZpbGUgZGpsc3JfYTQuaGJiL3NyYy9saWJjL2Ny dDAvbWFrZWZpbGUKLS0tIGRqbHNyX2E0Lm9yZy9zcmMvbGliYy9jcnQwL21h a2VmaWxlCUZyaSBKdWwgMjYgMDU6MDY6MzAgMTk5NgorKysgZGpsc3JfYTQu aGJiL3NyYy9saWJjL2NydDAvbWFrZWZpbGUJVGh1IE5vdiAyMCAyMjo1Mzo1 OCAxOTk3CkBAIC0yMiw5ICsyMiw5IEBACiAJZGphc20gc2JyazE2LmFzbSBz YnJrMTYuYWgKIAogJChMSUIpL2NydDAubyA6IGNydDAuUyBleGl0MTYuYWgg c2JyazE2LmFoCi0JJChHQ0MpIC1vICRACisJJChYR0NDKSAtYyAkPCAtbyAk QAogCXNlZCAnc0BjcnQwLm9AJChMSUIpL2NydDAub0AnIGNydDAuZCA+IGNy dDAyLmQKIAogJChMSUIpL2djcnQwLm8gOiBnY3J0MC5TIGV4aXQxNi5haCBz YnJrMTYuYWgKLQkkKEdDQykgLW8gJEAKKwkkKFhHQ0MpIC1jICQ8IC1vICRA CiAJc2VkICdzQGdjcnQwLm9AJChMSUIpL2djcnQwLm9AJyBnY3J0MC5kID4g Z2NydDAyLmQKZGlmZiAtUHVyIGRqbHNyX2E0Lm9yZy9zcmMvbGliYy9tYWtl ZmlsZSBkamxzcl9hNC5oYmIvc3JjL2xpYmMvbWFrZWZpbGUKLS0tIGRqbHNy X2E0Lm9yZy9zcmMvbGliYy9tYWtlZmlsZQlNb24gTm92ICAzIDA2OjAxOjQ0 IDE5OTcKKysrIGRqbHNyX2E0LmhiYi9zcmMvbGliYy9tYWtlZmlsZQlGcmkg Tm92IDIxIDA3OjQwOjQ0IDE5OTcKQEAgLTI2LDMgKzI2LDggQEAKIAogcHMg OiBsaWJjLnRleCBsaWJjMi50ZXgKIAl0ZXhpMnBzIC12IGxpYmMudGV4CisK K2NsZWFuIDo6CisJQCQoTUlTQykgcm0gbGliYzIudGV4CisJQCQoTUFLRSkg LUMgc3R1YnMgJEAKKwlAJChNQUtFKSAtQyBjcnQwICRACmRpZmYgLVB1ciBk amxzcl9hNC5vcmcvc3JjL2xpYmMvbWFrZWZpbGUub2kgZGpsc3JfYTQuaGJi L3NyYy9saWJjL21ha2VmaWxlLm9pCi0tLSBkamxzcl9hNC5vcmcvc3JjL2xp YmMvbWFrZWZpbGUub2kJU2F0IE5vdiAxNSAwMzo1MDoyOCAxOTk3CisrKyBk amxzcl9hNC5oYmIvc3JjL2xpYmMvbWFrZWZpbGUub2kJRnJpIE5vdiAyMSAw NzoyMzozMCAxOTk3CkBAIC0xLDQgKzEsMyBAQAotCiBPQkpTICs9IGFuc2kv YXNzZXJ0L2Fzc2VydC5vCiBPQkpTICs9IGFuc2kvY3R5cGUvY3RfZmxhZ3Mu byBhbnNpL2N0eXBlL2N0X2xvd2VyLm8gYW5zaS9jdHlwZS9jdF91cHBlci5v IGFuc2kvY3R5cGUvaXNhbG51bS5vIGFuc2kvY3R5cGUvaXNhbHBoYS5vIGFu c2kvY3R5cGUvaXNhc2NpaS5vIGFuc2kvY3R5cGUvaXNjbnRybC5vIGFuc2kv Y3R5cGUvaXNkaWdpdC5vIGFuc2kvY3R5cGUvaXNncmFwaC5vIGFuc2kvY3R5 cGUvaXNsb3dlci5vIGFuc2kvY3R5cGUvaXNwcmludC5vIGFuc2kvY3R5cGUv aXNwdW5jdC5vIGFuc2kvY3R5cGUvaXNzcGFjZS5vIGFuc2kvY3R5cGUvaXN1 cHBlci5vIGFuc2kvY3R5cGUvaXN4ZGlnaXQubyBhbnNpL2N0eXBlL3RvYXNj aWkubyBhbnNpL2N0eXBlL3RvbG93ZXIubyBhbnNpL2N0eXBlL3RvdXBwZXIu bwogT0JKUyArPSBhbnNpL2Vycm5vL2Vycm5vLm8KZGlmZiAtUHVyIGRqbHNy X2E0Lm9yZy9zcmMvbGliYy9tYWtlZmlsZS5yZiBkamxzcl9hNC5oYmIvc3Jj L2xpYmMvbWFrZWZpbGUucmYKLS0tIGRqbHNyX2E0Lm9yZy9zcmMvbGliYy9t YWtlZmlsZS5yZglNb24gTm92ICAzIDAyOjA2OjU4IDE5OTcKKysrIGRqbHNy X2E0LmhiYi9zcmMvbGliYy9tYWtlZmlsZS5yZglGcmkgTm92IDIxIDA1OjA4 OjQyIDE5OTcKQEAgLTEsNCArMSwzIEBACi0KIGFuc2kvYXNzZXJ0L2Fzc2Vy dC5vCiBhbnNpL2N0eXBlL2N0X2ZsYWdzLm8gYW5zaS9jdHlwZS9jdF9sb3dl ci5vIGFuc2kvY3R5cGUvY3RfdXBwZXIubyBhbnNpL2N0eXBlL2lzYWxudW0u byBhbnNpL2N0eXBlL2lzYWxwaGEubyBhbnNpL2N0eXBlL2lzYXNjaWkubyBh bnNpL2N0eXBlL2lzY250cmwubyBhbnNpL2N0eXBlL2lzZGlnaXQubyBhbnNp L2N0eXBlL2lzZ3JhcGgubyBhbnNpL2N0eXBlL2lzbG93ZXIubyBhbnNpL2N0 eXBlL2lzcHJpbnQubyBhbnNpL2N0eXBlL2lzcHVuY3QubyBhbnNpL2N0eXBl L2lzc3BhY2UubyBhbnNpL2N0eXBlL2lzdXBwZXIubyBhbnNpL2N0eXBlL2lz eGRpZ2l0Lm8gYW5zaS9jdHlwZS90b2FzY2lpLm8gYW5zaS9jdHlwZS90b2xv d2VyLm8gYW5zaS9jdHlwZS90b3VwcGVyLm8KIGFuc2kvZXJybm8vZXJybm8u bwpkaWZmIC1QdXIgZGpsc3JfYTQub3JnL3NyYy9saWJjL3N0dWJzL21ha2Vm aWxlIGRqbHNyX2E0LmhiYi9zcmMvbGliYy9zdHVicy9tYWtlZmlsZQotLS0g ZGpsc3JfYTQub3JnL3NyYy9saWJjL3N0dWJzL21ha2VmaWxlCU1vbiBOb3Yg IDMgMDY6MDE6NDQgMTk5NworKysgZGpsc3JfYTQuaGJiL3NyYy9saWJjL3N0 dWJzL21ha2VmaWxlCUZyaSBOb3YgMjEgMDI6MjE6MDAgMTk5NwpAQCAtMiw3 ICsyLDcgQEAKIFRPUCA9IC4uCiBpbmNsdWRlICQoVE9QKS8uLi9tYWtlZmls ZS5pbmMKIAotU1RVQkggPSAkKFRPUCkvLi4vLi4vaW5jbHVkZS9saWJjL3N0 dWJzLmgKK1NUVUJIID0gJChNWV9ESkRJUikvaW5jbHVkZS9saWJjL3N0dWJz LmgKIAogYWxsIDo6IG1ha2VmaWwyCiAJJChNQUtFKSAtZiBtYWtlZmlsMgpA QCAtMTQsNCArMTQsNCBAQAogCSQoR0NDKSBta3N0dWJzLmMgLW8gbWtzdHVi cy5leGUKIAogY2xlYW4gOjoKLQktcm0gLWYgKi5TIG1ha2VmaWwyIG1rc3R1 YnMuZXhlCisJQC0kKE1JU0MpIHJtICouUyBtYWtlZmlsMiBta3N0dWJzLmV4 ZQpkaWZmIC1QdXIgZGpsc3JfYTQub3JnL3NyYy9saWJlbXUvbWFrZWZpbGUu c3ViIGRqbHNyX2E0LmhiYi9zcmMvbGliZW11L21ha2VmaWxlLnN1YgotLS0g ZGpsc3JfYTQub3JnL3NyYy9saWJlbXUvbWFrZWZpbGUuc3ViCU1vbiBOb3Yg IDMgMDI6MTE6MzIgMTk5NworKysgZGpsc3JfYTQuaGJiL3NyYy9saWJlbXUv bWFrZWZpbGUuc3ViCUZyaSBOb3YgMjEgMDc6NDk6NDIgMTk5NwpAQCAtMSwy ICsxLDIgQEAKIGFsbF9zdWJzOgotCSQoTUFLRSkgLS1uby1wcmludC1kaXJl Y3RvcnkgLUMgc3JjICQoU1VCQVJHUykKKwkkKE1BS0UpIC1DIHNyYyAkKFNV QkFSR1MpCmRpZmYgLVB1ciBkamxzcl9hNC5vcmcvc3JjL2xpYm0vbWFrZWZp bGUub2kgZGpsc3JfYTQuaGJiL3NyYy9saWJtL21ha2VmaWxlLm9pCi0tLSBk amxzcl9hNC5vcmcvc3JjL2xpYm0vbWFrZWZpbGUub2kJU2F0IE5vdiAxNSAw Mzo1MDo0MiAxOTk3CisrKyBkamxzcl9hNC5oYmIvc3JjL2xpYm0vbWFrZWZp bGUub2kJRnJpIE5vdiAyMSAwNzoyMzo1NiAxOTk3CkBAIC0xLDIgKzEgQEAK LQogT0JKUyArPSBzcmMvZV9hY29zLm8gc3JjL2VfYWNvc2gubyBzcmMvZV9h c2luLm8gc3JjL2VfYXRhbjIubyBzcmMvZV9hdGFuaC5vIHNyYy9lX2Nvc2gu byBzcmMvZV9leHAubyBzcmMvZV9mbW9kLm8gc3JjL2VfZ2FtbWEubyBzcmMv ZV9oeXBvdC5vIHNyYy9lX2owLm8gc3JjL2VfajEubyBzcmMvZV9qbi5vIHNy Yy9lX2xnYW1tYS5vIHNyYy9lX2xvZy5vIHNyYy9lX2xvZzEwLm8gc3JjL2Vf cG93Lm8gc3JjL2VfcmVtX3BpLm8gc3JjL2VfcmVtYWluLm8gc3JjL2Vfc2Nh bGIubyBzcmMvZV9zaW5oLm8gc3JjL2Vfc3FydC5vIHNyYy9lZl9hY29zLm8g c3JjL2VmX2Fjb3NoLm8gc3JjL2VmX2FzaW4ubyBzcmMvZWZfYXRhbjIubyBz cmMvZWZfYXRhbmgubyBzcmMvZWZfY29zaC5vIHNyYy9lZl9leHAubyBzcmMv ZWZfZm1vZC5vIHNyYy9lZl9nYW1tYS5vIHNyYy9lZl9oeXBvdC5vIHNyYy9l Zl9qMC5vIHNyYy9lZl9qMS5vIHNyYy9lZl9qbi5vIHNyYy9lZl9sZ2FtbS5v IHNyYy9lZl9sb2cubyBzcmMvZWZfbG9nMTAubyBzcmMvZWZfcG93Lm8gc3Jj L2VmX3JlbV9wLm8gc3JjL2VmX3JlbWFpLm8gc3JjL2VmX3NjYWxiLm8gc3Jj L2VmX3NpbmgubyBzcmMvZWZfc3FydC5vIHNyYy9lcl9nYW1tYS5vIHNyYy9l cl9sZ2FtbS5vIHNyYy9lcmZfZ2FtbS5vIHNyYy9lcmZfbGdhbS5vIHNyYy9r X2Nvcy5vIHNyYy9rX3JlbV9waS5vIHNyYy9rX3Npbi5vIHNyYy9rX3N0YW5k YS5vIHNyYy9rX3Rhbi5vIHNyYy9rZl9jb3MubyBzcmMva2ZfcmVtX3AubyBz cmMva2Zfc2luLm8gc3JjL2tmX3Rhbi5vIHNyYy9zX2FzaW5oLm8gc3JjL3Nf YXRhbi5vIHNyYy9zX2NicnQubyBzcmMvc19jZWlsLm8gc3JjL3NfY29weXNp Lm8gc3JjL3NfY29zLm8gc3JjL3NfZXJmLm8gc3JjL3NfZXhwbTEubyBzcmMv c19mYWJzLm8gc3JjL3NfZmluaXRlLm8gc3JjL3NfZmxvb3IubyBzcmMvc19m cmV4cC5vIHNyYy9zX2lsb2diLm8gc3JjL3NfaW5maW5pLm8gc3JjL3NfaXNp bmYubyBzcmMvc19pc25hbi5vIHNyYy9zX2xkZXhwLm8gc3JjL3NfbGlidmVy Lm8gc3JjL3NfbG9nMXAubyBzcmMvc19sb2diLm8gc3JjL3NfbWF0aGVyLm8g c3JjL3NfbW9kZi5vIHNyYy9zX25leHRhZi5vIHNyYy9zX3JpbnQubyBzcmMv c19zY2FsYm4ubyBzcmMvc19zaWduZ2EubyBzcmMvc19zaWduaWYubyBzcmMv c19zaW4ubyBzcmMvc190YW4ubyBzcmMvc190YW5oLm8gc3JjL3NmX2FzaW5o Lm8gc3JjL3NmX2F0YW4ubyBzcmMvc2ZfY2JydC5vIHNyYy9zZl9jZWlsLm8g c3JjL3NmX2NvcHlzLm8gc3JjL3NmX2Nvcy5vIHNyYy9zZl9lcmYubyBzcmMv c2ZfZXhwbTEubyBzcmMvc2ZfZmFicy5vIHNyYy9zZl9maW5pdC5vIHNyYy9z Zl9mbG9vci5vIHNyYy9zZl9mcmV4cC5vIHNyYy9zZl9pbG9nYi5vIHNyYy9z Zl9pc2luZi5vIHNyYy9zZl9pc25hbi5vIHNyYy9zZl9sZGV4cC5vIHNyYy9z Zl9sb2cxcC5vIHNyYy9zZl9sb2diLm8gc3JjL3NmX21vZGYubyBzcmMvc2Zf bmV4dGEubyBzcmMvc2ZfcmludC5vIHNyYy9zZl9zY2FsYi5vIHNyYy9zZl9z aWduaS5vIHNyYy9zZl9zaW4ubyBzcmMvc2ZfdGFuLm8gc3JjL3NmX3Rhbmgu byBzcmMvd19hY29zLm8gc3JjL3dfYWNvc2gubyBzcmMvd19hc2luLm8gc3Jj L3dfYXRhbjIubyBzcmMvd19hdGFuaC5vIHNyYy93X2NhYnMubyBzcmMvd19j b3NoLm8gc3JjL3dfZHJlbS5vIHNyYy93X2V4cC5vIHNyYy93X2Ztb2QubyBz cmMvd19nYW1tYS5vIHNyYy93X2h5cG90Lm8gc3JjL3dfajAubyBzcmMvd19q MS5vIHNyYy93X2puLm8gc3JjL3dfbGdhbW1hLm8gc3JjL3dfbG9nLm8gc3Jj L3dfbG9nMTAubyBzcmMvd19wb3cubyBzcmMvd19yZW1haW4ubyBzcmMvd19z Y2FsYi5vIHNyYy93X3NpbmgubyBzcmMvd19zcXJ0Lm8gc3JjL3dmX2Fjb3Mu byBzcmMvd2ZfYWNvc2gubyBzcmMvd2ZfYXNpbi5vIHNyYy93Zl9hdGFuMi5v IHNyYy93Zl9hdGFuaC5vIHNyYy93Zl9jYWJzLm8gc3JjL3dmX2Nvc2gubyBz cmMvd2ZfZHJlbS5vIHNyYy93Zl9leHAubyBzcmMvd2ZfZm1vZC5vIHNyYy93 Zl9nYW1tYS5vIHNyYy93Zl9oeXBvdC5vIHNyYy93Zl9qMC5vIHNyYy93Zl9q MS5vIHNyYy93Zl9qbi5vIHNyYy93Zl9sZ2FtbS5vIHNyYy93Zl9sb2cubyBz cmMvd2ZfbG9nMTAubyBzcmMvd2ZfcG93Lm8gc3JjL3dmX3JlbWFpLm8gc3Jj L3dmX3NjYWxiLm8gc3JjL3dmX3NpbmgubyBzcmMvd2Zfc3FydC5vIHNyYy93 cl9nYW1tYS5vIHNyYy93cl9sZ2FtbS5vIHNyYy93cmZfZ2FtbS5vIHNyYy93 cmZfbGdhbS5vCmRpZmYgLVB1ciBkamxzcl9hNC5vcmcvc3JjL2xpYm0vbWFr ZWZpbGUucmYgZGpsc3JfYTQuaGJiL3NyYy9saWJtL21ha2VmaWxlLnJmCi0t LSBkamxzcl9hNC5vcmcvc3JjL2xpYm0vbWFrZWZpbGUucmYJTW9uIE5vdiAg MyAwMjowNzoyMCAxOTk3CisrKyBkamxzcl9hNC5oYmIvc3JjL2xpYm0vbWFr ZWZpbGUucmYJRnJpIE5vdiAyMSAwNDo1MDoxNiAxOTk3CkBAIC0xLDIgKzEg QEAKLQogc3JjL2VfYWNvcy5vIHNyYy9lX2Fjb3NoLm8gc3JjL2VfYXNpbi5v IHNyYy9lX2F0YW4yLm8gc3JjL2VfYXRhbmgubyBzcmMvZV9jb3NoLm8gc3Jj L2VfZXhwLm8gc3JjL2VfZm1vZC5vIHNyYy9lX2dhbW1hLm8gc3JjL2VfaHlw b3QubyBzcmMvZV9qMC5vIHNyYy9lX2oxLm8gc3JjL2Vfam4ubyBzcmMvZV9s Z2FtbWEubyBzcmMvZV9sb2cubyBzcmMvZV9sb2cxMC5vIHNyYy9lX3Bvdy5v IHNyYy9lX3JlbV9waS5vIHNyYy9lX3JlbWFpbi5vIHNyYy9lX3NjYWxiLm8g c3JjL2Vfc2luaC5vIHNyYy9lX3NxcnQubyBzcmMvZWZfYWNvcy5vIHNyYy9l Zl9hY29zaC5vIHNyYy9lZl9hc2luLm8gc3JjL2VmX2F0YW4yLm8gc3JjL2Vm X2F0YW5oLm8gc3JjL2VmX2Nvc2gubyBzcmMvZWZfZXhwLm8gc3JjL2VmX2Zt b2QubyBzcmMvZWZfZ2FtbWEubyBzcmMvZWZfaHlwb3QubyBzcmMvZWZfajAu byBzcmMvZWZfajEubyBzcmMvZWZfam4ubyBzcmMvZWZfbGdhbW0ubyBzcmMv ZWZfbG9nLm8gc3JjL2VmX2xvZzEwLm8gc3JjL2VmX3Bvdy5vIHNyYy9lZl9y ZW1fcC5vIHNyYy9lZl9yZW1haS5vIHNyYy9lZl9zY2FsYi5vIHNyYy9lZl9z aW5oLm8gc3JjL2VmX3NxcnQubyBzcmMvZXJfZ2FtbWEubyBzcmMvZXJfbGdh bW0ubyBzcmMvZXJmX2dhbW0ubyBzcmMvZXJmX2xnYW0ubyBzcmMva19jb3Mu byBzcmMva19yZW1fcGkubyBzcmMva19zaW4ubyBzcmMva19zdGFuZGEubyBz cmMva190YW4ubyBzcmMva2ZfY29zLm8gc3JjL2tmX3JlbV9wLm8gc3JjL2tm X3Npbi5vIHNyYy9rZl90YW4ubyBzcmMvc19hc2luaC5vIHNyYy9zX2F0YW4u byBzcmMvc19jYnJ0Lm8gc3JjL3NfY2VpbC5vIHNyYy9zX2NvcHlzaS5vIHNy Yy9zX2Nvcy5vIHNyYy9zX2VyZi5vIHNyYy9zX2V4cG0xLm8gc3JjL3NfZmFi cy5vIHNyYy9zX2Zpbml0ZS5vIHNyYy9zX2Zsb29yLm8gc3JjL3NfZnJleHAu byBzcmMvc19pbG9nYi5vIHNyYy9zX2luZmluaS5vIHNyYy9zX2lzaW5mLm8g c3JjL3NfaXNuYW4ubyBzcmMvc19sZGV4cC5vIHNyYy9zX2xpYnZlci5vIHNy Yy9zX2xvZzFwLm8gc3JjL3NfbG9nYi5vIHNyYy9zX21hdGhlci5vIHNyYy9z X21vZGYubyBzcmMvc19uZXh0YWYubyBzcmMvc19yaW50Lm8gc3JjL3Nfc2Nh bGJuLm8gc3JjL3Nfc2lnbmdhLm8gc3JjL3Nfc2lnbmlmLm8gc3JjL3Nfc2lu Lm8gc3JjL3NfdGFuLm8gc3JjL3NfdGFuaC5vIHNyYy9zZl9hc2luaC5vIHNy Yy9zZl9hdGFuLm8gc3JjL3NmX2NicnQubyBzcmMvc2ZfY2VpbC5vIHNyYy9z Zl9jb3B5cy5vIHNyYy9zZl9jb3MubyBzcmMvc2ZfZXJmLm8gc3JjL3NmX2V4 cG0xLm8gc3JjL3NmX2ZhYnMubyBzcmMvc2ZfZmluaXQubyBzcmMvc2ZfZmxv b3IubyBzcmMvc2ZfZnJleHAubyBzcmMvc2ZfaWxvZ2IubyBzcmMvc2ZfaXNp bmYubyBzcmMvc2ZfaXNuYW4ubyBzcmMvc2ZfbGRleHAubyBzcmMvc2ZfbG9n MXAubyBzcmMvc2ZfbG9nYi5vIHNyYy9zZl9tb2RmLm8gc3JjL3NmX25leHRh Lm8gc3JjL3NmX3JpbnQubyBzcmMvc2Zfc2NhbGIubyBzcmMvc2Zfc2lnbmku byBzcmMvc2Zfc2luLm8gc3JjL3NmX3Rhbi5vIHNyYy9zZl90YW5oLm8gc3Jj L3dfYWNvcy5vIHNyYy93X2Fjb3NoLm8gc3JjL3dfYXNpbi5vIHNyYy93X2F0 YW4yLm8gc3JjL3dfYXRhbmgubyBzcmMvd19jYWJzLm8gc3JjL3dfY29zaC5v IHNyYy93X2RyZW0ubyBzcmMvd19leHAubyBzcmMvd19mbW9kLm8gc3JjL3df Z2FtbWEubyBzcmMvd19oeXBvdC5vIHNyYy93X2owLm8gc3JjL3dfajEubyBz cmMvd19qbi5vIHNyYy93X2xnYW1tYS5vIHNyYy93X2xvZy5vIHNyYy93X2xv ZzEwLm8gc3JjL3dfcG93Lm8gc3JjL3dfcmVtYWluLm8gc3JjL3dfc2NhbGIu byBzcmMvd19zaW5oLm8gc3JjL3dfc3FydC5vIHNyYy93Zl9hY29zLm8gc3Jj L3dmX2Fjb3NoLm8gc3JjL3dmX2FzaW4ubyBzcmMvd2ZfYXRhbjIubyBzcmMv d2ZfYXRhbmgubyBzcmMvd2ZfY2Ficy5vIHNyYy93Zl9jb3NoLm8gc3JjL3dm X2RyZW0ubyBzcmMvd2ZfZXhwLm8gc3JjL3dmX2Ztb2QubyBzcmMvd2ZfZ2Ft bWEubyBzcmMvd2ZfaHlwb3QubyBzcmMvd2ZfajAubyBzcmMvd2ZfajEubyBz cmMvd2Zfam4ubyBzcmMvd2ZfbGdhbW0ubyBzcmMvd2ZfbG9nLm8gc3JjL3dm X2xvZzEwLm8gc3JjL3dmX3Bvdy5vIHNyYy93Zl9yZW1haS5vIHNyYy93Zl9z Y2FsYi5vIHNyYy93Zl9zaW5oLm8gc3JjL3dmX3NxcnQubyBzcmMvd3JfZ2Ft bWEubyBzcmMvd3JfbGdhbW0ubyBzcmMvd3JmX2dhbW0ubyBzcmMvd3JmX2xn YW0ubwpkaWZmIC1QdXIgZGpsc3JfYTQub3JnL3NyYy9tYWtlZmlsZSBkamxz cl9hNC5oYmIvc3JjL21ha2VmaWxlCi0tLSBkamxzcl9hNC5vcmcvc3JjL21h a2VmaWxlCU1vbiBOb3YgIDMgMDQ6MjM6NTIgMTk5NworKysgZGpsc3JfYTQu aGJiL3NyYy9tYWtlZmlsZQlGcmkgTm92IDIxIDA3OjQ4OjIwIDE5OTcKQEAg LTIsMTYgKzIsMTUgQEAKIAogTUFLRUZMQUdTIDo9IC0tbm8tcHJpbnQtZGly ZWN0b3J5CiAKLWFsbCA6IG1pc2MuZXhlIC4uL2hvc3RiaW4gLi4vYmluIG1h a2VtYWtlLmV4ZSBzdWJzCitESVJTX1RPX0JVSUxEID0gLi4vaG9zdGJpbiAu Li9iaW4gLi4vaW5jbHVkZSAuLi9saWIKKworYWxsIDogbWlzYy5leGUgJChE SVJTX1RPX0JVSUxEKSBtYWtlbWFrZS5leGUgc3VicwogCiBtaXNjLmV4ZSA6 IG1pc2MuYwogCWdjYyAtTzIgbWlzYy5jIC1vIG1pc2MuZXhlCiAKLS4uL2hv c3RiaW4gOgotCS4vbWlzYy5leGUgbWtkaXIgLi4vaG9zdGJpbgotCi0uLi9i aW4gOgotCS4vbWlzYy5leGUgbWtkaXIgLi4vYmluCiskKERJUlNfVE9fQlVJ TEQpOgorCS4vbWlzYy5leGUgbWtkaXIgJEAKIAogbWFrZW1ha2UuZXhlIDog bWFrZW1ha2UuYwogCWdjYyAtTzIgbWFrZW1ha2UuYyAtbyBtYWtlbWFrZS5l eGUKQEAgLTIzLDkgKzIyLDMzIEBACiAJJChNQUtFKSAtQyBzdHViIG5hdGl2 ZQogCSQoTUFLRSkgLUMgbWtkb2MKIAkkKE1BS0UpIC1DIGxpYmMKKwkkKE1B S0UpIC1DIGRlYnVnCiAJJChNQUtFKSAtQyBzdHViCiAJJChNQUtFKSAtQyBk eGUKIAkkKE1BS0UpIC1DIGxpYm0KLQkkKE1BS0UpIC1DIGRlYnVnCiAJJChN QUtFKSAtQyB1dGlscwogCSQoTUFLRSkgLUMgZG9jcy9rYgorCisuUEhPTlkg OiBjbGVhbiByZWFsY2xlYW4KK2NsZWFuIDogbWlzYy5leGUgbWFrZW1ha2Uu ZXhlCisJJChNQUtFKSAtQyBsaWJjIGNsZWFuCisJJChNQUtFKSAtQyBsaWJt IGNsZWFuCisJJChNQUtFKSAtQyBkZWJ1ZyBjbGVhbgorCSQoTUFLRSkgLUMg bGliZW11IGNsZWFuCisJJChNQUtFKSAtQyB1dGlscyBjbGVhbgorCSQoTUFL RSkgLUMgc3R1YiBjbGVhbgorCSQoTUFLRSkgLUMgZHhlIGNsZWFuCisJJChN QUtFKSAtQyBta2RvYyBjbGVhbgorCSQoTUFLRSkgLUMgZG9jcy9rYiBjbGVh bgorCS4vbWlzYy5leGUgcm0gbWFrZW1ha2UuZXhlIGNvcHlyaXRlLmV4ZQor I1llcywgSSBrbm93IHRoaXMgaXMgc3lzdGVtLWRlcGVuZGVudCwgYnV0IGZv ciBub3csIEkgZG9uJ3Qga25vdyBhIGJldHRlciB3YXkuCisjQW5kIEknbSBq dXN0IHRvbyBsYXp5IHRvIGFkZCAncm1kaXInIGhhbmRsaW5nIHRvICdtaXNj LmV4ZScuCisjTGV0J3MgaG9wZSBESkdQUCBNYWtlIGhhbmRsZXMgdGhpcyAn YXV0b21hZ2ljYWxseSBlbm91Z2gnOgorCS1ybWRpciAuLi9ob3N0YmluCisK K3JlYWxjbGVhbjogbWlzYy5leGUgY2xlYW4KKyNBdCBmaXJzdCBzaWdodCwg SSB3YW50ZWQgdG8gcmVtb3ZlIGFsbCB0aGUgJChESVJTX1RPX0JVSUxEKSB3 aXRoCisjJ3JtIC1yZicsIGJ1dCB0aGF0IGRlc2FzdGVyIHdvdWxkIGhhdmUg YmVlbiBqdXN0IGEgKmJpdCogdG8gYmlnCisjaWYgYW55b25lIGluYWR2ZXJ0 YW50bHkgZGlkIHRoaXMgd2l0aCB0aGUgc291cmNlcyB1bnBhY2tlZCBpbnRv CisjJChESkRJUikgOi0+CisJLi9taXNjLmV4ZSBybSBtaXNjLmV4ZQpkaWZm IC1QdXIgZGpsc3JfYTQub3JnL3NyYy9tYWtlZmlsZS5kZWYgZGpsc3JfYTQu aGJiL3NyYy9tYWtlZmlsZS5kZWYKLS0tIGRqbHNyX2E0Lm9yZy9zcmMvbWFr ZWZpbGUuZGVmCVNhdCBOb3YgMTUgMDM6NDk6NDggMTk5NworKysgZGpsc3Jf YTQuaGJiL3NyYy9tYWtlZmlsZS5kZWYJRnJpIE5vdiAyMSAwMzowNDoyNiAx OTk3CkBAIC0xNyw0ICsxNywyMyBAQAogI0NST1NTX0JVSUxEID0gMQogQ1JP U1NfQlVJTEQgPSAwCiAKKyNIQkI6IE1ZX0RKRElSIGNhbiBiZSBzZXQgdG8g JChESkRJUiksIGJ1dCB5b3UgY2FuIGFsc28gaGF2ZQorIyBpdCBwb2ludCBz b21ld2hlcmUgZWxzZS4gV2hlcmUgZXZlciwgJChNWV9ESkRJUikgc2hvdWxk CisjIGJlIHRoZSBiYXNlIGRpcmVjdG9yeSBvZiB0aGUgZGpkZXYqLnppcCB0 cmVlIG9mIHRoZSBzYW1lCisjIHJlbGFzZSBhcyB0aGlzIGRqbHNyKi56aXAu IFRoaXMgbWF5IGJlIGRpZmZlcmVudCBmcm9tIHlvdXIKKyMgdXN1YWwgJERK RElSLCBlLmcuIGlmIHRoaXMgaXMgYW4gZWFybHkgYnVpbGQgb2YgYQorIyBu ZXcgcmVsZWFzZSwgYW5kIHlvdSdyZSBzdGlsbCB1c2luZyB0aGUgcHJldmlv dXMgb25lIHRvCisjIGNvbXBpbGUgaXQ6CitNWV9ESkRJUiA9IGM6L2dwcG5l dworCisjSEJCOiBZZXQgYW5vdGhlciBWYXJpYWJsZS4gVGhpcyBpcyB0aGUg ZnVsbCBwYXRoIHRvIGEgdXNhYmxlCisjIGxpYmdjYy5hIHRoYXQgd2lsbCBi ZSB1c2VkIGZvciBjb21waWxpbmcgdGhlIHRvb2xzLgorIyBJbiBhIG5hdGl2 ZSBjb21waWxhdGlvbiwgJERKRElSL2xpYi9saWJnY2MuYSBzaG91bGQKKyMg YWx3YXlzIHdvcms6CitpZmVxICgkKENST1NTX0JVSUxEKSwxKQorTVlfTElC R0NDX0EgPSAvc29tZS93aGVyZS9saWJnY2MuYQorZWxzZQorTVlfTElCR0ND X0EgPSAkKERKRElSKS9saWIvbGliZ2NjLmEKK2VuZGlmCisKICMgWW91IG1h eSBuZWVkIHRvIHJlcGxhY2UgY29mZi1nbzMyIHdpdGggY29mZi1pMzg2IGlu IGxpYi9kamdwcC5kamwKZGlmZiAtUHVyIGRqbHNyX2E0Lm9yZy9zcmMvbWFr ZWZpbGUuaW5jIGRqbHNyX2E0LmhiYi9zcmMvbWFrZWZpbGUuaW5jCi0tLSBk amxzcl9hNC5vcmcvc3JjL21ha2VmaWxlLmluYwlNb24gTm92ICAzIDA2OjE5 OjQ2IDE5OTcKKysrIGRqbHNyX2E0LmhiYi9zcmMvbWFrZWZpbGUuaW5jCUZy aSBOb3YgMjEgMDU6MzM6NDggMTk5NwpAQCAtNiwxNyArNiw0MiBAQAogCiAu U1VGRklYRVM6IC5vIC5pIC5jIC5jYyAucwogCi1pZm5lcSAoJChDUk9TU19C VUlMRCksMSkKLVhHQ0MgPSAkKENST1NTX0dDQykgQCQoVE9QKS8uLi9nY2Mu b3B0IC1JLiAtSS0gLUkkKFRPUCkvLi4vLi4vaW5jbHVkZSAkKENGTEFHUykK LVhMR0NDID0gJChDUk9TU19HQ0MpIC1zIEAkKFRPUCkvLi4vZ2NjLWwub3B0 IC1JLiAtSS0gLUkkKFRPUCkvLi4vLi4vaW5jbHVkZSAkKENGTEFHUykKLWVs c2UKKyMgQmFzZWQgb24gZGVmaW5pdGlvbnMgZnJvbSB0aGUgbWFrZWZpbGUg dGhhdCBkaWQKKyMgJ2luY2x1ZGUgey4uLn0vbWFrZWZpbGUuaW5jJywgYW5k IGZyb20gbWFrZWZpbGUuZGVmLAorIyBsZXQncyBmaXJzdCBkZWZpbmUgc29t ZSBjb252ZW5pZW50IHNob3J0Y3V0IG5hbWVzCisjIGZvciBkaXJlY3Rvcmll czoKK0xJQj0kKFRPUCkvLi4vLi4vbGliCitCSU49JChUT1ApLy4uLy4uL2Jp bgorSU5DPSQoVE9QKS8uLi8uLi9pbmNsdWRlCitJTkZPPSQoVE9QKS8uLi8u Li9pbmZvCisjIFRoaXMgaXMgd2hlcmUgdXRpbGl0aWVzIGdvIHRoYXQgYXJl IGJ1aWx0IGFzIGludGVybWVkaWF0ZQorIyB0b29sczogaW4gYSBjcm9zcy1i dWlsZCwgdGhlc2UgYXJlIG1lYW50IHRvIHJ1biBvbiB0aGUKKyMgY29tcGls YXRpb24gbWFjaGluZSAoaS5lLiB0aGUgJ2hvc3QnKSwgbm90IG9uIERPUy9E SkdQUAorSE9TVEJJTiA9ICQoVE9QKS8uLi8uLi9ob3N0YmluCisKKyMgLi4u IGFuZCBhbHNvIGZvciBwcm9ncmFtczoKKyMgREoncyAic3dpc3MgYXJteSBr bmlmZSIgdG8gcmVwbGFjZSBtYW55IHN5c3RlbS1kZXBlbmRlbnQKKyMgIGNv bW1hbmRzOiBta2RpciwgZWNobyAody9yZWRpcmVjdGlvbiksIGNwIGFuZCBy bQorTUlTQyA9ICQoVE9QKS8uLi9taXNjLmV4ZQorIyAnbWlzYycgd2l0aCBu byBwYXJhbWV0ZXJzIGNhbiBiZSB1c2VmdWwgYXMgYSBuby1vcCBjb21tYW5k OgorTk9QID0gQCQoTUlTQykKKworIyBGb3IgY3Jvc3MtY29tcGlsYXRpb24s IG5lZWQgdG8gc3Vic3RpdHV0ZSBmb3IgREpHUFAncyAnQGZpbGUnCisjIG1l Y2hhbmlzbToKK2lmZXEgKCQoQ1JPU1NfQlVJTEQpLDEpCiBHQ0NfT1BUIDo9 ICQoc2hlbGwgY2F0ICQoVE9QKS8uLi9nY2Mub3B0KQogR0NDTF9PUFQgOj0g JChzaGVsbCBjYXQgJChUT1ApLy4uL2djYy1sLm9wdCkKLVhHQ0MgPSAkKENS T1NTX0dDQykgJChHQ0NfT1BUKSAtSS4gLUktIC1JJChUT1ApLy4uLy4uL2lu Y2x1ZGUgJChDRkxBR1MpCi1YTEdDQyA9ICQoQ1JPU1NfR0NDKSAkKEdDQ0xf T1BUKSAtSS4gLUktIC1JJChUT1ApLy4uLy4uL2luY2x1ZGUgJChDRkxBR1Mp CitlbHNlCitHQ0NfT1BUIDo9IEAkKFRPUCkvLi4vZ2NjLm9wdAorR0NDTF9P UFQgOj0gQCQoVE9QKS8uLi9nY2MtbC5vcHQKIGVuZGlmCiAKLU1JU0MgPSAk KFRPUCkvLi4vbWlzYy5leGUKKyMgU2hvcnRjdXQgdmFyaWFibGVzIGZvciBj b21waWxlciBpbnZvY2F0aW9ucyBpbmNsdWRpbmcgYWxsIHRoZSBmbGFnczoK K1hHQ0MgPSAkKENST1NTX0dDQykgJChHQ0NfT1BUKSAtSS4gLUktIC1JJChJ TkMpIC1JJChNWV9ESkRJUikvaW5jbHVkZSAkKENGTEFHUykKK1hMR0NDID0g JChDUk9TU19HQ0MpICQoR0NDTF9PUFQpIC1JLiAtSS0gLUwkKFRPUCkgLUkk KElOQykgLUkkKE1ZX0RKRElSKS9pbmNsdWRlICQoQ0ZMQUdTKQorCisjIE9L LCBub3cgY29tZSBhbGwgdGhvc2UgaW1wbGljaXQgcGF0dGVybiBydWxlcyB0 aGF0IGRvIHRoZQorIyBhY3R1YWwgd29yayBvZiBtb3N0bHkgYXV0b21hdGlj IGNvbXBpbGF0aW9uOgogCiAlLm8gOiAlLmMKIAlAJChNSVNDKSBlY2hvIC0g JChDUk9TU19HQ0MpIC1jICQ8CkBAIC00MywyNCArNjgsMTggQEAKICUuc3Mg OiAlLmNjCiAJJChYR0NDKSAtYyAkPCAtUyA+ICRACiAKLUxJQj0kKFRPUCkv Li4vLi4vbGliCi1CSU49JChUT1ApLy4uLy4uL2JpbgotSU5DPSQoVE9QKS8u Li8uLi9pbmNsdWRlCi1JTkZPPSQoVE9QKS8uLi8uLi9pbmZvCi0KLSMgV2hl cmUgcHJvZ3JhbXMgd2UgKnJ1biogdG8gYnVpbGQgZGpncHAgYXJlCi1IT1NU QklOID0gJChUT1ApLy4uLy4uL2hvc3RiaW4KKyMgU29tZSB0cmlja3kgbWFj aGluZXJ5IHRvIGVuc3VyZSB0aGF0IGNvbXBpbGF0aW9ucyB3aXRoIHRoZQor IyB0YXJnZXQgY29tcGlsZXIgYWN0dWFsbHkgdXNlIHRoZSBuZXdseSBidWls dCBjcnQwIGFuZCBsaWJjOgogCiBDID0gJChMSUIpL2NydDAubwogTCA9ICQo TElCKS9saWJjLmEKIAotTElOSyA9ICQoQ1JPU1NfTEQpIC1zICQoTERGTEFH UykgJChmaWx0ZXIgJS5vLCReKSAkKGZpbHRlci1vdXQgJS5vLCReKSAtbyAk QCAke0xJQn0vbGliZ2NjLmEgLVQgJHtUT1B9Ly4uLy4uL2xpYi9kamdwcC5k amwKK0xJTksgPSAkKENST1NTX0xEKSAtcyAkKExERkxBR1MpICQoZmlsdGVy ICUubywkXikgJChmaWx0ZXItb3V0ICUubywkXikgLW8gJEAgJChNWV9MSUJH Q0NfQSkgLVQgJChNWV9ESkRJUikvbGliL2RqZ3BwLmRqbAogRVhFID0gJChI T1NUQklOKS9zdHViaWZ5LmV4ZSAkQAogCiBPQkpTIDo9ICQoYWRkc3VmZml4 IC5vLCAkKGJhc2VuYW1lICQoU1JDKSkpCiBFWEVTIDo9ICQoYWRkcHJlZml4 ICQoQklOKS8sJChhZGRzdWZmaXggLmV4ZSwgJChiYXNlbmFtZSAkKFNSQykp KSkKIAotTk9QID0gQCQoTUlTQykKIAogLlBSRUNJT1VTOiAlLmV4ZSAlLm91 dCAlLmVycgogCkBAIC04MSw3ICsxMDAsNyBAQAogCUAkKE1JU0MpIGVjaG8g bWFrZWZpbGUub2ggJChhZGRwcmVmaXggXCYvLCQoT0JKUykpCiAKIGNsZWFu IDo6Ci0JLSQoTUlTQykgcm0gKi5vICouZCAqLmkgbWFrZWZpbGUub2gKKwlA LSQoTUlTQykgcm0gKi5vICouZCAqLmkgbWFrZWZpbGUub2gKIAogREVQUyA6 PSAkKHdpbGRjYXJkICouZCkKIGlmbmVxICgkKERFUFMpLCkKZGlmZiAtUHVy IGRqbHNyX2E0Lm9yZy9zcmMvbWFrZWZpbGUubGliIGRqbHNyX2E0LmhiYi9z cmMvbWFrZWZpbGUubGliCi0tLSBkamxzcl9hNC5vcmcvc3JjL21ha2VmaWxl LmxpYglTYXQgTm92IDE1IDAzOjQ5OjMyIDE5OTcKKysrIGRqbHNyX2E0Lmhi Yi9zcmMvbWFrZWZpbGUubGliCUZyaSBOb3YgMjEgMDc6NDI6NDYgMTk5NwpA QCAtOSw3ICs5LDkgQEAKIAkuLi9tYWtlbWFrZS5leGUgLTIKIAkkKE1BS0Up ICQoTElCKS9saWIkKExJQk5BTUUpLmEKIAotaWZuZXEgKCQod2lsZGNhcmQg bWFrZWZpbGUuaW8pLCkKK2luY2x1ZGUgJChUT1ApLy4uL21ha2VmaWxlLmlu YworCitpZm5lcSAoJCh3aWxkY2FyZCBtYWtlZmlsZS5vaSksKQogaW5jbHVk ZSBtYWtlZmlsZS5vaQogZW5kaWYKIApAQCAtMjgsNyArMzAsOCBAQAogCSQo Q1JPU1NfQVIpIHEgJChMSUIpL2xpYiQoTElCTkFNRSkuYSBAbWFrZWZpbGUu cmYgaWRfJChMSUJOQU1FKS5vCiAJJChDUk9TU19BUikgcyAkKExJQikvbGli JChMSUJOQU1FKS5hCiAKLWluY2x1ZGUgJChUT1ApLy4uL21ha2VmaWxlLmlu YwotCiBjbGVhbiA6OgotCUAtJChNSVNDKSAtZiAkKExJQikvbGliJChMSUJO QU1FKS5hIG1ha2VmaWxlLm9pIG1ha2VmaWxlLnJmCisJJChUT1ApLy4uL21h a2VtYWtlLmV4ZQorCSQoTUFLRSkgLWYgbWFrZWZpbGUuc3ViIFNVQkFSR1M9 Y2xlYW4KKyMJQC0kKE1JU0MpIHJtICQoT0JKUykKKyMJQC0kKE1JU0MpIHJt ICQocGF0c3Vic3QgJS5vLCUuZCwkKE9CSlMpKQpkaWZmIC1QdXIgZGpsc3Jf YTQub3JnL3NyYy9tYWtlbWFrZS5jIGRqbHNyX2E0LmhiYi9zcmMvbWFrZW1h a2UuYwotLS0gZGpsc3JfYTQub3JnL3NyYy9tYWtlbWFrZS5jCU1vbiBOb3Yg IDMgMDM6NTA6NTggMTk5NworKysgZGpsc3JfYTQuaGJiL3NyYy9tYWtlbWFr ZS5jCUZyaSBOb3YgMjEgMDU6Mzg6NDQgMTk5NwpAQCAtMTEzLDcgKzExMywx MSBAQAogICAgIH0KIAogICAgIC8qIFNlZSBpZiB0aGUgY3VycmVudCBkaXJl Y3RvcnkgaGFzIGEgbWFrZWZpbGUgKi8KLSAgICBpZiAoc3RyY21wKGRlLT5k X25hbWUsICJtYWtlZmlsZSIpID09IDApCisgICAgLyogSEJCOiBCVUcgZml4 ZWQuIERvICpub3QqIHJlYWQgYmFjayBtYWtlZmlsZS5vaCBpbiB0aGUgbWFp biBkaXJlY3RvcnkKKyAgICAgKiAoV291bGQgZHVwbGljYXRlIHRoZSBjb250 ZW50cywgd2l0aCAnbWFrZWZpbGUub2gvJyBwcmVwZW5kZWQgdG8KKyAgICAg KiBlYWNoIC5vIGZpbGUgbmFtZS4uLikuIFRoZSBmaXggaXMgdWdseSwgYnV0 IGl0IHNlZW1zIHRvIHdvcmsuICovCisgICAgaWYgKChzdHJjbXAoZGUtPmRf bmFtZSwgIm1ha2VmaWxlIikgPT0gMCkKKyAgICAgICAgJiYgKChwYXRoX2Vu ZCAtIHBhdGgpID4gMikpCiAgICAgewogICAgICAgcHJvY2Vzc19tYWtlZmls ZShwYXRoX2VuZCk7CiAgICAgICAqcGF0aF9lbmQgPSAnLyc7CmRpZmYgLVB1 ciBkamxzcl9hNC5vcmcvc3JjL21rZG9jL21ha2VmaWxlIGRqbHNyX2E0Lmhi Yi9zcmMvbWtkb2MvbWFrZWZpbGUKLS0tIGRqbHNyX2E0Lm9yZy9zcmMvbWtk b2MvbWFrZWZpbGUJTW9uIE5vdiAgMyAwMzoxNDowMCAxOTk3CisrKyBkamxz cl9hNC5oYmIvc3JjL21rZG9jL21ha2VmaWxlCUZyaSBOb3YgMjEgMDI6MjI6 NTIgMTk5NwpAQCAtNywzICs3LDYgQEAKIAogJChIT1NUQklOKS9ta2RvYy5l eGUgOiBta2RvYy5jYwogCSQoR0NDKSBta2RvYy5jYyAtbyAkQAorCitjbGVh biA6OgorCUAtJChNSVNDKSBybSAkKEhPU1RCSU4pL21rZG9jLmV4ZQpkaWZm IC1QdXIgZGpsc3JfYTQub3JnL3NyYy9yZWFkbWUuaGJiIGRqbHNyX2E0Lmhi Yi9zcmMvcmVhZG1lLmhiYgotLS0gZGpsc3JfYTQub3JnL3NyYy9yZWFkbWUu aGJiCVRodSBKYW4gIDEgMDE6MDA6MDAgMTk3MAorKysgZGpsc3JfYTQuaGJi L3NyYy9yZWFkbWUuaGJiCUZyaSBOb3YgMjEgMDg6MjY6MTIgMTk5NwpAQCAt MCwwICsxLDUzIEBACitCZWxvdywgSSd2ZSBjb2xsZWN0ZWQgc29tZSBvZiB0 aGUgdGhvdWdodHMgYW5kIGNvbW1lbnRzIHRoYXQKK2Nyb3NzZWQgbXkgbWlu ZCB3aGlsZSBJIHNhdCBvdmVyIHRoZSBtYWtlZmlsZXMgb2YgdGhlIDk3MTEx NAorYWxwaGEgb2YgREpHUFAgMi4wMi4KKworLSBBZ2Fpbiwgc29tZSBvZiB0 aGUgZ2VuZXJhdGVkICdlbmQtcHJvZHVjdCcgZmlsZXMgaW4gLi4vYmluIGhh dmUKK291dGRhdGVkIHRpbWVzdGFtcHMgZnJvbSBzdHViIGFuZC9vciBsaWJj LiBTaWdoLi4uIEkgdGhvdWdodCBJIGhhZAorYWxyZWFkeSB3b24gdGhhdCBi YXR0bGUuIDotKAorKyBUaGlzIGlzIG5vdyBmaXhlZDogYWxsIGluc3RhbGxl ZCBiaW5zIGFuZCBsaWJzIGhhdmUgdGhlIHNhbWUsIGN1cnJlbnQKK3RpbWVz dGFtcC4KKworKyBTb21lIG9mIHRoZSBuZXcgdHJpY2tzIERKIGFkZGVkIHRv IG15IHNldHVwIGZyb20gSnVsaSBhcmUgcmVhbGx5IGN1dGUuCitUaGlzIGlz IG1vc3QgdHJ1ZSBmb3IgbWlzYy5jIGFuZCBtYWtlbWFrZS5jLiAnbWlzYycg bWlnaHQgd2VsbCBiZQorcmVuYW1lZCAnc2FrJyBmb3IgJ1N3aXNzLUFybXkt S25pZmUnIDotKQorCistIEJ1dCBtYWtlbWFrZS5jIGhhZCBhIHNlcmlvdXMg YnVnOiB3aGVuIHlvdSBjYWxsZWQgbWFrZSBvbmNlIG1vcmUsCithZnRlciBh IHN1Y2Nlc3NmdWwgYnVpbGQsIHRoZSAnbWFrZW1ha2UgLTInIGNhbGwgd291 bGQgc2NyZXcgdXAgYnkKK3JlYWRpbmcgaW4gdGhlICdtYWtlZmlsZS5vaCcg aW4gdGhlIGxpYnJhcnkncyBtYWluIGRpcmVjdG9yeSwgaS5lLgoraXQgcmVh ZHMgZnJvbSB0aGUgZmlsZSBpdCBpcyBzdXBwb3NlZCB0byAqd3JpdGUqLgor CistIEkgY2FuJ3Qgc2F5IEkgbGlrZSB0aGUgY2hhbmdlIGJhY2sgdG8gdGFy Z2V0aW5nIGV2ZXJ5dGhpbmcgcmlnaHQgaW50bworJy4uL3tiaW4sbGliLGlu Y2x1ZGUsaW5mb30nLiBXaGlsZSB0aGF0IG1ldGhvZCBzaW1wbGlmaWVzIGJ1 aWxkaW5nIHF1aXRlCithIGJpdCwgSSB2aWV3IGl0IGFzIGp1c3QgYSBiaXQg dG9vIGRhbmdlcm91cy4gSW1hZ2luZSBvdmVyd3JpdGluZworJERKRElSL2Jp bi9zdHViaWZ5LmV4ZSB3aXRoIGEgZGFtYWdlZCB2ZXJzaW9uLCBhbmQgbm8g YmFja3VwIGxlZnQgYXQKK2hhbmQuIE9yICRESkRJUi9saWIvbGliYy5hLCBv ciAuLi4gd2VsbCwgSSB0aGluayB5b3UgZ2V0IHRoZSBwaWN0dXJlLgorSSBz dGlsbCB0aGluayBteSBzdWdnZXN0aW9uIG9mICdtYWtlIDsge3Rlc3QgaXR9 IDsgbWFrZSBpbnN0YWxsJworaXMgYmV0dGVyLgorCisrIEFzIGEgcGFydCBv ZiB0aGVzZSBjaGFuZ2VzLCB0aGUgbGliIGNhbiBub3cgYmUgYnVpbHQgb3V0 c2lkZSAkREpESVIsCithdCBsZWFzdC4gVGhlcmUncyBubyAnbWFrZSBpbnN0 YWxsJyB5ZXQsIG5vciBhbnkgc3VwcG9ydCBmb3IgaW50ZWdyYXRpbmcKK3Ro ZSB0ZXN0c2V0IGludG8gdGhlIGJ1aWxkIHByb2Nlc3MsIGJ1dCBhdCBsZWFz dCB0aGUgZGFuZ2VyIG1pbmltaXphdGlvbgoraXNzdWUgaXMgaGFuZGxlZCBp biB0aGUgd2F5IEkgcHJlZmVyLgorCistIE15IG9yaWdpbmFsIGZpbmFsIHZl cnNpb24gb2YgdGhlIG1ha2VmaWxlIHNldHVwIChJJ20gbm90IHRvbyBzdXJl IEkKK2V2ZXIgc2VudCB0aGF0IHZlcnNpb24gdG8gYW55b25lLCBleGNlcHQg bWF5YmUgSnVkZSBEYXNoaWVsbCwgd2hvCitoYXBwZW5lZCB0byBoYXZlIHNv bWUgcHJvYmxlbXMgd2l0aCB0aGUgdGVzdHMgYnVpbGRpbmcgcHJvY2VkdXJl IGF0IHRoYXQKK3RpbWUpIGV2ZW4gYWxsb3dlZCBmb3IgY29tcGlsaW5nIHRo ZSB0ZXN0IHByb2dyYW1zIGluIC4uL3Rlc3RzLAorKndpdGhvdXQqIGZpcnN0 IGluc3RhbGxpbmcgdGhlIG5ld2x5IGJ1aWx0IHRvb2xzZXQgaW50byAkREpE SVIsIHJlZ2FyZGxlc3MKK29mIHdldGhlciB0aGUgc291cmNlcyBoYWQgYmVl biB1bnBhY2tlZCBpbnRvICRESkRJUiBvciBub3QuIFRoYXQKK2NhcGFiaWxp dHkgaXMgZ29uZSB0bywgSSBzdXNwZWN0LgorCistIEEgc3R1bWJsaW5nIGJs b2NrIEkgaGl0OiBtYWtlLmV4ZSdzIHRyYW5zZmVyIGJ1ZmZlciBuZWVkcyB0 byBiZQorZXh0ZW5kZWQgdG8gPjE2IEtCLCBvciB0aGUgY29tbWFuZCB0byBn ZW5lcmF0ZSAnbGliYy9tYWtlZmlsZS5vaCcgd2lsbAorbm90IHdvcmsgKHRo ZSBsaXN0IG9mIG9iamVjdCBmaWxlcywgdGhhdCBtYWtlIGhhcyB0byBwYXNz IGFzIGFuIGFyZ3VtZW50CitsaXN0IHRvICdtaXNjLmV4ZScsIGlzIGFib3V0 IDE0IEtCKS4gVGhpcyBvbmUgY29zdCBtZSBxdWl0ZSBhIGJpdCBvZgordGlt ZSwgYXMgSSBvbmx5IHJlY2VudGx5IHVwZ3JhZGVkIHRvIG1ha2UtMy43Ni4x LCBhbmQgdGh1cyBoYWRuJ3QKK2hhbmQtdGFpbG9yZWQgaXQgeWV0LgorCist ICdtYWtlIGNsZWFuJyBkaWQganVzdCBhYm91dCBub3RoaW5nIHVzZWZ1bCBh dCBhbGwgKG5vICdjbGVhbicgdGFyZ2V0CitpbiB0aGUgbWFzdGVyIG1ha2Vm aWxlLCBlLmcuKQorKyBDaGFuZ2VkIHRoYXQuIE5vdyB5b3UgY2FuICdtYWtl IGNsZWFuJyBhbmQgYWxsIGZpbGVzIGJ1aWx0IGJ5IG1ha2UKK3dpbGwgYmUg Y2xlYW5lZCBvZmYgYWdhaW4uIFRoZSBpbnN0YWxsYXRpb24gaW50byAuLi9i aW4gZXRjLiBkaXNhbGxvd3MKK2NsZWFuaW5nIHRob3NlIGZpbGVzIGFzIHdl bGw6IHRoZXkgYXJlIGxlZnQgaW50YWN0LgorCk9ubHkgaW4gZGpsc3JfYTQu b3JnL3NyYy9zdHViOiBkamFzbS1uLmMKZGlmZiAtUHVyIGRqbHNyX2E0Lm9y Zy9zcmMvc3R1Yi9kamFzbS55IGRqbHNyX2E0LmhiYi9zcmMvc3R1Yi9kamFz bS55Ci0tLSBkamxzcl9hNC5vcmcvc3JjL3N0dWIvZGphc20ueQlNb24gTm92 ICAzIDA0OjI3OjEyIDE5OTcKKysrIGRqbHNyX2E0LmhiYi9zcmMvc3R1Yi9k amFzbS55CVRodSBOb3YgMjAgMjM6MTg6MTAgMTk5NwpAQCAtNiw3ICs2LDcg QEAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgog I2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgIi4uLy4uL2luY2x1ZGUv Y29mZi5oIgorI2luY2x1ZGUgPGNvZmYuaD4KICNpbmNsdWRlIDxmY250bC5o PgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDxjdHlwZS5oPgpkaWZm IC1QdXIgZGpsc3JfYTQub3JnL3NyYy9zdHViL2V4ZTJjb2ZmLmMgZGpsc3Jf YTQuaGJiL3NyYy9zdHViL2V4ZTJjb2ZmLmMKLS0tIGRqbHNyX2E0Lm9yZy9z cmMvc3R1Yi9leGUyY29mZi5jCVdlZCBKdWwgMTIgMTE6Mjg6NDAgMTk5NQor KysgZGpsc3JfYTQuaGJiL3NyYy9zdHViL2V4ZTJjb2ZmLmMJRnJpIE5vdiAy MSAwNjo0MTozMiAxOTk3CkBAIC01LDYgKzUsNyBAQAogI2luY2x1ZGUgPHN5 cy9zdGF0Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8aW8u aD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KIAogCiBzdGF0aWMgdm9pZApkaWZm IC1QdXIgZGpsc3JfYTQub3JnL3NyYy9zdHViL21ha2VmaWxlIGRqbHNyX2E0 LmhiYi9zcmMvc3R1Yi9tYWtlZmlsZQotLS0gZGpsc3JfYTQub3JnL3NyYy9z dHViL21ha2VmaWxlCVNhdCBOb3YgMTUgMDM6MzY6NTggMTk5NworKysgZGps c3JfYTQuaGJiL3NyYy9zdHViL21ha2VmaWxlCUZyaSBOb3YgMjEgMDY6NTg6 MTQgMTk5NwpAQCAtMiw3ICsyLDEwIEBACiAjIENvcHlyaWdodCAoQykgMTk5 NSBESiBEZWxvcmllLCBzZWUgQ09QWUlORy5ESiBmb3IgZGV0YWlscwogCiBU T1AgPSAuCisKIGluY2x1ZGUgLi4vbWFrZWZpbGUuaW5jCisjIGRqYXNtLnkg d291bGQgYmUga2lsbGVkIGJ5IC1XZXJyb3IgLVdhbGwsIHNvIGxldCdzIHJl bGF4IGEgYml0OgorWEdDQyA9ICQoWExHQ0MpCiAKIGFsbCA6OiBuYXRpdmUg XAogCSQoQklOKS9kamFzbS5leGUgXApAQCAtMzIsMjggKzM1LDM0IEBACiAJ JChIT1NUQklOKS9kamFzbS5leGUgc3R1Yi5hc20gc3R1Yi5oIHN0dWIubWFw CiAKIAotJChCSU4pL2RqYXNtLmV4ZSA6IGRqYXNtLnkKK2RqYXNtLmM6IGRq YXNtLnkKIAkkKENST1NTX0JJU09OKSAtbyBkamFzbS5jIGRqYXNtLnkKLQkk KFhMR0NDKSBkamFzbS5jIC1vICRACiAKICMgd2l0aCBhIG5hdGl2ZSBidWls ZCwgZ2NjIGlzICp1c2luZyogc3R1YmlmeSEKLSQoQklOKS9zdHViaWZ5LmV4 ZSA6IHN0dWJpZnkuYyBzdHViLmgKLQkkKFhMR0NDKSAtcyBzdHViaWZ5LmMg LW8gc3R1YmlmeS5leGUKLQkkKE1JU0MpIGNwIHN0dWJpZnkuZXhlICQoQklO KS9zdHViaWZ5LmV4ZQorJChCSU4pL3N0dWJpZnkuZXhlIDogc3R1YmJpZnku ZXhlCisJJChNSVNDKSBjcCAkPCAkKEJJTikvc3R1YmlmeS5leGUKKworc3R1 YmJpZnkuZXhlOiAkKEMpIHN0dWJpZnkubyAkKEwpCisJJChMSU5LKQorCSQo RVhFKQorCitzdHViaWZ5Lm86IHN0dWJpZnkuYyBzdHViLmgKIAotJChCSU4p L2V4ZTJjb2ZmLmV4ZSA6IGV4ZTJjb2ZmLmMKLQkkKFhMR0NDKSAtcyBleGUy Y29mZi5jIC1vICRACiskKEJJTikvZXhlMmNvZmYuZXhlIDogZXhlMmNvZmYu bwogCi0kKEJJTikvZ28zMi12Mi5leGUgOiBnbzMyLXYyLmMKLQkkKFhMR0ND KSAtcyBnbzMyLXYyLmMgLW8gJEAgJChMSUIpL2xpYmRiZy5hCiskKEJJTikv Z28zMi12Mi5leGUgOiAkKEMpIGdvMzItdjIubyAkKExJQikvbGliZGJnLmEg JChMKQorCSQoTElOSykKKwkkKEVYRSkKIAotJChCSU4pL3N0dWJlZGl0LmV4 ZSA6IHN0dWJlZGl0LmMgJChJTkMpL3N0dWJpbmZvLmgKLQkkKFhMR0NDKSAt cyBzdHViZWRpdC5jIC1vICRACiskKEJJTikvc3R1YmVkaXQuZXhlIDogc3R1 YmVkaXQubworCitzdHViZWRpdC5vOiBzdHViZWRpdC5jICQoSU5DKS9zdHVi aW5mby5oCiAKIAogJChIT1NUQklOKS9kamFzbS5leGUgOiBkamFzbS55CiAJ JChCSVNPTikgLW8gZGphc20tbi5jIGRqYXNtLnkKIAkkKEdDQykgZGphc20t bi5jIC1vICRACisJJChNSVNDKSBybSBkamFzbS1uLmMKIAogJChIT1NUQklO KS9zdHViaWZ5LmV4ZSA6IHN0dWJpZnkuYyBzdHViLmgKIAkkKEdDQykgc3R1 YmlmeS5jIC1vICRACkBAIC02MywzICs3Miw3IEBACiAKIC4vc3R1YjJpbmMu ZXhlIDogc3R1YjJpbmMuYwogCSQoR0NDKSBzdHViMmluYy5jIC1vICRACisK K2NsZWFuIDo6CisJQC0kKE1JU0MpIHJtIGRqYXNtLmMgc3R1Yi5tYXAgc3R1 Yi5oIHN0dWIyaW5jLmV4ZSBzdHViYmlmeS5leGUKKwlALSQoTUlTQykgcm0g JChIT1NUQklOKS9kamFzbS5leGUgJChIT1NUQklOKS9zdHViZWRpdC5leGUg JChIT1NUQklOKS9zdHViaWZ5LmV4ZQpPbmx5IGluIGRqbHNyX2E0Lm9yZy9z cmMvc3R1Yjogc3R1Yi5tYXAKZGlmZiAtUHVyIGRqbHNyX2E0Lm9yZy9zcmMv dXRpbHMvZGp0YXIvbWFrZWZpbGUgZGpsc3JfYTQuaGJiL3NyYy91dGlscy9k anRhci9tYWtlZmlsZQotLS0gZGpsc3JfYTQub3JnL3NyYy91dGlscy9kanRh ci9tYWtlZmlsZQlNb24gTm92ICAzIDAzOjQ4OjI2IDE5OTcKKysrIGRqbHNy X2E0LmhiYi9zcmMvdXRpbHMvZGp0YXIvbWFrZWZpbGUJRnJpIE5vdiAyMSAw NjoxODo0NCAxOTk3CkBAIC0yMyw4ICsyMyw5IEBACiAKIGFsbCA6OiAkKEJJ TikvZGp0YXIuZXhlCiAKLSQoQklOKS9kanRhci5leGUgOiAkKEVPQkpTKQot CSQoWExHQ0MpIC1vICRAICQoRU9CSlMpCiskKEJJTikvZGp0YXIuZXhlIDog JChDKSAkKEVPQkpTKSAkKEwpCisJJChMSU5LKQorCSQoRVhFKQogCiAkKEJJ TikvZGp0YXJ4LmV4ZSA6ICQoQklOKS9zdHViaWZ5LmV4ZQogCSQoSE9TVEJJ Tikvc3R1YmlmeS5leGUgLWcgJChCSU4pL2RqdGFyeC5leGUKZGlmZiAtUHVy IGRqbHNyX2E0Lm9yZy9zcmMvdXRpbHMvbWFrZWZpbGUgZGpsc3JfYTQuaGJi L3NyYy91dGlscy9tYWtlZmlsZQotLS0gZGpsc3JfYTQub3JnL3NyYy91dGls cy9tYWtlZmlsZQlNb24gTm92ICAzIDA2OjAxOjQ0IDE5OTcKKysrIGRqbHNy X2E0LmhiYi9zcmMvdXRpbHMvbWFrZWZpbGUJRnJpIE5vdiAyMSAwMjozNjoy NiAxOTk3CkBAIC0zMSwzICszMSw3IEBACiAuUEhPTlk6IHBob255X2RqdGFy CiBwaG9ueV9kanRhcjoKIAlAJChNQUtFKSAtLW5vLXByaW50LWRpcmVjdG9y eSAtQyBkanRhcgorCitjbGVhbiA6OgorCUAkKE1BS0UpIC0tbm8tcHJpbnQt ZGlyZWN0b3J5IC1DIHRleGkycHMgJEAKKwlAJChNQUtFKSAtLW5vLXByaW50 LWRpcmVjdG9yeSAtQyBkanRhciAkQApkaWZmIC1QdXIgZGpsc3JfYTQub3Jn L3NyYy91dGlscy90ZXhpMnBzL21ha2VmaWxlIGRqbHNyX2E0LmhiYi9zcmMv dXRpbHMvdGV4aTJwcy9tYWtlZmlsZQotLS0gZGpsc3JfYTQub3JnL3NyYy91 dGlscy90ZXhpMnBzL21ha2VmaWxlCU1vbiBOb3YgIDMgMDM6NDQ6NDIgMTk5 NworKysgZGpsc3JfYTQuaGJiL3NyYy91dGlscy90ZXhpMnBzL21ha2VmaWxl CUZyaSBOb3YgMjEgMDY6NDY6MzggMTk5NwpAQCAtMTYsNSArMTYsNiBAQAog CiBhbGwgOjogJChCSU4pL3RleGkycHMuZXhlCiAKLSQoQklOKS90ZXhpMnBz LmV4ZTogJChFT0JKUykKLQkkKFhMR0NDKSAtbyAkQCAkKEVPQkpTKQorJChC SU4pL3RleGkycHMuZXhlOiAkKEMpICQoRU9CSlMpICQoTCkKKwkkKExJTksp CisJJChFWEUpCg== ---494318816-409752708-880144319=:10934--