From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Mattias Ellert To: git-commits@fedoraproject.org Subject: [rpms/globus-gatekeeper] rawhide: Fix compiler warnings Date: Sun, 14 Jun 2026 08:46:42 GMT Message-ID: <178142680272.1.13206222117634975290.rpms-globus-gatekeeper-9fce8c699d88@fedoraproject.org> List-ID: X-Git-Repo: rpms/globus-gatekeeper X-Git-Branch: rawhide X-Git-Rev: 9fce8c699d882cdfc81cdd299f02c6eae0ebcff9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xvYnVzLWdhdGVr ZWVwZXIKQnJhbmNoIDogcmF3aGlkZQpDb21taXQgOiA5ZmNlOGM2OTlkODgyY2RmYzgxY2RkMjk5 ZjAyYzZlYWUwZWJjZmY5CkF1dGhvciA6IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBw aHlzaWNzLnV1LnNlPgpEYXRlICAgOiAyMDI2LTA2LTE0VDEwOjM5OjEzKzAyOjAwClN0YXRzICA6 ICs3NjAvLTEgaW4gMyBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qu b3JnL3JwbXMvZ2xvYnVzLWdhdGVrZWVwZXIvYy85ZmNlOGM2OTlkODgyY2RmYzgxY2RkMjk5ZjAy YzZlYWUwZWJjZmY5P2JyYW5jaD1yYXdoaWRlCgpMb2c6CkZpeCBjb21waWxlciB3YXJuaW5ncwoK LS0tCmRpZmYgLS1naXQgYS8wMDAxLVVudGFiaWZ5LWFuZC1yZW1vdmUtdHJhaWxpbmctd2hpdGUt c3BhY2UucGF0Y2ggYi8wMDAxLVVudGFiaWZ5LWFuZC1yZW1vdmUtdHJhaWxpbmctd2hpdGUtc3Bh Y2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgzMzE3YQotLS0g L2Rldi9udWxsCisrKyBiLzAwMDEtVW50YWJpZnktYW5kLXJlbW92ZS10cmFpbGluZy13aGl0ZS1z cGFjZS5wYXRjaApAQCAtMCwwICsxLDcxNiBAQAorRnJvbSAzY2NkYWEwMjM2MjMwYmJjYmNiZjMz OWU3ZGZkZmFmMjNjMTBiZDZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGlh cyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+CitEYXRlOiBXZWQsIDIwIE1h eSAyMDI2IDAwOjE1OjM3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBVbnRhYmlmeSBhbmQg cmVtb3ZlIHRyYWlsaW5nIHdoaXRlLXNwYWNlCisKKy0tLQorIC4uLi9zb3VyY2UvZ2xvYnVzX2dh dGVrZWVwZXJfdXRpbHMuYyAgICAgICAgICB8IDU5MiArKysrKysrKystLS0tLS0tLS0KKyAxIGZp bGUgY2hhbmdlZCwgMjk2IGluc2VydGlvbnMoKyksIDI5NiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2dyYW0vZ2F0ZWtlZXBlci9zb3VyY2UvZ2xvYnVzX2dhdGVrZWVwZXJfdXRpbHMuYyBi L2dyYW0vZ2F0ZWtlZXBlci9zb3VyY2UvZ2xvYnVzX2dhdGVrZWVwZXJfdXRpbHMuYworaW5kZXgg NWU4YjZlYzcyLi45ZjIzMzNhOGUgMTAwNjQ0CistLS0gYS9ncmFtL2dhdGVrZWVwZXIvc291cmNl L2dsb2J1c19nYXRla2VlcGVyX3V0aWxzLmMKKysrKyBiL2dyYW0vZ2F0ZWtlZXBlci9zb3VyY2Uv Z2xvYnVzX2dhdGVrZWVwZXJfdXRpbHMuYworQEAgLTIwLDIwICsyMCwyMCBAQAorIGdsb2J1c19n YXRla2VlcGVyX3V0aWxzLmMKKyAKKyBEZXNjcmlwdGlvbjoKKy0JU29tZSBjb21tb24gcm91dGlu ZXMgdXNlZCBieSBnbG9idXNfZ2F0ZWtlZXBlciAKKy0JYW5kIGdsb2J1c19ncmFtX2s1LmMKKysg ICAgICAgIFNvbWUgY29tbW9uIHJvdXRpbmVzIHVzZWQgYnkgZ2xvYnVzX2dhdGVrZWVwZXIKKysg ICAgICAgIGFuZCBnbG9idXNfZ3JhbV9rNS5jCisgCisgCisgQ1ZTIEluZm9ybWF0aW9uOgorLQkk U291cmNlJAorLQkkRGF0ZSQKKy0JJFJldmlzaW9uJAorLQkkQXV0aG9yJAorKyAgICAgICAgJFNv dXJjZSQKKysgICAgICAgICREYXRlJAorKyAgICAgICAgJFJldmlzaW9uJAorKyAgICAgICAgJEF1 dGhvciQKKyAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCisgLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqCistCQkJCQkJCUluY2x1ZGUgaGVhZGVyIGZpbGVzCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNsdWRlIGhlYWRlciBmaWxlcwor ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KKyAjaW5jbHVkZSAiZ2xvYnVzX2NvbmZpZy5oIgorICNp bmNsdWRlICJnbG9idXNfZ2F0ZWtlZXBlcl9jb25maWcuaCIKK0BAIC03MiwyMjYgKzcyLDIyNiBA QCBjaGFyICogZmdldHNjb250KGNoYXIgKmxpbmUsIGludCBzaXplLCBGSUxFKiBmZCk7Cisgc3Rh dGljCisgY2hhciAqIGZnZXRzY29udChjaGFyICogbGluZSwgaW50IHNpemUsIEZJTEUqIGZkKQor IHsKKy0JaW50IGk7CistCWludCBsZW47CistCWNoYXIgKiBjcDsKKysgICAgaW50IGk7CisrICAg IGludCBsZW47CisrICAgIGNoYXIgKiBjcDsKKyAKKy0JaSA9IDI7CistCWxlbiA9IHNpemU7Cisr ICAgIGkgPSAyOworKyAgICBsZW4gPSBzaXplOworICAgICBjcCA9IGxpbmU7CistCSpjcCA9ICdc MCc7CistCistCXdoaWxlKGZnZXRzKGNwLCBsZW4sIGZkKSAmJiAgCistCQkoaSA9IHN0cmxlbihs aW5lKSkgPiAyICYmIAorLQkJbGluZVtpLTFdID09ICdcbicgJiYgbGluZVtpLTJdID09ICdcXCcp IHsKKy0gICAgICBsZW4gPSBzaXplIC0gaSAtIDI7CistCSAgY3AgPSBsaW5lICsgaSAtIDI7Cist CX0KKy0JaWYgKCpjcCA9PSAnXDAnKSB7CistCQlyZXR1cm4gTlVMTDsKKy0JfQorLQlyZXR1cm4g bGluZTsKKysgICAgKmNwID0gJ1wwJzsKKysKKysgICAgd2hpbGUoZmdldHMoY3AsIGxlbiwgZmQp ICYmCisrICAgICAgICAgIChpID0gc3RybGVuKGxpbmUpKSA+IDIgJiYKKysgICAgICAgICAgbGlu ZVtpLTFdID09ICdcbicgJiYgbGluZVtpLTJdID09ICdcXCcpIHsKKysgICAgICAgIGxlbiA9IHNp emUgLSBpIC0gMjsKKysgICAgICAgIGNwID0gbGluZSArIGkgLSAyOworKyAgICB9CisrICAgIGlm ICgqY3AgPT0gJ1wwJykgeworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgfQor KyAgICByZXR1cm4gbGluZTsKKyB9CisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIEZ1bmN0aW9u OiAgIGdsb2J1c19nYXRla2VlcGVyX3V0aWxfZ2xvYnVzeG1hcCgpCisgRGVzY3JpcHRpb246Cist CUdpdmVuIGEgaW5kZXgsIGZpbmQgdGhlIGNvbW1hbmQgdG8gYmUgaXNzdWVkLiBGb3IgZXhhbXBs ZQorLQl0aGlzIGNvdWxkIGJlIGEgc2VydmljZSBuYW1lLCBvciBhIGdsb2J1c0lELCBvciBLNSBw cmluY2lwYWwKKysgICAgICAgIEdpdmVuIGEgaW5kZXgsIGZpbmQgdGhlIGNvbW1hbmQgdG8gYmUg aXNzdWVkLiBGb3IgZXhhbXBsZQorKyAgICAgICAgdGhpcyBjb3VsZCBiZSBhIHNlcnZpY2UgbmFt ZSwgb3IgYSBnbG9idXNJRCwgb3IgSzUgcHJpbmNpcGFsCisgCisgUGFyYW1ldGVyczoKKy0JaW5k ZXgKKy0JQSBwb2ludGVyIHRvIGEgY2hhciAqLiB3aWxsIHN0cmR1cCB3aXRoIGNvbW1hbmQKKysg ICAgICAgIGluZGV4CisrICAgICAgICBBIHBvaW50ZXIgdG8gYSBjaGFyICouIHdpbGwgc3RyZHVw IHdpdGggY29tbWFuZAorIFJldHVybnM6CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworIGludAor IGdsb2J1c19nYXRla2VlcGVyX3V0aWxfZ2xvYnVzeG1hcCggY2hhciAqIGZpbGVuYW1lLCBjaGFy ICogaW5kZXgsIGNoYXIgKiogY29tbWFuZCkKKyB7CisgCistCUZJTEUgKiBmZDsKKy0JaW50ICAg IHJjOworLQlpbnQJICAgaTsKKysgICAgRklMRSAqIGZkOworKyAgICBpbnQgICAgcmM7CisrICAg IGludCAgICBpOworICAgICBpbnQgICAgb2Zmc2V0OworLQljaGFyICAgZl9pbmRleFsyNTZdOyAK Ky0JY2hhciAgIGxpbmVbNDA5Nl07CisrICAgIGNoYXIgICBmX2luZGV4WzI1Nl07CisrICAgIGNo YXIgICBsaW5lWzQwOTZdOworIAorLQkqY29tbWFuZCA9IE5VTEw7CisrICAgICpjb21tYW5kID0g TlVMTDsKKyAKKy0gIGlmICgoZmQgPSBmb3BlbihmaWxlbmFtZSwgInIiKSkgIT0gTlVMTCkgewor KyAgICBpZiAoKGZkID0gZm9wZW4oZmlsZW5hbWUsICJyIikpICE9IE5VTEwpIHsKKyAKKy0gICAg d2hpbGUoZmdldHNjb250KGxpbmUsIHNpemVvZihsaW5lKSwgZmQpKSB7CistICAgICAgaSA9IHN0 cmxlbihsaW5lKTsKKy0JICBpZiAobGluZVswXSAhPSAnIycpIHsgICAvKiBjb21tZW50IGxpbmUg Ki8KKy0JICAgIGlmIChsaW5lW2kgLSAxXSA9PSAnXG4nKSB7CistCQkJbGluZVtpIC0gMV0gPSAn XDAnOworLQkJfQorKyAgICAgICAgd2hpbGUoZmdldHNjb250KGxpbmUsIHNpemVvZihsaW5lKSwg ZmQpKSB7CisrICAgICAgICAgICAgaSA9IHN0cmxlbihsaW5lKTsKKysgICAgICAgICAgICBpZiAo bGluZVswXSAhPSAnIycpIHsgICAvKiBjb21tZW50IGxpbmUgKi8KKysgICAgICAgICAgICAgICAg aWYgKGxpbmVbaSAtIDFdID09ICdcbicpIHsKKysgICAgICAgICAgICAgICAgICAgIGxpbmVbaSAt IDFdID0gJ1wwJzsKKysgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICBpZiAoIWlu ZGV4KQorICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAgICAgKmNvbW1h bmQgPSBzdHJkdXAobGluZSk7CisrICAgICAgICAgICAgICAgICAgICAqY29tbWFuZCA9IHN0cmR1 cChsaW5lKTsKKysgICAgICAgICAgICAgICAgICAgIGZjbG9zZShmZCk7CisrICAgICAgICAgICAg ICAgICAgICByZXR1cm4oMCk7CisrICAgICAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgICAg ICAgcmMgPSBzc2NhbmYobGluZSwgIiBcIiUyNTVbXlwiXSUqYyVuICVuIiwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmX2luZGV4LCAmb2Zmc2V0LCAm b2Zmc2V0KTsKKysgICAgICAgICAgICAgICAgaWYgKHJjICE9IDEpIHsKKysgICAgICAgICAgICAg ICAgICAgIHJjID0gc3NjYW5mKGxpbmUsICIlMjU1cyVuICVuIiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZfaW5kZXgsICZvZmZzZXQsICZvZmZzZXQpOworKyAg ICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIGlmIChyYyA9PSAxKSB7CisrICAgICAg ICAgICAgICAgICAgICBpZiAoIXN0cmNtcChpbmRleCwgZl9pbmRleCkpIHsKKysgICAgICAgICAg ICAgICAgICAgICAgICAqY29tbWFuZCA9IHN0cmR1cCgmbGluZVtvZmZzZXRdKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICBmY2xvc2UoZmQpOworICAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybigwKTsKKysKKysgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgfQor LSAKKy0JCXJjID0gc3NjYW5mKGxpbmUsICIgXCIlMjU1W15cIl0lKmMlbiAlbiIsIAorLQkJCQkJ CWZfaW5kZXgsICZvZmZzZXQsICZvZmZzZXQpOworLQkJaWYgKHJjICE9IDEpIHsKKy0gICAgICAg IAlyYyA9IHNzY2FuZihsaW5lLCAiJTI1NXMlbiAlbiIsCistCQkJCQkgZl9pbmRleCwgJm9mZnNl dCwgJm9mZnNldCk7CistCQl9CistICAgICAgICBpZiAocmMgPT0gMSkgeworLQkgICAgICBpZiAo IXN0cmNtcChpbmRleCwgZl9pbmRleCkpIHsKKy0JCSAgICAqY29tbWFuZCA9IHN0cmR1cCgmbGlu ZVtvZmZzZXRdKTsKKy0gICAgICAgICAgICBmY2xvc2UoZmQpOworLQkJICAgIHJldHVybigwKTsK Ky0gCistCSAgICAgIH0KKy0JICAgIH0KKy0JICB9CistCX0KKy0JZmNsb3NlKGZkKTsKKy0JcmV0 dXJuKC0xKTsgLyogbm90IGZvdW5kICovCQorLSAgfQorLSAgcmV0dXJuKC0yKTsgICAvKiBvcGVu IGZhaWxlZCAqLworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKysgICAgICAgIGZjbG9zZShm ZCk7CisrICAgICAgICByZXR1cm4oLTEpOyAvKiBub3QgZm91bmQgKi8KKysgICAgfQorKyAgICBy ZXR1cm4oLTIpOyAgIC8qIG9wZW4gZmFpbGVkICovCisgfQorIC8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKKyBGdW5jdGlvbjogICBnbG9idXNfZ2F0ZWtlZXBlcl91dGlsX3Rva2VuaXplKCkKKyAKKyBE ZXNjcmlwdGlvbjoKKy0JQnJlYWt1cCB0aGUgY29tbWFuZCBpbiB0byBhcmdzLCBwb2ludGluZyB0 aGUgYXJncyBhcnJheQorLQlhdCB0aGUgdG9rZW5zLiBSZXBsYWNlIHdoaXRlIHNwYWNlIGF0IHRo ZSBlbmQgb2YgZWFjaAorLQl0b2tlbiB3aXRoIGEgbnVsbC4gQSB0b2tlbiBtYXliZSBpbiBxdW90 ZXMuIAorKyAgICAgICAgQnJlYWt1cCB0aGUgY29tbWFuZCBpbiB0byBhcmdzLCBwb2ludGluZyB0 aGUgYXJncyBhcnJheQorKyAgICAgICAgYXQgdGhlIHRva2Vucy4gUmVwbGFjZSB3aGl0ZSBzcGFj ZSBhdCB0aGUgZW5kIG9mIGVhY2gKKysgICAgICAgIHRva2VuIHdpdGggYSBudWxsLiBBIHRva2Vu IG1heWJlIGluIHF1b3Rlcy4KKyAKKyBQYXJhbWV0ZXJzOgorLQlUaGUgY29tbWFuZCBsaW5lIHRv IGJlIHBhcnNlZC4KKy0JQSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHBvaW50ZXJzIHRvIGJlIGZp bGxlZCBpdAorLQlTaXplIG9mIHRoZSBhcnJheSwgb24gaW5wdXQsIGFuZCBzZXQgdG8gc2l6ZSB1 c2VkIG9uIG91dHB1dC4gCisrICAgICAgICBUaGUgY29tbWFuZCBsaW5lIHRvIGJlIHBhcnNlZC4K KysgICAgICAgIEEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBwb2ludGVycyB0byBiZSBmaWxsZWQg aXQKKysgICAgICAgIFNpemUgb2YgdGhlIGFycmF5LCBvbiBpbnB1dCwgYW5kIHNldCB0byBzaXpl IHVzZWQgb24gb3V0cHV0LgorIAorIFJldHVybnM6CistCTAgb24gc3VjY2Vzcy4gCistCS0xIG9u IHRvIG1hbGxvYworLQktMiBvbiB0byBtYW55IGFyZ3MKKy0JLTMgb24gcXVvdGUgbm90IG1hdGNo ZWQKKysgICAgICAgIDAgb24gc3VjY2Vzcy4KKysgICAgICAgIC0xIG9uIHRvIG1hbGxvYworKyAg ICAgICAgLTIgb24gdG8gbWFueSBhcmdzCisrICAgICAgICAtMyBvbiBxdW90ZSBub3QgbWF0Y2hl ZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKKyBpbnQKKy1nbG9idXNfZ2F0ZWtlZXBlcl91 dGlsX3Rva2VuaXplKGNoYXIgKiBjb21tYW5kLCAKKy0JCQkJCQkJCWNoYXIgKiogYXJncywKKy0J CQkJCQkJCWludCAqIG4sCistCQkJCQkJCQljaGFyICogc2VwKQorK2dsb2J1c19nYXRla2VlcGVy X3V0aWxfdG9rZW5pemUoY2hhciAqIGNvbW1hbmQsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjaGFyICoqIGFyZ3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgKiBuLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqIHNlcCkKKyB7 CistICBpbnQgaTsKKy0gIGNoYXIgKiBjcDsKKy0gIGNoYXIgKiBwcDsKKy0gIGNoYXIgKiBxcDsK Ky0gIGNoYXIgKiogYXJnOworLQorLSAgYXJnID0gYXJnczsKKy0gIGkgPSAqbiAtIDE7CistCist ICBjcCA9IGNvbW1hbmQ7CistICB3aGlsZSAoKmNwKQorLSAgeworLSAgCS8qIHNraXAgbGVhZGlu ZyBzZXAgY2hhcmFjdGVycyAqLworLQl3aGlsZSAoKmNwICYmIHN0cmNocihzZXAsICpjcCkpCist CXsKKy0JCWNwKys7CistCX0KKy0JcHAgPSBOVUxMOworLQlpZiAoKmNwID09ICdcIicpCistCXsK Ky0JCWNwKys7CistCQlwcCA9IGNwOworLQkJaWYgKChxcCA9IHN0cmNocihjcCwnXCInKSkgPT0g TlVMTCkKKy0JCXsKKy0JCQlyZXR1cm4gLTM7CistCQl9CistCQljcCA9IHFwICsgMTsKKy0JCQor LQl9CistCWVsc2UgaWYgKCpjcCkKKy0JeworLQkJcHAgPSBjcDsKKy0JCWlmICgocXAgPSBzdHJw YnJrKGNwLHNlcCkpID09IE5VTEwpCistCQl7CistCQkJcXAgPSBzdHJjaHIoY3AsJ1wwJyk7Cist CQl9CistCQljcCA9IHFwOworLQl9CistCWlmIChwcCkKKy0JeworLQkJKmFyZyA9IChjaGFyKilt YWxsb2MoKHFwIC0gcHApICsgMSk7CistCQlpZiAoKmFyZyA9PSBOVUxMKQorLQkJeworLQkJCXJl dHVybiAtMTsKKy0JCX0KKy0JCW1lbWNweSgqYXJnLHBwLHFwIC0gcHApOworLQkJKigqYXJnICsg KHFwIC0gcHApKSA9ICdcMCc7CistCQlpLS07CistICAgIAlpZiAoaSA9PSAwKQorLQkgIAkJcmV0 dXJuKC0yKTsgLyogdG8gbWFueSBhcmdzICovCistICAgIAlhcmcrKzsKKy0gIAl9CistICB9Cist ICAqYXJnID0gKGNoYXIgKikgMDsKKy0gICpuID0gKm4gLSBpIC0gMTsKKy0gIHJldHVybigwKTsK KysgICAgaW50IGk7CisrICAgIGNoYXIgKiBjcDsKKysgICAgY2hhciAqIHBwOworKyAgICBjaGFy ICogcXA7CisrICAgIGNoYXIgKiogYXJnOworKworKyAgICBhcmcgPSBhcmdzOworKyAgICBpID0g Km4gLSAxOworKworKyAgICBjcCA9IGNvbW1hbmQ7CisrICAgIHdoaWxlICgqY3ApCisrICAgIHsK KysgICAgICAgIC8qIHNraXAgbGVhZGluZyBzZXAgY2hhcmFjdGVycyAqLworKyAgICAgICAgd2hp bGUgKCpjcCAmJiBzdHJjaHIoc2VwLCAqY3ApKQorKyAgICAgICAgeworKyAgICAgICAgICAgIGNw Kys7CisrICAgICAgICB9CisrICAgICAgICBwcCA9IE5VTEw7CisrICAgICAgICBpZiAoKmNwID09 ICdcIicpCisrICAgICAgICB7CisrICAgICAgICAgICAgY3ArKzsKKysgICAgICAgICAgICBwcCA9 IGNwOworKyAgICAgICAgICAgIGlmICgocXAgPSBzdHJjaHIoY3AsJ1wiJykpID09IE5VTEwpCisr ICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICByZXR1cm4gLTM7CisrICAgICAgICAgICAg fQorKyAgICAgICAgICAgIGNwID0gcXAgKyAxOworKworKyAgICAgICAgfQorKyAgICAgICAgZWxz ZSBpZiAoKmNwKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHBwID0gY3A7CisrICAgICAgICAg ICAgaWYgKChxcCA9IHN0cnBicmsoY3Asc2VwKSkgPT0gTlVMTCkKKysgICAgICAgICAgICB7Cisr ICAgICAgICAgICAgICAgIHFwID0gc3RyY2hyKGNwLCdcMCcpOworKyAgICAgICAgICAgIH0KKysg ICAgICAgICAgICBjcCA9IHFwOworKyAgICAgICAgfQorKyAgICAgICAgaWYgKHBwKQorKyAgICAg ICAgeworKyAgICAgICAgICAgICphcmcgPSAoY2hhciopbWFsbG9jKChxcCAtIHBwKSArIDEpOwor KyAgICAgICAgICAgIGlmICgqYXJnID09IE5VTEwpCisrICAgICAgICAgICAgeworKyAgICAgICAg ICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIG1lbWNweSgq YXJnLHBwLHFwIC0gcHApOworKyAgICAgICAgICAgICooKmFyZyArIChxcCAtIHBwKSkgPSAnXDAn OworKyAgICAgICAgICAgIGktLTsKKysgICAgICAgICAgICBpZiAoaSA9PSAwKQorKyAgICAgICAg ICAgICAgICByZXR1cm4oLTIpOyAvKiB0byBtYW55IGFyZ3MgKi8KKysgICAgICAgICAgICBhcmcr KzsKKysgICAgICAgIH0KKysgICAgfQorKyAgICAqYXJnID0gKGNoYXIgKikgMDsKKysgICAgKm4g PSAqbiAtIGkgLSAxOworKyAgICByZXR1cm4oMCk7CisgfQorIAorIC8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKyBGdW5jdGlvbjogICBnbG9idXNfZ2F0ZWtlZXBlcl91dGlsX2VudnN1YigpCisgCisg RGVzY3JpcHRpb246CistCVN1YnN0aXR1dGUgZnJvbSBlbnZpcm9ubWVudCBzdHJpbmcgbGlrZSAk e3RleHR9IAorLQlpbnRvIGFyZy4gIGFyZyB3aWxsIGJlIGZyZWVkIGFuZCBjb3BpZWQuCistCVJl Y3Vyc2lvbiBpcyBhbGxvd2VkLiAKKysgICAgICAgIFN1YnN0aXR1dGUgZnJvbSBlbnZpcm9ubWVu dCBzdHJpbmcgbGlrZSAke3RleHR9CisrICAgICAgICBpbnRvIGFyZy4gIGFyZyB3aWxsIGJlIGZy ZWVkIGFuZCBjb3BpZWQuCisrICAgICAgICBSZWN1cnNpb24gaXMgYWxsb3dlZC4KKyAKKyBQYXJh bWV0ZXJzOgorLQlhcmcgYSBwb2ludGVyIHRvIHRoZSBzdHJpbmcgcG9pbnRlci4gCisrICAgICAg ICBhcmcgYSBwb2ludGVyIHRvIHRoZSBzdHJpbmcgcG9pbnRlci4KKyAKKyBSZXR1cm5zOgorLQkw IG9uIHN1Y2Nlc3MuIAorLQktMSBvbiBtYWxsb2MKKy0JLTMgb24gZW52IHN0cmluZyBub3QgZm91 bmQKKysgICAgICAgIDAgb24gc3VjY2Vzcy4KKysgICAgICAgIC0xIG9uIG1hbGxvYworKyAgICAg ICAgLTMgb24gZW52IHN0cmluZyBub3QgZm91bmQKKyAqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisg CisgaW50CisgZ2xvYnVzX2dhdGVrZWVwZXJfdXRpbF9lbnZzdWIoY2hhciAqKiBhcmcpCisgewor LQljaGFyICogY3A7CistCWNoYXIgKiBwcDsKKy0JY2hhciAqIHFwOworLQljaGFyICogcnA7Cist CWNoYXIgKiBuYXJnOworLQkKKy0JY3AgPSAqYXJnOworLQl3aGlsZSAoKHBwID0gc3Ryc3RyKGNw LCIkeyIpKSkgIC8qIGZvciBlZGl0b3IgbWF0Y2hpbmcgfSAqLworLQl7CistCQlwcCs9MjsKKy0J CQkJCQkJCQkvKiBmb3IgZWRpdG9yIG1hdGNoaW5nIHsgKi8KKy0JCWlmKCEocXAgPSBzdHJzdHIo cHAsIn0iKSkpCistCQl7CistCQkJcmV0dXJuIC0yOyAgLyogbm90IHRlcm1pbmF0ZWQgKi8KKy0J CX0KKy0JCSoocHAtMikgPSAnXDAnOyAvKiB0ZXJtIHRoZSBwcmVmaXggKi8KKy0JCSpxcCA9ICdc MCc7ICAgICAvKiB0ZXJtIHRoZSBlbnYgbmFtZSAqLworLQkJcXArKzsKKy0JCWlmICghKHJwID0g Z2V0ZW52KHBwKSkpCistCQl7CistCQkJcmV0dXJuIC0zOworLQkJfQorLQkJaWYgKCEobmFyZyA9 IChjaGFyICopbWFsbG9jKHN0cmxlbihjcCkgKyAKKy0JCQkJCQkJICAgc3RybGVuKHJwKSArIAor LQkJCQkJCQkgICBzdHJsZW4ocXApICsgMSkpKQorLQkJeworLQkJCXJldHVybiAtMTsKKy0JCX0K Ky0JCXN0cmNweShuYXJnLGNwKTsKKy0JCXN0cmNhdChuYXJnLHJwKTsKKy0JCXN0cmNhdChuYXJn LHFwKTsKKy0JCWZyZWUoY3ApOworLQkJY3AgPSBuYXJnOworLQkJKmFyZyA9IGNwOworLQl9Cist CXJldHVybiAwOworKyAgICBjaGFyICogY3A7CisrICAgIGNoYXIgKiBwcDsKKysgICAgY2hhciAq IHFwOworKyAgICBjaGFyICogcnA7CisrICAgIGNoYXIgKiBuYXJnOworKworKyAgICBjcCA9ICph cmc7CisrICAgIHdoaWxlICgocHAgPSBzdHJzdHIoY3AsIiR7IikpKSAgLyogZm9yIGVkaXRvciBt YXRjaGluZyB9ICovCisrICAgIHsKKysgICAgICAgIHBwKz0yOworKyAgICAgICAgLyogZm9yIGVk aXRvciBtYXRjaGluZyB7ICovCisrICAgICAgICBpZighKHFwID0gc3Ryc3RyKHBwLCJ9IikpKQor KyAgICAgICAgeworKyAgICAgICAgICAgIHJldHVybiAtMjsgIC8qIG5vdCB0ZXJtaW5hdGVkICov CisrICAgICAgICB9CisrICAgICAgICAqKHBwLTIpID0gJ1wwJzsgLyogdGVybSB0aGUgcHJlZml4 ICovCisrICAgICAgICAqcXAgPSAnXDAnOyAgICAgLyogdGVybSB0aGUgZW52IG5hbWUgKi8KKysg ICAgICAgIHFwKys7CisrICAgICAgICBpZiAoIShycCA9IGdldGVudihwcCkpKQorKyAgICAgICAg eworKyAgICAgICAgICAgIHJldHVybiAtMzsKKysgICAgICAgIH0KKysgICAgICAgIGlmICghKG5h cmcgPSAoY2hhciAqKW1hbGxvYyhzdHJsZW4oY3ApICsKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RybGVuKHJwKSArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cmxlbihxcCkgKyAxKSkpCisrICAgICAgICB7CisrICAgICAgICAgICAgcmV0dXJuIC0xOworKyAg ICAgICAgfQorKyAgICAgICAgc3RyY3B5KG5hcmcsY3ApOworKyAgICAgICAgc3RyY2F0KG5hcmcs cnApOworKyAgICAgICAgc3RyY2F0KG5hcmcscXApOworKyAgICAgICAgZnJlZShjcCk7CisrICAg ICAgICBjcCA9IG5hcmc7CisrICAgICAgICAqYXJnID0gY3A7CisrICAgIH0KKysgICAgcmV0dXJu IDA7CisgfQorIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0BAIC0zMDEsMTU1ICszMDEsMTU1 IEBAIFBhcmFtZXRlcnM6CisgUmV0dXJuczoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgaW50 CistZ2xvYnVzX2dhdGVrZWVwZXJfdXRpbF9leGVjKGNoYXIgKmFyZ3NbXSwgCistCQkJCQlzdHJ1 Y3QgcGFzc3dkICpwdywgCistCQkJCQljaGFyICogdXNlciwgCistCQkJCQljaGFyICoqZXJybXNn cCkKKytnbG9idXNfZ2F0ZWtlZXBlcl91dGlsX2V4ZWMoY2hhciAqYXJnc1tdLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGFzc3dkICpwdywKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2hhciAqIHVzZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo YXIgKiplcnJtc2dwKQorIHsKKyAKKy0gIGludCBwaWQ7CistICBpbnQgZXJyOyAKKy0gIGludCBy YzsKKy0gIGNoYXIgKnBhdGg7CistICBjaGFyICogY3A7CisrICAgIGludCBwaWQ7CisrICAgIGlu dCBlcnI7CisrICAgIGludCByYzsKKysgICAgY2hhciAqcGF0aDsKKysgICAgY2hhciAqIGNwOwor IAorICNkZWZpbmUgV0FJVF9VU0VTX0lOVAorICNpZmRlZiAgV0FJVF9VU0VTX0lOVAorLSAgaW50 IHdhaXRfc3RhdHVzOworKyAgICBpbnQgd2FpdF9zdGF0dXM7CisgI2Vsc2UgICAvKiBXQUlUX1VT RVNfSU5UICovCistICB1bmlvbiB3YWl0IHdhaXRfc3RhdHVzOworKyAgICB1bmlvbiB3YWl0IHdh aXRfc3RhdHVzOworICNlbmRpZiAgLyogV0FJVF9VU0VTX0lOVCAqLworIAorLSAgcGlkID0gZm9y aygpOworLSAgaWYgKHBpZCA8MCkgCistICAgcmV0dXJuKC0xKTsKKy0KKy0gIGlmIChwaWQgPT0g MCkgeyAgLyogY2hpbGQgcHJvY2VzcyAqLworLQorLQkvKiBJZiBuZWVkIHRvIHJ1biBjaGlsZCBh cyB1c2VyICovCistCWlmIChwdyAhPSBOVUxMKSB7CistCQlpZiAoKHJjID0gZ2xvYnVzX2dhdGVr ZWVwZXJfdXRpbF90cmFuc190b191c2VyKHB3LCB1c2VyLCBlcnJtc2dwKSkgIT0gMCkgeyAKKy0J CQkvKiBjaGlsZCBmYWlsZWQgdG8gdHJhbnNmZXIgdG8gdXNlciBjb250ZXh0ICovCistCQkJZnBy aW50ZihzdGRlcnIsIkZhaWxlZCB0cnlpbmcgdG8gcnVuIGFzIHVzZXIgJXM6ICVzXG4iLAorLQkJ CQl1c2VyLCAqZXJybXNncCk7CistCQkJZXhpdCgxMjYpOworLQkJfQorLQl9CistCQkKKy0gICAg cGF0aCA9IHN0cmR1cChhcmdzWzBdKTsKKy0gICAgY3AgPSBzdHJyY2hyKHBhdGgsICcvJyk7Cist ICAgIGlmIChjcCkKKy0gICAgICBjcCsrOworLSAgICBlbHNlCistICAgICAgY3AgPSBwYXRoOwor LSAKKy0gICAgYXJnc1swXSA9IGNwOworKyAgICBwaWQgPSBmb3JrKCk7CisrICAgIGlmIChwaWQg PDApCisrICAgICAgICByZXR1cm4oLTEpOworKworKyAgICBpZiAocGlkID09IDApIHsgIC8qIGNo aWxkIHByb2Nlc3MgKi8KKysKKysgICAgICAgIC8qIElmIG5lZWQgdG8gcnVuIGNoaWxkIGFzIHVz ZXIgKi8KKysgICAgICAgIGlmIChwdyAhPSBOVUxMKSB7CisrICAgICAgICAgICAgaWYgKChyYyA9 IGdsb2J1c19nYXRla2VlcGVyX3V0aWxfdHJhbnNfdG9fdXNlcihwdywgdXNlciwgZXJybXNncCkp ICE9IDApIHsKKysgICAgICAgICAgICAgICAgLyogY2hpbGQgZmFpbGVkIHRvIHRyYW5zZmVyIHRv IHVzZXIgY29udGV4dCAqLworKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRmFpbGVk IHRyeWluZyB0byBydW4gYXMgdXNlciAlczogJXNcbiIsCisrICAgICAgICAgICAgICAgICAgICAg ICAgdXNlciwgKmVycm1zZ3ApOworKyAgICAgICAgICAgICAgICBleGl0KDEyNik7CisrICAgICAg ICAgICAgfQorKyAgICAgICAgfQorKworKyAgICAgICAgcGF0aCA9IHN0cmR1cChhcmdzWzBdKTsK KysgICAgICAgIGNwID0gc3RycmNocihwYXRoLCAnLycpOworKyAgICAgICAgaWYgKGNwKQorKyAg ICAgICAgICAgIGNwKys7CisrICAgICAgICBlbHNlCisrICAgICAgICAgICAgY3AgPSBwYXRoOwor KworKyAgICAgICAgYXJnc1swXSA9IGNwOworIAorICNpZmRlZiBERUJVRworLQlmcHJpbnRmKHN0 ZGVyciwiRVhFQ0lORyAlcyBhcmdzPSIscGF0aCk7CistCXsKKy0JCWludCBuID0gMDsKKy0JCXdo aWxlIChhcmdzW25dKSB7CistCQkJZnByaW50ZiAoc3RkZXJyLCIgJXMgXG4iLGFyZ3Nbbl0pOwor LQkJCW4rKzsKKy0JCX0KKy0JZnByaW50ZihzdGRlcnIsIlxuIik7CistCX0KKysgICAgICAgIGZw cmludGYoc3RkZXJyLCJFWEVDSU5HICVzIGFyZ3M9IixwYXRoKTsKKysgICAgICAgIHsKKysgICAg ICAgICAgICBpbnQgbiA9IDA7CisrICAgICAgICAgICAgd2hpbGUgKGFyZ3Nbbl0pIHsKKysgICAg ICAgICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCIgJXMgXG4iLGFyZ3Nbbl0pOworKyAgICAgICAg ICAgICAgICBuKys7CisrICAgICAgICAgICAgfQorKyAgICAgICAgZnByaW50ZihzdGRlcnIsIlxu Iik7CisrICAgICAgICB9CisgI2VuZGlmCistICAgIGV4ZWN2KHBhdGgsIGFyZ3MpOworLQlmcHJp bnRmKHN0ZGVyciwiRmFpbGVkIHRvIGV4ZWMgdGhlIGNoaWxkXG4iKTsKKy0gICAgZXhpdCgxMjcp OyAgICAgIC8qIGluIGNhc2UgZXhlY2wgZmFpbHMgKi8KKy0gIH0gCisrICAgICAgICBleGVjdihw YXRoLCBhcmdzKTsKKysgICAgICAgIGZwcmludGYoc3RkZXJyLCJGYWlsZWQgdG8gZXhlYyB0aGUg Y2hpbGRcbiIpOworKyAgICAgICAgZXhpdCgxMjcpOyAgICAgIC8qIGluIGNhc2UgZXhlY2wgZmFp bHMgKi8KKysgICAgfQorIAorLSAgLyogcGFyZW50LCB3YWl0IGZvciBjaGlsZCB0byBmaW5pc2gg Ki8KKysgICAgLyogcGFyZW50LCB3YWl0IGZvciBjaGlsZCB0byBmaW5pc2ggKi8KKyAKKy0gIHdh aXRfc3RhdHVzID0gMDsKKysgICAgd2FpdF9zdGF0dXMgPSAwOworICNpZmRlZiAgSEFWRV9XQUlU UElECistICBlcnIgPSB3YWl0cGlkKChwaWRfdCkgcGlkLCAmd2FpdF9zdGF0dXMsIDApOworKyAg ICBlcnIgPSB3YWl0cGlkKChwaWRfdCkgcGlkLCAmd2FpdF9zdGF0dXMsIDApOworICNlbHNlICAg LyogSEFWRV9XQUlUUElEICovCistICBlcnIgPSB3YWl0NChwaWQsICZ3YWl0X3N0YXR1cywgMCwg KHN0cnVjdCBydXNhZ2UgKikgTlVMTCk7CisrICAgIGVyciA9IHdhaXQ0KHBpZCwgJndhaXRfc3Rh dHVzLCAwLCAoc3RydWN0IHJ1c2FnZSAqKSBOVUxMKTsKKyAjZW5kaWYgIC8qIEhBVkVfV0FJVFBJ RCAqLworIAorLSAgLyogaWYgaXQgd29ya2VkIG9yIGZhaWxlZCwgY29udGludWUgb24uICovCist ICByZXR1cm4od2FpdF9zdGF0dXMpOworKyAgICAvKiBpZiBpdCB3b3JrZWQgb3IgZmFpbGVkLCBj b250aW51ZSBvbi4gKi8KKysgICAgcmV0dXJuKHdhaXRfc3RhdHVzKTsKKyB9CisgCisgLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgorIEZ1bmN0aW9uOiAgIGdsb2J1c19nYXRla2VlcGVyX3V0aWxfdHJh bnNfdG9fdXNlcigpCisgRGVzY3JpcHRpb246CistCVRyYW5zaXRpb24gdGhlIHByb2Nlc3MgZnJv bSByb290IHRvIHRoZSB1c2VyLCAKKy0JZG9pbmcgYWxsIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHNw ZWNpZmljIHN0dWZmLiAKKysgICAgICAgIFRyYW5zaXRpb24gdGhlIHByb2Nlc3MgZnJvbSByb290 IHRvIHRoZSB1c2VyLAorKyAgICAgICAgZG9pbmcgYWxsIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHNw ZWNpZmljIHN0dWZmLgorIAorIFBhcmFtZXRlcnM6CisgUmV0dXJuczoKKy0JIDAgaWYgT0sKKy0J PDAgaWYgZXJybm8gaXMgc2V0OworLQk+MCBpZiBzb21lIG90aGVyIGVycm9yLgorLQkgMSBpZiBu b3Qgcm9vdAorLQlERUUgbmVlZHMgd29yaworKyAgICAgICAgIDAgaWYgT0sKKysgICAgICAgIDww IGlmIGVycm5vIGlzIHNldDsKKysgICAgICAgID4wIGlmIHNvbWUgb3RoZXIgZXJyb3IuCisrICAg ICAgICAgMSBpZiBub3Qgcm9vdAorKyAgICAgICAgREVFIG5lZWRzIHdvcmsKKyAqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKiovCisgCisgaW50CisgZ2xvYnVzX2dhdGVrZWVwZXJfdXRpbF90cmFuc190b191 c2VyKHN0cnVjdCBwYXNzd2QgKiBwdywKKy0JCQkgY2hhciAqIHVzZXJpZCwKKy0JCQkgY2hhciAq KiBlcnJtc2cpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiB1 c2VyaWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiogZXJy bXNnKQorIHsKKyAKKy0JdWlkX3QgbXl1aWQ7CistCistCS8qIG11c3QgYmUgcm9vdCB0byB1c2Ug dGhpcyAqLworLQorLQlpZiAoKG15dWlkID0gZ2V0dWlkKCkpICE9IDApCistCXsKKy0JCWlmICht eXVpZCA9PSBwdy0+cHdfdWlkKQorLQkJCXJldHVybiAwOyAgIC8qIGFscmVhZHkgcnVubmluZyBh cyB0aGUgdXNlciAqLworLQkJZWxzZQorLQkJeworLQkJCSplcnJtc2cgPSBzdHJkdXAoIkNhbiBu b3QgcnVuIGFzIGFub3RoZXIgdXNlciIpOworLQkJCXJldHVybiAxOyAgIC8qIGNhbid0IHJ1biBh cyBhbm90aGVyIHVzZXIgKi8KKy0JCX0KKy0JfQorLQorLQkvKgorLQkgKkRFRSBJZiB3ZSBhcmUg cm9vdCBhbmQgd2FudCB0byBydW4gYXMgcm9vdCwgc2hvdWxkIHdlIGNvbnRpbnVlCistCSAqIGhl cmUgb3IganVzdCBleGl0PyBTb21lIGxvZ2dpbmcgbWlnaHQgYmUgdXNlZnVsbC4gCistCSAqLwor LQlzZXRnaWQocHctPnB3X2dpZCk7CistCWluaXRncm91cHMocHctPnB3X25hbWUsIHB3LT5wd19n aWQpOworLQorLSMJaWYgZGVmaW5lZChfX2hwdXgpCistCXsKKy0JCWlmIChzZXRyZXN1aWQocHct PnB3X3VpZCwgcHctPnB3X3VpZCwgLTEpICE9IDApCistCQl7CistCQkJICplcnJtc2cgPSBzdHJk dXAoImNhbm5vdCBzZXRyZXN1aWQiKTsKKy0JCQkgcmV0dXJuIC0yOworLQkJfQorLQl9CistIwll bGlmIGRlZmluZWQoVEFSR0VUX0FSQ0hfU09MQVJJUykgfHwgXAorLQkJIGRlZmluZWQoVEFSR0VU X0FSQ0hfQlNEKSB8fCBcCistCQkgZGVmaW5lZChUQVJHRVRfQVJDSF9DWUdXSU4pCistCXsKKy0J CWlmIChzZXR1aWQocHctPnB3X3VpZCkgIT0gMCkKKy0JCXsKKy0JCQkqZXJybXNnID0gc3RyZHVw KCJjYW5ub3Qgc2V0dWlkIik7CistCQkJcmV0dXJuIC0zOworLQkJfQorLQl9CistIwllbHNlCist CXsKKy0JCWlmIChzZXRldWlkKDApICE9IDApCistCQl7CistCQkJKmVycm1zZyA9IHN0cmR1cCgi Y2Fubm90IHNldGV1aWQiKTsKKy0JCQlyZXR1cm4gLTQ7CistCQl9CistCQorLQkJaWYgKHNldHJl dWlkKHB3LT5wd191aWQsIHB3LT5wd191aWQpICE9IDApCistCQl7CistCQkJKmVycm1zZyA9IHN0 cmR1cCgiY2Fubm90IHNldHJldWlkIik7CistCQkJcmV0dXJuIC01OworLQkJfQorLQl9CistIwll bmRpZgorLQorLQlyZXR1cm4gMDsKKysgICAgdWlkX3QgbXl1aWQ7CisrCisrICAgIC8qIG11c3Qg YmUgcm9vdCB0byB1c2UgdGhpcyAqLworKworKyAgICBpZiAoKG15dWlkID0gZ2V0dWlkKCkpICE9 IDApCisrICAgIHsKKysgICAgICAgIGlmIChteXVpZCA9PSBwdy0+cHdfdWlkKQorKyAgICAgICAg ICAgIHJldHVybiAwOyAgIC8qIGFscmVhZHkgcnVubmluZyBhcyB0aGUgdXNlciAqLworKyAgICAg ICAgZWxzZQorKyAgICAgICAgeworKyAgICAgICAgICAgICplcnJtc2cgPSBzdHJkdXAoIkNhbiBu b3QgcnVuIGFzIGFub3RoZXIgdXNlciIpOworKyAgICAgICAgICAgIHJldHVybiAxOyAgIC8qIGNh bid0IHJ1biBhcyBhbm90aGVyIHVzZXIgKi8KKysgICAgICAgIH0KKysgICAgfQorKworKyAgICAv KgorKyAgICAgKkRFRSBJZiB3ZSBhcmUgcm9vdCBhbmQgd2FudCB0byBydW4gYXMgcm9vdCwgc2hv dWxkIHdlIGNvbnRpbnVlCisrICAgICAqIGhlcmUgb3IganVzdCBleGl0PyBTb21lIGxvZ2dpbmcg bWlnaHQgYmUgdXNlZnVsbC4KKysgICAgICovCisrICAgIHNldGdpZChwdy0+cHdfZ2lkKTsKKysg ICAgaW5pdGdyb3Vwcyhwdy0+cHdfbmFtZSwgcHctPnB3X2dpZCk7CisrCisrIyAgIGlmIGRlZmlu ZWQoX19ocHV4KQorKyAgICB7CisrICAgICAgICBpZiAoc2V0cmVzdWlkKHB3LT5wd191aWQsIHB3 LT5wd191aWQsIC0xKSAhPSAwKQorKyAgICAgICAgeworKyAgICAgICAgICAgICAqZXJybXNnID0g c3RyZHVwKCJjYW5ub3Qgc2V0cmVzdWlkIik7CisrICAgICAgICAgICAgIHJldHVybiAtMjsKKysg ICAgICAgIH0KKysgICAgfQorKyMgICBlbGlmIGRlZmluZWQoVEFSR0VUX0FSQ0hfU09MQVJJUykg fHwgXAorKyAgICAgICAgIGRlZmluZWQoVEFSR0VUX0FSQ0hfQlNEKSB8fCBcCisrICAgICAgICAg ZGVmaW5lZChUQVJHRVRfQVJDSF9DWUdXSU4pCisrICAgIHsKKysgICAgICAgIGlmIChzZXR1aWQo cHctPnB3X3VpZCkgIT0gMCkKKysgICAgICAgIHsKKysgICAgICAgICAgICAqZXJybXNnID0gc3Ry ZHVwKCJjYW5ub3Qgc2V0dWlkIik7CisrICAgICAgICAgICAgcmV0dXJuIC0zOworKyAgICAgICAg fQorKyAgICB9CisrIyAgIGVsc2UKKysgICAgeworKyAgICAgICAgaWYgKHNldGV1aWQoMCkgIT0g MCkKKysgICAgICAgIHsKKysgICAgICAgICAgICAqZXJybXNnID0gc3RyZHVwKCJjYW5ub3Qgc2V0 ZXVpZCIpOworKyAgICAgICAgICAgIHJldHVybiAtNDsKKysgICAgICAgIH0KKysKKysgICAgICAg IGlmIChzZXRyZXVpZChwdy0+cHdfdWlkLCBwdy0+cHdfdWlkKSAhPSAwKQorKyAgICAgICAgewor KyAgICAgICAgICAgICplcnJtc2cgPSBzdHJkdXAoImNhbm5vdCBzZXRyZXVpZCIpOworKyAgICAg ICAgICAgIHJldHVybiAtNTsKKysgICAgICAgIH0KKysgICAgfQorKyMgICBlbmRpZgorKworKyAg ICByZXR1cm4gMDsKKyB9CistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwMi1GaXgtY29t cGlsZXItYW5kLWRveHlnZW4td2FybmluZ3MucGF0Y2ggYi8wMDAyLUZpeC1jb21waWxlci1hbmQt ZG94eWdlbi13YXJuaW5ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li42ZmZmZGJmCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMi1GaXgtY29tcGlsZXItYW5kLWRveHln ZW4td2FybmluZ3MucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA0ZWUwOGQxM2UyOTYzMzA5 ZTIwNjNkYzQ1ZGVkZDA2NzMzN2QzYjc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog TWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+CitEYXRlOiBXZWQs IDIwIE1heSAyMDI2IDAwOjE1OjM3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBGaXggY29t cGlsZXIgYW5kIGRveHlnZW4gd2FybmluZ3MKKworLS0tCisgZ3JhbS9nYXRla2VlcGVyL3NvdXJj ZS9nbG9idXNfZ2F0ZWtlZXBlcl91dGlscy5jIHwgNSArKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ncmFtL2dhdGVr ZWVwZXIvc291cmNlL2dsb2J1c19nYXRla2VlcGVyX3V0aWxzLmMgYi9ncmFtL2dhdGVrZWVwZXIv c291cmNlL2dsb2J1c19nYXRla2VlcGVyX3V0aWxzLmMKK2luZGV4IDlmMjMzM2E4ZS4uMzQxMDQx ZDQxIDEwMDY0NAorLS0tIGEvZ3JhbS9nYXRla2VlcGVyL3NvdXJjZS9nbG9idXNfZ2F0ZWtlZXBl cl91dGlscy5jCisrKysgYi9ncmFtL2dhdGVrZWVwZXIvc291cmNlL2dsb2J1c19nYXRla2VlcGVy X3V0aWxzLmMKK0BAIC0zMDgsNyArMzA4LDYgQEAgZ2xvYnVzX2dhdGVrZWVwZXJfdXRpbF9leGVj KGNoYXIgKmFyZ3NbXSwKKyB7CisgCisgICAgIGludCBwaWQ7CistICAgIGludCBlcnI7CisgICAg IGludCByYzsKKyAgICAgY2hhciAqcGF0aDsKKyAgICAgY2hhciAqIGNwOworQEAgLTM2NSw5ICsz NjQsOSBAQCBnbG9idXNfZ2F0ZWtlZXBlcl91dGlsX2V4ZWMoY2hhciAqYXJnc1tdLAorIAorICAg ICB3YWl0X3N0YXR1cyA9IDA7CisgI2lmZGVmICBIQVZFX1dBSVRQSUQKKy0gICAgZXJyID0gd2Fp dHBpZCgocGlkX3QpIHBpZCwgJndhaXRfc3RhdHVzLCAwKTsKKysgICAgd2FpdHBpZCgocGlkX3Qp IHBpZCwgJndhaXRfc3RhdHVzLCAwKTsKKyAjZWxzZSAgIC8qIEhBVkVfV0FJVFBJRCAqLworLSAg ICBlcnIgPSB3YWl0NChwaWQsICZ3YWl0X3N0YXR1cywgMCwgKHN0cnVjdCBydXNhZ2UgKikgTlVM TCk7CisrICAgIHdhaXQ0KHBpZCwgJndhaXRfc3RhdHVzLCAwLCAoc3RydWN0IHJ1c2FnZSAqKSBO VUxMKTsKKyAjZW5kaWYgIC8qIEhBVkVfV0FJVFBJRCAqLworIAorICAgICAvKiBpZiBpdCB3b3Jr ZWQgb3IgZmFpbGVkLCBjb250aW51ZSBvbi4gKi8KKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQg YS9nbG9idXMtZ2F0ZWtlZXBlci5zcGVjIGIvZ2xvYnVzLWdhdGVrZWVwZXIuc3BlYwppbmRleCBj YTAxZjFkLi5iZjJjNzc1IDEwMDY0NAotLS0gYS9nbG9idXMtZ2F0ZWtlZXBlci5zcGVjCisrKyBi L2dsb2J1cy1nYXRla2VlcGVyLnNwZWMKQEAgLTMsNyArMyw3IEBACiBOYW1lOgkJZ2xvYnVzLWdh dGVrZWVwZXIKICVnbG9iYWwgX25hbWUgJSh0ciAtIF8gPDw8ICV7bmFtZX0pCiBWZXJzaW9uOgkx MS40Ci1SZWxlYXNlOgkxMSV7P2Rpc3R9CitSZWxlYXNlOgkxMiV7P2Rpc3R9CiBTdW1tYXJ5OglH cmlkIENvbW11bml0eSBUb29sa2l0IC0gR2xvYnVzIEdhdGVrZWVwZXIKIAogTGljZW5zZToJQXBh Y2hlLTIuMApAQCAtMTIsNiArMTIsOCBAQCBTb3VyY2U6CQlodHRwczovL3JlcG8uZ3JpZGNmLm9y Zy9nY3Q2L3NvdXJjZXMvJXtfbmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTE6CSV7bmFt ZX0uc2VydmljZQogU291cmNlMzoJJXtuYW1lfS5SRUFETUUKIFNvdXJjZTg6CVJFQURNRQorUGF0 Y2gwOgkJMDAwMS1VbnRhYmlmeS1hbmQtcmVtb3ZlLXRyYWlsaW5nLXdoaXRlLXNwYWNlLnBhdGNo CitQYXRjaDE6CQkwMDAyLUZpeC1jb21waWxlci1hbmQtZG94eWdlbi13YXJuaW5ncy5wYXRjaAog CiBCdWlsZFJlcXVpcmVzOgltYWtlCiBCdWlsZFJlcXVpcmVzOglnY2MKQEAgLTM2LDYgKzM4LDgg QEAgR2xvYnVzIEdhdGVrZWVwZXIKIAogJXByZXAKICVzZXR1cCAtcSAtbiAle19uYW1lfS0le3Zl cnNpb259CislcGF0Y2ggLVAwIC1wNAorJXBhdGNoIC1QMSAtcDQKIAogJWJ1aWxkCiAjIFJlZHVj ZSBvdmVybGlua2luZwpAQCAtMTAwLDYgKzEwNCw5IEBAIG1rZGlyIC1wICV7YnVpbGRyb290fSV7 X3N5c2NvbmZkaXJ9L2dyaWQtc2VydmljZXMvYXZhaWxhYmxlCiAlbGljZW5zZSBHTE9CVVNfTElD RU5TRQogCiAlY2hhbmdlbG9nCisqIFN1biBKdW4gMTQgMjAyNiBNYXR0aWFzIEVsbGVydCA8bWF0 dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4gLSAxMS40LTEyCistIEZpeCBjb21waWxlciB3YXJu aW5ncworCiAqIEZyaSBKYW4gMTYgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVs ZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDExLjQtMTEKIC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9m ZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80NF9NYXNzX1JlYnVpbGQKIAo=