Date: Thu, 19 Jul 2007 13:36:41 +0600 From: "viper" <viper@perm.raid.ru> To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/114720: [UPDATE] net/asterisk to 1.4.8 Message-ID: <20070719073629.M70547@perm.raid.ru> In-Reply-To: <200707190350.l6J3o1OD021754@freefall.freebsd.org> References: <200707190344.l6J3iKVb061123@www.freebsd.org> <200707190350.l6J3o1OD021754@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. ------=OPENWEBMAIL_ATT_0.811475673082413 Content-Type: text/plain; charset=koi8-r _______________________ Best regards, VipeR ------=OPENWEBMAIL_ATT_0.811475673082413 Content-Type: application/octet-stream; name="asterisk.patch" Content-Disposition: attachment; filename="asterisk.patch" Content-Transfer-Encoding: base64 ZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvTWFrZWZpbGUgYXN0ZXJpc2svTWFrZWZpbGUKLS0tIGFz dGVyaXNrLm9yaWcvTWFrZWZpbGUJMjAwNy0wNS0zMCAwMjo1MjoxNS4wMDAwMDAwMDAgKzA2MDAK KysrIGFzdGVyaXNrL01ha2VmaWxlCTIwMDctMDctMTggMTg6MTI6NDEuMDAwMDAwMDAwICswNjAw CkBAIC02LDI1ICs2LDI0IEBACiAjCiAKIFBPUlROQU1FPQlhc3RlcmlzawotUE9SVFZFUlNJT049 CTEuNC40Ci1QT1JUUkVWSVNJT049CTIKK1BPUlRWRVJTSU9OPQkxLjQuOAorUE9SVFJFVklTSU9O PQkxCiBDQVRFR09SSUVTPQluZXQKIE1BU1RFUl9TSVRFUz0JaHR0cDovL2Z0cC5kaWdpdW0uY29t L3B1Yi9hc3Rlcmlzay8gXAogCQlodHRwOi8vZnRwLmRpZ2l1bS5jb20vcHViL2FzdGVyaXNrL29s ZC1yZWxlYXNlcy8KK0RJU1ROQU1FPQkke1BPUlROQU1FfS0ke1BPUlRWRVJTSU9OfQogCiBNQUlO VEFJTkVSPQlzb2JvbWF4QEZyZWVCU0Qub3JnCiBDT01NRU5UPQlBbiBPcGVuIFNvdXJjZSBQQlgg YW5kIHRlbGVwaG9ueSB0b29sa2l0CiAKLUJVSUxEX0RFUEVORFM9CW1wZzEyMzoke1BPUlRTRElS fS9hdWRpby9tcGcxMjMKIExJQl9ERVBFTkRTPQlzcGVleC4xOiR7UE9SVFNESVJ9L2F1ZGlvL3Nw ZWV4IFwKIAkJbmV3dC41MToke1BPUlRTRElSfS9kZXZlbC9uZXd0IFwKIAkJY3VybC40OiR7UE9S VFNESVJ9L2Z0cC9jdXJsCi1SVU5fREVQRU5EUz0JbXBnMTIzOiR7UE9SVFNESVJ9L2F1ZGlvL21w ZzEyMwogCiBPTkxZX0ZPUl9BUkNIUz0JaTM4NiBzcGFyYzY0IGFtZDY0CiAKIEdOVV9DT05GSUdV UkU9CXllcwotQ09ORklHVVJFX0FSR1M9IC0tbWFuZGlyPSR7TE9DQUxCQVNFfS9tYW4KK0NPTkZJ R1VSRV9BUkdTPQktLW1hbmRpcj0ke0xPQ0FMQkFTRX0vbWFuCiBDT05GSUdVUkVfRU5WPQlDUFBG TEFHUz0iLUkke0xPQ0FMQkFTRX0vaW5jbHVkZSIgXAogCQlMREZMQUdTPSItTCR7TE9DQUxCQVNF fS9saWIiCiBVU0VfR01BS0U9CXllcwpAQCAtNDAsMzggKzM5LDM1IEBACiBNQU44PQkJYXN0ZXJp c2suOCBhc3RnZW5rZXkuOCBhdXRvc3VwcG9ydC44IHNhZmVfYXN0ZXJpc2suOAogCiBPUFRJT05T PQlPR0dWT1JCSVMJIkVuYWJsZSBPZ2cgVm9yYmlzIHN1cHBvcnQiIG9uIFwKLQkJT0RCQwkJIkVu YWJsZSBPREJDIHN1cHBvcnQiIG9uIFwKLQkJUE9TVEdSRVMJIkVuYWJsZSBQb3N0Z3JlU1FMIHN1 cHBvcnQiIG9uIFwKLQkJUkFESVVTCQkiRW5hYmxlIFJBRElVUyBhY2NvdW50aW5nIHN1cHBvcnQi IG9uIFwKLQkJU05NUAkJIkVuYWJsZSBTTk1QIHN1cHBvcnQiIG9uIFwKKwkJT0RCQwkJIkVuYWJs ZSBPREJDIHN1cHBvcnQiIG9mZiBcCisJCVBPU1RHUkVTCSJFbmFibGUgUG9zdGdyZVNRTCBzdXBw b3J0IiBvZmYgXAorCQlSQURJVVMJCSJFbmFibGUgUkFESVVTIGFjY291bnRpbmcgc3VwcG9ydCIg b2ZmIFwKKwkJU05NUAkJIkVuYWJsZSBTTk1QIHN1cHBvcnQiIG9mZiBcCisJCVNRTElURQkJIkVu YWJsZSBTUUxJVEUgc3VwcG9ydCIgb2ZmIFwKIAkJSDMyMwkJIkVuYWJsZSBILjMyMyBzdXBwb3J0 IiBvbiBcCi0JCUZSRUVURFMJCSJFbmFibGUgRnJlZVREUyBzdXBwb3J0IiBvbiBcCi0JCUpBQkJF UgkJIkVuYWJsZSBKYWJiZXIgYW5kIEd0YWxrIHN1cHBvcnQiIG9uCisJCUZSRUVURFMJCSJFbmFi bGUgRnJlZVREUyBzdXBwb3J0IiBvZmYgXAorCQlKQUJCRVIJCSJFbmFibGUgSmFiYmVyIGFuZCBH dGFsayBzdXBwb3J0IiBvZmYgXAorCQlaQVBURUwJCSJFbmFibGUgWmFwdGVsIHN1cHBvcnQiIG9u IAogCi0uaW5jbHVkZSA8YnNkLnBvcnQucHJlLm1rPgogCi0uaWYgJHtBUkNIfSA9PSAiaTM4NiIK LU9QVElPTlMrPQlaQVBURUwJCSJFbmFibGUgWmFwdGVsIHN1cHBvcnQiIG9uCi0uZWxzZQotV0lU SE9VVF9aQVBURUw9CXllcwotLmVuZGlmCisuaW5jbHVkZSA8YnNkLnBvcnQucHJlLm1rPgogCiAu aWYgZGVmaW5lZChXSVRIT1VUX0gzMjMpCiBQTElTVF9TVUIrPQlXSVRIX0gzMjM9IkBjb21tZW50 ICIKLUNPTkZJR1VSRV9BUkdTKz0gLS13aXRob3V0LWgzMjMKK0NPTkZJR1VSRV9BUkdTKz0JLS13 aXRob3V0LWgzMjMKIC5lbHNlCiBQTElTVF9TVUIrPQlXSVRIX0gzMjM9IiIKLUNPTkZJR1VSRV9B UkdTKz0gLS13aXRoLWgzMjMKK0NPTkZJR1VSRV9BUkdTKz0JLS13aXRoLWgzMjM9Ii91c3IvbG9j YWwiCiBMSUJfREVQRU5EUys9CXB0X3IuMToke1BPUlRTRElSfS9kZXZlbC9wd2xpYiBcCiAJCWgz MjNfci4xOiR7UE9SVFNESVJ9L25ldC9vcGVuaDMyMwogLmVuZGlmCiAKIC5pZiBkZWZpbmVkKFdJ VEhPVVRfWkFQVEVMKQogUExJU1RfU1VCKz0JV0lUSF9aQVBURUw9IkBjb21tZW50ICIKLUNPTkZJ R1VSRV9BUkdTKz0gLS13aXRob3V0LXphcHRlbAorQ09ORklHVVJFX0FSR1MrPQktLXdpdGhvdXQt emFwdGVsCiAuZWxzZQogUExJU1RfU1VCKz0JV0lUSF9aQVBURUw9IiIKLUNPTkZJR1VSRV9BUkdT Kz0gLS13aXRoLXphcHRlbAorQ09ORklHVVJFX0FSR1MrPQktLXdpdGgtemFwdGVsCiBCVUlMRF9E RVBFTkRTKz0JbGlicHJpPj0xLjIuMDoke1BPUlRTRElSfS9taXNjL2xpYnByaSBcCiAJCSR7TE9D QUxCQVNFfS9pbmNsdWRlL3phcHRlbC96YXB0ZWwuaDoke1BPUlRTRElSfS9taXNjL3phcHRlbAog TElCX0RFUEVORFMrPQlwcmkuMToke1BPUlRTRElSfS9taXNjL2xpYnByaQpAQCAtODMsNjggKzc5 LDk1IEBACiAjIHNpbWlsYXJseQogLmlmIGRlZmluZWQoV0lUSE9VVF9PREJDKQogUExJU1RfU1VC Kz0JV0lUSF9PREJDPSJAY29tbWVudCAiCi1DT05GSUdVUkVfQVJHUys9IC0td2l0aG91dC1vZGJj CitDT05GSUdVUkVfQVJHUys9CS0td2l0aG91dC1vZGJjCiAuZWxzZQogUExJU1RfU1VCKz0JV0lU SF9PREJDPSIiCi1DT05GSUdVUkVfQVJHUys9IC0td2l0aC1vZGJjCitDT05GSUdVUkVfQVJHUys9 CS0td2l0aC1vZGJjCiBMSUJfREVQRU5EUys9CW9kYmMuMToke1BPUlRTRElSfS9kYXRhYmFzZXMv dW5peE9EQkMKIC5lbmRpZgogCiAuaWYgZGVmaW5lZChXSVRIT1VUX0ZSRUVURFMpCiBQTElTVF9T VUIrPQlXSVRIX0ZSRUVURFM9IkBjb21tZW50ICIKLUNPTkZJR1VSRV9BUkdTKz0gLS13aXRob3V0 LXRkcworQ09ORklHVVJFX0FSR1MrPQktLXdpdGhvdXQtdGRzCiAuZWxzZQogUExJU1RfU1VCKz0J V0lUSF9GUkVFVERTPSIiCi1DT05GSUdVUkVfQVJHUys9IC0td2l0aC10ZHM9JHtMT0NBTEJBU0V9 CitDT05GSUdVUkVfQVJHUys9CS0td2l0aC10ZHM9JHtMT0NBTEJBU0V9CiBMSUJfREVQRU5EUys9 CXRkcy41OiR7UE9SVFNESVJ9L2RhdGFiYXNlcy9mcmVldGRzCiAuZW5kaWYKIAogLmlmIGRlZmlu ZWQoV0lUSE9VVF9QT1NUR1JFUykKIFBMSVNUX1NVQis9CVdJVEhfUE9TVEdSRVM9IkBjb21tZW50 ICIKLUNPTkZJR1VSRV9BUkdTKz0gLS13aXRob3V0LXBvc3RncmVzCitDT05GSUdVUkVfQVJHUys9 CS0td2l0aG91dC1wb3N0Z3JlcwogLmVsc2UKIFBMSVNUX1NVQis9CVdJVEhfUE9TVEdSRVM9IiIK IFVTRV9QR1NRTD0JeWVzCi1DT05GSUdVUkVfQVJHUys9IC0td2l0aC1wb3N0Z3JlcworQ09ORklH VVJFX0FSR1MrPQktLXdpdGgtcG9zdGdyZXMKIC5lbmRpZgogCiAuaWYgZGVmaW5lZChXSVRIT1VU X09HR1ZPUkJJUykKIFBMSVNUX1NVQis9CVdJVEhfT0dHVk9SQklTPSJAY29tbWVudCAiCi1DT05G SUdVUkVfQVJHUys9IC0td2l0aG91dC1vZ2cKK0NPTkZJR1VSRV9BUkdTKz0JLS13aXRob3V0LW9n ZwogLmVsc2UKIFBMSVNUX1NVQis9CVdJVEhfT0dHVk9SQklTPSIiCi1DT05GSUdVUkVfQVJHUys9 IC0td2l0aC1vZ2cKK0NPTkZJR1VSRV9BUkdTKz0JLS13aXRoLW9nZwogTElCX0RFUEVORFMrPQl2 b3JiaXMuMzoke1BPUlRTRElSfS9hdWRpby9saWJ2b3JiaXMKIC5lbmRpZgogCiAuaWYgZGVmaW5l ZChXSVRIT1VUX1JBRElVUykKIFBMSVNUX1NVQis9CVdJVEhfUkFESVVTPSJAY29tbWVudCAiCi1D T05GSUdVUkVfQVJHUys9IC0td2l0aG91dC1yYWRpdXMKK0NPTkZJR1VSRV9BUkdTKz0JLS13aXRo b3V0LXJhZGl1cwogLmVsc2UKIFBMSVNUX1NVQis9CVdJVEhfUkFESVVTPSIiCi1DT05GSUdVUkVf QVJHUys9IC0td2l0aC1yYWRpdXMKK0NPTkZJR1VSRV9BUkdTKz0JLS13aXRoLXJhZGl1cwogTElC X0RFUEVORFMrPQlyYWRpdXNjbGllbnQtbmcuMjoke1BPUlRTRElSfS9uZXQvcmFkaXVzY2xpZW50 CiAuZW5kaWYKIAogLmlmIGRlZmluZWQoV0lUSE9VVF9TTk1QKQogUExJU1RfU1VCKz0JV0lUSF9T Tk1QPSJAY29tbWVudCAiCi1DT05GSUdVUkVfQVJHUys9IC0td2l0aG91dC1uZXRzbm1wCitDT05G SUdVUkVfQVJHUys9CS0td2l0aG91dC1uZXRzbm1wCiAuZWxzZQogUExJU1RfU1VCKz0JV0lUSF9T Tk1QPSIiCi1DT05GSUdVUkVfQVJHUys9IC0td2l0aC1uZXRzbm1wCitDT05GSUdVUkVfQVJHUys9 CS0td2l0aC1uZXRzbm1wCiBMSUJfREVQRU5EUys9CW5ldHNubXAuMTA6JHtQT1JUU0RJUn0vbmV0 LW1nbXQvbmV0LXNubXAKIC5lbmRpZgogCisuaWYgZGVmaW5lZChXSVRIT1VUX1NRTElURSkKK1BM SVNUX1NVQis9CVdJVEhfU1FMSVRFPSJAY29tbWVudCAiCitDT05GSUdVUkVfQVJHUys9CS0td2l0 aG91dC1zcWxpdGUKKy5lbHNlCitQTElTVF9TVUIrPQlXSVRIX1NRTElURT0iIgorQ09ORklHVVJF X0FSR1MrPQktLXdpdGgtc3FsaXRlCitMSUJfREVQRU5EUys9CXNxbGl0ZToke1BPUlRTRElSfS9k YXRhYmFzZXMvc3FsaXRlMgorLmVuZGlmCisKIC5pZiBkZWZpbmVkKFdJVEhPVVRfSkFCQkVSKQog UExJU1RfU1VCKz0JV0lUSF9KQUJCRVI9IkBjb21tZW50ICIKLUNPTkZJR1VSRV9BUkdTKz0gLS13 aXRob3V0LWlrc2VtZWwKK0NPTkZJR1VSRV9BUkdTKz0JLS13aXRob3V0LWlrc2VtZWwKIC5lbHNl CiBQTElTVF9TVUIrPQlXSVRIX0pBQkJFUj0iIgotQ09ORklHVVJFX0FSR1MrPSAtLXdpdGgtaWtz ZW1lbAorQ09ORklHVVJFX0FSR1MrPQktLXdpdGgtaWtzZW1lbAogTElCX0RFUEVORFMrPQlpa3Nl bWVsLjM6JHtQT1JUU0RJUn0vdGV4dHByb2MvaWtzZW1lbAogLmVuZGlmCiAKKworLmlmIGRlZmlu ZWQoV0lUSE9VVF9GQVgpCitQTElTVF9TVUIrPQlXSVRIX0ZBWD0iQGNvbW1lbnQgIgorLmVsc2UK K01BS0VfRU5WKz0JV0lUSF9GQVg9eWVzCitDT05GSUdVUkVfQVJHUys9CS0td2l0aC1zcGFuZHNw PXllcworTElCX0RFUEVORFMrPQlzcGFuZHNwLjA6JHtQT1JUU0RJUn0vY29tbXMvc3BhbmRzcC1k ZXZlbAorUExJU1RfU1VCKz0JV0lUSF9GQVg9IiIKKy5lbmRpZgorCisKK3Bvc3QtZXh0cmFjdDoK Ky5pZiAke09TVkVSU0lPTn0gPiA3MDAwMDAKKy5pZiBkZWZpbmVkKENQVVRZUEUpCitCUk9LRU49 ICJZb3UgbXVzdCBkaXNhYmxlIENQVVRZUEUgaW4gL2V0Yy9tYWtlLmNvbmYiCisuZW5kaWYKKy5l bmRpZgorCiBwb3N0LXBhdGNoOgotCSR7UkVJTlBMQUNFX0NNRH0gLWUgJ3N8L3Zhci9saWJ8JHtQ UkVGSVh9L3NoYXJlfGcnICR7V1JLU1JDfS9jb25maWdzL211c2ljb25ob2xkLmNvbmYuc2FtcGxl CisJQCR7UkVJTlBMQUNFX0NNRH0gLWUgJ3N8L3Zhci9saWJ8JHtQUkVGSVh9L3NoYXJlfGcnICR7 V1JLU1JDfS9jb25maWdzL211c2ljb25ob2xkLmNvbmYuc2FtcGxlCiAKIC5pbmNsdWRlIDxic2Qu cG9ydC5wb3N0Lm1rPgpkaWZmIC1ydU4gYXN0ZXJpc2sub3JpZy9kaXN0aW5mbyBhc3Rlcmlzay9k aXN0aW5mbwotLS0gYXN0ZXJpc2sub3JpZy9kaXN0aW5mbwkyMDA3LTA1LTI5IDAwOjE2OjM1LjAw MDAwMDAwMCArMDYwMAorKysgYXN0ZXJpc2svZGlzdGluZm8JMjAwNy0wNy0xOCAxMTo1NzozMS4w MDAwMDAwMDAgKzA2MDAKQEAgLTEsMyArMSwzIEBACi1NRDUgKGFzdGVyaXNrLTEuNC40LnRhci5n eikgPSA5MGY2YTJlYTUxMTNhZDI2ZGUzOTM1MTc1NzZhMWVkZQotU0hBMjU2IChhc3Rlcmlzay0x LjQuNC50YXIuZ3opID0gODJhMjhkOGY1MTE3MDNkZTVmYzYyMzExMjNmMTVhN2MyZmJkYTU0ZmY5 YzBhNjg2ZTQwNWY3NGQxYzAzYWNhNwotU0laRSAoYXN0ZXJpc2stMS40LjQudGFyLmd6KSA9IDE3 MDgxNjMxCitNRDUgKGFzdGVyaXNrLTEuNC44LnRhci5neikgPSA3MjYzZmY1NmFkOTNjYmI1ZWZi OTcxYTUzNmVlNmE1MQorU0hBMjU2IChhc3Rlcmlzay0xLjQuOC50YXIuZ3opID0gM2VhYmRmMmM1 MmQzNjZhYmU3ZGQxZTMwM2I5ODJmYTdhYWQxMjk0NWIxYWMzMmVlOTdkYzRiNjUyMDQxYTQzZgor U0laRSAoYXN0ZXJpc2stMS40LjgudGFyLmd6KSA9IDExMTcxMTkwCmRpZmYgLXJ1TiBhc3Rlcmlz ay5vcmlnL2ZpbGVzL3BhdGNoLU1ha2VmaWxlIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLU1ha2VmaWxl Ci0tLSBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLU1ha2VmaWxlCTIwMDctMDQtMTYgMTQ6NDA6 MTUuMDAwMDAwMDAwICswNjAwCisrKyBhc3Rlcmlzay9maWxlcy9wYXRjaC1NYWtlZmlsZQkyMDA3 LTA3LTEyIDE2OjQ1OjQ3LjAwMDAwMDAwMCArMDYwMApAQCAtMSw5ICsxLDYgQEAKLQotJEZyZWVC U0Q6IHBvcnRzL25ldC9hc3Rlcmlzay9maWxlcy9wYXRjaC1NYWtlZmlsZSx2IDEuMTkgMjAwNy8w NC8xNiAwODo0MDoxNSBzb2JvbWF4IEV4cCAkCi0KLS0tLSBNYWtlZmlsZS5vcmlnCi0rKysgTWFr ZWZpbGUKLUBAIC0yMDcsNyArMjA3LDcgQEAKKy0tLSBNYWtlZmlsZS5vcmlnCVR1ZSBKdW4gMTkg MTE6MDY6MzMgMjAwNworKysrIE1ha2VmaWxlCVR1ZSBKdW4gMTkgMTE6NDY6MjkgMjAwNworQEAg LTIwOSw3ICsyMDksNyBAQAogIAogIGlmZXEgKCQoT1NBUkNIKSxGcmVlQlNEKQogICAgIyAtViBp cyB1bmRlcnN0b29kIGJ5IEJTRCBNYWtlLCBub3QgYnkgR05VIG1ha2UuCkBAIC0xMiw3ICs5LDcg QEAKICAgIEFTVENGTEFHUys9JChzaGVsbCBpZiB0ZXN0ICQoQlNEVkVSU0lPTikgLWx0IDUwMDAx NiA7IHRoZW4gZWNobyAiLURfVEhSRUFEX1NBRkUiOyBmaSkKICAgIEFTVF9MSUJTKz0kKHNoZWxs IGlmIHRlc3QgICQoQlNEVkVSU0lPTikgLWx0IDUwMjEwMiA7IHRoZW4gZWNobyAiLWxjX3IiOyBl bHNlIGVjaG8gIi1wdGhyZWFkIjsgZmkpCiAgZW5kaWYKLUBAIC0zNzEsMTUgKzM3MSwxNSBAQAor QEAgLTM3NCwxNSArMzc0LDE1IEBACiAgIyBTaG91bGQgc3RhdGljIEhUVFAgYmUgaW5zdGFsbGVk IGR1cmluZyBtYWtlIHNhbXBsZXMgb3IgZXZlbiB3aXRoIGl0cyBvd24gdGFyZ2V0IGFsYQogICMg d2Vidm9pY2VtYWlsPyAgVGhlcmUgYXJlIHBvcnRpb25zIGhlcmUgdGhhdCAqY291bGQqIGJlIGN1 c3RvbWl6ZWQgYnV0IG1pZ2h0IGFsc28gYmUKICAjIGltcHJvdmVkIGEgbG90LiAgSSdsbCBwdXQg aXQgaGVyZSBmb3Igbm93LgpAQCAtMzMsNyArMzAsNyBAQAogIAkkKE1BS0UpIC1DIHNvdW5kcyBp bnN0YWxsCiAgCiAgdXBkYXRlOiAKLUBAIC00MDAsNDUgKzQwMCw0NSBAQAorQEAgLTQwMyw0NSAr NDAzLDQ1IEBACiAgT0xESEVBREVSUz0kKGZpbHRlci1vdXQgJChORVdIRUFERVJTKSwkKG5vdGRp ciAkKHdpbGRjYXJkICQoREVTVERJUikkKEFTVEhFQURFUkRJUikvKi5oKSkpCiAgCiAgYmluaW5z dGFsbDogX2FsbApAQCAtNjcsNyArNjQsNyBAQAogKwkkKEJTRF9JTlNUQUxMX1NDUklQVCkgY29u dHJpYi9zY3JpcHRzL2FzdGdlbmtleSAkKERFU1RESVIpJChBU1RTQklORElSKS8KICsJJChCU0Rf SU5TVEFMTF9TQ1JJUFQpIGNvbnRyaWIvc2NyaXB0cy9hdXRvc3VwcG9ydCAkKERFU1RESVIpJChB U1RTQklORElSKS8KICAJaWYgWyAhIC1mICQoREVTVERJUikkKEFTVFNCSU5ESVIpL3NhZmVfYXN0 ZXJpc2sgXTsgdGhlbiBcCi0gCQljYXQgY29udHJpYi9zY3JpcHRzL3NhZmVfYXN0ZXJpc2sgfCBz ZWQgJ3N8X19BU1RFUklTS19TQklOX0RJUl9ffCQoQVNUU0JJTkRJUil8OycgPiAkKERFU1RESVIp JChBU1RTQklORElSKS9zYWZlX2FzdGVyaXNrIDtcCisgCQljYXQgY29udHJpYi9zY3JpcHRzL3Nh ZmVfYXN0ZXJpc2sgfCBzZWQgJ3N8X19BU1RFUklTS19TQklOX0RJUl9ffCQoQVNUU0JJTkRJUil8 O3N8X19BU1RFUklTS19WQVJSVU5fRElSX198JChBU1RWQVJSVU5ESVIpfDsnID4gJChERVNURElS KSQoQVNUU0JJTkRJUikvc2FmZV9hc3RlcmlzayA7XAogIAkJY2htb2QgNzU1ICQoREVTVERJUikk KEFTVFNCSU5ESVIpL3NhZmVfYXN0ZXJpc2s7XAogIAlmaQogLQkkKElOU1RBTEwpIC1kICQoREVT VERJUikkKEFTVEhFQURFUkRJUikKQEAgLTEwOSw3ICsxMDYsNyBAQAogIAlmaQogIAogICQoU1VC RElSU19JTlNUQUxMKToKLUBAIC00NjUsNyArNDY1LDcgQEAKK0BAIC00NjgsNyArNDY4LDcgQEAK ICAJCWVjaG8gIiBXQVJOSU5HIFdBUk5JTkcgV0FSTklORyIgO1wKICAJZmkKICAKQEAgLTExOCw3 ICsxMTUsNyBAQAogIAlAaWYgWyAteCAvdXNyL3NiaW4vYXN0ZXJpc2stcG9zdC1pbnN0YWxsIF07 IHRoZW4gXAogIAkJL3Vzci9zYmluL2FzdGVyaXNrLXBvc3QtaW5zdGFsbCAkKERFU1RESVIpIC4g OyBcCiAgCWZpCi1AQCAtNDk1LDMxICs0OTUsMjMgQEAKK0BAIC00OTgsMzEgKzQ5OCwyMyBAQAog IHVwZ3JhZGU6IGJpbmluc3RhbGwKICAKICBhZHNpOgpAQCAtMTU4LDcgKzE1NSw3IEBACiAgCQko IFwKICAJCWVjaG8gIltkaXJlY3Rvcmllc10iIDsgXAogIAkJZWNobyAiYXN0ZXRjZGlyID0+ICQo QVNURVRDRElSKSIgOyBcCi1AQCAtNTQwLDIwICs1MzIsMjMgQEAKK0BAIC01NDMsMjAgKzUzNSwy MyBAQAogIAkJZWNobyAiO2FzdGN0bG93bmVyID0gcm9vdCIgOyBcCiAgCQllY2hvICI7YXN0Y3Rs Z3JvdXAgPSBhcGFjaGUiIDsgXAogIAkJZWNobyAiO2FzdGN0bCA9IGFzdGVyaXNrLmN0bCIgOyBc CkBAIC0xODYsNyArMTgzLDcgQEAKICAJZG9uZQogIAlAZWNobyAiICstLS0tLS0tLS0gQXN0ZXJp c2sgV2ViIFZvaWNlbWFpbCAtLS0tLS0tLS0tKyIgIAogIAlAZWNobyAiICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyIKLUBAIC01ODAsMTAgKzU3NSwxMCBAQAor QEAgLTU4MywxMCArNTc4LDEwIEBACiAgCiAgX19ycG06IGluY2x1ZGUvYXN0ZXJpc2svdmVyc2lv bi5oIGluY2x1ZGUvYXN0ZXJpc2svYnVpbGRvcHRzLmggc3BlYwogIAlybSAtcmYgL3RtcC9hc3Rl cmlzayA7IFwKQEAgLTE5OSw3ICsxOTYsNyBAQAogIAljcCAtZiBjb250cmliL2luaXQuZC9yYy5y ZWRoYXQuYXN0ZXJpc2sgL3RtcC9hc3Rlcmlzay9ldGMvcmMuZC9pbml0LmQvYXN0ZXJpc2sgOyBc CiAgCXJwbWJ1aWxkIC0tcmNmaWxlIC91c3IvbGliL3JwbS9ycG1yYzpyZWRoYXQvcnBtcmMgLWJi IGFzdGVyaXNrLnNwZWMKICAKLUBAIC01OTQsMTkgKzU4OSwxOSBAQAorQEAgLTU5NywxOSArNTky LDE5IEBACiAgY29uZmlnOgogIAlAaWYgWyAiJHtPU0FSQ0h9IiA9ICJsaW51eC1nbnUiIF07IHRo ZW4gXAogIAkJaWYgWyAtZiAvZXRjL3JlZGhhdC1yZWxlYXNlIC1vIC1mIC9ldGMvZmVkb3JhLXJl bGVhc2UgXTsgdGhlbiBcCmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLWFwcHM6 OmFwcF9yeGZheC5jIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWFwcHM6OmFwcF9yeGZheC5jCi0tLSBh c3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLWFwcHM6OmFwcF9yeGZheC5jCTE5NzAtMDEtMDEgMDU6 MDA6MDAuMDAwMDAwMDAwICswNTAwCisrKyBhc3Rlcmlzay9maWxlcy9wYXRjaC1hcHBzOjphcHBf cnhmYXguYwkyMDA3LTA3LTEyIDE2OjQ1OjQ3LjAwMDAwMDAwMCArMDYwMApAQCAtMCwwICsxLDM4 MyBAQAorLS0tIGFwcHMvYXBwX3J4ZmF4LmMub3JpZwlUdWUgSnVsIDEwIDE1OjI4OjA0IDIwMDcK KysrKyBhcHBzL2FwcF9yeGZheC5jCVR1ZSBKdWwgMTAgMTU6Mjc6MjggMjAwNworQEAgLTAsMCAr MSwzODAgQEAKKysvKgorKyAqIEFzdGVyaXNrIC0tIEEgdGVsZXBob255IHRvb2xraXQgZm9yIExp bnV4LgorKyAqCisrICogVHJpdmlhbCBhcHBsaWNhdGlvbiB0byByZWNlaXZlIGEgVElGRiBGQVgg ZmlsZQorKyAqIAorKyAqIENvcHlyaWdodCAoQykgMjAwMywgU3RldmUgVW5kZXJ3b29kCisrICoK KysgKiBTdGV2ZSBVbmRlcndvb2QgPHN0ZXZldUBjb3BwaWNlLm9yZz4KKysgKgorKyAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YK KysgKiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgKi8KKysKKysvKioqIE1PRFVM RUlORk8KKysgICAgICAgICA8ZGVwZW5kPnNwYW5kc3A8L2RlcGVuZD4KKysqKiovCisrIAorKyNp bmNsdWRlICJhc3Rlcmlzay5oIgorKworK0FTVEVSSVNLX0ZJTEVfVkVSU0lPTihfX0ZJTEVfXywg IiRSZXZpc2lvbjokIikKKysKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrI2luY2x1ZGUgPHN0ZGxp Yi5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyNpbmNs dWRlIDxwdGhyZWFkLmg+CisrI2luY2x1ZGUgPGVycm5vLmg+CisrI2luY2x1ZGUgPHRpZmZpby5o PgorKworKyNpbmNsdWRlIDxzcGFuZHNwLmg+CisrCisrI2luY2x1ZGUgImFzdGVyaXNrL2xvY2su aCIKKysjaW5jbHVkZSAiYXN0ZXJpc2svZmlsZS5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9sb2dn ZXIuaCIKKysjaW5jbHVkZSAiYXN0ZXJpc2svY2hhbm5lbC5oIgorKyNpbmNsdWRlICJhc3Rlcmlz ay9wYnguaCIKKysjaW5jbHVkZSAiYXN0ZXJpc2svbW9kdWxlLmgiCisrI2luY2x1ZGUgImFzdGVy aXNrL21hbmFnZXIuaCIKKysKKysjaWZuZGVmIEFTVF9NT0RVTEUKKysjZGVmaW5lIEFTVF9NT0RV TEUgImFwcF9yeGZheCIKKysjZW5kaWYKKysKKytzdGF0aWMgY2hhciAqYXBwID0gIlJ4RkFYIjsK KysKKytzdGF0aWMgY2hhciAqc3lub3BzaXMgPSAiUmVjZWl2ZSBhIEZBWCB0byBhIGZpbGUiOwor KworK3N0YXRpYyBjaGFyICpkZXNjcmlwID0gCisrIiAgUnhGQVgoZmlsZW5hbWVbfGNhbGxlcl1b fGRlYnVnXSk6IFJlY2VpdmVzIGEgRkFYIGZyb20gdGhlIGNoYW5uZWwgaW50byB0aGVcbiIKKysi Z2l2ZW4gZmlsZW5hbWUuIElmIHRoZSBmaWxlIGV4aXN0cyBpdCB3aWxsIGJlIG92ZXJ3cml0dGVu LiBUaGUgZmlsZVxuIgorKyJzaG91bGQgYmUgaW4gVElGRi9GIGZvcm1hdC5cbiIKKysiVGhlIFwi Y2FsbGVyXCIgb3B0aW9uIG1ha2VzIHRoZSBhcHBsaWNhdGlvbiBiZWhhdmUgYXMgYSBjYWxsaW5n IG1hY2hpbmUsXG4iCisrInJhdGhlciB0aGFuIHRoZSBhbnN3ZXJpbmcgbWFjaGluZS4gVGhlIGRl ZmF1bHQgYmVoYXZpb3VyIGlzIHRvIGJlaGF2ZSBhc1xuIgorKyJhbiBhbnN3ZXJpbmcgbWFjaGlu ZS5cbiIKKysiVXNlcyBMT0NBTFNUQVRJT05JRCB0byBpZGVudGlmeSBpdHNlbGYgdG8gdGhlIHJl bW90ZSBlbmQuXG4iCisrIiAgICAgTE9DQUxIRUFERVJJTkZPIHRvIGdlbmVyYXRlIGEgaGVhZGVy IGxpbmUgb24gZWFjaCBwYWdlLlxuIgorKyJTZXRzIFJFTU9URVNUQVRJT05JRCB0byB0aGUgc2Vu ZGVyIENTSUQuXG4iCisrIiAgICAgRkFYUEFHRVMgdG8gdGhlIG51bWJlciBvZiBwYWdlcyByZWNl aXZlZC5cbiIKKysiICAgICBGQVhCSVRSQVRFIHRvIHRoZSB0cmFuc21pdGlvbiByYXRlLlxuIgor KyIgICAgIEZBWFJFU09MVVRJT04gdG8gdGhlIHJlc29sdXRpb24uXG4iCisrIlJldHVybnMgLTEg d2hlbiB0aGUgdXNlciBoYW5ncyB1cC5cbiIKKysiUmV0dXJucyAwIG90aGVyd2lzZS5cbiI7Cisr CisrI2RlZmluZSBNQVhfQkxPQ0tfU0laRSAyNDAKKysKKytzdGF0aWMgdm9pZCBzcGFuX21lc3Nh Z2UoaW50IGxldmVsLCBjb25zdCBjaGFyICptc2cpCisreworKyAgICBpbnQgYXN0X2xldmVsOwor KyAgICAKKysgICAgaWYgKGxldmVsID09IFNQQU5fTE9HX1dBUk5JTkcpCisrICAgICAgICBhc3Rf bGV2ZWwgPSBfX0xPR19XQVJOSU5HOworKyAgICBlbHNlIGlmIChsZXZlbCA9PSBTUEFOX0xPR19X QVJOSU5HKQorKyAgICAgICAgYXN0X2xldmVsID0gX19MT0dfV0FSTklORzsKKysgICAgZWxzZQor KyAgICAgICAgYXN0X2xldmVsID0gX19MT0dfREVCVUc7CisrICAgIGFzdF9sb2coYXN0X2xldmVs LCBfX0ZJTEVfXywgX19MSU5FX18sIF9fUFJFVFRZX0ZVTkNUSU9OX18sIG1zZyk7CisrfQorKy8q LSBFbmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0qLworKworKyNpZiAwCisrc3RhdGljIHZvaWQgdDMwX2ZsdXNoKHQz MF9zdGF0ZV90ICpzLCBpbnQgd2hpY2gpCisreworKyAgICAvKiBUT0RPOiAqLworK30KKysvKi0g RW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKi8KKysjZW5kaWYKKysKKytzdGF0aWMgdm9pZCBwaGFzZV9lX2hhbmRs ZXIodDMwX3N0YXRlX3QgKnMsIHZvaWQgKnVzZXJfZGF0YSwgaW50IHJlc3VsdCkKKyt7CisrICAg IHN0cnVjdCBhc3RfY2hhbm5lbCAqY2hhbjsKKysgICAgdDMwX3N0YXRzX3QgdDsKKysgICAgY2hh ciBsb2NhbF9pZGVudFsyMV07CisrICAgIGNoYXIgZmFyX2lkZW50WzIxXTsKKysgICAgY2hhciBi dWZbMTFdOworKyAgICAKKysgICAgY2hhbiA9IChzdHJ1Y3QgYXN0X2NoYW5uZWwgKikgdXNlcl9k YXRhOworKyAgICBpZiAocmVzdWx0ID09IFQzMF9FUlJfT0spCisrICAgIHsKKysgICAgICAgIHQz MF9nZXRfdHJhbnNmZXJfc3RhdGlzdGljcyhzLCAmdCk7CisrICAgICAgICB0MzBfZ2V0X2Zhcl9p ZGVudChzLCBmYXJfaWRlbnQpOworKyAgICAgICAgdDMwX2dldF9sb2NhbF9pZGVudChzLCBsb2Nh bF9pZGVudCk7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PVxuIik7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIkZheCBzdWNjZXNzZnVsbHkg cmVjZWl2ZWQuXG4iKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiUmVtb3RlIHN0YXRp b24gaWQ6ICVzXG4iLCBmYXJfaWRlbnQpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJM b2NhbCBzdGF0aW9uIGlkOiAgJXNcbiIsIGxvY2FsX2lkZW50KTsKKysgICAgICAgIGFzdF9sb2co TE9HX0RFQlVHLCAiUGFnZXMgdHJhbnNmZXJyZWQ6ICVpXG4iLCB0LnBhZ2VzX3RyYW5zZmVycmVk KTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiSW1hZ2UgcmVzb2x1dGlvbjogICVpIHgg JWlcbiIsIHQueF9yZXNvbHV0aW9uLCB0LnlfcmVzb2x1dGlvbik7CisrICAgICAgICBhc3RfbG9n KExPR19ERUJVRywgIlRyYW5zZmVyIFJhdGU6ICAgICAlaVxuIiwgdC5iaXRfcmF0ZSk7CisrICAg ICAgICBhc3RfbG9nKExPR19ERUJVRywgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CisrICAg ICAgICBtYW5hZ2VyX2V2ZW50KEVWRU5UX0ZMQUdfQ0FMTCwKKysgICAgICAgICAgICAgICAgICAg ICAgIkZheFJlY2VpdmVkIiwgIkNoYW5uZWw6ICVzXG5FeHRlbjogJXNcbkNhbGxlcklEOiAlc1xu UmVtb3RlU3RhdGlvbklEOiAlc1xuTG9jYWxTdGF0aW9uSUQ6ICVzXG5QYWdlc1RyYW5zZmVycmVk OiAlaVxuUmVzb2x1dGlvbjogJWlcblRyYW5zZmVyUmF0ZTogJWlcbkZpbGVOYW1lOiAlc1xuIiwK KysgICAgICAgICAgICAgICAgICAgICAgY2hhbi0+bmFtZSwKKysgICAgICAgICAgICAgICAgICAg ICAgY2hhbi0+ZXh0ZW4sCisrICAgICAgICAgICAgICAgICAgICAgIChjaGFuLT5jaWQuY2lkX251 bSkgID8gIGNoYW4tPmNpZC5jaWRfbnVtICA6ICAiIiwKKysgICAgICAgICAgICAgICAgICAgICAg ZmFyX2lkZW50LAorKyAgICAgICAgICAgICAgICAgICAgICBsb2NhbF9pZGVudCwKKysgICAgICAg ICAgICAgICAgICAgICAgdC5wYWdlc190cmFuc2ZlcnJlZCwKKysgICAgICAgICAgICAgICAgICAg ICAgdC55X3Jlc29sdXRpb24sCisrICAgICAgICAgICAgICAgICAgICAgIHQuYml0X3JhdGUsCisr ICAgICAgICAgICAgICAgICAgICAgIHMtPnJ4X2ZpbGUpOworKyAgICAgICAgcGJ4X2J1aWx0aW5f c2V0dmFyX2hlbHBlcihjaGFuLCAiUkVNT1RFU1RBVElPTklEIiwgZmFyX2lkZW50KTsKKysgICAg ICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlaSIsIHQucGFnZXNfdHJhbnNmZXJyZWQp OworKyAgICAgICAgcGJ4X2J1aWx0aW5fc2V0dmFyX2hlbHBlcihjaGFuLCAiRkFYUEFHRVMiLCBi dWYpOworKyAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVpIiwgdC55X3Jlc29s dXRpb24pOworKyAgICAgICAgcGJ4X2J1aWx0aW5fc2V0dmFyX2hlbHBlcihjaGFuLCAiRkFYUkVT T0xVVElPTiIsIGJ1Zik7CisrICAgICAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWki LCB0LmJpdF9yYXRlKTsKKysgICAgICAgIHBieF9idWlsdGluX3NldHZhcl9oZWxwZXIoY2hhbiwg IkZBWEJJVFJBVEUiLCBidWYpOworKyAgICB9CisrICAgIGVsc2UKKysgICAgeworKyAgICAgICAg YXN0X2xvZyhMT0dfREVCVUcsICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpOworKyAgICAgICAg YXN0X2xvZyhMT0dfREVCVUcsICJGYXggcmVjZWl2ZSBub3Qgc3VjY2Vzc2Z1bCAtIHJlc3VsdCAo JWQpICVzLlxuIiwgcmVzdWx0LCB0MzBfY29tcGxldGlvbl9jb2RlX3RvX3N0cihyZXN1bHQpKTsK KysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsK KysgICAgfQorK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysKKytzdGF0aWMgdm9pZCBwaGFz ZV9kX2hhbmRsZXIodDMwX3N0YXRlX3QgKnMsIHZvaWQgKnVzZXJfZGF0YSwgaW50IHJlc3VsdCkK Kyt7CisrICAgIHN0cnVjdCBhc3RfY2hhbm5lbCAqY2hhbjsKKysgICAgdDMwX3N0YXRzX3QgdDsK KysgICAgCisrICAgIGNoYW4gPSAoc3RydWN0IGFzdF9jaGFubmVsICopIHVzZXJfZGF0YTsKKysg ICAgaWYgKHJlc3VsdCkKKysgICAgeworKyAgICAgICAgdDMwX2dldF90cmFuc2Zlcl9zdGF0aXN0 aWNzKHMsICZ0KTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09XG4iKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiUGFnZXMgdHJhbnNmZXJy ZWQ6ICAlaVxuIiwgdC5wYWdlc190cmFuc2ZlcnJlZCk7CisrICAgICAgICBhc3RfbG9nKExPR19E RUJVRywgIkltYWdlIHNpemU6ICAgICAgICAgJWkgeCAlaVxuIiwgdC53aWR0aCwgdC5sZW5ndGgp OworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJJbWFnZSByZXNvbHV0aW9uICAgICVpIHgg JWlcbiIsIHQueF9yZXNvbHV0aW9uLCB0LnlfcmVzb2x1dGlvbik7CisrICAgICAgICBhc3RfbG9n KExPR19ERUJVRywgIlRyYW5zZmVyIFJhdGU6ICAgICAgJWlcbiIsIHQuYml0X3JhdGUpOworKyAg ICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJCYWQgcm93cyAgICAgICAgICAgICVpXG4iLCB0LmJh ZF9yb3dzKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiTG9uZ2VzdCBiYWQgcm93IHJ1 biAlaVxuIiwgdC5sb25nZXN0X2JhZF9yb3dfcnVuKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RF QlVHLCAiQ29tcHJlc3Npb24gdHlwZSAgICAlaVxuIiwgdC5lbmNvZGluZyk7CisrICAgICAgICBh c3RfbG9nKExPR19ERUJVRywgIkltYWdlIHNpemUgKGJ5dGVzKSAgJWlcbiIsIHQuaW1hZ2Vfc2l6 ZSk7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu Iik7CisrICAgIH0KKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrc3RhdGljIGludCBy eGZheF9leGVjKHN0cnVjdCBhc3RfY2hhbm5lbCAqY2hhbiwgdm9pZCAqZGF0YSkKKyt7CisrICAg IGludCByZXMgPSAwOworKyAgICBjaGFyIHRlbXBsYXRlX2ZpbGVbMjU2XTsKKysgICAgY2hhciB0 YXJnZXRfZmlsZVsyNTZdOworKyAgICBjaGFyICpzOworKyAgICBjaGFyICp0OworKyAgICBjaGFy ICp2OworKyAgICBjb25zdCBjaGFyICp4OworKyAgICBpbnQgb3B0aW9uOworKyAgICBpbnQgbGVu OworKyAgICBpbnQgaTsKKysgICAgZmF4X3N0YXRlX3QgZmF4OworKyAgICBpbnQgY2FsbGluZ19w YXJ0eTsKKysgICAgaW50IHZlcmJvc2U7CisrICAgIGludCBzYW1wbGVzOworKworKyAgICBzdHJ1 Y3QgYXN0X21vZHVsZV91c2VyICp1OworKyAgICBzdHJ1Y3QgYXN0X2ZyYW1lICppbmYgPSBOVUxM OworKyAgICBzdHJ1Y3QgYXN0X2ZyYW1lIG91dGY7CisrCisrICAgIGludCBvcmlnaW5hbF9yZWFk X2ZtdDsKKysgICAgaW50IG9yaWdpbmFsX3dyaXRlX2ZtdDsKKysgICAgCisrICAgIHVpbnQ4X3Qg X19idWZbc2l6ZW9mKHVpbnQxNl90KSpNQVhfQkxPQ0tfU0laRSArIDIqQVNUX0ZSSUVORExZX09G RlNFVF07CisrICAgIHVpbnQ4X3QgKmJ1ZiA9IF9fYnVmICsgQVNUX0ZSSUVORExZX09GRlNFVDsK KysKKysgICAgaWYgKGNoYW4gPT0gTlVMTCkKKysgICAgeworKyAgICAgICAgYXN0X2xvZyhMT0df V0FSTklORywgIkZheCByZWNlaXZlIGNoYW5uZWwgaXMgTlVMTC4gR2l2aW5nIHVwLlxuIik7Cisr ICAgICAgICByZXR1cm4gLTE7CisrICAgIH0KKysKKysgICAgc3Bhbl9zZXRfbWVzc2FnZV9oYW5k bGVyKHNwYW5fbWVzc2FnZSk7CisrCisrICAgIC8qIFRoZSBuZXh0IGZldyBsaW5lcyBvZiBjb2Rl IHBhcnNlIG91dCB0aGUgZmlsZW5hbWUgYW5kIGhlYWRlciBmcm9tIHRoZSBpbnB1dCBzdHJpbmcg Ki8KKysgICAgaWYgKGRhdGEgPT0gTlVMTCkKKysgICAgeworKyAgICAgICAgLyogTm8gZGF0YSBp bXBsaWVzIG5vIGZpbGVuYW1lIG9yIGFueXRoaW5nIGlzIHByZXNlbnQgKi8KKysgICAgICAgIGFz dF9sb2coTE9HX1dBUk5JTkcsICJSeGZheCByZXF1aXJlcyBhbiBhcmd1bWVudCAoZmlsZW5hbWUp XG4iKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKyAgICAKKysgICAgY2FsbGluZ19w YXJ0eSA9IEZBTFNFOworKyAgICB2ZXJib3NlID0gRkFMU0U7CisrICAgIHRhcmdldF9maWxlWzBd ID0gJ1wwJzsKKysKKysgICAgZm9yIChvcHRpb24gPSAwLCB2ID0gcyA9IGRhdGE7ICB2OyAgb3B0 aW9uKyssIHMrKykKKysgICAgeworKyAgICAgICAgdCA9IHM7CisrICAgICAgICB2ID0gc3RyY2hy KHMsICd8Jyk7CisrICAgICAgICBzID0gKHYpICA/ICB2ICA6ICBzICsgc3RybGVuKHMpOworKyAg ICAgICAgc3RybmNweSgoY2hhciAqKSBidWYsIHQsIHMgLSB0KTsKKysgICAgICAgIGJ1ZltzIC0g dF0gPSAnXDAnOworKyAgICAgICAgaWYgKG9wdGlvbiA9PSAwKQorKyAgICAgICAgeworKyAgICAg ICAgICAgIC8qIFRoZSBmaXJzdCBvcHRpb24gaXMgYWx3YXlzIHRoZSBmaWxlIG5hbWUgKi8KKysg ICAgICAgICAgICBsZW4gPSBzIC0gdDsKKysgICAgICAgICAgICBpZiAobGVuID4gMjU1KQorKyAg ICAgICAgICAgICAgICBsZW4gPSAyNTU7CisrICAgICAgICAgICAgc3RybmNweSh0YXJnZXRfZmls ZSwgdCwgbGVuKTsKKysgICAgICAgICAgICB0YXJnZXRfZmlsZVtsZW5dID0gJ1wwJzsKKysgICAg ICAgICAgICAvKiBBbGxvdyB0aGUgdXNlIG9mICVkIGluIHRoZSBmaWxlIG5hbWUgZm9yIGEgd2ls ZCBjYXJkIG9mIHNvcnRzLCB0bworKyAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBmaWxlIHdp dGggdGhlIHNwZWNpZmllZCBuYW1lIHNjaGVtZSAqLworKyAgICAgICAgICAgIGlmICgoeCA9IHN0 cmNocih0YXJnZXRfZmlsZSwgJyUnKSkgICYmICB4WzFdID09ICdkJykKKysgICAgICAgICAgICB7 CisrICAgICAgICAgICAgICAgIHN0cmNweSh0ZW1wbGF0ZV9maWxlLCB0YXJnZXRfZmlsZSk7Cisr ICAgICAgICAgICAgICAgIGkgPSAwOworKyAgICAgICAgICAgICAgICBkbworKyAgICAgICAgICAg ICAgICB7CisrICAgICAgICAgICAgICAgICAgICBzbnByaW50Zih0YXJnZXRfZmlsZSwgMjU2LCB0 ZW1wbGF0ZV9maWxlLCAxKTsKKysgICAgICAgICAgICAgICAgICAgIGkrKzsKKysgICAgICAgICAg ICAgICAgfQorKyAgICAgICAgICAgICAgICB3aGlsZSAoYXN0X2ZpbGVleGlzdHModGFyZ2V0X2Zp bGUsICIiLCBjaGFuLT5sYW5ndWFnZSkgIT0gLTEpOworKyAgICAgICAgICAgIH0KKysgICAgICAg IH0KKysgICAgICAgIGVsc2UgaWYgKHN0cm5jbXAoImNhbGxlciIsIHQsIHMgLSB0KSA9PSAwKQor KyAgICAgICAgeworKyAgICAgICAgICAgIGNhbGxpbmdfcGFydHkgPSBUUlVFOworKyAgICAgICAg fQorKyAgICAgICAgZWxzZSBpZiAoc3RybmNtcCgiZGVidWciLCB0LCBzIC0gdCkgPT0gMCkKKysg ICAgICAgIHsKKysgICAgICAgICAgICB2ZXJib3NlID0gVFJVRTsKKysgICAgICAgIH0KKysgICAg fQorKworKyAgICAvKiBEb25lIHBhcnNpbmcgKi8KKysKKysgICAgdSA9IGFzdF9tb2R1bGVfdXNl cl9hZGQoY2hhbik7CisrCisrICAgIGlmIChjaGFuLT5fc3RhdGUgIT0gQVNUX1NUQVRFX1VQKQor KyAgICB7CisrICAgICAgICAvKiBTaG91bGRuJ3QgbmVlZCB0aGlzLCBidXQgY2hlY2tpbmcgdG8g c2VlIGlmIGNoYW5uZWwgaXMgYWxyZWFkeSBhbnN3ZXJlZAorKyAgICAgICAgICogVGhlb3JldGlj YWxseSBhc3RlcmlzayBzaG91bGQgYWxyZWFkeSBoYXZlIGFuc3dlcmVkIGJlZm9yZSBydW5uaW5n IHRoZSBhcHAgKi8KKysgICAgICAgIHJlcyA9IGFzdF9hbnN3ZXIoY2hhbik7CisrICAgIH0KKysg ICAgCisrICAgIGlmICghcmVzKQorKyAgICB7CisrICAgICAgICBvcmlnaW5hbF9yZWFkX2ZtdCA9 IGNoYW4tPnJlYWRmb3JtYXQ7CisrICAgICAgICBpZiAob3JpZ2luYWxfcmVhZF9mbXQgIT0gQVNU X0ZPUk1BVF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRf cmVhZF9mb3JtYXQoY2hhbiwgQVNUX0ZPUk1BVF9TTElORUFSKTsKKysgICAgICAgICAgICBpZiAo cmVzIDwgMCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dB Uk5JTkcsICJVbmFibGUgdG8gc2V0IHRvIGxpbmVhciByZWFkIG1vZGUsIGdpdmluZyB1cFxuIik7 CisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9 CisrICAgICAgICBvcmlnaW5hbF93cml0ZV9mbXQgPSBjaGFuLT53cml0ZWZvcm1hdDsKKysgICAg ICAgIGlmIChvcmlnaW5hbF93cml0ZV9mbXQgIT0gQVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAg ICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfd3JpdGVfZm9ybWF0KGNoYW4sIEFTVF9G T1JNQVRfU0xJTkVBUik7CisrICAgICAgICAgICAgaWYgKHJlcyA8IDApCisrICAgICAgICAgICAg eworKyAgICAgICAgICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5hYmxlIHRvIHNldCB0 byBsaW5lYXIgd3JpdGUgbW9kZSwgZ2l2aW5nIHVwXG4iKTsKKysgICAgICAgICAgICAgICAgcmVz ID0gYXN0X3NldF9yZWFkX2Zvcm1hdChjaGFuLCBvcmlnaW5hbF9yZWFkX2ZtdCk7CisrICAgICAg ICAgICAgICAgIGlmIChyZXMpCisrICAgICAgICAgICAgICAgICAgICBhc3RfbG9nKExPR19XQVJO SU5HLCAiVW5hYmxlIHRvIHJlc3RvcmUgcmVhZCBmb3JtYXQgb24gJyVzJ1xuIiwgY2hhbi0+bmFt ZSk7CisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICB9CisrICAgICAg ICB9CisrICAgICAgICBmYXhfaW5pdCgmZmF4LCBjYWxsaW5nX3BhcnR5KTsKKysgICAgICAgIGlm ICh2ZXJib3NlKQorKyAgICAgICAgICAgIGZheC5sb2dnaW5nLmxldmVsID0gU1BBTl9MT0dfU0hP V19TRVZFUklUWSB8IFNQQU5fTE9HX1NIT1dfUFJPVE9DT0wgfCBTUEFOX0xPR19GTE9XOworKyAg ICAgICAgeCA9IHBieF9idWlsdGluX2dldHZhcl9oZWxwZXIoY2hhbiwgIkxPQ0FMU1RBVElPTklE Iik7CisrICAgICAgICBpZiAoeCAgJiYgIHhbMF0pCisrICAgICAgICAgICAgdDMwX3NldF9sb2Nh bF9pZGVudCgmZmF4LnQzMF9zdGF0ZSwgeCk7CisrICAgICAgICB4ID0gcGJ4X2J1aWx0aW5fZ2V0 dmFyX2hlbHBlcihjaGFuLCAiTE9DQUxIRUFERVJJTkZPIik7CisrICAgICAgICBpZiAoeCAgJiYg IHhbMF0pCisrICAgICAgICAgICAgdDMwX3NldF9oZWFkZXJfaW5mbygmZmF4LnQzMF9zdGF0ZSwg eCk7CisrICAgICAgICB0MzBfc2V0X3J4X2ZpbGUoJmZheC50MzBfc3RhdGUsIHRhcmdldF9maWxl LCAtMSk7CisrICAgICAgICAvL3QzMF9zZXRfcGhhc2VfYl9oYW5kbGVyKCZmYXgudDMwX3N0YXRl LCBwaGFzZV9iX2hhbmRsZXIsIGNoYW4pOworKyAgICAgICAgdDMwX3NldF9waGFzZV9kX2hhbmRs ZXIoJmZheC50MzBfc3RhdGUsIHBoYXNlX2RfaGFuZGxlciwgY2hhbik7CisrICAgICAgICB0MzBf c2V0X3BoYXNlX2VfaGFuZGxlcigmZmF4LnQzMF9zdGF0ZSwgcGhhc2VfZV9oYW5kbGVyLCBjaGFu KTsKKysgICAgICAgIHQzMF9zZXRfZWNtX2NhcGFiaWxpdHkoJmZheC50MzBfc3RhdGUsIFRSVUUp OworKyAgICAgICAgdDMwX3NldF9zdXBwb3J0ZWRfY29tcHJlc3Npb25zKCZmYXgudDMwX3N0YXRl LCBUMzBfU1VQUE9SVF9UNF8xRF9DT01QUkVTU0lPTiB8IFQzMF9TVVBQT1JUX1Q0XzJEX0NPTVBS RVNTSU9OIHwgVDMwX1NVUFBPUlRfVDZfQ09NUFJFU1NJT04pOworKyAgICAgICAgd2hpbGUgKGFz dF93YWl0Zm9yKGNoYW4sIC0xKSA+IC0xKQorKyAgICAgICAgeworKyAgICAgICAgICAgIGluZiA9 IGFzdF9yZWFkKGNoYW4pOworKyAgICAgICAgICAgIGlmIChpbmYgPT0gTlVMTCkKKysgICAgICAg ICAgICB7CisrICAgICAgICAgICAgICAgIHJlcyA9IC0xOworKyAgICAgICAgICAgICAgICBicmVh azsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYgKGluZi0+ZnJhbWV0eXBlID09IEFT VF9GUkFNRV9WT0lDRSkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIGlmIChmYXhf cngoJmZheCwgaW5mLT5kYXRhLCBpbmYtPnNhbXBsZXMpKQorKyAgICAgICAgICAgICAgICAgICAg YnJlYWs7CisrICAgICAgICAgICAgICAgIHNhbXBsZXMgPSAoaW5mLT5zYW1wbGVzIDw9IE1BWF9C TE9DS19TSVpFKSAgPyAgaW5mLT5zYW1wbGVzICA6ICBNQVhfQkxPQ0tfU0laRTsKKysgICAgICAg ICAgICAgICAgbGVuID0gZmF4X3R4KCZmYXgsIChpbnQxNl90ICopICZidWZbQVNUX0ZSSUVORExZ X09GRlNFVF0sIHNhbXBsZXMpOworKyAgICAgICAgICAgICAgICBpZiAobGVuKQorKyAgICAgICAg ICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICBtZW1zZXQoJm91dGYsIDAsIHNpemVvZihv dXRmKSk7CisrICAgICAgICAgICAgICAgICAgICBvdXRmLmZyYW1ldHlwZSA9IEFTVF9GUkFNRV9W T0lDRTsKKysgICAgICAgICAgICAgICAgICAgIG91dGYuc3ViY2xhc3MgPSBBU1RfRk9STUFUX1NM SU5FQVI7CisrICAgICAgICAgICAgICAgICAgICBvdXRmLmRhdGFsZW4gPSBsZW4qc2l6ZW9mKGlu dDE2X3QpOworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5zYW1wbGVzID0gbGVuOworKyAgICAg ICAgICAgICAgICAgICAgb3V0Zi5kYXRhID0gJmJ1ZltBU1RfRlJJRU5ETFlfT0ZGU0VUXTsKKysg ICAgICAgICAgICAgICAgICAgIG91dGYub2Zmc2V0ID0gQVNUX0ZSSUVORExZX09GRlNFVDsKKysg ICAgICAgICAgICAgICAgICAgIG91dGYuc3JjID0gIlJ4RkFYIjsKKysgICAgICAgICAgICAgICAg ICAgIGlmIChhc3Rfd3JpdGUoY2hhbiwgJm91dGYpIDwgMCkKKysgICAgICAgICAgICAgICAgICAg IHsKKysgICAgICAgICAgICAgICAgICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5hYmxl IHRvIHdyaXRlIGZyYW1lIHRvIGNoYW5uZWw7ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOworKyAg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICAgICAgfQorKyAg ICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGFzdF9mcmZyZWUo aW5mKTsKKysgICAgICAgIH0KKysgICAgICAgIGlmIChpbmYgPT0gTlVMTCkKKysgICAgICAgIHsK KysgICAgICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIkdvdCBoYW5ndXBcbiIpOworKyAgICAg ICAgICAgIHJlcyA9IC0xOworKyAgICAgICAgfQorKyAgICAgICAgaWYgKG9yaWdpbmFsX3JlYWRf Zm10ICE9IEFTVF9GT1JNQVRfU0xJTkVBUikKKysgICAgICAgIHsKKysgICAgICAgICAgICByZXMg PSBhc3Rfc2V0X3JlYWRfZm9ybWF0KGNoYW4sIG9yaWdpbmFsX3JlYWRfZm10KTsKKysgICAgICAg ICAgICBpZiAocmVzKQorKyAgICAgICAgICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5h YmxlIHRvIHJlc3RvcmUgcmVhZCBmb3JtYXQgb24gJyVzJ1xuIiwgY2hhbi0+bmFtZSk7CisrICAg ICAgICB9CisrICAgICAgICBpZiAob3JpZ2luYWxfd3JpdGVfZm10ICE9IEFTVF9GT1JNQVRfU0xJ TkVBUikKKysgICAgICAgIHsKKysgICAgICAgICAgICByZXMgPSBhc3Rfc2V0X3dyaXRlX2Zvcm1h dChjaGFuLCBvcmlnaW5hbF93cml0ZV9mbXQpOworKyAgICAgICAgICAgIGlmIChyZXMpCisrICAg ICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gcmVzdG9yZSB3cml0 ZSBmb3JtYXQgb24gJyVzJ1xuIiwgY2hhbi0+bmFtZSk7CisrICAgICAgICB9CisrICAgICAgICB0 MzBfdGVybWluYXRlKCZmYXgudDMwX3N0YXRlKTsKKysgICAgfQorKyAgICBlbHNlCisrICAgIHsK KysgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJDb3VsZCBub3QgYW5zd2VyIGNoYW5uZWwg JyVzJ1xuIiwgY2hhbi0+bmFtZSk7CisrICAgIH0KKysgICAgYXN0X21vZHVsZV91c2VyX3JlbW92 ZSh1KTsKKysgICAgcmV0dXJuIHJlczsKKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisr c3RhdGljIGludCB1bmxvYWRfbW9kdWxlKHZvaWQpCisreworKwlpbnQgcmVzOworKworKwlhc3Rf bW9kdWxlX3VzZXJfaGFuZ3VwX2FsbCgpOworKworKwlyZXMgPSBhc3RfdW5yZWdpc3Rlcl9hcHBs aWNhdGlvbihhcHApOwkKKysJCisrCisrCXJldHVybiByZXM7CisrfQorKy8qLSBFbmQgb2YgZnVu Y3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0qLworKworK3N0YXRpYyBpbnQgbG9hZF9tb2R1bGUodm9pZCkKKyt7CisrCXJldHVybiBh c3RfcmVnaXN0ZXJfYXBwbGljYXRpb24oYXBwLCByeGZheF9leGVjLCBzeW5vcHNpcywgZGVzY3Jp cCk7CisrfQorKy8qLSBFbmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKworK0FTVF9NT0RVTEVfSU5GT19TVEFO REFSRChBU1RFUklTS19HUExfS0VZLCAiVHJpdmlhbCBGQVggUmVjZWl2ZSBBcHBsaWNhdGlvbiIp OworKworKy8qLSBFbmQgb2YgZmlsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC1ydU4gYXN0ZXJpc2sub3JpZy9maWxl cy9wYXRjaC1hcHBzOjphcHBfdHhmYXguYyBhc3Rlcmlzay9maWxlcy9wYXRjaC1hcHBzOjphcHBf dHhmYXguYwotLS0gYXN0ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1hcHBzOjphcHBfdHhmYXguYwkx OTcwLTAxLTAxIDA1OjAwOjAwLjAwMDAwMDAwMCArMDUwMAorKysgYXN0ZXJpc2svZmlsZXMvcGF0 Y2gtYXBwczo6YXBwX3R4ZmF4LmMJMjAwNy0wNy0xMiAxNjo0NTo0Ny4wMDAwMDAwMDAgKzA2MDAK QEAgLTAsMCArMSwzMDkgQEAKKy0tLSBhcHBzL2FwcF90eGZheC5jLm9yaWcJVHVlIEp1bCAxMCAx NToyODoxMyAyMDA3CisrKysgYXBwcy9hcHBfdHhmYXguYwlUdWUgSnVsIDEwIDE1OjI3OjM3IDIw MDcKK0BAIC0wLDAgKzEsMzA2IEBACisrLyoKKysgKiBBc3RlcmlzayAtLSBBIHRlbGVwaG9ueSB0 b29sa2l0IGZvciBMaW51eC4KKysgKgorKyAqIFRyaXZpYWwgYXBwbGljYXRpb24gdG8gc2VuZCBh IFRJRkYgZmlsZSBhcyBhIEZBWAorKyAqIAorKyAqIENvcHlyaWdodCAoQykgMjAwMywgU3RldmUg VW5kZXJ3b29kCisrICoKKysgKiBTdGV2ZSBVbmRlcndvb2QgPHN0ZXZldUBjb3BwaWNlLm9yZz4K KysgKgorKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLCBkaXN0cmlidXRlZCB1bmRl ciB0aGUgdGVybXMgb2YKKysgKiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgKi8K KysKKysvKioqIE1PRFVMRUlORk8KKysgICAgICAgICA8ZGVwZW5kPnNwYW5kc3A8L2RlcGVuZD4K KysqKiovCisrIAorKyNpbmNsdWRlICJhc3Rlcmlzay5oIgorKworK0FTVEVSSVNLX0ZJTEVfVkVS U0lPTihfX0ZJTEVfXywgIiRSZXZpc2lvbjokIikKKysKKysjaW5jbHVkZSA8c3RyaW5nLmg+Cisr I2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxpbnR0 eXBlcy5oPgorKyNpbmNsdWRlIDxwdGhyZWFkLmg+CisrI2luY2x1ZGUgPGVycm5vLmg+CisrI2lu Y2x1ZGUgPHRpZmZpby5oPgorKworKyNpbmNsdWRlIDxzcGFuZHNwLmg+CisrCisrI2luY2x1ZGUg ImFzdGVyaXNrL2xvY2suaCIKKysjaW5jbHVkZSAiYXN0ZXJpc2svZmlsZS5oIgorKyNpbmNsdWRl ICJhc3Rlcmlzay9sb2dnZXIuaCIKKysjaW5jbHVkZSAiYXN0ZXJpc2svY2hhbm5lbC5oIgorKyNp bmNsdWRlICJhc3Rlcmlzay9wYnguaCIKKysjaW5jbHVkZSAiYXN0ZXJpc2svbW9kdWxlLmgiCisr CisrI2lmbmRlZiBBU1RfTU9EVUxFCisrI2RlZmluZSBBU1RfTU9EVUxFICJhcHBfdHhmYXgiCisr I2VuZGlmCisrCisrc3RhdGljIGNoYXIgKmFwcCA9ICJUeEZBWCI7CisrCisrc3RhdGljIGNoYXIg KnN5bm9wc2lzID0gIlNlbmQgYSBGQVggZmlsZSI7CisrCisrc3RhdGljIGNoYXIgKmRlc2NyaXAg PSAKKysiICBUeEZBWChmaWxlbmFtZVt8Y2FsbGVyXVt8ZGVidWddKTogIFNlbmQgYSBnaXZlbiBU SUZGIGZpbGUgdG8gdGhlIGNoYW5uZWwgYXMgYSBGQVguXG4iCisrIlRoZSBcImNhbGxlclwiIG9w dGlvbiBtYWtlcyB0aGUgYXBwbGljYXRpb24gYmVoYXZlIGFzIGEgY2FsbGluZyBtYWNoaW5lLFxu IgorKyJyYXRoZXIgdGhhbiB0aGUgYW5zd2VyaW5nIG1hY2hpbmUuIFRoZSBkZWZhdWx0IGJlaGF2 aW91ciBpcyB0byBiZWhhdmUgYXNcbiIKKysiYW4gYW5zd2VyaW5nIG1hY2hpbmUuXG4iCisrIlVz ZXMgTE9DQUxTVEFUSU9OSUQgdG8gaWRlbnRpZnkgaXRzZWxmIHRvIHRoZSByZW1vdGUgZW5kLlxu IgorKyIgICAgIExPQ0FMSEVBREVSSU5GTyB0byBnZW5lcmF0ZSBhIGhlYWRlciBsaW5lIG9uIGVh Y2ggcGFnZS5cbiIKKysiU2V0cyBSRU1PVEVTVEFUSU9OSUQgdG8gdGhlIHJlY2VpdmVyIENTSUQu XG4iCisrIlJldHVybnMgLTEgd2hlbiB0aGUgdXNlciBoYW5ncyB1cCwgb3IgaWYgdGhlIGZpbGUg ZG9lcyBub3QgZXhpc3QuXG4iCisrIlJldHVybnMgMCBvdGhlcndpc2UuXG4iOworKworKyNkZWZp bmUgTUFYX0JMT0NLX1NJWkUgMjQwCisrCisrc3RhdGljIHZvaWQgc3Bhbl9tZXNzYWdlKGludCBs ZXZlbCwgY29uc3QgY2hhciAqbXNnKQorK3sKKysgICAgaW50IGFzdF9sZXZlbDsKKysgICAgCisr ICAgIGlmIChsZXZlbCA9PSBTUEFOX0xPR19XQVJOSU5HKQorKyAgICAgICAgYXN0X2xldmVsID0g X19MT0dfV0FSTklORzsKKysgICAgZWxzZSBpZiAobGV2ZWwgPT0gU1BBTl9MT0dfV0FSTklORykK KysgICAgICAgIGFzdF9sZXZlbCA9IF9fTE9HX1dBUk5JTkc7CisrICAgIGVsc2UKKysgICAgICAg IGFzdF9sZXZlbCA9IF9fTE9HX0RFQlVHOworKyAgICBhc3RfbG9nKGFzdF9sZXZlbCwgX19GSUxF X18sIF9fTElORV9fLCBfX1BSRVRUWV9GVU5DVElPTl9fLCBtc2cpOworK30KKysvKi0gRW5kIG9m IGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKi8KKysKKysjaWYgMAorK3N0YXRpYyB2b2lkIHQzMF9mbHVzaCh0MzBfc3RhdGVf dCAqcywgaW50IHdoaWNoKQorK3sKKysgICAgLyogVE9ETzogKi8KKyt9CisrLyotIEVuZCBvZiBm dW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSovCisrI2VuZGlmCisrCisrc3RhdGljIHZvaWQgcGhhc2VfZV9oYW5kbGVyKHQzMF9z dGF0ZV90ICpzLCB2b2lkICp1c2VyX2RhdGEsIGludCByZXN1bHQpCisreworKyAgICBzdHJ1Y3Qg YXN0X2NoYW5uZWwgKmNoYW47CisrICAgIGNoYXIgZmFyX2lkZW50WzIxXTsKKysgICAgCisrICAg IGNoYW4gPSAoc3RydWN0IGFzdF9jaGFubmVsICopIHVzZXJfZGF0YTsKKysgICAgaWYgKHJlc3Vs dCA9PSBUMzBfRVJSX09LKQorKyAgICB7CisrICAgICAgICB0MzBfZ2V0X2Zhcl9pZGVudChzLCBm YXJfaWRlbnQpOworKyAgICAgICAgcGJ4X2J1aWx0aW5fc2V0dmFyX2hlbHBlcihjaGFuLCAiUkVN T1RFU1RBVElPTklEIiwgZmFyX2lkZW50KTsKKysgICAgfQorKyAgICBlbHNlCisrICAgIHsKKysg ICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsKKysg ICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiRmF4IHNlbmQgbm90IHN1Y2Nlc3NmdWwgLSByZXN1 bHQgKCVkKSAlcy5cbiIsIHJlc3VsdCwgdDMwX2NvbXBsZXRpb25fY29kZV90b19zdHIocmVzdWx0 KSk7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxu Iik7CisrICAgIH0KKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrc3RhdGljIGludCB0 eGZheF9leGVjKHN0cnVjdCBhc3RfY2hhbm5lbCAqY2hhbiwgdm9pZCAqZGF0YSkKKyt7CisrICAg IGludCByZXMgPSAwOworKyAgICBjaGFyIHNvdXJjZV9maWxlWzI1Nl07CisrICAgIGNoYXIgKnM7 CisrICAgIGNoYXIgKnQ7CisrICAgIGNoYXIgKnY7CisrICAgIGNvbnN0IGNoYXIgKng7CisrICAg IGludCBvcHRpb247CisrICAgIGludCBsZW47CisrICAgIGZheF9zdGF0ZV90IGZheDsKKysgICAg aW50IGNhbGxpbmdfcGFydHk7CisrICAgIGludCB2ZXJib3NlOworKyAgICBpbnQgc2FtcGxlczsK KysgICAgCisrICAgIHN0cnVjdCBhc3RfbW9kdWxlX3VzZXIgKnU7CisrICAgIHN0cnVjdCBhc3Rf ZnJhbWUgKmluZiA9IE5VTEw7CisrICAgIHN0cnVjdCBhc3RfZnJhbWUgb3V0ZjsKKysKKysgICAg aW50IG9yaWdpbmFsX3JlYWRfZm10OworKyAgICBpbnQgb3JpZ2luYWxfd3JpdGVfZm10OworKyAg ICAKKysgICAgdWludDhfdCBfX2J1ZltzaXplb2YodWludDE2X3QpKk1BWF9CTE9DS19TSVpFICsg MipBU1RfRlJJRU5ETFlfT0ZGU0VUXTsKKysgICAgdWludDhfdCAqYnVmID0gX19idWYgKyBBU1Rf RlJJRU5ETFlfT0ZGU0VUOworKworKyAgICBpZiAoY2hhbiA9PSBOVUxMKQorKyAgICB7CisrICAg ICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiRmF4IHRyYW5zbWl0IGNoYW5uZWwgaXMgTlVMTC4g R2l2aW5nIHVwLlxuIik7CisrICAgICAgICByZXR1cm4gLTE7CisrICAgIH0KKysKKysgICAgc3Bh bl9zZXRfbWVzc2FnZV9oYW5kbGVyKHNwYW5fbWVzc2FnZSk7CisrCisrICAgIC8qIFRoZSBuZXh0 IGZldyBsaW5lcyBvZiBjb2RlIHBhcnNlIG91dCB0aGUgZmlsZW5hbWUgYW5kIGhlYWRlciBmcm9t IHRoZSBpbnB1dCBzdHJpbmcgKi8KKysgICAgaWYgKGRhdGEgPT0gTlVMTCkKKysgICAgeworKyAg ICAgICAgLyogTm8gZGF0YSBpbXBsaWVzIG5vIGZpbGVuYW1lIG9yIGFueXRoaW5nIGlzIHByZXNl bnQgKi8KKysgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJUeGZheCByZXF1aXJlcyBhbiBh cmd1bWVudCAoZmlsZW5hbWUpXG4iKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKyAg ICAKKysgICAgY2FsbGluZ19wYXJ0eSA9IEZBTFNFOworKyAgICB2ZXJib3NlID0gRkFMU0U7Cisr ICAgIHNvdXJjZV9maWxlWzBdID0gJ1wwJzsgCisrCisrICAgIGZvciAob3B0aW9uID0gMCwgdiA9 IHMgPSBkYXRhOyAgdjsgIG9wdGlvbisrLCBzKyspCisrICAgIHsKKysgICAgICAgIHQgPSBzOwor KyAgICAgICAgdiA9IHN0cmNocihzLCAnfCcpOworKyAgICAgICAgcyA9ICh2KSAgPyAgdiAgOiAg cyArIHN0cmxlbihzKTsKKysgICAgICAgIHN0cm5jcHkoKGNoYXIgKikgYnVmLCB0LCBzIC0gdCk7 CisrICAgICAgICBidWZbcyAtIHRdID0gJ1wwJzsKKysgICAgICAgIGlmIChvcHRpb24gPT0gMCkK KysgICAgICAgIHsKKysgICAgICAgICAgICAvKiBUaGUgZmlyc3Qgb3B0aW9uIGlzIGFsd2F5cyB0 aGUgZmlsZSBuYW1lICovCisrICAgICAgICAgICAgbGVuID0gcyAtIHQ7CisrICAgICAgICAgICAg aWYgKGxlbiA+IDI1NSkKKysgICAgICAgICAgICAgICAgbGVuID0gMjU1OworKyAgICAgICAgICAg IHN0cm5jcHkoc291cmNlX2ZpbGUsIHQsIGxlbik7CisrICAgICAgICAgICAgc291cmNlX2ZpbGVb bGVuXSA9ICdcMCc7CisrICAgICAgICB9CisrICAgICAgICBlbHNlIGlmIChzdHJuY21wKCJjYWxs ZXIiLCB0LCBzIC0gdCkgPT0gMCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBjYWxsaW5nX3Bh cnR5ID0gVFJVRTsKKysgICAgICAgIH0KKysgICAgICAgIGVsc2UgaWYgKHN0cm5jbXAoImRlYnVn IiwgdCwgcyAtIHQpID09IDApCisrICAgICAgICB7CisrICAgICAgICAgICAgdmVyYm9zZSA9IFRS VUU7CisrICAgICAgICB9CisrICAgIH0KKysKKysgICAgLyogRG9uZSBwYXJzaW5nICovCisrCisr ICAgIHUgPSBhc3RfbW9kdWxlX3VzZXJfYWRkKGNoYW4pOworKworKyAgICBpZiAoY2hhbi0+X3N0 YXRlICE9IEFTVF9TVEFURV9VUCkKKysgICAgeworKyAgICAgICAgLyogU2hvdWxkbid0IG5lZWQg dGhpcywgYnV0IGNoZWNraW5nIHRvIHNlZSBpZiBjaGFubmVsIGlzIGFscmVhZHkgYW5zd2VyZWQK KysgICAgICAgICAqIFRoZW9yZXRpY2FsbHkgYXN0ZXJpc2sgc2hvdWxkIGFscmVhZHkgaGF2ZSBh bnN3ZXJlZCBiZWZvcmUgcnVubmluZyB0aGUgYXBwICovCisrICAgICAgICByZXMgPSBhc3RfYW5z d2VyKGNoYW4pOworKyAgICB9CisrICAgIAorKyAgICBpZiAoIXJlcykKKysgICAgeworKyAgICAg ICAgb3JpZ2luYWxfcmVhZF9mbXQgPSBjaGFuLT5yZWFkZm9ybWF0OworKyAgICAgICAgaWYgKG9y aWdpbmFsX3JlYWRfZm10ICE9IEFTVF9GT1JNQVRfU0xJTkVBUikKKysgICAgICAgIHsKKysgICAg ICAgICAgICByZXMgPSBhc3Rfc2V0X3JlYWRfZm9ybWF0KGNoYW4sIEFTVF9GT1JNQVRfU0xJTkVB Uik7CisrICAgICAgICAgICAgaWYgKHJlcyA8IDApCisrICAgICAgICAgICAgeworKyAgICAgICAg ICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5hYmxlIHRvIHNldCB0byBsaW5lYXIgcmVh ZCBtb2RlLCBnaXZpbmcgdXBcbiIpOworKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisrICAg ICAgICAgICAgfQorKyAgICAgICAgfQorKyAgICAgICAgb3JpZ2luYWxfd3JpdGVfZm10ID0gY2hh bi0+d3JpdGVmb3JtYXQ7CisrICAgICAgICBpZiAob3JpZ2luYWxfd3JpdGVfZm10ICE9IEFTVF9G T1JNQVRfU0xJTkVBUikKKysgICAgICAgIHsKKysgICAgICAgICAgICByZXMgPSBhc3Rfc2V0X3dy aXRlX2Zvcm1hdChjaGFuLCBBU1RfRk9STUFUX1NMSU5FQVIpOworKyAgICAgICAgICAgIGlmIChy ZXMgPCAwKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgYXN0X2xvZyhMT0dfV0FS TklORywgIlVuYWJsZSB0byBzZXQgdG8gbGluZWFyIHdyaXRlIG1vZGUsIGdpdmluZyB1cFxuIik7 CisrICAgICAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfcmVhZF9mb3JtYXQoY2hhbiwgb3JpZ2lu YWxfcmVhZF9mbXQpOworKyAgICAgICAgICAgICAgICBpZiAocmVzKQorKyAgICAgICAgICAgICAg ICAgICAgYXN0X2xvZyhMT0dfV0FSTklORywgIlVuYWJsZSB0byByZXN0b3JlIHJlYWQgZm9ybWF0 IG9uICclcydcbiIsIGNoYW4tPm5hbWUpOworKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7Cisr ICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyAgICAgICAgZmF4X2luaXQoJmZheCwgY2FsbGlu Z19wYXJ0eSk7CisrICAgICAgICBpZiAodmVyYm9zZSkKKysJICAgIGZheC5sb2dnaW5nLmxldmVs ID0gU1BBTl9MT0dfU0hPV19TRVZFUklUWSB8IFNQQU5fTE9HX1NIT1dfUFJPVE9DT0wgfCBTUEFO X0xPR19GTE9XOworKworKyAgICAgICAgeCA9IHBieF9idWlsdGluX2dldHZhcl9oZWxwZXIoY2hh biwgIkxPQ0FMU1RBVElPTklEIik7CisrICAgICAgICBpZiAoeCAgJiYgIHhbMF0pCisrICAgICAg ICAgICAgdDMwX3NldF9sb2NhbF9pZGVudCgmZmF4LnQzMF9zdGF0ZSwgeCk7CisrICAgICAgICB4 ID0gcGJ4X2J1aWx0aW5fZ2V0dmFyX2hlbHBlcihjaGFuLCAiTE9DQUxIRUFERVJJTkZPIik7Cisr ICAgICAgICBpZiAoeCAgJiYgIHhbMF0pCisrICAgICAgICAgICAgdDMwX3NldF9oZWFkZXJfaW5m bygmZmF4LnQzMF9zdGF0ZSwgeCk7CisrICAgICAgICB0MzBfc2V0X3R4X2ZpbGUoJmZheC50MzBf c3RhdGUsIHNvdXJjZV9maWxlLCAtMSwgLTEpOworKyAgICAgICAgLy90MzBfc2V0X3BoYXNlX2Jf aGFuZGxlcigmZmF4LnQzMF9zdGF0ZSwgcGhhc2VfYl9oYW5kbGVyLCBjaGFuKTsKKysgICAgICAg IC8vdDMwX3NldF9waGFzZV9kX2hhbmRsZXIoJmZheC50MzBfc3RhdGUsIHBoYXNlX2RfaGFuZGxl ciwgY2hhbik7CisrICAgICAgICB0MzBfc2V0X3BoYXNlX2VfaGFuZGxlcigmZmF4LnQzMF9zdGF0 ZSwgcGhhc2VfZV9oYW5kbGVyLCBjaGFuKTsKKysgICAgICAgIHQzMF9zZXRfZWNtX2NhcGFiaWxp dHkoJmZheC50MzBfc3RhdGUsIFRSVUUpOworKyAgICAgICAgdDMwX3NldF9zdXBwb3J0ZWRfY29t cHJlc3Npb25zKCZmYXgudDMwX3N0YXRlLCBUMzBfU1VQUE9SVF9UNF8xRF9DT01QUkVTU0lPTiB8 IFQzMF9TVVBQT1JUX1Q0XzJEX0NPTVBSRVNTSU9OIHwgVDMwX1NVUFBPUlRfVDZfQ09NUFJFU1NJ T04pOworKyAgICAgICAgd2hpbGUgKGFzdF93YWl0Zm9yKGNoYW4sIC0xKSA+IC0xKQorKyAgICAg ICAgeworKyAgICAgICAgICAgIGluZiA9IGFzdF9yZWFkKGNoYW4pOworKyAgICAgICAgICAgIGlm IChpbmYgPT0gTlVMTCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIHJlcyA9IC0x OworKyAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAg aWYgKGluZi0+ZnJhbWV0eXBlID09IEFTVF9GUkFNRV9WT0lDRSkKKysgICAgICAgICAgICB7Cisr ICAgICAgICAgICAgICAgIGlmIChmYXhfcngoJmZheCwgaW5mLT5kYXRhLCBpbmYtPnNhbXBsZXMp KQorKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgIHNhbXBsZXMg PSAoaW5mLT5zYW1wbGVzIDw9IE1BWF9CTE9DS19TSVpFKSAgPyAgaW5mLT5zYW1wbGVzICA6ICBN QVhfQkxPQ0tfU0laRTsKKysgICAgICAgICAgICAgICAgbGVuID0gZmF4X3R4KCZmYXgsIChpbnQx Nl90ICopICZidWZbQVNUX0ZSSUVORExZX09GRlNFVF0sIHNhbXBsZXMpOworKyAgICAgICAgICAg ICAgICBpZiAobGVuKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICBt ZW1zZXQoJm91dGYsIDAsIHNpemVvZihvdXRmKSk7CisrICAgICAgICAgICAgICAgICAgICBvdXRm LmZyYW1ldHlwZSA9IEFTVF9GUkFNRV9WT0lDRTsKKysgICAgICAgICAgICAgICAgICAgIG91dGYu c3ViY2xhc3MgPSBBU1RfRk9STUFUX1NMSU5FQVI7CisrICAgICAgICAgICAgICAgICAgICBvdXRm LmRhdGFsZW4gPSBsZW4qc2l6ZW9mKGludDE2X3QpOworKyAgICAgICAgICAgICAgICAgICAgb3V0 Zi5zYW1wbGVzID0gbGVuOworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5kYXRhID0gJmJ1ZltB U1RfRlJJRU5ETFlfT0ZGU0VUXTsKKysgICAgICAgICAgICAgICAgICAgIG91dGYub2Zmc2V0ID0g QVNUX0ZSSUVORExZX09GRlNFVDsKKysgICAgICAgICAgICAgICAgICAgIGlmIChhc3Rfd3JpdGUo Y2hhbiwgJm91dGYpIDwgMCkKKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAg ICAgICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5hYmxlIHRvIHdyaXRlIGZyYW1lIHRv IGNoYW5uZWw7ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOworKyAgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICB9Cisr ICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGFzdF9mcmZyZWUoaW5mKTsKKysgICAgICAgIH0K KysgICAgICAgIGlmIChpbmYgPT0gTlVMTCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBhc3Rf bG9nKExPR19ERUJVRywgIkdvdCBoYW5ndXBcbiIpOworKyAgICAgICAgICAgIHJlcyA9IC0xOwor KyAgICAgICAgfQorKyAgICAgICAgaWYgKG9yaWdpbmFsX3JlYWRfZm10ICE9IEFTVF9GT1JNQVRf U0xJTkVBUikKKysgICAgICAgIHsKKysgICAgICAgICAgICByZXMgPSBhc3Rfc2V0X3JlYWRfZm9y bWF0KGNoYW4sIG9yaWdpbmFsX3JlYWRfZm10KTsKKysgICAgICAgICAgICBpZiAocmVzKQorKyAg ICAgICAgICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5hYmxlIHRvIHJlc3RvcmUgcmVh ZCBmb3JtYXQgb24gJyVzJ1xuIiwgY2hhbi0+bmFtZSk7CisrICAgICAgICB9CisrICAgICAgICBp ZiAob3JpZ2luYWxfd3JpdGVfZm10ICE9IEFTVF9GT1JNQVRfU0xJTkVBUikKKysgICAgICAgIHsK KysgICAgICAgICAgICByZXMgPSBhc3Rfc2V0X3dyaXRlX2Zvcm1hdChjaGFuLCBvcmlnaW5hbF93 cml0ZV9mbXQpOworKyAgICAgICAgICAgIGlmIChyZXMpCisrICAgICAgICAgICAgICAgIGFzdF9s b2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gcmVzdG9yZSB3cml0ZSBmb3JtYXQgb24gJyVzJ1xu IiwgY2hhbi0+bmFtZSk7CisrICAgICAgICB9CisrICAgICAgICB0MzBfdGVybWluYXRlKCZmYXgu dDMwX3N0YXRlKTsKKysgICAgfQorKyAgICBlbHNlCisrICAgIHsKKysgICAgICAgIGFzdF9sb2co TE9HX1dBUk5JTkcsICJDb3VsZCBub3QgYW5zd2VyIGNoYW5uZWwgJyVzJ1xuIiwgY2hhbi0+bmFt ZSk7CisrICAgIH0KKysgICAgYXN0X21vZHVsZV91c2VyX3JlbW92ZSh1KTsKKysgICAgcmV0dXJu IHJlczsKKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrc3RhdGljIGludCB1bmxvYWRf bW9kdWxlKHZvaWQpCisreworKwlpbnQgcmVzOworKworKwlhc3RfbW9kdWxlX3VzZXJfaGFuZ3Vw X2FsbCgpOworKworKwlyZXMgPSBhc3RfdW5yZWdpc3Rlcl9hcHBsaWNhdGlvbihhcHApOwkKKysJ CisrCisrCXJldHVybiByZXM7CisrfQorKy8qLSBFbmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKworK3N0YXRp YyBpbnQgbG9hZF9tb2R1bGUodm9pZCkKKyt7CisrICAgIHJldHVybiBhc3RfcmVnaXN0ZXJfYXBw bGljYXRpb24oYXBwLCB0eGZheF9leGVjLCBzeW5vcHNpcywgZGVzY3JpcCk7CisrfQorKy8qLSBF bmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0qLworKworK0FTVF9NT0RVTEVfSU5GT19TVEFOREFSRChBU1RFUklTS19H UExfS0VZLCAiVHJpdmlhbCBGQVggVHJhbnNtaXQgQXBwbGljYXRpb24iKTsKKysKKysvKi0gRW5k IG9mIGZpbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKi8KZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtYnVpbGRf dG9vbHM6Om1lbnVzZWxlY3QtZGVwcy5pbiBhc3Rlcmlzay9maWxlcy9wYXRjaC1idWlsZF90b29s czo6bWVudXNlbGVjdC1kZXBzLmluCi0tLSBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLWJ1aWxk X3Rvb2xzOjptZW51c2VsZWN0LWRlcHMuaW4JMTk3MC0wMS0wMSAwNTowMDowMC4wMDAwMDAwMDAg KzA1MDAKKysrIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWJ1aWxkX3Rvb2xzOjptZW51c2VsZWN0LWRl cHMuaW4JMjAwNy0wNy0xMiAxNjo0NTo0Ny4wMDAwMDAwMDAgKzA2MDAKQEAgLTAsMCArMSwxNCBA QAorLS0tIGJ1aWxkX3Rvb2xzL21lbnVzZWxlY3QtZGVwcy5pbi5vcmlnCTIwMDYtMDktMDMgMTU6 NTA6MzIuMDAwMDAwMDAwICswODAwCisrKysgYnVpbGRfdG9vbHMvbWVudXNlbGVjdC1kZXBzLmlu CTIwMDYtMDktMDMgMTU6NTA6NDQuMDAwMDAwMDAwICswODAwCitAQCAtMTcsMTAgKzE3LDExIEBA CisgUEdTUUw9QFBCWF9QR1NRTEAKKyBQT1BUPUBQQlhfUE9QVEAKKyBQUkk9QFBCWF9QUklACisg UVQ9QFBCWF9RVEAKKyBSQURJVVM9QFBCWF9SQURJVVNACisrU1BBTkRTUD1AUEJYX1NQQU5EU1BA CisgU1BFRVg9QFBCWF9TUEVFWEAKKyBTUUxJVEU9QFBCWF9TUUxJVEVACisgU1NMPUBQQlhfT1BF TlNTTEAKKyBUT05FWk9ORT1AUEJYX1RPTkVaT05FQAorIFVOSVhPREJDPUBQQlhfVU5JWE9EQkNA CmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZSBhc3Rlcmlzay9m aWxlcy9wYXRjaC1jb25maWd1cmUKLS0tIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY29uZmln dXJlCTIwMDctMDQtMTMgMTQ6MDY6MDUuMDAwMDAwMDAwICswNjAwCisrKyBhc3Rlcmlzay9maWxl cy9wYXRjaC1jb25maWd1cmUJMjAwNy0wNy0xMiAxNjo0NTo0Ny4wMDAwMDAwMDAgKzA2MDAKQEAg LTEsMjcgKzEsNjIgQEAKLQotJEZyZWVCU0Q6IHBvcnRzL25ldC9hc3Rlcmlzay9maWxlcy9wYXRj aC1jb25maWd1cmUsdiAxLjEgMjAwNy8wNC8xMyAwODowNjowNSBzb2JvbWF4IEV4cCAkCi0KLS0t LSBjb25maWd1cmUub3JpZwotKysrIGNvbmZpZ3VyZQotQEAgLTIzNzc2LDcgKzIzNzc2LDcgQEAK LSAgIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2Ci0gZWxzZQotICAgYWNfY2hl Y2tfbGliX3NhdmVfTElCUz0kTElCUwotLUxJQlM9Ii1sb2RiYyAke3BieGxpYmRpcn0gLWxsdGRs ICRMSUJTIgotK0xJQlM9Ii1sb2RiYyAke3BieGxpYmRpcn0gJExJQlMiCi0gY2F0ID5jb25mdGVz dC4kYWNfZXh0IDw8X0FDRU9GCi0gLyogY29uZmRlZnMuaC4gICovCi0gX0FDRU9GCi1AQCAtMjM4 NTUsNyArMjM4NTUsNyBAQAorLS0tIGNvbmZpZ3VyZS5vcmlnCUZyaSBKdW4gMjkgMjA6MTg6MzYg MjAwNworKysrIGNvbmZpZ3VyZQlUdWUgSnVsIDEwIDE2OjA1OjIwIDIwMDcKK0BAIC04MjAsNiAr ODIwLDEwIEBACisgUkFESVVTX0lOQ0xVREUKKyBSQURJVVNfRElSCisgUEJYX1JBRElVUworK1NQ QU5EU1BfTElCCisrU1BBTkRTUF9JTkNMVURFCisrU1BBTkRTUF9ESVIKKytQQlhfU1BBTkRTUAor IFNQRUVYX0xJQgorIFNQRUVYX0lOQ0xVREUKKyBTUEVFWF9ESVIKK0BAIC0xNTI1LDYgKzE1Mjks NyBAQAorICAgLS13aXRoLWgzMjM9UEFUSCAgICAgICAgdXNlIE9wZW5IMzIzIGZpbGVzIGluIFBB VEgKKyAgIC0td2l0aC1xdD1QQVRIICAgICAgICAgIHVzZSBRdCBmaWxlcyBpbiBQQVRICisgICAt LXdpdGgtcmFkaXVzPVBBVEggICAgICB1c2UgUmFkaXVzIENsaWVudCBmaWxlcyBpbiBQQVRICisr ICAtLXdpdGgtc3BhbmRzcD1QQVRIICAgICB1c2UgU3BhbmRzcCBsaWJyYXJ5IGZpbGVzIGluIFBB VEgKKyAgIC0td2l0aC1zcGVleD1QQVRIICAgICAgIHVzZSBTcGVleCBmaWxlcyBpbiBQQVRICisg ICAtLXdpdGgtc3FsaXRlPVBBVEggICAgICB1c2UgU1FMaXRlIGZpbGVzIGluIFBBVEgKKyAgIC0t d2l0aC1zdXBwc2Vydj1QQVRIICAgIHVzZSBtSVNETiBTdXBwbGVtZW50YWwgU2VydmljZXMgZmls ZXMgaW4gUEFUSAorQEAgLTgyOTcsNiArODMwMiwzNiBAQAorIAorIFBCWF9SQURJVVM9MAorIAor K1NQQU5EU1BfREVTQ1JJUD0iU3BhbmRzcCBMaWJyYXJ5IgorK1NQQU5EU1BfT1BUSU9OPSJzcGFu ZHNwIgorKworKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtc3BhbmRzcCB3YXMgZ2l2ZW4uCisraWYg dGVzdCAiJHt3aXRoX3NwYW5kc3Arc2V0fSIgPSBzZXQ7IHRoZW4KKysgIHdpdGh2YWw9JHdpdGhf c3BhbmRzcDsKKytjYXNlICR7d2l0aHZhbH0gaW4KKysgICAgIG58bm8pCisrICAgICBVU0VfU1BB TkRTUD1ubworKyAgICAgUEJYX1NQQU5EU1A9MAorKyAgICAgOzsKKysgICAgIHl8eWV8eWVzKQor KyAgICAgU1BBTkRTUF9ESVI9Ii91c3IvbG9jYWwiCisrICAgICBTUEFORFNQX0xJQj0iLUwvdXNy L2xvY2FsL2xpYiAtbHNwYW5kc3AiCisrICAgICBTUEFORFNQX0lOQ0xVREU9Ii1JJHtTUEFORFNQ X0RJUn0vaW5jbHVkZSIKKysgICAgIFNQQU5EU1BfTUFOREFUT1JZPSJ5ZXMiCisrICAgICBQQlhf U1BBTkRTUD0xCisrICAgICA7OworKyAgICAgKikKKysgICAgIFNQQU5EU1BfRElSPSIke3dpdGh2 YWx9IgorKyAgICAgU1BBTkRTUF9MSUI9Ii1MJHtTUEFORFNQX0RJUn0vbGliIC1sc3BhbmRzcCIK KysgICAgIFNQQU5EU1BfSU5DTFVERT0iLUkke1NQQU5EU1BfRElSfS9pbmNsdWRlIgorKyAgICAg U1BBTkRTUF9NQU5EQVRPUlk9InllcyIKKysgICAgIFBCWF9TUEFORFNQPTEKKysgICAgIDs7Cisr ZXNhYworKworK2ZpCisrCisrCiAgCiAgCi0gICAgaWYgdGVzdCAiJHtBU1RfVU5JWE9EQkNfRk9V TkR9IiA9ICJ5ZXMiOyB0aGVuCi0tICAgICAgVU5JWE9EQkNfTElCPSItbG9kYmMgLWxsdGRsIgot KyAgICAgIFVOSVhPREJDX0xJQj0iLWxvZGJjIgotICAgICAgIFVOSVhPREJDX0hFQURFUl9GT1VO RD0iMSIKLSAgICAgICBpZiB0ZXN0ICJ4JHtVTklYT0RCQ19ESVJ9IiAhPSAieCI7IHRoZW4KLSAg ICAgICAgICBVTklYT0RCQ19MSUI9IiR7cGJ4bGliZGlyfSAke1VOSVhPREJDX0xJQn0iCi1AQCAt MjgwNjUsNyArMjgwNjUsNyBAQAorIAorQEAgLTI1NDE2LDcgKzI1NDUxLDcgQEAKICAKICAJZmkK ICAKQEAgLTMwLDMgKzY1LDIzIEBACiAgCiAgCWlmIHRlc3QgIiR7SEFTX09QRU5IMzIzOi11bnNl dH0iICE9ICJ1bnNldCI7IHRoZW4KICAJICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tp bmcgT3BlbkgzMjMgaW5zdGFsbGF0aW9uIHZhbGlkaXR5IiA+JjUKK0BAIC0zMjAzOSw2ICszMjA3 NCwxMCBAQAorIFJBRElVU19JTkNMVURFISRSQURJVVNfSU5DTFVERSRhY19kZWxpbQorIFJBRElV U19ESVIhJFJBRElVU19ESVIkYWNfZGVsaW0KKyBQQlhfUkFESVVTISRQQlhfUkFESVVTJGFjX2Rl bGltCisrU1BBTkRTUF9MSUIhJFNQQU5EU1BfTElCJGFjX2RlbGltCisrU1BBTkRTUF9JTkNMVURF ISRTUEFORFNQX0lOQ0xVREUkYWNfZGVsaW0KKytTUEFORFNQX0RJUiEkU1BBTkRTUF9ESVIkYWNf ZGVsaW0KKytQQlhfU1BBTkRTUCEkUEJYX1NQQU5EU1AkYWNfZGVsaW0KKyBTUEVFWF9MSUIhJFNQ RUVYX0xJQiRhY19kZWxpbQorIFNQRUVYX0lOQ0xVREUhJFNQRUVYX0lOQ0xVREUkYWNfZGVsaW0K KyBTUEVFWF9ESVIhJFNQRUVYX0RJUiRhY19kZWxpbQorQEAgLTMyMTI2LDcgKzMyMTY1LDcgQEAK KyBMVExJQk9CSlMhJExUTElCT0JKUyRhY19kZWxpbQorIF9BQ0VPRgorIAorLSAgaWYgdGVzdCBg c2VkIC1uICJzLy4qJGFjX2RlbGltXCQvWC9wIiBjb25mJCRzdWJzLnNlZCB8IGdyZXAgLWMgWGAg PSA5MjsgdGhlbgorKyAgaWYgdGVzdCBgc2VkIC1uICJzLy4qJGFjX2RlbGltXCQvWC9wIiBjb25m JCRzdWJzLnNlZCB8IGdyZXAgLWMgWGAgPSA5NjsgdGhlbgorICAgICBicmVhaworICAgZWxpZiAk YWNfbGFzdF90cnk7IHRoZW4KKyAgICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjog Y291bGQgbm90IG1ha2UgJENPTkZJR19TVEFUVVMiID4mNQpkaWZmIC1ydU4gYXN0ZXJpc2sub3Jp Zy9maWxlcy9wYXRjaC1jb25maWd1cmUuYWMgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtY29uZmlndXJl LmFjCi0tLSBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLWNvbmZpZ3VyZS5hYwkxOTcwLTAxLTAx IDA1OjAwOjAwLjAwMDAwMDAwMCArMDUwMAorKysgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtY29uZmln dXJlLmFjCTIwMDctMDctMTIgMTY6NDU6NDcuMDAwMDAwMDAwICswNjAwCkBAIC0wLDAgKzEsMTkg QEAKKy0tLSBjb25maWd1cmUuYWMub3JpZwlGcmkgSnVuIDI5IDIwOjE4OjM2IDIwMDcKKysrKyBj b25maWd1cmUuYWMJVHVlIEp1bCAxMCAxNDoxNDo0MCAyMDA3CitAQCAtMTk2LDYgKzE5Niw3IEBA CisgQVNUX0VYVF9MSUJfU0VUVVAoW09QRU5IMzIzXSwgW09wZW5IMzIzXSwgW2gzMjNdKQorIEFT VF9FWFRfTElCX1NFVFVQKFtRVF0sIFtRdF0sIFtxdF0pCisgQVNUX0VYVF9MSUJfU0VUVVAoW1JB RElVU10sIFtSYWRpdXMgQ2xpZW50XSwgW3JhZGl1c10pCisrQVNUX0VYVF9MSUJfU0VUVVAoW1NQ QU5EU1BdLCBbU3BhbmRzcCBMaWJyYXJ5XSwgW3NwYW5kc3BdKQorIEFTVF9FWFRfTElCX1NFVFVQ KFtTUEVFWF0sIFtTcGVleF0sIFtzcGVleF0pCisgQVNUX0VYVF9MSUJfU0VUVVAoW1NRTElURV0s IFtTUUxpdGVdLCBbc3FsaXRlXSkKKyBBU1RfRVhUX0xJQl9TRVRVUChbU1VQUFNFUlZdLCBbbUlT RE4gU3VwcGxlbWVudGFsIFNlcnZpY2VzXSwgW3N1cHBzZXJ2XSkKK0BAIC05MTIsNiArOTEzLDgg QEAKKyBBQ19MQU5HX1BPUAorIAorIEFTVF9FWFRfTElCX0NIRUNLKFtSQURJVVNdLCBbcmFkaXVz Y2xpZW50LW5nXSwgW3JjX3JlYWRfY29uZmlnXSwgW3JhZGl1c2NsaWVudC1uZy5oXSkKKysKKytB U1RfRVhUX0xJQl9DSEVDSyhbU1BBTkRTUF0sIFtzcGFuZHNwXSwgW2ZheF9pbml0XSwgW3NwYW5k c3AuaF0sIFstbHRpZmZdKQorIAorIEFTVF9FWFRfTElCX0NIRUNLKFtTUEVFWF0sIFtzcGVleF0s IFtzcGVleF9lbmNvZGVdLCBbc3BlZXgvc3BlZXguaF0sIFstbG1dKQorIApkaWZmIC1ydU4gYXN0 ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1tYWluOjp1dGlscy5jIGFzdGVyaXNrL2ZpbGVzL3BhdGNo LW1haW46OnV0aWxzLmMKLS0tIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtbWFpbjo6dXRpbHMu YwkyMDA3LTA0LTEzIDE0OjA2OjA1LjAwMDAwMDAwMCArMDYwMAorKysgYXN0ZXJpc2svZmlsZXMv cGF0Y2gtbWFpbjo6dXRpbHMuYwkxOTcwLTAxLTAxIDA1OjAwOjAwLjAwMDAwMDAwMCArMDUwMApA QCAtMSwxNCArMCwwIEBACi0KLSRGcmVlQlNEOiBwb3J0cy9uZXQvYXN0ZXJpc2svZmlsZXMvcGF0 Y2gtbWFpbjo6dXRpbHMuYyx2IDEuMSAyMDA3LzA0LzEzIDA4OjA2OjA1IHNvYm9tYXggRXhwICQK LQotLS0tIG1haW4vdXRpbHMuYwotKysrIG1haW4vdXRpbHMuYwotQEAgLTU4LDcgKzU4LDcgQEAK LSBzdGF0aWMgY2hhciBiYXNlNjRbNjRdOwotIHN0YXRpYyBjaGFyIGIyYVsyNTZdOwotIAotLSNp ZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fT3BlbkJTRF9fKSB8fCBkZWZpbmVk KCBfX05ldEJTRF9fICkgfHwgZGVmaW5lZChfX0FQUExFX18pIHx8IGRlZmluZWQoX19DWUdXSU5f XykKLSsjaWYgKGRlZmluZWQoX19GcmVlQlNEX18pICYmIF9fRnJlZUJTRF92ZXJzaW9uIDwgNjAx MTAzKSB8fCBkZWZpbmVkKF9fT3BlbkJTRF9fKSB8fCBkZWZpbmVkKCBfX05ldEJTRF9fICkgfHwg ZGVmaW5lZChfX0FQUExFX18pIHx8IGRlZmluZWQoX19DWUdXSU5fXykKLSAKLSAvKiBkdWg/IEVS QU5HRSB2YWx1ZSBjb3BpZWQgZnJvbSB3ZWIuLi4gKi8KLSAjZGVmaW5lIEVSQU5HRSAzNApkaWZm IC1ydU4gYXN0ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1tYWtlb3B0cy5pbiBhc3Rlcmlzay9maWxl cy9wYXRjaC1tYWtlb3B0cy5pbgotLS0gYXN0ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1tYWtlb3B0 cy5pbgkxOTcwLTAxLTAxIDA1OjAwOjAwLjAwMDAwMDAwMCArMDUwMAorKysgYXN0ZXJpc2svZmls ZXMvcGF0Y2gtbWFrZW9wdHMuaW4JMjAwNy0wNy0xMiAxNjo0NTo0Ny4wMDAwMDAwMDAgKzA2MDAK QEAgLTAsMCArMSwxNiBAQAorLS0tIG1ha2VvcHRzLmluLm9yaWcJMjAwNi0wOS0wMyAxNTo1Mzo0 Ny4wMDAwMDAwMDAgKzA4MDAKKysrKyBtYWtlb3B0cy5pbgkyMDA2LTA5LTAzIDE1OjUzOjUzLjAw MDAwMDAwMCArMDgwMAorQEAgLTEyMCwxMCArMTIwLDEzIEBACisgUVRfTElCPUBRVF9MSUJACisg CisgUkFESVVTX0lOQ0xVREU9QFJBRElVU19JTkNMVURFQAorIFJBRElVU19MSUI9QFJBRElVU19M SUJACisgCisrU1BBTkRTUF9JTkNMVURFPUBTUEFORFNQX0lOQ0xVREVACisrU1BBTkRTUF9MSUI9 QFNQQU5EU1BfTElCQAorKworIFNQRUVYX0lOQ0xVREU9QFNQRUVYX0lOQ0xVREVACisgU1BFRVhf TElCPUBTUEVFWF9MSUJACisgCisgU1FMSVRFX0lOQ0xVREU9QFNRTElURV9JTkNMVURFQAorIFNR TElURV9MSUI9QFNRTElURV9MSUJACmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmlnL3BrZy1wbGlzdCBh c3Rlcmlzay9wa2ctcGxpc3QKLS0tIGFzdGVyaXNrLm9yaWcvcGtnLXBsaXN0CTIwMDctMDUtMjkg MDI6MjE6MDguMDAwMDAwMDAwICswNjAwCisrKyBhc3Rlcmlzay9wa2ctcGxpc3QJMjAwNy0wNy0x OCAxMDo1ODowOC4wMDAwMDAwMDAgKzA2MDAKQEAgLTI1Miw2ICsyNTIsNyBAQAogbGliL2FzdGVy aXNrL21vZHVsZXMvYXBwX3JlYWRmaWxlLnNvCiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9hcHBfcmVh bHRpbWUuc28KIGxpYi9hc3Rlcmlzay9tb2R1bGVzL2FwcF9yZWNvcmQuc28KKyUlV0lUSF9GQVgl JWxpYi9hc3Rlcmlzay9tb2R1bGVzL2FwcF9yeGZheC5zbwogbGliL2FzdGVyaXNrL21vZHVsZXMv YXBwX3NheXVuaXh0aW1lLnNvCiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9hcHBfc2VuZGR0bWYuc28K IGxpYi9hc3Rlcmlzay9tb2R1bGVzL2FwcF9zZW5kdGV4dC5zbwpAQCAtMjY2LDYgKzI2Nyw3IEBA CiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9hcHBfdGFsa2RldGVjdC5zbwogbGliL2FzdGVyaXNrL21v ZHVsZXMvYXBwX3Rlc3Quc28KIGxpYi9hc3Rlcmlzay9tb2R1bGVzL2FwcF90cmFuc2Zlci5zbwor JSVXSVRIX0ZBWCUlbGliL2FzdGVyaXNrL21vZHVsZXMvYXBwX3R4ZmF4LnNvCiBsaWIvYXN0ZXJp c2svbW9kdWxlcy9hcHBfdXJsLnNvCiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9hcHBfdXNlcmV2ZW50 LnNvCiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9hcHBfdmVyYm9zZS5zbwpAQCAtMjc5LDggKzI4MSw4 IEBACiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9jZHJfbWFuYWdlci5zbwogJSVXSVRIX1BPU1RHUkVT JSVsaWIvYXN0ZXJpc2svbW9kdWxlcy9jZHJfcGdzcWwuc28KICUlV0lUSF9SQURJVVMlJWxpYi9h c3Rlcmlzay9tb2R1bGVzL2Nkcl9yYWRpdXMuc28KKyUlV0lUSF9TUUxJVEUlJWxpYi9hc3Rlcmlz ay9tb2R1bGVzL2Nkcl9zcWxpdGUuc28KIGxpYi9hc3Rlcmlzay9tb2R1bGVzL2NoYW5fYWdlbnQu c28KLWxpYi9hc3Rlcmlzay9tb2R1bGVzL2NoYW5fZmVhdHVyZXMuc28KICUlV0lUSF9KQUJCRVIl JWxpYi9hc3Rlcmlzay9tb2R1bGVzL2NoYW5fZ3RhbGsuc28KIGxpYi9hc3Rlcmlzay9tb2R1bGVz L2NoYW5faWF4Mi5zbwogbGliL2FzdGVyaXNrL21vZHVsZXMvY2hhbl9sb2NhbC5zbwpAQCAtMzc4 LDggKzM4MCw4IEBACiBzaGFyZS9hc3Rlcmlzay9tb2gvZnBtLWNhbG0tcml2ZXIud2F2CiBzaGFy ZS9hc3Rlcmlzay9tb2gvZnBtLXN1bnNoaW5lLndhdgogc2hhcmUvYXN0ZXJpc2svbW9oL2ZwbS13 b3JsZC1taXgud2F2Ci1zaGFyZS9hc3Rlcmlzay9zb3VuZHMvLmFzdGVyaXNrLWNvcmUtc291bmRz LWVuLWdzbS0xLjQuNgotc2hhcmUvYXN0ZXJpc2svc291bmRzL0NSRURJVFMtYXN0ZXJpc2stY29y ZS1lbi0xLjQuNgorc2hhcmUvYXN0ZXJpc2svc291bmRzLy5hc3Rlcmlzay1jb3JlLXNvdW5kcy1l bi1nc20tMS40LjcKK3NoYXJlL2FzdGVyaXNrL3NvdW5kcy9DUkVESVRTLWFzdGVyaXNrLWNvcmUt ZW4tMS40LjcKIHNoYXJlL2FzdGVyaXNrL3NvdW5kcy9hZ2VudC1hbHJlYWR5b24uZ3NtCiBzaGFy ZS9hc3Rlcmlzay9zb3VuZHMvYWdlbnQtaW5jb3JyZWN0LmdzbQogc2hhcmUvYXN0ZXJpc2svc291 bmRzL2FnZW50LWxvZ2dlZG9mZi5nc20KQEAgLTc0OSw3ICs3NTEsNiBAQAogc2hhcmUvYXN0ZXJp c2svc291bmRzL3ZtLXVua25vd24tY2FsbGVyLmdzbQogc2hhcmUvYXN0ZXJpc2svc291bmRzL3Zt LXdoaWNoYm94LmdzbQogc2hhcmUvYXN0ZXJpc2svc291bmRzL3ZtLXlvdWhhdmUuZ3NtCi1zaGFy ZS9hc3Rlcmlzay9zb3VuZHMveAogc2hhcmUvYXN0ZXJpc2svc3RhdGljLWh0dHAvYWphbWRlbW8u aHRtbAogc2hhcmUvYXN0ZXJpc2svc3RhdGljLWh0dHAvYXN0bWFuLmNzcwogc2hhcmUvYXN0ZXJp c2svc3RhdGljLWh0dHAvYXN0bWFuLmpzCg== ------=OPENWEBMAIL_ATT_0.811475673082413--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070719073629.M70547>