From: Date: September 16 2008 7:05pm Subject: bzr commit into mysql-5.1-bugteam tree (Matthias.Leich:2681) Bug#38184 List-Archive: http://lists.mysql.com/commits/54220 X-Bug: 38184 Message-Id: <20080916170538.9F7D8A41A2@five.local.lan> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5537786166140467366==" --===============5537786166140467366== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///work2/5.0/mysql-5.0-bugteam-push/ ------------------------------------------------------------ revno: 2681 revision-id: matthias.leich@stripped parent: vvaintroub@stripped committer: Matthias Leich branch nick: mysql-5.0-bugteam-push timestamp: Di 2008-09-16 19:05:30 +0200 message: Fix for Bug#38184 : main.federated fails sporadically Details: - backport of some improvements which prevent sporadic failures from 5.1 to 5.0 - @@GLOBAL.CONCURRENT_INSERT= 0 also for slave server - --sorted_result before all selects which have result sets with more than one row - Replace error numbers by error names modified: mysql-test/r/federated.result sp1f-federated.result-20041211200117-zbuxe4bh3vyrane2ehku7szsgbfbhkvd mysql-test/t/federated.test sp1f-federated.test-20041211200119-aht6hujozcouca6joz5eaiq55jk6psb5 --===============5537786166140467366== Content-Type: text/text/x-diff; charset="8-bit"; name="patch-2681.diff" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9mZWRlcmF0ZWQucmVzdWx0JwotLS0gYS9t eXNxbC10ZXN0L3IvZmVkZXJhdGVkLnJlc3VsdAkyMDA4LTA4LTE1IDA2OjQwOjA1ICswMDAwCisr KyBiL215c3FsLXRlc3Qvci9mZWRlcmF0ZWQucmVzdWx0CTIwMDgtMDktMTYgMTc6MDU6MzAgKzAw MDAKQEAgLTksNiArOSwxMCBAQAogQ1JFQVRFIERBVEFCQVNFIGZlZGVyYXRlZDsKIERST1AgREFU QUJBU0UgSUYgRVhJU1RTIGZlZGVyYXRlZDsKIENSRUFURSBEQVRBQkFTRSBmZWRlcmF0ZWQ7CitT RVQgQE9MRF9NQVNURVJfQ09OQ1VSUkVOVF9JTlNFUlQ9IEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5T RVJUOworU0VUIEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5TRVJUPSAwOworU0VUIEBPTERfU0xBVkVf Q09OQ1VSUkVOVF9JTlNFUlQ9IEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5TRVJUOworU0VUIEBAR0xP QkFMLkNPTkNVUlJFTlRfSU5TRVJUPSAwOwogRFJPUCBUQUJMRSBJRiBFWElTVFMgZmVkZXJhdGVk LnQxOwogV2FybmluZ3M6CiBOb3RlCTEwNTEJVW5rbm93biB0YWJsZSAndDEnCkBAIC04Myw3ICs4 Nyw3IEBACiApIEVOR0lORT1GRURFUkFURUQgREVGQVVMVCBDSEFSU0VUPWxhdGluMSBDT05ORUNU SU9OPSdteXNxbDovL3Jvb3RAMTI3LjAuMC4xOlNMQVZFX1BPUlQvZmVkZXJhdGVkL3QxJwogSU5T RVJUIElOVE8gZmVkZXJhdGVkLnQyIChpZCwgbmFtZSkgVkFMVUVTICgxLCAnZm9vJyk7CiBJTlNF UlQgSU5UTyBmZWRlcmF0ZWQudDIgKGlkLCBuYW1lKSBWQUxVRVMgKDIsICdmZWUnKTsKLVNFTEVD VCAqIEZST00gZmVkZXJhdGVkLnQyOworU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDIgT1JERVIg QlkgaWQsIG5hbWU7CiBpZAluYW1lCiAxCWZvbwogMglmZWUKQEAgLTEwOCw3ICsxMTIsNyBAQAog Q09OTkVDVElPTj0nbXlzcWw6Ly9yb290QDEyNy4wLjAuMTpTTEFWRV9QT1JUL2ZlZGVyYXRlZC90 MSUnOwogSU5TRVJUIElOVE8gZmVkZXJhdGVkLnQxIChpZCwgbmFtZSkgVkFMVUVTICgxLCAnZm9v Jyk7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgKGlkLCBuYW1lKSBWQUxVRVMgKDIsICdmZWUn KTsKLVNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOworU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQu dDEgT1JERVIgQlkgaWQsbmFtZTsKIGlkCW5hbWUKIDEJZm9vCiAyCWZlZQpAQCAtMTIyLDcgKzEy Niw3IEBACiBDT05ORUNUSU9OPSdteXNxbDovL3Jvb3RAMTI3LjAuMC4xOlNMQVZFX1BPUlQvZmVk ZXJhdGVkL3QxJSc7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQuYHQxJWAgKGlkLCBuYW1lKSBWQUxV RVMgKDEsICdmb28nKTsKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC5gdDElYCAoaWQsIG5hbWUpIFZB TFVFUyAoMiwgJ2ZlZScpOwotU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQuYHQxJWA7CitTRUxFQ1Qg KiBGUk9NIGZlZGVyYXRlZC5gdDElYCBPUkRFUiBCWSBpZCwgbmFtZTsKIGlkCW5hbWUKIDEJZm9v CiAyCWZlZQpAQCAtMTYwLDYgKzE2NCw3IEBACiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MTsK IGlkCW5hbWUJb3RoZXIJY3JlYXRlZAogMQlGaXJzdCBOYW1lCTExMTExCTIwMDQtMDQtMDQgMDQ6 MDQ6MDQKKzEwCVRlbnRoIE5hbWUJMTAxMDEwCTIwMDQtMDQtMDQgMDQ6MDQ6MDQKIDIJU2Vjb25k IE5hbWUJMjIyMjIJMjAwNC0wNC0wNCAwNDowNDowNAogMwlUaGlyZCBOYW1lCTMzMzMzCTIwMDQt MDQtMDQgMDQ6MDQ6MDQKIDQJRm91cnRoIE5hbWUJNDQ0NDQJMjAwNC0wNC0wNCAwNDowNDowNApA QCAtMTY4LDcgKzE3Myw2IEBACiA3CVNldmVudGggTmFtZQk3Nzc3NwkyMDA0LTA0LTA0IDA0OjA0 OjA0CiA4CUVpZ3RoIE5hbWUJODg4ODgJMjAwNC0wNC0wNCAwNDowNDowNAogOQlOaW50aCBOYW1l CTk5OTk5CTIwMDQtMDQtMDQgMDQ6MDQ6MDQKLTEwCVRlbnRoIE5hbWUJMTAxMDEwCTIwMDQtMDQt MDQgMDQ6MDQ6MDQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGlkID0gNTsKIGlk CW5hbWUJb3RoZXIJY3JlYXRlZAogNQlGaWZ0aCBOYW1lCTU1NTU1CTIwMDQtMDQtMDQgMDQ6MDQ6 MDQKQEAgLTE4Miw2ICsxODYsNyBAQAogaWQJbmFtZQlvdGhlcgljcmVhdGVkCiBTRUxFQ1QgKiBG Uk9NIGZlZGVyYXRlZC50MSBXSEVSRSBuYW1lIGxpa2UgJyV0aCUnOwogaWQJbmFtZQlvdGhlcglj cmVhdGVkCisxMAlUZW50aCBOYW1lCTEwMTAxMAkyMDA0LTA0LTA0IDA0OjA0OjA0CiAzCVRoaXJk IE5hbWUJMzMzMzMJMjAwNC0wNC0wNCAwNDowNDowNAogNAlGb3VydGggTmFtZQk0NDQ0NAkyMDA0 LTA0LTA0IDA0OjA0OjA0CiA1CUZpZnRoIE5hbWUJNTU1NTUJMjAwNC0wNC0wNCAwNDowNDowNApA QCAtMTg5LDcgKzE5NCw2IEBACiA3CVNldmVudGggTmFtZQk3Nzc3NwkyMDA0LTA0LTA0IDA0OjA0 OjA0CiA4CUVpZ3RoIE5hbWUJODg4ODgJMjAwNC0wNC0wNCAwNDowNDowNAogOQlOaW50aCBOYW1l CTk5OTk5CTIwMDQtMDQtMDQgMDQ6MDQ6MDQKLTEwCVRlbnRoIE5hbWUJMTAxMDEwCTIwMDQtMDQt MDQgMDQ6MDQ6MDQKIFVQREFURSBmZWRlcmF0ZWQudDEgU0VUIG5hbWUgPSAnM3JkIG5hbWUnIFdI RVJFIGlkID0gMzsKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIG5hbWUgPSAnM3Jk IG5hbWUnOwogaWQJbmFtZQlvdGhlcgljcmVhdGVkCkBAIC0zMTAsNiArMzE0LDcgQEAKIFNFTEVD VCAqIEZST00gZmVkZXJhdGVkLnQxOwogaWQJbmFtZQlvdGhlcgljcmVhdGVkCiAxCUZpcnN0IE5h bWUJMTExMTEJMjAwNC0wMS0wMSAwMTowMTowMQorMTAJVGVudGggTmFtZQkxMDEwMTAJMjAwNS0w My0xMiAxMjowMDowMQogMglTZWNvbmQgTmFtZQkyMjIyMgkyMDA0LTAxLTIzIDAyOjQzOjAwCiAz CVRoaXJkIE5hbWUJMzMzMzMJMjAwNC0wMi0xNCAwMjoxNDowMAogNAlGb3VydGggTmFtZQk0NDQ0 NAkyMDAzLTA0LTA1IDAwOjAwOjAwCkBAIC0zMTgsNyArMzIzLDYgQEAKIDcJU2V2ZW50aCBOYW1l CTc3Nzc3CTIwMDMtMTItMTIgMTg6MzI6MDAKIDgJRWlndGggTmFtZQk4ODg4OAkyMDA1LTAzLTEy IDExOjAwOjAwCiA5CU5pbnRoIE5hbWUJOTk5OTkJMjAwNS0wMy0xMiAxMTowMDowMQotMTAJVGVu dGggTmFtZQkxMDEwMTAJMjAwNS0wMy0xMiAxMjowMDowMQogU0VMRUNUICogRlJPTSBmZWRlcmF0 ZWQudDEgV0hFUkUgaWQgPSA1OwogaWQJbmFtZQlvdGhlcgljcmVhdGVkCiA1CUZpZnRoIE5hbWUJ NTU1NTUJMjAwMS0wMi0wMiAwMjowMjowMgpAQCAtMzMwLDYgKzMzNCw3IEBACiA0CUZvdXJ0aCBO YW1lCTQ0NDQ0CTIwMDMtMDQtMDUgMDA6MDA6MDAKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQx IFdIRVJFIG5hbWUgbGlrZSAnJXRoJSc7CiBpZAluYW1lCW90aGVyCWNyZWF0ZWQKKzEwCVRlbnRo IE5hbWUJMTAxMDEwCTIwMDUtMDMtMTIgMTI6MDA6MDEKIDMJVGhpcmQgTmFtZQkzMzMzMwkyMDA0 LTAyLTE0IDAyOjE0OjAwCiA0CUZvdXJ0aCBOYW1lCTQ0NDQ0CTIwMDMtMDQtMDUgMDA6MDA6MDAK IDUJRmlmdGggTmFtZQk1NTU1NQkyMDAxLTAyLTAyIDAyOjAyOjAyCkBAIC0zMzcsNyArMzQyLDYg QEAKIDcJU2V2ZW50aCBOYW1lCTc3Nzc3CTIwMDMtMTItMTIgMTg6MzI6MDAKIDgJRWlndGggTmFt ZQk4ODg4OAkyMDA1LTAzLTEyIDExOjAwOjAwCiA5CU5pbnRoIE5hbWUJOTk5OTkJMjAwNS0wMy0x MiAxMTowMDowMQotMTAJVGVudGggTmFtZQkxMDEwMTAJMjAwNS0wMy0xMiAxMjowMDowMQogVVBE QVRFIGZlZGVyYXRlZC50MSBTRVQgbmFtZSA9ICczcmQgbmFtZScgV0hFUkUgaWQgPSAzOwogU0VM RUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgbmFtZSA9ICczcmQgbmFtZSc7CiBpZAluYW1l CW90aGVyCWNyZWF0ZWQKQEAgLTQ0NCwxNyArNDQ4LDE3IEBACiA3CVNldmVudGggTmFtZQlOVUxM CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBuYW1lIElTIE5VTEw7CiBpZAluYW1l CW90aGVyCisxMAlOVUxMCWZlZSBmaWUgZm9lIGZ1bQogNAlOVUxMCU5VTEwKLTEwCU5VTEwJZmVl IGZpZSBmb2UgZnVtCiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBuYW1lIElTIE5V TEwgYW5kIG90aGVyIElTIE5VTEw7CiBpZAluYW1lCW90aGVyCiA0CU5VTEwJTlVMTAogU0VMRUNU ICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgbmFtZSBJUyBOVUxMIG9yIG90aGVyIElTIE5VTEw7 CiBpZAluYW1lCW90aGVyCisxMAlOVUxMCWZlZSBmaWUgZm9lIGZ1bQogMglTZWNvbmQgTmFtZQlO VUxMCiA0CU5VTEwJTlVMTAogNwlTZXZlbnRoIE5hbWUJTlVMTAotMTAJTlVMTAlmZWUgZmllIGZv ZSBmdW0KIFVQREFURSBmZWRlcmF0ZWQudDEKIFNFVCBuYW1lID0gJ0ZvdXJ0aCBOYW1lJywgb3Ro ZXIgPSAnZm91ciBmb3VyIGZvdXInCiBXSEVSRSBuYW1lIElTIE5VTEwgQU5EIG90aGVyIElTIE5V TEw7CkBAIC00NjYsNiArNDcwLDcgQEAKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogaWQJ bmFtZQlvdGhlcgogMQlGaXJzdCBOYW1lCTExMTExCisxMAlUZW50aCBOYW1lCWZlZSBmaWUgZm9l IGZ1bQogMglTZWNvbmQgTmFtZQl0d28gdHdvIHR3byB0d28KIDMJVGhpcmQgTmFtZQkzMzMzMwog NAlGb3VydGggTmFtZQlmb3VyIGZvdXIgZm91cgpAQCAtNDc0LDcgKzQ3OSw2IEBACiA3CVNldmVu dGggTmFtZQlzZXZlbiBzZXZlbgogOAlFaWd0aCBOYW1lCTg4ODg4CiA5CU5pbnRoIE5hbWUJOTk5 OTkKLTEwCVRlbnRoIE5hbWUJZmVlIGZpZSBmb2UgZnVtCiBEUk9QIFRBQkxFIElGIEVYSVNUUyBm ZWRlcmF0ZWQudDE7CiBDUkVBVEUgVEFCTEUgZmVkZXJhdGVkLnQxICgKIGBpZGAgaW50KDIwKSBO T1QgTlVMTCBhdXRvX2luY3JlbWVudCwKQEAgLTY1NSw4ICs2NTksOCBAQAogU0VMRUNUICogRlJP TSBmZWRlcmF0ZWQudDEgV0hFUkUgKGlkID0gNSBBTkQgY29sMiA9ICdmaXZlIDUgZml2ZSBmaXZl IDUnKQogT1IgKGNvbDIgPSAndGhyZWUgVGhyZWUnIEFORCBjb2wzID0gMzMpOwogaWQJY29sMQlj b2wyCWNvbDMJY29sNAorMwkzCXRocmVlIFRocmVlCTMzCTMzMzMzCiA1CTUJZml2ZSA1IGZpdmUg Zml2ZSA1CTUJNTU1NTUKLTMJMwl0aHJlZSBUaHJlZQkzMwkzMzMzMwogU0VMRUNUICogRlJPTSBm ZWRlcmF0ZWQudDEgV0hFUkUgKGlkID0gNSBBTkQgY29sMiA9ICdUd28gdHdvJykKIE9SIChjb2wy ID0gNDQ0IEFORCBjb2wzID0gNDQ0NDQ0NCk7CiBpZAljb2wxCWNvbDIJY29sMwljb2w0CkBAIC02 NjcsMjUgKzY3MSwyNSBAQAogT1IgY29sNCA9IDQ0NDQ0NDQ7CiBpZAljb2wxCWNvbDIJY29sMwlj b2w0CiAxCTEJb25lIE9uZQkxMQkxMTExCisxMAkxMAlUZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAx MAogMgkyCVR3byB0d28JMjIJMjIyMgogMwkzCXRocmVlIFRocmVlCTMzCTMzMzMzCiA0CTQJZm91 cmZvdXJmb3VyCTQ0NAk0NDQ0NDQ0Ci0xMAkxMAlUZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAxMAog U0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgaWQgPiA1OwogaWQJY29sMQljb2wyCWNv bDMJY29sNAorMTAJMTAJVGVudGggdGVuIFRFTgkxMDEwMTAxCTEwMTAKIDYJNglzaXggc2l4IFNp eHNpeAk2NjY2CTYKIDcJNwlzZXZlbiBTZXZlbnNldmVuCTc3Nzc3CTc3NzcKIDgJOAllaWdodCBl aWdodCBlaWdodAk4ODg4OAk4OAogOQk5CW5pbmUgTmluZQk5OTk5OTkJOTk5OTk5Ci0xMAkxMAlU ZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAxMAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hF UkUgaWQgPj0gNTsKIGlkCWNvbDEJY29sMgljb2wzCWNvbDQKKzEwCTEwCVRlbnRoIHRlbiBURU4J MTAxMDEwMQkxMDEwCiA1CTUJZml2ZSA1IGZpdmUgZml2ZSA1CTUJNTU1NTUKIDYJNglzaXggc2l4 IFNpeHNpeAk2NjY2CTYKIDcJNwlzZXZlbiBTZXZlbnNldmVuCTc3Nzc3CTc3NzcKIDgJOAllaWdo dCBlaWdodCBlaWdodAk4ODg4OAk4OAogOQk5CW5pbmUgTmluZQk5OTk5OTkJOTk5OTk5Ci0xMAkx MAlUZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAxMAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEg V0hFUkUgaWQgPCA1OwogaWQJY29sMQljb2wyCWNvbDMJY29sNAogMQkxCW9uZSBPbmUJMTEJMTEx MQpAQCAtNzAyLDYgKzcwNiw3IEBACiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBp ZCAhPSA1OwogaWQJY29sMQljb2wyCWNvbDMJY29sNAogMQkxCW9uZSBPbmUJMTEJMTExMQorMTAJ MTAJVGVudGggdGVuIFRFTgkxMDEwMTAxCTEwMTAKIDIJMglUd28gdHdvCTIyCTIyMjIKIDMJMwl0 aHJlZSBUaHJlZQkzMwkzMzMzMwogNAk0CWZvdXJmb3VyZm91cgk0NDQJNDQ0NDQ0NApAQCAtNzA5 LDcgKzcxNCw2IEBACiA3CTcJc2V2ZW4gU2V2ZW5zZXZlbgk3Nzc3Nwk3Nzc3CiA4CTgJZWlnaHQg ZWlnaHQgZWlnaHQJODg4ODgJODgKIDkJOQluaW5lIE5pbmUJOTk5OTk5CTk5OTk5OQotMTAJMTAJ VGVudGggdGVuIFRFTgkxMDEwMTAxCTEwMTAKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdI RVJFIGlkID4gMyBBTkQgaWQgPCA3OwogaWQJY29sMQljb2wyCWNvbDMJY29sNAogNAk0CWZvdXJm b3VyZm91cgk0NDQJNDQ0NDQ0NApAQCAtNzM3LDI1ICs3NDEsMjUgQEAKIFNFTEVDVCAqIEZST00g ZmVkZXJhdGVkLnQxIFdIRVJFIGlkIDwgMyBPUiBpZCA+IDc7CiBpZAljb2wxCWNvbDIJY29sMwlj b2w0CiAxCTEJb25lIE9uZQkxMQkxMTExCisxMAkxMAlUZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAx MAogMgkyCVR3byB0d28JMjIJMjIyMgogOAk4CWVpZ2h0IGVpZ2h0IGVpZ2h0CTg4ODg4CTg4CiA5 CTkJbmluZSBOaW5lCTk5OTk5OQk5OTk5OTkKLTEwCTEwCVRlbnRoIHRlbiBURU4JMTAxMDEwMQkx MDEwCiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBjb2wyID0gJ3RocmVlIFRocmVl JzsKIGlkCWNvbDEJY29sMgljb2wzCWNvbDQKIDMJMwl0aHJlZSBUaHJlZQkzMwkzMzMzMwogU0VM RUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgY29sMiA+ICdvbmUnOwogaWQJY29sMQljb2wy CWNvbDMJY29sNAogMQkxCW9uZSBPbmUJMTEJMTExMQorMTAJMTAJVGVudGggdGVuIFRFTgkxMDEw MTAxCTEwMTAKIDIJMglUd28gdHdvCTIyCTIyMjIKIDMJMwl0aHJlZSBUaHJlZQkzMwkzMzMzMwog Ngk2CXNpeCBzaXggU2l4c2l4CTY2NjYJNgogNwk3CXNldmVuIFNldmVuc2V2ZW4JNzc3NzcJNzc3 NwotMTAJMTAJVGVudGggdGVuIFRFTgkxMDEwMTAxCTEwMTAKIFNFTEVDVCAqIEZST00gZmVkZXJh dGVkLnQxIFdIRVJFIGNvbDIgTElLRSAncyUnOwogaWQJY29sMQljb2wyCWNvbDMJY29sNAorNgk2 CXNpeCBzaXggU2l4c2l4CTY2NjYJNgogNwk3CXNldmVuIFNldmVuc2V2ZW4JNzc3NzcJNzc3Nwot Ngk2CXNpeCBzaXggU2l4c2l4CTY2NjYJNgogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hF UkUgY29sMiBMSUtFICdzaSUnOwogaWQJY29sMQljb2wyCWNvbDMJY29sNAogNgk2CXNpeCBzaXgg U2l4c2l4CTY2NjYJNgpAQCAtNzY1LDYgKzc2OSw3IEBACiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRl ZC50MSBXSEVSRSBjb2wyIE5PVCBMSUtFICdlJSc7CiBpZAljb2wxCWNvbDIJY29sMwljb2w0CiAx CTEJb25lIE9uZQkxMQkxMTExCisxMAkxMAlUZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAxMAogMgky CVR3byB0d28JMjIJMjIyMgogMwkzCXRocmVlIFRocmVlCTMzCTMzMzMzCiA0CTQJZm91cmZvdXJm b3VyCTQ0NAk0NDQ0NDQ0CkBAIC03NzIsMTggKzc3NywxNyBAQAogNgk2CXNpeCBzaXggU2l4c2l4 CTY2NjYJNgogNwk3CXNldmVuIFNldmVuc2V2ZW4JNzc3NzcJNzc3NwogOQk5CW5pbmUgTmluZQk5 OTk5OTkJOTk5OTk5Ci0xMAkxMAlUZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAxMAogU0VMRUNUICog RlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgY29sMiA8PiAnb25lIE9uZSc7CiBpZAljb2wxCWNvbDIJ Y29sMwljb2w0CisxMAkxMAlUZW50aCB0ZW4gVEVOCTEwMTAxMDEJMTAxMAorMgkyCVR3byB0d28J MjIJMjIyMgorMwkzCXRocmVlIFRocmVlCTMzCTMzMzMzCiA0CTQJZm91cmZvdXJmb3VyCTQ0NAk0 NDQ0NDQ0CiA1CTUJZml2ZSA1IGZpdmUgZml2ZSA1CTUJNTU1NTUKKzYJNglzaXggc2l4IFNpeHNp eAk2NjY2CTYKKzcJNwlzZXZlbiBTZXZlbnNldmVuCTc3Nzc3CTc3NzcKIDgJOAllaWdodCBlaWdo dCBlaWdodAk4ODg4OAk4OAogOQk5CW5pbmUgTmluZQk5OTk5OTkJOTk5OTk5Ci0yCTIJVHdvIHR3 bwkyMgkyMjIyCi0zCTMJdGhyZWUgVGhyZWUJMzMJMzMzMzMKLTYJNglzaXggc2l4IFNpeHNpeAk2 NjY2CTYKLTcJNwlzZXZlbiBTZXZlbnNldmVuCTc3Nzc3CTc3NzcKLTEwCTEwCVRlbnRoIHRlbiBU RU4JMTAxMDEwMQkxMDEwCiBEUk9QIFRBQkxFIElGIEVYSVNUUyBmZWRlcmF0ZWQudDE7CiBDUkVB VEUgVEFCTEUgZmVkZXJhdGVkLnQxICgKIGBjb2wxYCB2YXJjaGFyKDgpIE5PVCBOVUxMIERFRkFV TFQgJycsCkBAIC05NTAsMTEgKzk1NCwxMSBAQAogVkFMVUVTICgwLCAwMC4zMzMzLCBOVUxMKTsK IFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogaWQJbmFtZQlmbG9hdHZhbAlvdGhlcgotTlVM TAlOVUxMCU5VTEwJTlVMTAotTlVMTAlOVUxMCU5VTEwJTlVMTAogMQlOVUxMCU5VTEwJTlVMTAor TlVMTAkwCTAuMzMzMwlOVUxMCitOVUxMCU5VTEwJTlVMTAlOVUxMCitOVUxMCU5VTEwJTlVMTAlO VUxMCiBOVUxMCWZvbwkzMy4zMzMzCU5VTEwKLU5VTEwJMAkwLjMzMzMJTlVMTAogU0VMRUNUIGNv dW50KCopIEZST00gZmVkZXJhdGVkLnQxIAogV0hFUkUgaWQgSVMgTlVMTCAKIEFORCBuYW1lIElT IE5VTEwgCkBAIC05ODMsMTMgKzk4NywxMyBAQAogSU5TRVJUIElOVE8gZmVkZXJhdGVkLnQxIFZB TFVFUyAoMSwgIiBNeVNRTCBzdXBwb3J0cyBhIG51bWJlciBvZiBjb2x1bW4gdHlwZXMgaW4gc2V2 ZXJhbCBjYXRlZ29yaWVzOiBudW1lcmljIHR5cGVzLCBkYXRlIGFuZCB0aW1lIHR5cGVzLCBhbmQg c3RyaW5nIChjaGFyYWN0ZXIpIHR5cGVzLiAgVGhpcyBjaGFwdGVyIGZpcnN0IGdpdmVzIGFuIG92 ZXJ2aWV3IG9mIHRoZXNlIGNvbHVtbiB0eXBlcywgYW5kIHRoZW4gcHJvdmlkZXMgYSBtb3JlIGRl dGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSB0eXBlcyBpbiBlYWNo IGNhdGVnb3J5LCBhbmQgYSBzdW1tYXJ5IG9mIHRoZSBjb2x1bW4gdHlwZSBzdG9yYWdlIHJlcXVp cmVtZW50cy4gIFRoZSBvdmVydmlldyBpcyBpbnRlbnRpb25hbGx5IGJyaWVmLiAgVGhlIG1vcmUg ZGV0YWlsZWQgZGVzY3JpcHRpb25zIHNob3VsZCBiZSBjb25zdWx0ZWQgZm9yIGFkZGl0aW9uYWwg aW5mb3JtYXRpb24gYWJvdXQgcGFydGljdWxhciBjb2x1bW4gdHlwZXMsIHN1Y2ggYXMgdGhlIGFs bG93YWJsZSBmb3JtYXRzIGluIHdoaWNoIHlvdSBjYW4gc3BlY2lmeSB2YWx1ZXMuIik7CiBJTlNF UlQgSU5UTyBmZWRlcmF0ZWQudDEgVkFMVUVTICgyLCAiQWxsIGFyaXRobWV0aWMgaXMgZG9uZSB1 c2luZyBzaWduZWQgQklHSU5UIG9yIERPVUJMRSB2YWx1ZXMsIHNvIHlvdSBzaG91bGQgbm90IHVz ZSB1bnNpZ25lZCBiaWcgaW50ZWdlcnMgbGFyZ2VyIHRoYW4gOTIyMzM3MjAzNjg1NDc3NTgwNyAo NjMgYml0cykgZXhjZXB0IHdpdGggYml0IGZ1bmN0aW9ucyEgSWYgeW91IGRvIHRoYXQsIHNvbWUg b2YgdGhlIGxhc3QgZGlnaXRzIGluIHRoZSByZXN1bHQgbWF5IGJlIHdyb25nIGJlY2F1c2Ugb2Yg cm91bmRpbmcgZXJyb3JzIHdoZW4gY29udmVydGluZyBhIEJJR0lOVCB2YWx1ZSB0byBhIERPVUJM RS4iKTsKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSBWQUxVRVMgKDMsICIgQSBmbG9hdGluZy1w b2ludCBudW1iZXIuICBwIHJlcHJlc2VudHMgdGhlIHByZWNpc2lvbi4gSXQgY2FuIGJlIGZyb20g MCB0byAyNCBmb3IgYSBzaW5nbGUtcHJlY2lzaW9uIGZsb2F0aW5nLXBvaW50IG51bWJlciBhbmQg ZnJvbSAyNSB0byA1MyBmb3IgYSBkb3VibGUtcHJlY2lzaW9uIGZsb2F0aW5nLXBvaW50IG51bWJl ci4gVGhlc2UgdHlwZXMgYXJlIGxpa2UgdGhlIEZMT0FUIGFuZCBET1VCTEUgdHlwZXMgZGVzY3Jp YmVkIGltbWVkaWF0ZWx5IGZvbGxvd2luZy4gIEZMT0FUKHApIGhhcyB0aGUgc2FtZSByYW5nZSBh cyB0aGUgY29ycmVzcG9uZGluZyBGTE9BVCBhbmQgRE9VQkxFIHR5cGVzLCBidXQgdGhlIGRpc3Bs YXkgc2l6ZSBhbmQgbnVtYmVyIG9mIGRlY2ltYWxzIGFyZSB1bmRlZmluZWQuICAiKTsKLUlOU0VS VCBJTlRPIGZlZGVyYXRlZC50MSBWQUxVRVMoNCwgIkRpZSDcYmVyc2V0enVuZyBlaW5lciBzbyB1 bWZhbmdyZWljaGVuIHRlY2huaXNjaGVuIERva3VtZW50YXRpb24gd2llIGRlcyBNeVNRTC1SZWZl cmVuemhhbmRidWNocyBpc3Qgc2Nob24gZWluZSBiZXNvbmRlcmUgSGVyYXVzZm9yZGVydW5nLiAg WnVtaW5kZXN0IGb8ciBqZW1hbmRlbiwgZGVyIHNlaW5lIFppZWxzcHJhY2hlIGVybnN0IG5pbW10 OiIpOworSU5TRVJUIElOVE8gZmVkZXJhdGVkLnQxIFZBTFVFUyg0LCAiRGllIMOcYmVyc2V0enVu ZyBlaW5lciBzbyB1bWZhbmdyZWljaGVuIHRlY2huaXNjaGVuIERva3VtZW50YXRpb24gd2llIGRl cyBNeVNRTC1SZWZlcmVuemhhbmRidWNocyBpc3Qgc2Nob24gZWluZSBiZXNvbmRlcmUgSGVyYXVz Zm9yZGVydW5nLiAgWnVtaW5kZXN0IGbDvHIgamVtYW5kZW4sIGRlciBzZWluZSBaaWVsc3ByYWNo ZSBlcm5zdCBuaW1tdDoiKTsKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogYmx1cmJfaWQJ Ymx1cmIKIDEJIE15U1FMIHN1cHBvcnRzIGEgbnVtYmVyIG9mIGNvbHVtbiB0eXBlcyBpbiBzZXZl cmFsIGNhdGVnb3JpZXM6IG51bWVyaWMgdHlwZXMsIGRhdGUgYW5kIHRpbWUgdHlwZXMsIGFuZCBz dHJpbmcgKGNoYXJhY3RlcikgdHlwZXMuICBUaGlzIGNoYXB0ZXIgZmlyc3QgZ2l2ZXMgYW4gb3Zl cnZpZXcgb2YgdGhlc2UgY29sdW1uIHR5cGVzLCBhbmQgdGhlbiBwcm92aWRlcyBhIG1vcmUgZGV0 YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHR5cGVzIGluIGVhY2gg Y2F0ZWdvcnksIGFuZCBhIHN1bW1hcnkgb2YgdGhlIGNvbHVtbiB0eXBlIHN0b3JhZ2UgcmVxdWly ZW1lbnRzLiAgVGhlIG92ZXJ2aWV3IGlzIGludGVudGlvbmFsbHkgYnJpZWYuICBUaGUgbW9yZSBk ZXRhaWxlZCBkZXNjcmlwdGlvbnMgc2hvdWxkIGJlIGNvbnN1bHRlZCBmb3IgYWRkaXRpb25hbCBp bmZvcm1hdGlvbiBhYm91dCBwYXJ0aWN1bGFyIGNvbHVtbiB0eXBlcywgc3VjaCBhcyB0aGUgYWxs b3dhYmxlIGZvcm1hdHMgaW4gd2hpY2ggeW91IGNhbiBzcGVjaWZ5IHZhbHVlcy4KIDIJQWxsIGFy aXRobWV0aWMgaXMgZG9uZSB1c2luZyBzaWduZWQgQklHSU5UIG9yIERPVUJMRSB2YWx1ZXMsIHNv IHlvdSBzaG91bGQgbm90IHVzZSB1bnNpZ25lZCBiaWcgaW50ZWdlcnMgbGFyZ2VyIHRoYW4gOTIy MzM3MjAzNjg1NDc3NTgwNyAoNjMgYml0cykgZXhjZXB0IHdpdGggYml0IGZ1bmN0aW9ucyEgSWYg eW91IGRvIHRoYXQsIHNvbWUgb2YgdGhlIGxhc3QgZGlnaXRzIGluIHRoZSByZXN1bHQgbWF5IGJl IHdyb25nIGJlY2F1c2Ugb2Ygcm91bmRpbmcgZXJyb3JzIHdoZW4gY29udmVydGluZyBhIEJJR0lO VCB2YWx1ZSB0byBhIERPVUJMRS4KIDMJIEEgZmxvYXRpbmctcG9pbnQgbnVtYmVyLiAgcCByZXBy ZXNlbnRzIHRoZSBwcmVjaXNpb24uIEl0IGNhbiBiZSBmcm9tIDAgdG8gMjQgZm9yIGEgc2luZ2xl LXByZWNpc2lvbiBmbG9hdGluZy1wb2ludCBudW1iZXIgYW5kIGZyb20gMjUgdG8gNTMgZm9yIGEg ZG91YmxlLXByZWNpc2lvbiBmbG9hdGluZy1wb2ludCBudW1iZXIuIFRoZXNlIHR5cGVzIGFyZSBs aWtlIHRoZSBGTE9BVCBhbmQgRE9VQkxFIHR5cGVzIGRlc2NyaWJlZCBpbW1lZGlhdGVseSBmb2xs b3dpbmcuICBGTE9BVChwKSBoYXMgdGhlIHNhbWUgcmFuZ2UgYXMgdGhlIGNvcnJlc3BvbmRpbmcg RkxPQVQgYW5kIERPVUJMRSB0eXBlcywgYnV0IHRoZSBkaXNwbGF5IHNpemUgYW5kIG51bWJlciBv ZiBkZWNpbWFscyBhcmUgdW5kZWZpbmVkLiAgCi00CURpZSDcYmVyc2V0enVuZyBlaW5lciBzbyB1 bWZhbmdyZWljaGVuIHRlY2huaXNjaGVuIERva3VtZW50YXRpb24gd2llIGRlcyBNeVNRTC1SZWZl cmVuemhhbmRidWNocyBpc3Qgc2Nob24gZWluZSBiZXNvbmRlcmUgSGVyYXVzZm9yZGVydW5nLiAg WnVtaW5kZXN0IGb8ciBqZW1hbmRlbiwgZGVyIHNlaW5lIFppZWxzcHJhY2hlIGVybnN0IG5pbW10 OgorNAlEaWUgw5xiZXJzZXR6dW5nIGVpbmVyIHNvIHVtZmFuZ3JlaWNoZW4gdGVjaG5pc2NoZW4g RG9rdW1lbnRhdGlvbiB3aWUgZGVzIE15U1FMLVJlZmVyZW56aGFuZGJ1Y2hzIGlzdCBzY2hvbiBl aW5lIGJlc29uZGVyZSBIZXJhdXNmb3JkZXJ1bmcuICBadW1pbmRlc3QgZsO8ciBqZW1hbmRlbiwg ZGVyIHNlaW5lIFppZWxzcHJhY2hlIGVybnN0IG5pbW10OgogRFJPUCBUQUJMRSBJRiBFWElTVFMg ZmVkZXJhdGVkLnQxOwogQ1JFQVRFIFRBQkxFIGZlZGVyYXRlZC50MSAoCiBgYWAgaW50IE5PVCBO VUxMLApAQCAtMTc0MSwyMCArMTc0NSwyMCBAQAogY3JlYXRlIHRhYmxlIGZlZGVyYXRlZC50MiAo YSBpbnQsIGIgaW50KTsKIGluc2VydCBpbnRvIGZlZGVyYXRlZC50MiB2YWx1ZXMgKDEzLCAxNyks ICgxOSwgMjMpOwogaW5zZXJ0IGludG8gZmVkZXJhdGVkLnQxIChhLCBiKSB2YWx1ZXMgKDEsIDIp LCAoMywgNSksICg3LCAxMSk7Ci1zZWxlY3QgKiBmcm9tIGZlZGVyYXRlZC50MTsKK3NlbGVjdCAq IGZyb20gZmVkZXJhdGVkLnQxIG9yZGVyIGJ5IGE7CiBhCWIJYwogMQkyCTIKIDMJNQkxNQogNwkx MQk3NwogZGVsZXRlIGZyb20gZmVkZXJhdGVkLnQxOwogaW5zZXJ0IGludG8gZmVkZXJhdGVkLnQx IChhLCBiKSBzZWxlY3QgKiBmcm9tIGZlZGVyYXRlZC50MjsKLXNlbGVjdCAqIGZyb20gZmVkZXJh dGVkLnQxOworc2VsZWN0ICogZnJvbSBmZWRlcmF0ZWQudDEgb3JkZXIgYnkgYTsKIGEJYgljCiAx MwkxNwkyMjEKIDE5CTIzCTQzNwogZGVsZXRlIGZyb20gZmVkZXJhdGVkLnQxOwogbG9hZCBkYXRh IGluZmlsZSAnLi4vc3RkX2RhdGFfbG4vbG9hZGRhdGE1LmRhdCcgaW50byB0YWJsZSBmZWRlcmF0 ZWQudDEgZmllbGRzIHRlcm1pbmF0ZWQgYnkgJycgZW5jbG9zZWQgYnkgJycgaWdub3JlIDEgbGlu ZXMgKGEsIGIpOwotc2VsZWN0ICogZnJvbSBmZWRlcmF0ZWQudDE7CitzZWxlY3QgKiBmcm9tIGZl ZGVyYXRlZC50MSBvcmRlciBieSBhOwogYQliCWMKIDMJNAkxMgogNQk2CTMwCkBAIC0yMDgxLDgg KzIwODUsMTAgQEAKIHRlc3QudDEJMjQ2NTc1NzYwMwogRFJPUCBUQUJMRSB0MTsKIERST1AgVEFC TEUgdDE7Ci1EUk9QIFRBQkxFIElGIEVYSVNUUyBmZWRlcmF0ZWQudDE7Ci1EUk9QIERBVEFCQVNF IElGIEVYSVNUUyBmZWRlcmF0ZWQ7Ci1EUk9QIFRBQkxFIElGIEVYSVNUUyBmZWRlcmF0ZWQudDE7 Ci1EUk9QIERBVEFCQVNFIElGIEVYSVNUUyBmZWRlcmF0ZWQ7CiBFbmQgb2YgNS4wIHRlc3RzCitT RVQgQEBHTE9CQUwuQ09OQ1VSUkVOVF9JTlNFUlQ9IEBPTERfTUFTVEVSX0NPTkNVUlJFTlRfSU5T RVJUOworU0VUIEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5TRVJUPSBAT0xEX1NMQVZFX0NPTkNVUlJF TlRfSU5TRVJUOworRFJPUCBUQUJMRSBJRiBFWElTVFMgZmVkZXJhdGVkLnQxOworRFJPUCBEQVRB QkFTRSBJRiBFWElTVFMgZmVkZXJhdGVkOworRFJPUCBUQUJMRSBJRiBFWElTVFMgZmVkZXJhdGVk LnQxOworRFJPUCBEQVRBQkFTRSBJRiBFWElTVFMgZmVkZXJhdGVkOwoKPT09IG1vZGlmaWVkIGZp bGUgJ215c3FsLXRlc3QvdC9mZWRlcmF0ZWQudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L2ZlZGVy YXRlZC50ZXN0CTIwMDgtMDgtMTUgMDY6NDA6MDUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L2Zl ZGVyYXRlZC50ZXN0CTIwMDgtMDktMTYgMTc6MDU6MzAgKzAwMDAKQEAgLTEsNiArMSwyMiBAQAot c291cmNlIGluY2x1ZGUvZmVkZXJhdGVkLmluYzsKKyMgTm90ZTogVGhpcyB0ZXN0IGlzIHRyaWNr eS4gSXQgcmV1c2VzIHRoZSBwcmVyZXF1aXNpdGVzIGdlbmVyYXRlZCBmb3IKKyMgICAgICAgcmVw bGljYXRpb24gdGVzdHMgKG1hc3RlcitzbGF2ZSBzZXJ2ZXIgYW5kIGNvbm5lY3Rpb25zKSBmb3Ig aXRzCisjICAgICAgIG93biBwdXJwb3Nlcy4gQnV0IHRoZSByZXBsaWNhdGlvbiBmZWF0dXJlIGl0 c2VsZiBpcyBzdG9wcGVkLgorIworCisKKy0tc291cmNlIGluY2x1ZGUvZmVkZXJhdGVkLmluYwor Citjb25uZWN0aW9uIGRlZmF1bHQ7CisKKyMgRGlzYWJsZSBjb25jdXJyZW50IGluc2VydHMgdG8g YXZvaWQgdGVzdCBmYWlsdXJlcyB3aGVuIHJlYWRpbmcKKyMgZGF0YSBmcm9tIGNvbmN1cnJlbnQg Y29ubmVjdGlvbnMgKGluc2VydCBtaWdodCByZXR1cm4gYmVmb3JlCisjIHRoZSBkYXRhIGlzIGFj dHVhbGx5IGluIHRoZSB0YWJsZSkuCitTRVQgQE9MRF9NQVNURVJfQ09OQ1VSUkVOVF9JTlNFUlQ9 IEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5TRVJUOworU0VUIEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5T RVJUPSAwOwogCiBjb25uZWN0aW9uIHNsYXZlOworU0VUIEBPTERfU0xBVkVfQ09OQ1VSUkVOVF9J TlNFUlQ9IEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5TRVJUOworU0VUIEBAR0xPQkFMLkNPTkNVUlJF TlRfSU5TRVJUPSAwOwogRFJPUCBUQUJMRSBJRiBFWElTVFMgZmVkZXJhdGVkLnQxOwogQ1JFQVRF IFRBQkxFIGZlZGVyYXRlZC50MSAoCiAgICAgYGlkYCBpbnQoMjApIE5PVCBOVUxMLApAQCAtMTEs NyArMjcsNyBAQAogY29ubmVjdGlvbiBtYXN0ZXI7CiBEUk9QIFRBQkxFIElGIEVYSVNUUyBmZWRl cmF0ZWQudDE7CiAjIHRlc3QgdG9vIG1hbnkgaXRlbXMgKG1hbGZvcm1lZCkgaW4gdGhlIGNvbW1l bnQgc3RyaW5nIHVybAotLS1lcnJvciAxNDMyCistLWVycm9yIEVSX0ZPUkVJR05fREFUQV9TVFJJ TkdfSU5WQUxJRF9DQU5UX0NSRUFURQogQ1JFQVRFIFRBQkxFIGZlZGVyYXRlZC50MSAoCiAgICAg YGlkYCBpbnQoMjApIE5PVCBOVUxMLAogICAgIGBuYW1lYCB2YXJjaGFyKDMyKSBOT1QgTlVMTCBk ZWZhdWx0ICcnCkBAIC0yMCw3ICszNiw3IEBACiAgIENPTk5FQ1RJT049J215c3FsOi8vcm9vdEAx MjcuMC4wLjE6QC90b28vbWFueS9pdGVtcy9mZWRlcmF0ZWQvdDEnOwogCiAjIHRlc3Qgbm90IGVu b3VnaCBpdGVtcyAobWFsZm9ybWVkKSBpbiB0aGUgY29tbWVudCBzdHJpbmcgdXJsCi0tLWVycm9y IDE0MzIgCistLWVycm9yIEVSX0ZPUkVJR05fREFUQV9TVFJJTkdfSU5WQUxJRF9DQU5UX0NSRUFU RSAKIENSRUFURSBUQUJMRSBmZWRlcmF0ZWQudDEgKAogICAgIGBpZGAgaW50KDIwKSBOT1QgTlVM TCwKICAgICBgbmFtZWAgdmFyY2hhcigzMikgTk9UIE5VTEwgZGVmYXVsdCAnJwpAQCAtMzYsNyAr NTIsNyBAQAogICAgICkKICAgRU5HSU5FPSJGRURFUkFURUQiIERFRkFVTFQgQ0hBUlNFVD1sYXRp bjEKICAgQ09OTkVDVElPTj0nbXlzcWw6Ly9yb290QDEyNy4wLjAuMTokU0xBVkVfTVlQT1JUL2Zl ZGVyYXRlZC90Myc7Ci0tLWVycm9yIDE0MzEKKy0tZXJyb3IgRVJfRk9SRUlHTl9EQVRBX1NPVVJD RV9ET0VTTlRfRVhJU1QKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogRFJPUCBUQUJMRSBm ZWRlcmF0ZWQudDE7CiAKQEAgLTQ4LDcgKzY0LDcgQEAKICAgICApCiAgIEVOR0lORT0iRkVERVJB VEVEIiBERUZBVUxUIENIQVJTRVQ9bGF0aW4xCiAgIENPTk5FQ1RJT049J215c3FsOi8vdXNlcjpw YXNzQDEyNy4wLjAuMTokU0xBVkVfTVlQT1JUL2ZlZGVyYXRlZC90MSc7Ci0tLWVycm9yIDE0MjkK Ky0tZXJyb3IgRVJfQ09OTkVDVF9UT19GT1JFSUdOX0RBVEFfU09VUkNFCiBTRUxFQ1QgKiBGUk9N IGZlZGVyYXRlZC50MTsKIERST1AgVEFCTEUgZmVkZXJhdGVkLnQxOwogCkBAIC02NCw2ICs4MCw3 IEBACiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgKGlkLCBuYW1lKSBWQUxVRVMgKDEsICdmb28n KTsKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSAoaWQsIG5hbWUpIFZBTFVFUyAoMiwgJ2ZlZScp OwogCistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogREVMRVRF IEZST00gZmVkZXJhdGVkLnQxOwogRFJPUCBUQUJMRSBmZWRlcmF0ZWQudDE7CkBAIC04NCw3ICsx MDEsNyBAQAogSU5TRVJUIElOVE8gZmVkZXJhdGVkLnQyIChpZCwgbmFtZSkgVkFMVUVTICgxLCAn Zm9vJyk7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDIgKGlkLCBuYW1lKSBWQUxVRVMgKDIsICdm ZWUnKTsKIAotU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDI7CitTRUxFQ1QgKiBGUk9NIGZlZGVy YXRlZC50MiBPUkRFUiBCWSBpZCwgbmFtZTsKIERST1AgVEFCTEUgZmVkZXJhdGVkLnQyOwogCiBj b25uZWN0aW9uIHNsYXZlOwpAQCAtMTExLDcgKzEyOCw3IEBACiBJTlNFUlQgSU5UTyBmZWRlcmF0 ZWQudDEgKGlkLCBuYW1lKSBWQUxVRVMgKDEsICdmb28nKTsKIElOU0VSVCBJTlRPIGZlZGVyYXRl ZC50MSAoaWQsIG5hbWUpIFZBTFVFUyAoMiwgJ2ZlZScpOwogCi1TRUxFQ1QgKiBGUk9NIGZlZGVy YXRlZC50MTsKK1NFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIE9SREVSIEJZIGlkLG5hbWU7CiBE RUxFVEUgRlJPTSBmZWRlcmF0ZWQudDE7CiBEUk9QIFRBQkxFIElGIEVYSVNUUyBmZWRlcmF0ZWQu dDE7CiAKQEAgLTEyNiw3ICsxNDMsNyBAQAogSU5TRVJUIElOVE8gZmVkZXJhdGVkLmB0MSVgIChp ZCwgbmFtZSkgVkFMVUVTICgxLCAnZm9vJyk7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQuYHQxJWAg KGlkLCBuYW1lKSBWQUxVRVMgKDIsICdmZWUnKTsKIAotU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQu YHQxJWA7CitTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC5gdDElYCBPUkRFUiBCWSBpZCwgbmFtZTsK IERFTEVURSBGUk9NIGZlZGVyYXRlZC5gdDElYDsKIERST1AgVEFCTEUgSUYgRVhJU1RTIGZlZGVy YXRlZC5gdDElYDsKIApAQCAtMTY2LDEyICsxODMsMTQgQEAKIElOU0VSVCBJTlRPIGZlZGVyYXRl ZC50MSAobmFtZSwgb3RoZXIpIFZBTFVFUyAoJ1RlbnRoIE5hbWUnLCAxMDEwMTApOwogCiAjIGJh c2ljIHNlbGVjdAorLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MTsK ICMgd2l0aCBQUklNQVJZIEtFWSBpbmRleF9yZWFkX2lkeAogU0VMRUNUICogRlJPTSBmZWRlcmF0 ZWQudDEgV0hFUkUgaWQgPSA1OwogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgbmFt ZSA9ICdTaXh0aCBOYW1lJzsKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGlkID0g NiBhbmQgbmFtZSA9ICdTaXh0aCBOYW1lJzsKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdI RVJFIG5hbWUgPSAnU2l4dGggTmFtZScgQU5EIG90aGVyID0gNDQ0NDQ7CistLXNvcnRlZF9yZXN1 bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIG5hbWUgbGlrZSAnJXRoJSc7CiBV UERBVEUgZmVkZXJhdGVkLnQxIFNFVCBuYW1lID0gJzNyZCBuYW1lJyBXSEVSRSBpZCA9IDM7CiBT RUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBuYW1lID0gJzNyZCBuYW1lJzsKQEAgLTI0 Myw2ICsyNjIsNyBAQAogICBWQUxVRVMgKCdUZW50aCBOYW1lJywgMTAxMDEwLCAnMjAwNS0wMy0x MiAxMjowMDowMScpOwogCiAjIGJhc2ljIHNlbGVjdAorLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1Qg KiBGUk9NIGZlZGVyYXRlZC50MTsKICMgd2l0aCBQUklNQVJZIEtFWSBpbmRleF9yZWFkX2lkeAog U0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgaWQgPSA1OwpAQCAtMjUxLDYgKzI3MSw3 IEBACiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBpZCA9IDYgYW5kIG5hbWUgPSAn U2l4dGggTmFtZSc7CiAjIHdpdGggcmVndWxhciBrZXkgaW5kZXhfcmVhZCAtPiBpbmRleF9yZWFk X2lkeAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgb3RoZXIgPSA0NDQ0NDsKKy0t c29ydGVkX3Jlc3VsdAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgbmFtZSBsaWtl ICcldGglJzsKICMgdXBkYXRlIC0gdXBkYXRlX3JvdywgaW5kZXhfcmVhZF9pZHgKIFVQREFURSBm ZWRlcmF0ZWQudDEgU0VUIG5hbWUgPSAnM3JkIG5hbWUnIFdIRVJFIGlkID0gMzsKQEAgLTMwMyw5 ICszMjQsMTIgQEAKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSAobmFtZSwgb3RoZXIpIFZBTFVF UyAoJ05pbnRoIE5hbWUnLCA5OTk5OSk7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgKG90aGVy KSBWQUxVRVMgKCdmZWUgZmllIGZvZSBmdW0nKTsKIAorLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1Qg KiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBvdGhlciBJUyBOVUxMOworLS1zb3J0ZWRfcmVzdWx0 CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBuYW1lIElTIE5VTEw7CiBTRUxFQ1Qg KiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBuYW1lIElTIE5VTEwgYW5kIG90aGVyIElTIE5VTEw7 CistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIG5hbWUg SVMgTlVMTCBvciBvdGhlciBJUyBOVUxMOwogCiBVUERBVEUgZmVkZXJhdGVkLnQxCkBAIC0zMTYs NiArMzQwLDcgQEAKIFVQREFURSBmZWRlcmF0ZWQudDEgU0VUIG90aGVyID0gJ3NldmVuIHNldmVu JyBXSEVSRSBuYW1lIGxpa2UgJ1NldiUnOwogVVBEQVRFIGZlZGVyYXRlZC50MSBTRVQgbmFtZSA9 ICdUZW50aCBOYW1lJyBXSEVSRSBvdGhlciBsaWtlICdmZWUgZmllJSc7CiBTRUxFQ1QgKiBGUk9N IGZlZGVyYXRlZC50MSBXSEVSRSBuYW1lIElTIE5VTEwgT1Igb3RoZXIgSVMgTlVMTCA7CistLXNv cnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogCiAjIHRlc3QgbXVsdGkt a2V5cwpAQCAtMzg2LDYgKzQxMSw3IEBACiAgIFZBTFVFUyAoJ3NlY29uZCcsIDB4NjYsIDIyLjIy LCAyMjIyKTsKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSAobmFtZSwgYmluY29sLCBmbG9hdHZh bCwgb3RoZXIpCiAgIFZBTFVFUyAoJ3RoaXJkJywgJ2cnLCAyMi4yMiwgMjIyMik7CistLXNvcnRl ZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogU0VMRUNUICogRlJPTSBmZWRl cmF0ZWQudDEgV0hFUkUgbmFtZSA9ICdzZWNvbmQnOwogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQu dDEgV0hFUkUgYmluY29sPSAnZic7CkBAIC0zOTQsNiArNDIwLDcgQEAKIFNFTEVDVCAqIEZST00g ZmVkZXJhdGVkLnQxIFdIRVJFIGJpbmNvbD0gJ2cnOwogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQu dDEgV0hFUkUgZmxvYXR2YWw9MTEuMTE7CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVS RSBuYW1lPSd0aGlyZCc7CistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVk LnQxIFdIRVJFIG90aGVyPTIyMjI7CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBu YW1lPSd0aGlyZCcgYW5kIG90aGVyPTIyMjI7CiAKQEAgLTQ2NywzMiArNDk0LDQ3IEBACiBTRUxF Q1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBpZCA9IDUgCiAgIEFORCBjb2wyID0gJ2ZpdmUg NSBmaXZlIGZpdmUgNScgQU5EIGNvbDMgPSA1IAogICBBTkQgY29sNCA9IDU1NTU1OworLS1zb3J0 ZWRfcmVzdWx0CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSAoaWQgPSA1IEFORCBj b2wyID0gJ2ZpdmUgNSBmaXZlIGZpdmUgNScpCiAgIE9SIChjb2wyID0gJ3RocmVlIFRocmVlJyBB TkQgY29sMyA9IDMzKTsKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIChpZCA9IDUg QU5EIGNvbDIgPSAnVHdvIHR3bycpCiAgIE9SIChjb2wyID0gNDQ0IEFORCBjb2wzID0gNDQ0NDQ0 NCk7CistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGlk ID0gMSAKICAgT1IgY29sMSA9IDEwCiAgIE9SIGNvbDIgPSAnVHdvIHR3bycgCiAgIE9SIGNvbDMg PSAzMwogICBPUiBjb2w0ID0gNDQ0NDQ0NDsKKy0tc29ydGVkX3Jlc3VsdAogU0VMRUNUICogRlJP TSBmZWRlcmF0ZWQudDEgV0hFUkUgaWQgPiA1OyAKKy0tc29ydGVkX3Jlc3VsdAogU0VMRUNUICog RlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgaWQgPj0gNTsgCistLXNvcnRlZF9yZXN1bHQKIFNFTEVD VCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGlkIDwgNTsgCistLXNvcnRlZF9yZXN1bHQKIFNF TEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGlkIDw9IDU7IAorLS1zb3J0ZWRfcmVzdWx0 CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBpZCAhPSA1OyAKKy0tc29ydGVkX3Jl c3VsdAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgaWQgPiAzIEFORCBpZCA8IDc7 IAorLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBpZCA+ IDMgQU5EIGlkIDw9IDc7IAorLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRl ZC50MSBXSEVSRSBpZCA+PSAzIEFORCBpZCA8PSA3OyAKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVk LnQxIFdIRVJFIGlkIDwgMyBBTkQgaWQgPD0gNzsgCiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50 MSBXSEVSRSBpZCA8IDMgQU5EIGlkID4gNzsgCistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZS T00gZmVkZXJhdGVkLnQxIFdIRVJFIGlkIDwgMyBPUiBpZCA+IDc7IAogU0VMRUNUICogRlJPTSBm ZWRlcmF0ZWQudDEgV0hFUkUgY29sMiA9ICd0aHJlZSBUaHJlZSc7IAorLS1zb3J0ZWRfcmVzdWx0 CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBjb2wyID4gJ29uZSc7IAorLS1zb3J0 ZWRfcmVzdWx0CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBjb2wyIExJS0UgJ3Ml JzsgCiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBjb2wyIExJS0UgJ3NpJSc7IAog U0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgY29sMiBMSUtFICdzZSUnOyAKKy0tc29y dGVkX3Jlc3VsdAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgY29sMiBOT1QgTElL RSAnZSUnOyAKKy0tc29ydGVkX3Jlc3VsdAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hF UkUgY29sMiA8PiAnb25lIE9uZSc7IAogCiAjIG1vcmUgbXVsdGktY29sdW1uIGluZGV4ZXMsIGlu IHRoZSBwcmltYXJ5IGtleQpAQCAtNTQ2LDEzICs1ODgsMTkgQEAKIFNFTEVDVCAqIEZST00gZmVk ZXJhdGVkLnQxIFdIRVJFIGNvbDEgPSAgJ2dnZ2cnIEFORCBjb2wyID0gJ2dnZ2dnZ2dnZ2dnZ2dn Z2dnZ2cnOyAKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGNvbDEgPSAgJ2dnZ2cn IEFORCBjb2wzID0gJ2dhZ2FnYWdhZ2EnOyAKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdI RVJFIGNvbDEgPSAgJ2ZmZmYnIEFORCBjb2w0ID0gJ2ZjZmNmY2ZjZmNmY2ZjZmMnOyAKKy0tc29y dGVkX3Jlc3VsdAogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgY29sMSA+ICAnYmJi Yic7CistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGNv bDEgPj0gICdiYmJiJzsKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGNvbDEgPCAg J2JiYmInOworLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MSBXSEVS RSBjb2wxIDw9ICAnYmJiYic7CistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJh dGVkLnQxIFdIRVJFIGNvbDEgPD4gICdiYmJiJzsKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQx IFdIRVJFIGNvbDEgTElLRSAgJ2IlJzsKKy0tc29ydGVkX3Jlc3VsdAogU0VMRUNUICogRlJPTSBm ZWRlcmF0ZWQudDEgV0hFUkUgY29sNCBMSUtFICAnJWIlJzsKKy0tc29ydGVkX3Jlc3VsdAogU0VM RUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgY29sMSBOT1QgTElLRSAgJ2MlJzsKIFNFTEVD VCAqIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGNvbDQgTk9UIExJS0UgICclYyUnOwogY29ubmVj dGlvbiBzbGF2ZTsKQEAgLTU4MywxMSArNjMxLDEzIEBACiAKICMgbGV0J3Mgc2VlIHdoYXQgdGhl IGZvcmVpZ24gZGF0YWJhc2Ugc2F5cyAKIGNvbm5lY3Rpb24gc2xhdmU7CistLXNvcnRlZF9yZXN1 bHQKIFNFTEVDVCBjb2wzIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFICAoCiAoY29sMSA9ICdhYWEn IEFORCBjb2wyID49ICcxMTEnKSBPUiBjb2wxID4gJ2FhYScpIEFORCAKIChjb2wxIDwgJ2NjYycg T1IgKCBjb2wxID0gJ2NjYycgQU5EIGNvbDIgPD0gJzExMScpKTsgCiAKIGNvbm5lY3Rpb24gbWFz dGVyOworLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1QgY29sMyBGUk9NIGZlZGVyYXRlZC50MSBXSEVS RSAgKAogKGNvbDEgPSAnYWFhJyBBTkQgY29sMiA+PSAnMTExJykgT1IgY29sMSA+ICdhYWEnKSBB TkQgCiAoY29sMSA8ICdjY2MnIE9SICggY29sMSA9ICdjY2MnIEFORCBjb2wyIDw9ICcxMTEnKSk7 IApAQCAtNjIyLDYgKzY3Miw3IEBACiAgIFZBTFVFUyAoJ2ZvbycsIDMzLjMzMzMzMzMyLCBOVUxM KTsKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSAobmFtZSwgZmxvYXR2YWwsIG90aGVyKQogICBW QUxVRVMgKDAsIDAwLjMzMzMsIE5VTEwpOworLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1QgKiBGUk9N IGZlZGVyYXRlZC50MTsKIFNFTEVDVCBjb3VudCgqKSBGUk9NIGZlZGVyYXRlZC50MSAKIFdIRVJF IGlkIElTIE5VTEwgCkBAIC02NTEsNyArNzAyLDggQEAKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC50 MSBWQUxVRVMgKDEsICIgTXlTUUwgc3VwcG9ydHMgYSBudW1iZXIgb2YgY29sdW1uIHR5cGVzIGlu IHNldmVyYWwgY2F0ZWdvcmllczogbnVtZXJpYyB0eXBlcywgZGF0ZSBhbmQgdGltZSB0eXBlcywg YW5kIHN0cmluZyAoY2hhcmFjdGVyKSB0eXBlcy4gIFRoaXMgY2hhcHRlciBmaXJzdCBnaXZlcyBh biBvdmVydmlldyBvZiB0aGVzZSBjb2x1bW4gdHlwZXMsIGFuZCB0aGVuIHByb3ZpZGVzIGEgbW9y ZSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvcGVydGllcyBvZiB0aGUgdHlwZXMgaW4g ZWFjaCBjYXRlZ29yeSwgYW5kIGEgc3VtbWFyeSBvZiB0aGUgY29sdW1uIHR5cGUgc3RvcmFnZSBy ZXF1aXJlbWVudHMuICBUaGUgb3ZlcnZpZXcgaXMgaW50ZW50aW9uYWxseSBicmllZi4gIFRoZSBt b3JlIGRldGFpbGVkIGRlc2NyaXB0aW9ucyBzaG91bGQgYmUgY29uc3VsdGVkIGZvciBhZGRpdGlv bmFsIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpY3VsYXIgY29sdW1uIHR5cGVzLCBzdWNoIGFzIHRo ZSBhbGxvd2FibGUgZm9ybWF0cyBpbiB3aGljaCB5b3UgY2FuIHNwZWNpZnkgdmFsdWVzLiIpOwog SU5TRVJUIElOVE8gZmVkZXJhdGVkLnQxIFZBTFVFUyAoMiwgIkFsbCBhcml0aG1ldGljIGlzIGRv bmUgdXNpbmcgc2lnbmVkIEJJR0lOVCBvciBET1VCTEUgdmFsdWVzLCBzbyB5b3Ugc2hvdWxkIG5v dCB1c2UgdW5zaWduZWQgYmlnIGludGVnZXJzIGxhcmdlciB0aGFuIDkyMjMzNzIwMzY4NTQ3NzU4 MDcgKDYzIGJpdHMpIGV4Y2VwdCB3aXRoIGJpdCBmdW5jdGlvbnMhIElmIHlvdSBkbyB0aGF0LCBz b21lIG9mIHRoZSBsYXN0IGRpZ2l0cyBpbiB0aGUgcmVzdWx0IG1heSBiZSB3cm9uZyBiZWNhdXNl IG9mIHJvdW5kaW5nIGVycm9ycyB3aGVuIGNvbnZlcnRpbmcgYSBCSUdJTlQgdmFsdWUgdG8gYSBE T1VCTEUuIik7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgVkFMVUVTICgzLCAiIEEgZmxvYXRp bmctcG9pbnQgbnVtYmVyLiAgcCByZXByZXNlbnRzIHRoZSBwcmVjaXNpb24uIEl0IGNhbiBiZSBm cm9tIDAgdG8gMjQgZm9yIGEgc2luZ2xlLXByZWNpc2lvbiBmbG9hdGluZy1wb2ludCBudW1iZXIg YW5kIGZyb20gMjUgdG8gNTMgZm9yIGEgZG91YmxlLXByZWNpc2lvbiBmbG9hdGluZy1wb2ludCBu dW1iZXIuIFRoZXNlIHR5cGVzIGFyZSBsaWtlIHRoZSBGTE9BVCBhbmQgRE9VQkxFIHR5cGVzIGRl c2NyaWJlZCBpbW1lZGlhdGVseSBmb2xsb3dpbmcuICBGTE9BVChwKSBoYXMgdGhlIHNhbWUgcmFu Z2UgYXMgdGhlIGNvcnJlc3BvbmRpbmcgRkxPQVQgYW5kIERPVUJMRSB0eXBlcywgYnV0IHRoZSBk aXNwbGF5IHNpemUgYW5kIG51bWJlciBvZiBkZWNpbWFscyBhcmUgdW5kZWZpbmVkLiAgIik7Ci1J TlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgVkFMVUVTKDQsICJEaWUg3GJlcnNldHp1bmcgZWluZXIg c28gdW1mYW5ncmVpY2hlbiB0ZWNobmlzY2hlbiBEb2t1bWVudGF0aW9uIHdpZSBkZXMgTXlTUUwt UmVmZXJlbnpoYW5kYnVjaHMgaXN0IHNjaG9uIGVpbmUgYmVzb25kZXJlIEhlcmF1c2ZvcmRlcnVu Zy4gIFp1bWluZGVzdCBm/HIgamVtYW5kZW4sIGRlciBzZWluZSBaaWVsc3ByYWNoZSBlcm5zdCBu aW1tdDoiKTsKK0lOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSBWQUxVRVMoNCwgIkRpZSDDnGJlcnNl dHp1bmcgZWluZXIgc28gdW1mYW5ncmVpY2hlbiB0ZWNobmlzY2hlbiBEb2t1bWVudGF0aW9uIHdp ZSBkZXMgTXlTUUwtUmVmZXJlbnpoYW5kYnVjaHMgaXN0IHNjaG9uIGVpbmUgYmVzb25kZXJlIEhl cmF1c2ZvcmRlcnVuZy4gIFp1bWluZGVzdCBmw7xyIGplbWFuZGVuLCBkZXIgc2VpbmUgWmllbHNw cmFjaGUgZXJuc3QgbmltbXQ6Iik7CistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVk ZXJhdGVkLnQxOwogCiBjb25uZWN0aW9uIHNsYXZlOwpAQCAtMTAxMCw2ICsxMDYyLDcgQEAKIElO U0VSVCBJTlRPIGZlZGVyYXRlZC50MSAoY29kZSwgZmlsZWd1dHMsIGNyZWF0aW9uX2RhdGUpIFZB TFVFUyAoJ0FTREZXRVJRV0VUV0VUQVdFVEEnLCAnKigpdyowOSokKCkqIykoKjA5Kl45MCpkKSgq cygpZDhnKShzKm5lZCkoKikocypkKSgqaG4oZCopKCpzYm4pRCgoIyQqKCMqJSUmIyZeJCMmIyYj JiMmXiYjKiYqIyQqJl4qKCYjKCZRKiYmKCohJiEoKiYqKCMmKiglJiM8Uy1GOD4qPFMtRjg+PFMt Rjg+PFMtRjg+IzxTLUY4PiM8Uy1GOD4jPFMtRjg+W1snLCAnMjAwMy0wMy0wMyAwMzowMzowMycp OwogSU5TRVJUIElOVE8gZmVkZXJhdGVkLnQxIChjb2RlLCBmaWxlZ3V0cywgY3JlYXRpb25fZGF0 ZSkgVkFMVUVTICgnREVVRVVFVUVVRVVFVUVVRVVFVScsICcqKCl3KjA5KiQoKSojKSgqMDkqXjkw KmQpKCpzKClkOGcpKHMqbmVkKSgqKShzKmQpKCpobihkKikoKnNibilEKCgjJCooIyolJSYjJl4k IyYjJiMmIyZeJiMqJiojJComXiooJiMoJlEqJiYoKiEmISgqJiooIyYqKCUmIzxTLUY4Pio8Uy1G OD48Uy1GOD48Uy1GOD4jPFMtRjg+IzxTLUY4PiM8Uy1GOD5bWycsICcyMDA0LTA0LTA0IDA0OjA0 OjA0Jyk7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgKGNvZGUsIGZpbGVndXRzLCBjcmVhdGlv bl9kYXRlKSBWQUxVRVMgKCdERVVFVUVVRVVFVUVVRVVFVUVVJywgJ2ppbWJvYicsICcyMDA0LTA0 LTA0IDA0OjA0OjA0Jyk7CistLXNvcnRlZF9yZXN1bHQKIFNFTEVDVCAqIEZST00gZmVkZXJhdGVk LnQxOwogIyB0ZXN0IGJsb2IgaW5kZXhlcwogU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDEgV0hF UkUgZmlsZWd1dHMgPSAnamltYm9iJzsKQEAgLTEwMzAsNiArMTA4Myw3IEBACiBJTlNFUlQgSU5U TyBmZWRlcmF0ZWQudDEgVkFMVUVTICgweDAwKTsKIElOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSBW QUxVRVMgKDB4MDAwMSk7CiBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgVkFMVUVTICgweDAxMDAp OworLS1zb3J0ZWRfcmVzdWx0CiBTRUxFQ1QgSEVYKGEpIEZST00gZmVkZXJhdGVkLnQxOwogCiAj ICMgc2ltcGxlIHRlc3RzIGZvciBjeXJpbGxpYywgZ2l2ZW4gdG8gbWUgYnkgCkBAIC0xMDQ0LDIw ICsxMDk4LDIwIEBACiAjIENSRUFURSBUQUJMRSBmZWRlcmF0ZWQudDEgKGEgY2hhcigyMCkpIGNo YXJzZXQ9Y3AxMjUxOwogIyAjIAogIyAgY29ubmVjdGlvbiBtYXN0ZXI7Ci0jIElOU0VSVCBJTlRP IGZlZGVyYXRlZC50MSB2YWx1ZXMgKF9jcDEyNTEnwC3BwsMtMScpOwotIyBJTlNFUlQgSU5UTyBm ZWRlcmF0ZWQudDEgdmFsdWVzIChfY3AxMjUxJ8EtwsPELTInKTsKKyMgSU5TRVJUIElOVE8gZmVk ZXJhdGVkLnQxIHZhbHVlcyAoX2NwMTI1MSfDgC3DgcOCw4MtMScpOworIyBJTlNFUlQgSU5UTyBm ZWRlcmF0ZWQudDEgdmFsdWVzIChfY3AxMjUxJ8OBLcOCw4PDhC0yJyk7CiAjIFNFTEVDVCAqIEZS T00gZmVkZXJhdGVkLnQxOwogIyBTRVQgbmFtZXMgY3AxMjUxOwotIyBJTlNFUlQgSU5UTyBmZWRl cmF0ZWQudDEgdmFsdWVzICgnwi3DxMUtMycpOwotIyBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEg dmFsdWVzICgnwy3FqMYtNCcpOworIyBJTlNFUlQgSU5UTyBmZWRlcmF0ZWQudDEgdmFsdWVzICgn w4Itw4PDhMOFLTMnKTsKKyMgSU5TRVJUIElOVE8gZmVkZXJhdGVkLnQxIHZhbHVlcyAoJ8ODLcWo w4YtNCcpOwogIyBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC50MTsKICMgU0VMRUNUIGhleChhKSBm cm9tIGZlZGVyYXRlZC50MTsKICMgU0VMRUNUIGhleChhKSBmcm9tIGZlZGVyYXRlZC50MSBPUkRF UiBCWSBhIGRlc2M7Ci0jIFVQREFURSBmZWRlcmF0ZWQudDEgU0VUIGE9J8AtwcLDLTHt7uL76Scg V0hFUkUgYT0nwC3BwsMtMSc7Ci0jIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwotIyBERUxF VEUgRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgYT0nwy3FqMYtNCc7Ci0jIFNFTEVDVCAqIEZST00g ZmVkZXJhdGVkLnQxOwotIyBERUxFVEUgRlJPTSBmZWRlcmF0ZWQudDEgV0hFUkUgYT4nwi0nOwor IyBVUERBVEUgZmVkZXJhdGVkLnQxIFNFVCBhPSfDgC3DgcOCw4MtMcOtw67DosO7w6knIFdIRVJF IGE9J8OALcOBw4LDgy0xJzsKKyMgU0VMRUNUICogRlJPTSBmZWRlcmF0ZWQudDE7CisjIERFTEVU RSBGUk9NIGZlZGVyYXRlZC50MSBXSEVSRSBhPSfDgy3FqMOGLTQnOworIyBTRUxFQ1QgKiBGUk9N IGZlZGVyYXRlZC50MTsKKyMgREVMRVRFIEZST00gZmVkZXJhdGVkLnQxIFdIRVJFIGE+J8OCLSc7 CiAjIFNFTEVDVCAqIEZST00gZmVkZXJhdGVkLnQxOwogIyBTRVQgbmFtZXMgZGVmYXVsdDsKICMg RFJPUCBUQUJMRSBJRiBFWElTVFMgZmVkZXJhdGVkLnQxOwpAQCAtMTEwOCw2ICsxMTYyLDcgQEAK IElOU0VSVCBJTlRPIGZlZGVyYXRlZC50MSAobmFtZSwgY291bnRyeV9pZCwgb3RoZXIpIFZBTFVF UyAoJ1NhbmphJywgNSwgMzMzMzMpOwogCiAjaW5uZXIgam9pbgorLS1zb3J0ZWRfcmVzdWx0CiBT RUxFQ1QgZmVkZXJhdGVkLnQxLm5hbWUgQVMgbmFtZSwgZmVkZXJhdGVkLnQxLmNvdW50cnlfaWQg QVMgY291bnRyeV9pZCwKIGZlZGVyYXRlZC50MS5vdGhlciBBUyBvdGhlciwgZmVkZXJhdGVkLmNv dW50cmllcy5jb3VudHJ5IEFTIGNvdW50cnkgCiBGUk9NIGZlZGVyYXRlZC50MSwgZmVkZXJhdGVk LmNvdW50cmllcyBXSEVSRQpAQCAtMTE4MSw3ICsxMjM2LDcgQEAKIAogU0VMRUNUICogRlJPTSBm ZWRlcmF0ZWQuYWx0ZXJfbWU7CiAKLS0tZXJyb3IgMTAzMQorLS1lcnJvciBFUl9JTExFR0FMX0hB CiBBTFRFUiBUQUJMRSBmZWRlcmF0ZWQuYWx0ZXJfbWUgTU9ESUZZIENPTFVNTiBpZCBpbnQoMTYp IE5PVCBOVUxMOwogCiBTRUxFQ1QgKiBGUk9NIGZlZGVyYXRlZC5hbHRlcl9tZTsKQEAgLTE0NTIs MTUgKzE1MDcsMTUgQEAKICMgRWFjaCBvZiB0aHJlZSBzdGF0ZW1lbnRzIHNob3VsZCBjb3JyZWN0 bHkgc2V0IHZhbHVlcyBmb3IgYWxsIHRocmVlIGZpZWxkcwogIyBpbnNlcnQKIGluc2VydCBpbnRv IGZlZGVyYXRlZC50MSAoYSwgYikgdmFsdWVzICgxLCAyKSwgKDMsIDUpLCAoNywgMTEpOwotc2Vs ZWN0ICogZnJvbSBmZWRlcmF0ZWQudDE7CitzZWxlY3QgKiBmcm9tIGZlZGVyYXRlZC50MSBvcmRl ciBieSBhOwogZGVsZXRlIGZyb20gZmVkZXJhdGVkLnQxOwogIyBpbnNlcnQgLi4uIHNlbGVjdAog aW5zZXJ0IGludG8gZmVkZXJhdGVkLnQxIChhLCBiKSBzZWxlY3QgKiBmcm9tIGZlZGVyYXRlZC50 MjsKLXNlbGVjdCAqIGZyb20gZmVkZXJhdGVkLnQxOworc2VsZWN0ICogZnJvbSBmZWRlcmF0ZWQu dDEgb3JkZXIgYnkgYTsKIGRlbGV0ZSBmcm9tIGZlZGVyYXRlZC50MTsKICMgbG9hZAogbG9hZCBk YXRhIGluZmlsZSAnLi4vc3RkX2RhdGFfbG4vbG9hZGRhdGE1LmRhdCcgaW50byB0YWJsZSBmZWRl cmF0ZWQudDEgZmllbGRzIHRlcm1pbmF0ZWQgYnkgJycgZW5jbG9zZWQgYnkgJycgaWdub3JlIDEg bGluZXMgKGEsIGIpOwotc2VsZWN0ICogZnJvbSBmZWRlcmF0ZWQudDE7CitzZWxlY3QgKiBmcm9t IGZlZGVyYXRlZC50MSBvcmRlciBieSBhOwogZHJvcCB0YWJsZXMgZmVkZXJhdGVkLnQxLCBmZWRl cmF0ZWQudDI7CiAKIGNvbm5lY3Rpb24gc2xhdmU7CkBAIC0xNzY5LDcgKzE4MjQsMTMgQEAKIGNv bm5lY3Rpb24gbWFzdGVyOwogRFJPUCBUQUJMRSB0MTsKIAotCitjb25uZWN0aW9uIGRlZmF1bHQ7 CisKKy0tZWNobyBFbmQgb2YgNS4wIHRlc3RzCisKK1NFVCBAQEdMT0JBTC5DT05DVVJSRU5UX0lO U0VSVD0gQE9MRF9NQVNURVJfQ09OQ1VSUkVOVF9JTlNFUlQ7Citjb25uZWN0aW9uIHNsYXZlOwor U0VUIEBAR0xPQkFMLkNPTkNVUlJFTlRfSU5TRVJUPSBAT0xEX1NMQVZFX0NPTkNVUlJFTlRfSU5T RVJUOworCitjb25uZWN0aW9uIGRlZmF1bHQ7CiBzb3VyY2UgaW5jbHVkZS9mZWRlcmF0ZWRfY2xl YW51cC5pbmM7Ci0KLS0tZWNobyBFbmQgb2YgNS4wIHRlc3RzCgo= --===============5537786166140467366==--