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-gass-cache] rawhide: Fix compiler warnings Date: Sun, 14 Jun 2026 08:46:14 GMT Message-ID: <178142677472.1.273696812504106905.rpms-globus-gass-cache-2c0bea6a77e2@fedoraproject.org> List-ID: X-Git-Repo: rpms/globus-gass-cache X-Git-Branch: rawhide X-Git-Rev: 2c0bea6a77e2675864388667628dc1a753ad8d93 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xvYnVzLWdhc3Mt Y2FjaGUKQnJhbmNoIDogcmF3aGlkZQpDb21taXQgOiAyYzBiZWE2YTc3ZTI2NzU4NjQzODg2Njc2 MjhkYzFhNzUzYWQ4ZDkzCkF1dGhvciA6IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBw aHlzaWNzLnV1LnNlPgpEYXRlICAgOiAyMDI2LTA2LTE0VDEwOjM5OjEzKzAyOjAwClN0YXRzICA6 ICsxNjkwLy0xIGluIDMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0 Lm9yZy9ycG1zL2dsb2J1cy1nYXNzLWNhY2hlL2MvMmMwYmVhNmE3N2UyNjc1ODY0Mzg4NjY3NjI4 ZGMxYTc1M2FkOGQ5Mz9icmFuY2g9cmF3aGlkZQoKTG9nOgpGaXggY29tcGlsZXIgd2FybmluZ3MK Ci0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1VbnRhYmlmeS1hbmQtcmVtb3ZlLXRyYWlsaW5nLXdoaXRl LXNwYWNlLnBhdGNoIGIvMDAwMS1VbnRhYmlmeS1hbmQtcmVtb3ZlLXRyYWlsaW5nLXdoaXRlLXNw YWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzNWZmNDYKLS0t IC9kZXYvbnVsbAorKysgYi8wMDAxLVVudGFiaWZ5LWFuZC1yZW1vdmUtdHJhaWxpbmctd2hpdGUt c3BhY2UucGF0Y2gKQEAgLTAsMCArMSwxNjM4IEBACitGcm9tIDNjY2RhYTAyMzYyMzBiYmNiY2Jm MzM5ZTdkZmRmYWYyM2MxMGJkNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0 aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KK0RhdGU6IFdlZCwgMjAg TWF5IDIwMjYgMDA6MTU6MzcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIFVudGFiaWZ5IGFu ZCByZW1vdmUgdHJhaWxpbmcgd2hpdGUtc3BhY2UKKworLS0tCisgZ2Fzcy9jYWNoZS9zb3VyY2Uv Z2xvYnVzX2dhc3NfY2FjaGUuYyB8IDM5MiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIDEg ZmlsZSBjaGFuZ2VkLCAxOTYgaW5zZXJ0aW9ucygrKSwgMTk2IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvZ2Fzcy9jYWNoZS9zb3VyY2UvZ2xvYnVzX2dhc3NfY2FjaGUuYyBiL2dhc3MvY2Fj aGUvc291cmNlL2dsb2J1c19nYXNzX2NhY2hlLmMKK2luZGV4IGY2ODdiNTdkNy4uYTk1N2I3YWVi IDEwMDY0NAorLS0tIGEvZ2Fzcy9jYWNoZS9zb3VyY2UvZ2xvYnVzX2dhc3NfY2FjaGUuYworKysr IGIvZ2Fzcy9jYWNoZS9zb3VyY2UvZ2xvYnVzX2dhc3NfY2FjaGUuYworQEAgLTI2LDcgKzI2LDcg QEAKKyAgKiAgVGhlIEdBU1MgY2FjaGUgbWFuYWdlbWVudCBBUEkgaXMgcGFydCBvZiB0aGUgR2xv YnVzIG1vZHVsZSBjYWxsZWQgIkdBU1MiLAorICAqICAoR2xvYmFsIEFjY2VzcyB0byBTZWNvbmRh cnkgU3RvcmFnZSkKKyAgKiAgVGhlIEdBU1MgY2FjaGUgbWFuYWdlbWVudCBBUEkgZGVmaW5lcyBj YWxscyBmb3IgbWFuaXB1bGF0aW5nIGEgbG9jYWwgZmlsZQorLSAqICBjYWNoZS4gIAorKyAqICBj YWNoZS4KKyAgKgorICAqICBFYWNoIGNhY2hlIGVudHJ5IGNhbiBiZSBsb2NrZWQgZHVyaW5nIGFk ZGl0aW9uIGFuZCBkZWxldGlvbiB0byBhbGxvdyBmb3IKKyAgKiAgYXRvbWljIGhhbmRsaW5nIG9m IHRoZSBjYWNoZSBmaWxlIGNvbnRlbnRzLgorQEAgLTM1LDcgKzM1LDcgQEAKKyAgKiAgaW5kZXBl bmRlbnQgb2YgdGhlIGxvY2FsIGNhY2hlIGZpbGUncyAgbW9kaWZpY2F0aW9uIHRpbWUuIFJhdGhl ciwgdGhlCisgICogIGNhY2hlIGVudHJ5IHRpbWVzdGFtcCBpcyBtYWludGFpbmVkIGJ5IHRoZSB1 c2VyLiAgSXQgY2FuLCBmb3IgZXhhbXBsZSwgYmUKKyAgKiAgdXNlZCB0byBrZWVwIHRyYWNrIG9m IHRoZSB0aW1lc3RhbXAgb2YgYSByZW1vdGUgZmlsZSB0aGF0IGlzIGFzc29jaWF0ZWQKKy0gKiAg d2l0aCB0aGUgY2FjaGUgZW50cnkuIAorKyAqICB3aXRoIHRoZSBjYWNoZSBlbnRyeS4KKyAgKgor ICAqICBOb3RlOiBhbGwgdGltZXN0YW1wcyBhcmUgYXMgc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2gu CisgICogICgwMSBKYW4gMTk3MCwgMDA6MDAgR01UKQorQEAgLTk5LDcgKzk5LDcgQEAKKyAgKiAj ZGVmaW5lIEVRVVNSICAgICAgICAgICA2MCAgICAgIChVc2VyIGZpbGUvaW5vZGUgcXVvdGEgbGlt aXQgcmVhY2hlZCkKKyAgKiAjZGVmaW5lIEVRR1JQICAgICAgICAgICA2MSAgICAgIChHcm91cCBm aWxlL2lub2RlIHF1b3RhIGxpbWl0IHJlYWNoZWQpCisgICogI2RlZmluZSBFUUFDVCAgICAgICAg ICAgNjIgICAgICAoQWNjb3VudCBmaWxlL2lub2RlIHF1b3RhIGxpbWl0IHJlYWNoZWQpCistICog I2RlZmluZSBFT0ZRVU9UQSAgICAgICAgMzYzICAgICAoRmlsZSBvZmZsaW5lLCByZXRyaWV2YWwg d291bGQgCisrICogI2RlZmluZSBFT0ZRVU9UQSAgICAgICAgMzYzICAgICAoRmlsZSBvZmZsaW5l LCByZXRyaWV2YWwgd291bGQKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl eGNlZWQgZGlzayBzcGFjZSBxdW90YSkKKyAgKi8KKyAjaWZkZWYgRURRVU9UCitAQCAtMzA4LDcg KzMwOCw3IEBAIGdsb2J1c19tb2R1bGVfZGVzY3JpcHRvcl90IGdsb2J1c19pX2dhc3NfY2FjaGVf bW9kdWxlID0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCisgLyogdmFyaWFibGVzIG5vdCB1 c2VkIGJ5IHRoZW1zZWx2ZXMsIGJ1dCBwb2ludGVkIGJ5IHRoZSBmaWVsZCAiaW5pdCIgb2YgdGhl CistICAgY2FjaGVfaGFuZGxlIHN0cnVjdHVyZXMsIHRvIGluZGljYXRlIGlmIHRoZSBjYWNoZSBo YXMgYmVlbiBpbml0aWFsaXNlZCAKKysgICBjYWNoZV9oYW5kbGUgc3RydWN0dXJlcywgdG8gaW5k aWNhdGUgaWYgdGhlIGNhY2hlIGhhcyBiZWVuIGluaXRpYWxpc2VkCisgICAgc2ltcGxlIG1ldGhv ZGUgdG8gaGVscCB0aGUgdXNlcjogaXQgaXMgaGlzIHJlc3BvbnNiaWxpdHkgdG8gb3BlbiB0aGUg Y2FjaGUKKyAgICBiZWZvcmUgdXNpbmcgaXQuIEEgbGlzdCBvZiBoYW5kbGVycyBjb3VsZCBiZSB1 c2VkLi4uKi8KKyBzdGF0aWMgY2hhciBnbG9idXNfbF9nYXNzX2NhY2hlX2lzX2luaXQ7CitAQCAt MzE5LDcgKzMxOSw3IEBAIHN0YXRpYyBpbnQgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9mbl9mdWRnZTsK KyAvKiBpdCBpcyBmaW5lIHRvIGRlY2xhcmUgdGhvc2UgbWFjcm8gaGVyZSwgdG9nZXRoZXIgd2l0 aCB0aGUgdmFyLiB0aGV5IHVzZXMgICovCisgI2RlZmluZSBDSEVDS19DQUNIRV9JU19JTklUKF9o YW5kbGVfKSBpZiAoX2hhbmRsZV8tPmluaXQgIT0gJmdsb2J1c19sX2dhc3NfY2FjaGVfaXNfaW5p dCkgcmV0dXJuKEdMT0JVU19HQVNTX0NBQ0hFX0VSUk9SX0NBQ0hFX05PVF9PUEVORUQpCisgI2Rl ZmluZSBDSEVDS19DQUNIRV9JU19OT1RfSU5JVChfaGFuZGxlXykgaWYgKF9oYW5kbGVfLT5pbml0 ID09ICZnbG9idXNfbF9nYXNzX2NhY2hlX2lzX2luaXQpIHJldHVybihHTE9CVVNfR0FTU19DQUNI RV9FUlJPUl9DQUNIRV9BTFJFQURZX09QRU5FRCkKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKysKKyAv KiB0aGlzIGlzIG5vdCBpbiB0aGUgZ2xvYnVzX2dhc3NfY2FjaGUgc3BlY3MsIGJ1dCB3ZSBjYW4g c2VlIGlmIHdlIHdhbnQgdG8KKyAgICBhZGQgaXQuIEl0IGlzIGEgbGlzdCBvZiBlcnJvciBtZXNz YWdlIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBlcnJvciBjb2RlcworICAgIHJldHVybmVkIGJ5IGds b2J1c19nYXNzX2NhY2hlIGZ1bmN0aW9ucy4gVGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBkaXJlY3QK K0BAIC00NzMsMTQgKzQ3MywxNCBAQCB2b2lkIGVycm9yX2JhY2t0cmFjZShGSUxFICpmcCkKKyAg KiBXcml0ZSBpbiB0aGUgZmlsZSBbZmlyc3QgcGFyYW1dIHRoZSBtZXNzYWdlIHBhc3NlZCBhcyBh CisgICogInByaW50Zi1saWtlIiBhcmd1bWVudCBsaXN0LCBwcmVwZW5kZWQgYnkgdGhlIGRhdGUs IHRoZSBob3N0bmFtZSBhbmQKKyAgKiB0aGUgUElEIG9mIHRoZSBjYWxsZXIgcHJvY2Vzcy4KKy0g KiAKKy0gKiBQYXJhbWV0ZXJzOiAKKysgKgorKyAqIFBhcmFtZXRlcnM6CisgICogICAgICBmIC0g ZmlsZSB0byB3cml0ZSBpbi4KKyAgKgorICAqIFJldHVybnM6CisgICogbm9uZSAqLworIHN0YXRp YworLXZvaWQgCisrdm9pZAorIGdsb2J1c19sX2dhc3NfY2FjaGVfbG9nKAorICAgICBGSUxFKiAg ICAgICBmLAorICAgICBjb25zdCBjaGFyKiBzdHIsCitAQCAtNTM5LDE2ICs1MzksMTYgQEAgZ2xv YnVzX2xfZ2Fzc19jYWNoZV9sb2coCisgICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVk IHRoaXMgd2F5OgorICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfdHJhY2UoX19GSUxFX18sX19MSU5F LCIgcHJpbnRmLWxpa2UgZm9ybWF0IHN0cmluZyIsCisgICogYXJncy4uLik7CistICogICAgCisr ICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqICAgICBzb3VyY2VfZmlsZSAtIEZpbGUgbmFtZSBvZiB0 aGUgc291cmNlIGNvZGUKKyAgKiAgICAgbGluZSAgICAgICAgLSBsaW5lIG51bWJlciBpbiB0aGUg c291cmNlIGNvZGUKKyAgKgorICAqUmV0dXJuczoKKy0gKiAgICAgICAgICAgICAgIG5vbmUgCist ICovICAgICAgICAgCisrICogICAgICAgICAgICAgICBub25lCisrICovCisgc3RhdGljCistdm9p ZCAKKyt2b2lkCisgZ2xvYnVzX2xfZ2Fzc19jYWNoZV90cmFjZSgKKyAgICAgY29uc3QgY2hhciog ICAgICAgICAgICAgICAgICBzb3VyY2VfZmlsZSwKKyAgICAgaW50ICAgICAgICAgICAgICAgICAg ICAgICAgICBsaW5lLAorQEAgLTU5NCw4ICs1OTQsOCBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3Ry YWNlKAorICAgICBnZXR0aW1lb2ZkYXkoICYgdHYsIE5VTEwgKTsKKyAKKyAgICAgdmFfc3RhcnQo YXJncyxmb3JtYXQpOworLSAgICAKKy0gICAgZnByaW50ZihmcCwiR0MgJWxkLiUwNmxkOiAlcyAl ZCA6ICIsIAorKworKyAgICBmcHJpbnRmKGZwLCJHQyAlbGQuJTA2bGQ6ICVzICVkIDogIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICB0di50dl9zZWMsIHR2LnR2X3VzZWMsIHNvdXJjZV9maWxl LCBsaW5lKTsKKyAgICAgdmZwcmludGYoZnAsIGZvcm1hdCwgYXJncyk7CisgICAgIHZhX2VuZChh cmdzKTsKK0BAIC02MDMsNyArNjAzLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV90cmFjZSgKKyAg ICAgZnByaW50ZihmcCwiXG4iKTsKKyAKKyAgICAgZmZsdXNoKGZwKTsKKy0gICAgCisrCisgfQor IC8qIGdsb2J1c19sX2dhc3NfY2FjaGVfdHJhY2UoKSAqLworICNlbmRpZgorQEAgLTYxNiw3ICs2 MTYsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3RyYWNlKAorICAqIFR3byB0ZXN0cyBhcmUgcGVy Zm9ybWVkOgorICAqICAgKGEpIGxpbmsgaW5zaWRlIGEgbG9jYWwgZGlyZWN0b3J5CisgICogICAo YikgbGluayBhY3Jvc3MgYSBkaXJlY3RvcnkgYm91bmRhcnkKKy0gKiAgCisrICoKKyAgKiBQYXJh bWV0ZXJzOgorICAqICAgICAgY2FjaGUgICAgIC0gQ2FjaGUgaGFuZGxlLCBjb250YWluaW5nIGNh Y2hlX2RpcmVjdG9yeV9wYXRoIHdoaWNoCisgICogICAgICAgICAgICAgICAgICBpcyBrbm93biB0 byBleGlzdAorQEAgLTY0NCw3ICs2NDQsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2xpbmt0ZXN0 KGdsb2J1c19pX2dhc3NfY2FjaGVfdCAgKmNhY2hlKQorICAgICAgICAgICAgICAgICAgICAgICAg IGNhY2hlLT5jYWNoZV9kaXJlY3RvcnlfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAo bG9uZykgZ2xvYnVzX2xpYmNfZ2V0cGlkKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgKGxv bmcpIHQuZHVtbXkgKTsKKy0gICAgCisrCisgICAgIHNwcmludGYoZmlsZSwgIiVzL2ZpbGUiLCBk aXIgKTsKKyAgICAgc3ByaW50ZihsaW5rMSwgIiVzL2xpbmsiLCBkaXIgKTsKKyAKK0BAIC02ODIs NyArNjgyLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9saW5rdGVzdChnbG9idXNfaV9nYXNzX2Nh Y2hlX3QgICpjYWNoZSkKKyAgICAgICAgIGdvdG8gY2xlYW51cDsKKyAKKyAgICAgcmMgPSBESVJF Q1RPUllfVFlQRV9OT1JNQUw7CistICAgIAorKworICBjbGVhbnVwOgorICAgICByZW1vdmUobGlu azEpOworICAgICByZW1vdmUobGluazIpOworQEAgLTY5OCw3ICs2OTgsNyBAQCBnbG9idXNfbF9n YXNzX2NhY2hlX2xpbmt0ZXN0KGdsb2J1c19pX2dhc3NfY2FjaGVfdCAgKmNhY2hlKQorICAqIEJ1 aWxkIGEgY2FjaGUgZmlsZW5hbWUgYnkgY29uY2F0ZW5hdGluZyBhIGZpbGUgbmFtZSBvbnRvIGEK KyAgKiBkaXJlY3RvcnkgbmFtZS4gIElmIG5vIGZpbGUgbmFtZSBpcyBwcm92aWRlZCwgdGhlIGRp cmVjdG9yeSBuYW1lCisgICogYWxvbmUgaXMgY29waWVkIGludG8gdGhlIG91dHB1dCBwYXRoIGJ1 ZmZlci4KKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqICAgICAgZGlyICAgICAgIC0g SW5jb21pbmcgZGlyZWN0b3J5IG5hbWUKKyAgKiAgICAgIHNlcGFyYXRvciAtIEluY29taW5nIGRp cmVjdG9yeSBzZXBhcmF0b3IKK0BAIC03MDcsNyArNzA3LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9saW5rdGVzdChnbG9idXNfaV9nYXNzX2NhY2hlX3QgICpjYWNoZSkKKyAgKiAgICAgIHBhdGhz aXplICAtIGlmIG5vbi1udWxsLCBwb2ludHMgdG8gc2l6ZSBvZiBhbHJlYWR5IGFsbG9jYXRlZCBt ZW1vcnkKKyAgKiAgICAgICAgICAgICAgICAgIGZvciBwYXRoLiBXaWxsIHJlYWxsb2MgaWYgbW9y ZSBpcyBuZWNlc3NhcnkuCisgICogICAgICBwYXRoICAgICAgLSBPdXRnb2luZyBmdWxsIGZpbGUg cGF0aAorLSAKKysKKyAgKgorICAqIFJldHVybnM6IFZPSUQKKyAgKgorQEAgLTcyNiwxMyArNzI2 LDEzIEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoY29uc3QgY2hhciAgICpk aXIsCisgICAgIGdsb2J1c19zaXplX3QgICB1bmlxbGVuOworICAgICBnbG9idXNfc2l6ZV90ICAg bGVuOworICAgICBjaGFyICogICAgICAgICAgcDsKKy0gICAgCisrCisgICAgIC8qIENvbXB1dGUg dGhlIGxlbmd0aHMgKi8KKyAgICAgZmlsZWxlbiA9IChmaWxlKSA/IHN0cmxlbiggZmlsZSApIDog MDsKKyAgICAgdW5pcWxlbiA9ICh1bmlxKSA/IHN0cmxlbiggdW5pcSApIDogMDsKKyAKKyAgICAg bGVuID0gZGlybGVuICsgZmlsZWxlbiArIHVuaXFsZW4gKyAyOyAgIC8qIGEgc2VwYXJhdG9yIGFu ZCBcMCAqLworLSAgICAKKysKKyAgICAgLyogQWxsb2NhdGUgdGhlIGJ1ZmZlciAqLworICAgICBp ZiAoICEqcGF0aCB8fCAhcGF0aHNpemUgfHwgKnBhdGhzaXplIDwgbGVuICkKKyAgICAgeworQEAg LTc2NCw3ICs3NjQsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2J1aWxkX2ZpbGVuYW1lKGNvbnN0 IGNoYXIgICAqZGlyLAorICAgICB9CisgCisgICAgICpwID0gJ1wwJzsKKy0gICAgCisrCisgICAg IC8qIEFsbCBkb25lLCBnb29kICovCisgICAgIHJldHVybiBHTE9CVVNfU1VDQ0VTUzsKKyAKK0BA IC03NzIsNyArNzcyLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9maWxlbmFtZShjb25z dCBjaGFyICAgKmRpciwKKyAKKyAvKgorICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfbWFuZ2xlX2h0 bWwoKQorLSAqICAKKysgKgorICAqIFBhcmFtZXRlcnM6CisgICogICAgICBzdHJpbmcgLSBUaGUg c3RyaW5nIHRvIG1hbmdsZQorICAqICAgICAgbWFuZ2xlZCAtIFBvaW50ZXIgdG8gdGhlIGJ1ZmZl ciB0byBtYW5nbGUgaW50byAob3IgTlVMTCkKK0BAIC04ODEsNyArODgxLDcgQEAgZ2xvYnVzX2xf Z2Fzc19jYWNoZV9tYW5nbGVfaHRtbChjb25zdCBjaGFyICAgICAgKnN0cmluZywKKyAKKyAvKgor ICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfbWFuZ2xlX21kNSgpCistICogIAorKyAqCisgICogUGFy YW1ldGVyczoKKyAgKiAgICAgIHN0cmluZyAtIFRoZSBzdHJpbmcgdG8gbWFuZ2xlCisgICogICAg ICBtYW5nbGVkIC0gUG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIG1hbmdsZSBpbnRvIChvciBOVUxM KQorQEAgLTk0Miw3ICs5NDIsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX21hbmdsZV9tZDUoY29u c3QgY2hhciAgICAgICAqc3RyaW5nLAorICAqCisgICogTWFuZ2xlcyB0aGUgZ2l2ZW4gc3RyaW5n ICh0eXBpY2FsbHkgVVJMIG9yIHRhZykgaW50byBhIGNodW5rCisgICogc3VpdGFibGUgZm9yIHVz aW5nIGFzIGEgZmlsZSAvIHBhdGggbmFtZS4KKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgor ICAqICAgICAgY2FjaGUgIC0gR0FTUyBjYWNoZSBoYW5kbGUKKyAgKgorQEAgLTk3NCw3ICs5NzQs NyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX21hbmdsZShjb25zdCBnbG9idXNfZ2Fzc19jYWNoZV90 ICAgICBjYWNoZSwKKyAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbl9ubzsK KyAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIGxlbjsKKyAgICAgY2hhciAgICAgICAg ICAgICAgICAgICAgICAgICpzZXBhcmF0b3I7CistICAgIAorKworICAgICBzZXBhcmF0b3IgPSBk aXJlY3Rvcnlfc2VwYXJhdG9yW2NhY2hlLT5jYWNoZV90eXBlXTsKKyAKKyAgICAgLyogR2V0IHRo ZSBtYW5nbGVkIGxlbmd0aCAqLworQEAgLTEwNDMsNyArMTA0Myw3IEBAIGdsb2J1c19sX2dhc3Nf Y2FjaGVfbWFuZ2xlKGNvbnN0IGdsb2J1c19nYXNzX2NhY2hlX3QgICAgIGNhY2hlLAorICAqCisg ICogQnVpbGQgYSBjYWNoZSBmaWxlbmFtZTsgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZWl0aGVy IHRoZSBnbG9iYWwKKyAgKiBvciBsb2NhbCBmaWxlIG5hbWVzLiAgUGFzcyB0YWc9TlVMTCBmb3Ig Z2xvYmFsLgorLSAqICAKKysgKgorICAqIFBhcmFtZXRlcnM6CisgICoKKyAgKiBSZXR1cm5zOgor QEAgLTExMDgsNyArMTEwOCw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZGlybmFtZSgg Y29uc3QgY2hhciAgICpyb290LAorIAorIC8qCisgICogZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWls ZF91bmlxbmFtZSgpCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgorICAqIFJldHVy bnM6CitAQCAtMTE0Nyw3ICsxMTQ3LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF91bmlx bmFtZSggY2hhciAqKnVuaXEgKQorICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfbmFtZXNfZnJlZSgp CisgICoKKyAgKiBGcmVlIGFsbCBhbGxvY2F0ZWQgbmFtZXMKKy0gKiAgCisrICoKKyAgKiBQYXJh bWV0ZXJzOgorICAqICAgICAgbmFtZXMgLSBQb2ludGVyIHRvIHRoZSAibmFtZXMiIHN0cnVjdHVy ZQorICAqCitAQCAtMTIwNCw3ICsxMjA0LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9uYW1lc19m cmVlKCBjYWNoZV9uYW1lc190ICAgKm5hbWVzICkKKyAgKiBnbG9idXNfbF9nYXNzX2NhY2hlX25h bWVzX2ZpbGxfZ2xvYmFsKCkKKyAgKgorICAqIEZpbGwgdGhlIGdsb2JhbCBwb3J0aW9uIG9mIHRo ZSBuYW1lcyBzdHJ1Y3R1cmUKKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqICAgICAg bmFtZXMgLSBUaGUgbmFtZXMgc3RydWN0dXJlIHRvIGZpbGwKKyAgKgorQEAgLTEyMjcsNyArMTIy Nyw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbmFtZXNfZmlsbF9nbG9iYWwoIGNhY2hlX25hbWVz X3QgKm5hbWVzICkKKyAKKyAgICAgaWYgKCBHTE9CVVNfU1VDQ0VTUyA9PSByYyApCisgICAgIHsK Ky0gICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9kaXJuYW1lKCAKKysgICAg ICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9kaXJuYW1lKAorICAgICAgICAgICAg IG5hbWVzLT5nbG9iYWxfcm9vdCwKKyAgICAgICAgICAgICBuYW1lcy0+c2VwYXJhdG9yLAorICAg ICAgICAgICAgIE5VTEwsCitAQCAtMTI0OSw3ICsxMjQ5LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9uYW1lc19maWxsX2dsb2JhbCggY2FjaGVfbmFtZXNfdCAqbmFtZXMgKQorICAgICB9CisgICAg IGlmICggR0xPQlVTX1NVQ0NFU1MgPT0gcmMgKQorICAgICB7CistICAgICAgICByYyA9IGdsb2J1 c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoIAorKyAgICAgICAgcmMgPSBnbG9idXNfbF9n YXNzX2NhY2hlX2J1aWxkX2ZpbGVuYW1lKAorICAgICAgICAgICAgIG5hbWVzLT5nbG9iYWxfZGly LAorICAgICAgICAgICAgIG5hbWVzLT5zZXBhcmF0b3IsCisgICAgICAgICAgICAgVVJMX0ZJTEUs CitAQCAtMTI3NCw3ICsxMjc0LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9uYW1lc19maWxsX2ds b2JhbCggY2FjaGVfbmFtZXNfdCAqbmFtZXMgKQorICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfbmFt ZXNfZmlsbF9sb2NhbCgpCisgICoKKyAgKiBGaWxsIHRoZSBsb2NhbCBwb3J0aW9uIG9mIHRoZSBu YW1lcyBzdHJ1Y3R1cmUKKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqICAgICAgbmFt ZXMgLSBUaGUgbmFtZXMgc3RydWN0dXJlIHRvIGZpbGwKKyAgKgorQEAgLTEyOTgsNyArMTI5OCw3 IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbmFtZXNfZmlsbF9sb2NhbCggY2FjaGVfbmFtZXNfdCAq bmFtZXMgKQorICAgICAvKiBDcmVhdGUgdGhlIGJhc2UgbG9jYWwgZGlyZWN0b3J5IG5hbWUgKHdl IGRvbid0IG5lZWQgdGhlIFVSTCBmb3IgaXQpICovCisgICAgIGlmICggR0xPQlVTX1NVQ0NFU1Mg PT0gcmMgKQorICAgICB7CistICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRf ZGlybmFtZSggCisrICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZGlybmFt ZSgKKyAgICAgICAgICAgICBuYW1lcy0+bG9jYWxfcm9vdCwKKyAgICAgICAgICAgICBuYW1lcy0+ c2VwYXJhdG9yLAorICAgICAgICAgICAgIG5hbWVzLT5tYW5nbGVkX3RhZywKK0BAIC0xMzE0LDcg KzEzMTQsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX25hbWVzX2ZpbGxfbG9jYWwoIGNhY2hlX25h bWVzX3QgKm5hbWVzICkKKyAgICAgLyogQW5kLCB0aGUgbG9jYWwgdGFnIGZpbGUgKi8KKyAgICAg aWYgKCBHTE9CVVNfU1VDQ0VTUyA9PSByYyApCisgICAgIHsKKy0gICAgICAgIHJjID0gZ2xvYnVz X2xfZ2Fzc19jYWNoZV9idWlsZF9maWxlbmFtZSggCisrICAgICAgICByYyA9IGdsb2J1c19sX2dh c3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoCisgICAgICAgICAgICAgbmFtZXMtPmxvY2FsX2Jhc2Vf ZGlyLAorICAgICAgICAgICAgIG5hbWVzLT5zZXBhcmF0b3IsCisgICAgICAgICAgICAgVEFHX0ZJ TEUsCitAQCAtMTMzMiw3ICsxMzMyLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9uYW1lc19maWxs X2xvY2FsKCBjYWNoZV9uYW1lc190ICpuYW1lcyApCisgICAgIC8qIENyZWF0ZSB0aGUgbG9jYWwg ZGlyZWN0b3J5IG5hbWUuICovCisgICAgIGlmICggR0xPQlVTX1NVQ0NFU1MgPT0gcmMgKQorICAg ICB7CistICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZGlybmFtZSggCisr ICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZGlybmFtZSgKKyAgICAgICAg ICAgICBuYW1lcy0+bG9jYWxfcm9vdCwKKyAgICAgICAgICAgICBuYW1lcy0+c2VwYXJhdG9yLAor ICAgICAgICAgICAgIG5hbWVzLT5tYW5nbGVkX3RhZywKK0BAIC0xMzQ0LDcgKzEzNDQsNyBAQCBn bG9idXNfbF9nYXNzX2NhY2hlX25hbWVzX2ZpbGxfbG9jYWwoIGNhY2hlX25hbWVzX3QgKm5hbWVz ICkKKyAgICAgLyogQnVpbGQgdGhlIGxvY2FsIGRhdGEgZmlsZSBuYW1lOyAqZXZlcnl0aGluZyog dXNlcyBpdCBhbnl3YXkgKi8KKyAgICAgaWYgKCBHTE9CVVNfU1VDQ0VTUyA9PSByYyApCisgICAg IHsKKy0gICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9maWxlbmFtZSggCisr ICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoCisgICAgICAg ICAgICAgbmFtZXMtPmxvY2FsX2RpciwKKyAgICAgICAgICAgICBuYW1lcy0+c2VwYXJhdG9yLAor ICAgICAgICAgICAgIERBVEFfRklMRSwKK0BAIC0xMzU1LDcgKzEzNTUsNyBAQCBnbG9idXNfbF9n YXNzX2NhY2hlX25hbWVzX2ZpbGxfbG9jYWwoIGNhY2hlX25hbWVzX3QgKm5hbWVzICkKKyAgICAg LyogVGhlIGxvY2FsIHRhZyAibGluayIgbmFtZSAqLworICAgICBpZiAoIEdMT0JVU19TVUNDRVNT ID09IHJjICkKKyAgICAgeworLSAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2J1aWxk X2ZpbGVuYW1lKCAKKysgICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9maWxl bmFtZSgKKyAgICAgICAgICAgICBuYW1lcy0+bG9jYWxfZGlyLAorICAgICAgICAgICAgIG5hbWVz LT5zZXBhcmF0b3IsCisgICAgICAgICAgICAgVEFHX0ZJTEUsCitAQCAtMTM4MCw3ICsxMzgwLDcg QEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9uYW1lc19maWxsX2xvY2FsKCBjYWNoZV9uYW1lc190ICpu YW1lcyApCisgICogZ2xvYnVzX2xfZ2Fzc19jYWNoZV9uYW1lc19pbml0KCkKKyAgKgorICAqIElu aXRpYWxpemUgdGhlIGNvbW1vbiBuYW1lcyBzdHJ1Y3R1cmUKKy0gKiAgCisrICoKKyAgKiBQYXJh bWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0xNDM0LDcgKzE0MzQsNyBAQCBnbG9idXNf bF9nYXNzX2NhY2hlX25hbWVzX2luaXQoIGNvbnN0IGdsb2J1c19nYXNzX2NhY2hlX3QgICAgICAg IGNhY2hlLAorICAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX21hbmdsZShjYWNoZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZS0+bWF4X21hbmdsZWRfdGFnLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmFtZXMtPm1hbmdsZWRf dGFnLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5hbWVzLT5t YW5nbGVkX3RhZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCApOworICAgICB9CisgICAgIC8qIGRpcmVjdG9yeSBzZXBhcmF0b3IgY2hhcmFjdGVyIChmb3Ig ZmxhdCB2cy4gaGllcmFyY2hpYWwpICovCitAQCAtMTQ3MCw3ICsxNDcwLDcgQEAgZ2xvYnVzX2xf Z2Fzc19jYWNoZV9uYW1lc19pbml0KCBjb25zdCBnbG9idXNfZ2Fzc19jYWNoZV90ICAgICAgICBj YWNoZSwKKyAgICAgeworICAgICAgICAgYXNzZXJ0KG1hbmdsZV9wcmVmaXhfZW5kICE9IE5VTEwp OworIAorLSAgICAgICAgbmFtZXMtPmxvY2FsX21hbmdsZV9yb290ID0gCisrICAgICAgICBuYW1l cy0+bG9jYWxfbWFuZ2xlX3Jvb3QgPQorICAgICAgICAgICAgICAgICBnbG9idXNfY29tbW9uX2Ny ZWF0ZV9zdHJpbmcoCisgICAgICAgICAgICAgICAgICAgICAiJXMlcyUuKnMiLAorICAgICAgICAg ICAgICAgICAgICAgbmFtZXMtPmxvY2FsX3Jvb3QsCitAQCAtMTU4NSw3ICsxNTg1LDcgQEAgZ2xv YnVzX2xfZ2Fzc19jYWNoZV9uYW1lc19uZXdfbXVybCggY29uc3QgY2hhciAgKm1hbmdsZWRfdXJs LAorICAgICB7CisgICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfbmFtZXNfZmlsbF9s b2NhbCggbmFtZXMgKTsKKyAgICAgfQorLSAgICAKKysKKyAgICAgLyogSWYgd2UndmUgaGFkIGZh aWx1cmVzLCBmcmVlIHVwIGFsbCBhbGxvY2F0ZWQgbWVtb3J5ICovCisgICAgIGlmICggR0xPQlVT X1NVQ0NFU1MgIT0gcmMgKQorICAgICB7CitAQCAtMTYwMyw3ICsxNjAzLDcgQEAgZ2xvYnVzX2xf Z2Fzc19jYWNoZV9uYW1lc19uZXdfbXVybCggY29uc3QgY2hhciAgKm1hbmdsZWRfdXJsLAorICAq CisgICogQnVpbGQgYSBjYWNoZSBmaWxlbmFtZTsgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZWl0 aGVyIHRoZSBnbG9iYWwKKyAgKiBvciBsb2NhbCBmaWxlIG5hbWVzLiAgUGFzcyB0YWc9TlVMTCBm b3IgZ2xvYmFsLgorLSAqICAKKysgKgorICAqIFBhcmFtZXRlcnM6CisgICoKKyAgKiBSZXR1cm5z OgorQEAgLTE2NjksNyArMTY2OSw3IEBAIHN0YXRpYyB2b2lkIFRPRE9ndSggY29uc3QgY2hhciAq ZywgY29uc3QgY2hhciAqdSwgY29uc3QgY2hhciAqbXNnICkKKyAgICAgICAgIENBQ0hFX1RSQUNF NSggIiVkLyVzOiBkYXRhL3VuaXEgJWQvJWQiLAorICAgICAgICAgICAgICAgICAgICAgICBnZXRw aWQoKSwgbXNnLCBkYXRhX2lub2RlLCB1bmlxX2lub2RlICk7CisgICAgIH0KKy0gICAKKysKKyB9 CisgI2Vsc2UKKyAjIGRlZmluZSBUT0RPZ3UoX2dfLF91XyxfbV8pCitAQCAtMTY3Nyw3ICsxNjc3 LDcgQEAgc3RhdGljIHZvaWQgVE9ET2d1KCBjb25zdCBjaGFyICpnLCBjb25zdCBjaGFyICp1LCBj b25zdCBjaGFyICptc2cgKQorIAorIC8qCisgICogZ2xvYnVzX2xfZ2Fzc19jYWNoZV9jcmVhdGUo KQorLSAqICAKKysgKgorICAqIFBhcmFtZXRlcnM6CisgICoKKyAgKiBSZXR1cm5zOgorQEAgLTE3 MDcsNyArMTcwNyw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfY3JlYXRlKCBjb25zdCBjaGFyICAq ZmlsZXBhdGgsCisgICAgICAgICBpZiAoIEVOT0VOVCA9PSBlcnJubyApCisgICAgICAgICB7Cisg ICAgICAgICAgICAgLyogSWYgdGhlIGFwcCBnYXZlIHVzIGEgZGlyZWN0b3J5LCB0cnkgYWdhaW4u Li4gKi8KKy0gICAgICAgICAgICBpZiAoICAoIE5VTEwgIT0gZGlyICkgJiYgCisrICAgICAgICAg ICAgaWYgKCAgKCBOVUxMICE9IGRpciApICYmCisgICAgICAgICAgICAgICAgICAgKCArK21rZGly X3RyeSA8IENSRUFURV9NQVhfVFJJRVMgKSApCisgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICBpbnQgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX21ha2VfZGlydHJlZSgKK0BAIC0xNzg2 LDcgKzE3ODYsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2NyZWF0ZSggY29uc3QgY2hhciAgKmZp bGVwYXRoLAorIAorIC8qCisgICogZ2xvYnVzX2xfZ2Fzc19jYWNoZV9saW5rKCkKKy0gKiAgCisr ICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0xODIxLDE0ICsxODIx LDE0IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbGluayggY29uc3QgY2hhciAqb2xkZmlsZSwKKyAK KyAgICAgICAgICAgICAvKiBSZWRIYXQgNi4yIHNlZW1zIHRvIHJldHVybiBFTk9FTlQgc29tZXRp bWVzIGV2ZW4gdGhvdWdoCisgICAgICAgICAgICAgICogaXQgKmRvZXMqIGV4aXN0ICYgc3RhdCBz YXlzIHNvLiAgU28sIHdlJ2xsIHN0YXQgaXQsIGFuZCwgaWYKKy0gICAgICAgICAgICAgKiBpdCBk b2VzIGV4aXN0LCBzbGVlcCBhIGJpdCAmIHRyeSBhZ2Fpbi4gCisrICAgICAgICAgICAgICogaXQg ZG9lcyBleGlzdCwgc2xlZXAgYSBiaXQgJiB0cnkgYWdhaW4uCisgICAgICAgICAgICAgICovCisg ICAgICAgICAgICAgaWYgKCArK2xpbmtfcmV0cnkgPCBMSU5LQlVHX01BWF9SRVRSWSApCisgICAg ICAgICAgICAgeworICAgICAgICAgICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfc3Rh dCggb2xkZmlsZSwgTlVMTCApOworICAgICAgICAgICAgICAgICBpZiAoIEdMT0JVU19TVUNDRVNT ID09IHJjICkKKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgQ0FDSEVf VFJBQ0UzKCAKKysgICAgICAgICAgICAgICAgICAgIENBQ0hFX1RSQUNFMygKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiTElOSzogbGluayBidWcgZW5jb3VudGVyZWQ7IHRyeSAlZCwgZXJybm8g JWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtfcmV0cnksIGVycm5vICk7CisgICAg ICAgICAgICAgICAgICAgICBnbG9idXNfbGliY191c2xlZXAoIExJTktCVUdfU0xFRVBfVVNFQyAp OworQEAgLTE4NjEsNyArMTg2MSw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbGluayggY29uc3Qg Y2hhciAqb2xkZmlsZSwKKyAKKyAvKgorICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfcmVuYW1lKCkK Ky0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0xODk1 LDcgKzE4OTUsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3JlbmFtZSggY29uc3QgY2hhciAqb2xk ZmlsZSwKKyAKKyAgICAgICAgICAgICAvKiBSZWRIYXQgNi4yIHNlZW1zIHRvIHJldHVybiBFTk9F TlQgc29tZXRpbWVzIGV2ZW4gdGhvdWdoCisgICAgICAgICAgICAgICogaXQgKmRvZXMqIGV4aXN0 ICYgc3RhdCBzYXlzIHNvLiAgU28sIHdlJ2xsIHN0YXQgaXQsIGFuZCwgaWYKKy0gICAgICAgICAg ICAgKiBpdCBkb2VzIGV4aXN0LCBzbGVlcCBhIGJpdCAmIHRyeSBhZ2Fpbi4gCisrICAgICAgICAg ICAgICogaXQgZG9lcyBleGlzdCwgc2xlZXAgYSBiaXQgJiB0cnkgYWdhaW4uCisgICAgICAgICAg ICAgICovCisgICAgICAgICAgICAgaWYgKCArK3JlbmFtZV9yZXRyeSA8IExJTktCVUdfTUFYX1JF VFJZICkKKyAgICAgICAgICAgICB7CitAQCAtMTkzMiw3ICsxOTMyLDcgQEAgZ2xvYnVzX2xfZ2Fz c19jYWNoZV9yZW5hbWUoIGNvbnN0IGNoYXIgKm9sZGZpbGUsCisgCisgLyoKKyAgKiBnbG9idXNf bF9nYXNzX2NhY2hlX3VubGluaygpCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgor ICAqIFJldHVybnM6CitAQCAtMjAxNyw3ICsyMDE3LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9z Y2FuZGlyX2ZyZWUoIHN0cnVjdCBkaXJlbnQgKipsaXN0LAorIAorIC8qCisgICogZ2xvYnVzX2xf Z2Fzc19jYWNoZV9zY2FuZGlyKCkKKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisg ICogUmV0dXJuczoKK0BAIC0yMDQzLDcgKzIwNDMsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3Nj YW5kaXIoIGNvbnN0IGNoYXIgICAgICAgICAqZGlyZWN0b3J5LAorICAgICBpbnQgICAgICAgICAg ICAgICAgIGNvdW50ID0gMDsKKyAgICAgaW50ICAgICAgICAgICAgICAgICByYyA9IEdMT0JVU19T VUNDRVNTOworIAorLSAgICAKKysKKyAgICAgLyogSW5pdGlhbGl6ZSB0aGUgY291bnQgKi8KKyAg ICAgKmxpc3RfY291bnQgPSAwOworIAorQEAgLTIwNTgsNyArMjA1OCw3IEBAIGdsb2J1c19sX2dh c3NfY2FjaGVfc2NhbmRpciggY29uc3QgY2hhciAgICAgICAgICpkaXJlY3RvcnksCisgICAgIGRv CisgICAgIHsKKyAgICAgICAgIGRpcnB0ciA9IG9wZW5kaXIoIGRpcm5hbWUgKTsKKy0gICAgICAg IAorKworICAgICAgICAgLyogT3BlbiB0aGUgZGlyZWN0b3J5IGZvciByZWFkaW5nLi4gKi8KKyAg ICAgICAgIGlmICggIGRpcnB0ciA9PSBOVUxMICkKKyAgICAgICAgIHsKK0BAIC0yMTAzLDcgKzIx MDMsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3NjYW5kaXIoIGNvbnN0IGNoYXIgICAgICAgICAq ZGlyZWN0b3J5LAorICAgICAgICAgICAgICAgICAvKiByZW1vdmUgcHJlZml4IGZyb20gZF9uYW1l ICovCisgICAgICAgICAgICAgICAgIGNoYXIgKnAgPSBkaXJfZW50cnktPmRfbmFtZTsKKyAgICAg ICAgICAgICAgICAgY2hhciAqcSA9IHAgKyBwcmVmaXhfbGVuICsgMTsgLyogKzEgZm9yIHRoZSBz ZXBhcmF0b3IgKi8KKy0gICAgICAgICAgICAgICAgCisrCisgICAgICAgICAgICAgICAgIHdoaWxl ICgqcSkKKyAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgKnArKyA9ICpx Kys7CitAQCAtMjEyMiw3ICsyMTIyLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyKCBj b25zdCBjaGFyICAgICAgICAgKmRpcmVjdG9yeSwKKyAKKyAgICAgICAgICAgICAgICAgLyogR3Jv dyBvdXIgbGlzdC4uLiAqLworICAgICAgICAgICAgICAgICBuZXdsaXN0X3NpemUgKj0gMjsKKy0g ICAgICAgICAgICAgICAgdG1wID0gZ2xvYnVzX3JlYWxsb2MoIAorKyAgICAgICAgICAgICAgICB0 bXAgPSBnbG9idXNfcmVhbGxvYygKKyAgICAgICAgICAgICAgICAgICAgIG5ld2xpc3QsCisgICAg ICAgICAgICAgICAgICAgICBuZXdsaXN0X3NpemUgKiBzaXplb2YoIHN0cnVjdCBkaXJlbnQgKikg KTsKKyAgICAgICAgICAgICAgICAgaWYgKCBOVUxMID09IHRtcCApCitAQCAtMjE2MCw3ICsyMTYw LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyKCBjb25zdCBjaGFyICAgICAgICAgKmRp cmVjdG9yeSwKKyAKKyAvKgorICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfc2V0X3RpbWVzdGFtcCgp CistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgorICAqIFJldHVybnM6CitAQCAtMjIw Miw3ICsyMjAyLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zZXRfdGltZXN0YW1wKCBjb25zdCBj aGFyICAgKmZpbGVwYXRoLAorIAorIC8qCisgICogZ2xvYnVzX2xfZ2Fzc19jYWNoZV9jYWxjX3Rp bWVza2V3KCkKKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoK K0BAIC0yMjYwLDcgKzIyNjAsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2NhbGNfdGltZXNrZXco IGNvbnN0IGNoYXIgICAgICAgICAgICp0bXBfZmlsZSwKKyAKKyAvKgorICAqIGdsb2J1c19sX2dh c3NfY2FjaGVfY2FsY190aW1lc2tldygpCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAg KgorICAqIFJldHVybnM6CitAQCAtMjMyNyw3ICsyMzI3LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9jYWxjX2ZpbGVfYWdlKCBjb25zdCBjaGFyICAgKnRtcF9maWxlLAorIAorIC8qCisgICogZ2xv YnVzX2xfZ2Fzc19jYWNoZV9tYWtlX2RpcnRyZWUoKQorLSAqICAKKysgKgorICAqIFBhcmFtZXRl cnM6CisgICogLSBmaWxlcGF0aCAgICAtLSB0aGUgZGlyZWN0b3J5IHRvIGNyZWF0ZQorICAqIC0g Y2FjaGVfdHlwZSAgLS0gb25lIG9mIERJUkVDVE9SWV9UWVBFX05PUk1BTCBvciBESVJFQ1RPUllf VFlQRV9GTEFUCitAQCAtMjQ4Nyw3ICsyNDg3LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9tYWtl X2RpcnRyZWUoIGNvbnN0IGNoYXIgKmZpbGVwYXRoLCBpbnQgY2FjaGVfdHlwZSApCisgICoKKyAg KiBTZWxlY3Qgb25seSBmaWxlcyB3aGljaCBtYXRjaCBhbnkgZmlsZSBuYW1lLiAgUGFzc2VkIGFz IHRoZSB0aGlyZAorICAqIHBhcmFtZXRlciB0byBzY2FuZGlyKCkKKy0gKiAgCisrICoKKyAgKiBQ YXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0yNTEyLDcgKzI1MTIsNyBAQCBnbG9i dXNfbF9nYXNzX2NhY2hlX3NjYW5kaXJfc2VsZWN0X3VuaXEoY29uc3Qgc3RydWN0IGRpcmVudCAq ZW50cnksCisgICAgICAgICB9CisgICAgICAgICBwICs9IHByZWZpeF9sZW4rMTsgIC8qICsxIGZv ciB0aGUgc2VwYXJhdG9yICovCisgICAgIH0KKy0gICAgCisrCisgICAgIC8qIEFsbCB1bmlxIGZp bGVzIHNob3VsZCBzdGFydCB3aXRoIG91ciAiZGF0YSIgcGF0dGVybiAqLworICAgICByZXR1cm4g KCAhIHN0cm5jbXAoIHAsIHBhdHRlcm4sIGxlbiApICApOworIH0gLyogZ2xvYnVzX2xfZ2Fzc19j YWNoZV9zY2FuZGlyX3NlbGVjdF91bmlxKCkgKi8KK0BAIC0yNTIyLDcgKzI1MjIsNyBAQCBnbG9i dXNfbF9nYXNzX2NhY2hlX3NjYW5kaXJfc2VsZWN0X3VuaXEoY29uc3Qgc3RydWN0IGRpcmVudCAq ZW50cnksCisgICoKKyAgKiBTZWxlY3Qgb25seSBmaWxlcyB3aGljaCBtYXRjaCBhbnkgKmRhdGEq IGZpbGUgbmFtZS4gIFBhc3NlZCBhcyB0aGUKKyAgKiB0aGlyZCBwYXJhbXRlciB0byBzY2FuZGly KCkKKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0y NTQ3LDcgKzI1NDcsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3NjYW5kaXJfc2VsZWN0X2RhdGEo Y29uc3Qgc3RydWN0IGRpcmVudCAqZW50cnksCisgICAgICAgICB9CisgICAgICAgICBwICs9IHBy ZWZpeF9sZW4rMTsgIC8qICsxIGZvciB0aGUgc2VwYXJhdG9yICovCisgICAgIH0KKy0gICAgCisr CisgICAgIC8qIEFsbCB1bmlxIGZpbGVzIHNob3VsZCBzdGFydCB3aXRoIG91ciAiZGF0YSIgcGF0 dGVybiAqLworICAgICByZXR1cm4gKCAhIHN0cm5jbXAoIHAsIHBhdHRlcm4sIGxlbiApICApOwor IH0gLyogZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyX3NlbGVjdF9kYXRhKCkgKi8KK0BAIC0y NTU3LDcgKzI1NTcsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3NjYW5kaXJfc2VsZWN0X2RhdGEo Y29uc3Qgc3RydWN0IGRpcmVudCAqZW50cnksCisgICoKKyAgKiBTZWxlY3Qgb25seSBmaWxlcyB3 aGljaCBtYXRjaCBhbGwgcGF0dGVybnMuICBQYXNzZWQgYXMgdGhlIHRoaXJkCisgICogcGFyYW10 ZXIgdG8gc2NhbmRpcigpCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgorICAqIFJl dHVybnM6CitAQCAtMjYwNCwxMyArMjYwNCwxMyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3JlbW92 ZV9kaXJ0cmVlX2ZsYXQoIGNvbnN0IGNhY2hlX25hbWVzX3QgICAqbmFtZXMsCisgICAgIGludCAg ICAgICAgICAgICAgICAgcmMgPSBHTE9CVVNfU1VDQ0VTUzsKKyAKKyAgICAgLyogY2hlY2sgaWYg c3ViZGlyIGlzIGVtcHR5ICovCistICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGly KCAKKysgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX3NjYW5kaXIoCisgICAgICAgICB0cmVl LAorICAgICAgICAgbmFtZXMtPmNhY2hlX3R5cGUsCisgICAgICAgICAmbGlzdCwKKyAgICAgICAg ICZsaXN0X2NvdW50LAorICAgICAgICAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyX3NlbGVj dF9hbGwgKTsKKy0gICAgCisrCisgICAgIGlmIChyYyAhPSBHTE9CVVNfU1VDQ0VTUykKKyAgICAg eworICAgICAgICAgLyogbm90aGluZyB0byBkbyAqLworQEAgLTI2NTUsMTEgKzI2NTUsMTEgQEAg Z2xvYnVzX2xfZ2Fzc19jYWNoZV9yZW1vdmVfZGlydHJlZV9mbGF0KCBjb25zdCBjYWNoZV9uYW1l c190ICAgKm5hbWVzLAorICAgICAgICAgICAgIFJFVF9FUlJPUiggLTEgKTsKKyAgICAgICAgIH0K KyAgICAgfQorLSAgICAKKysKKyAgICAgaWYgKHJjPT1HTE9CVVNfU1VDQ0VTUykKKyAgICAgewor ICAgICAgICAgY2hhciAqcSwgKnAgPSBzdHJkdXAodHJlZSk7CistICAgICAgICBpZiAoIXApIAor KyAgICAgICAgaWYgKCFwKQorICAgICAgICAgeworICAgICAgICAgICAgIFJFVF9FUlJPUiggLTEg KTsKKyAgICAgICAgIH0KK0BAIC0yNjgzLDcgKzI2ODMsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hl X3JlbW92ZV9kaXJ0cmVlX2ZsYXQoIGNvbnN0IGNhY2hlX25hbWVzX3QgICAqbmFtZXMsCisgCisg LyoKKyAgKiBnbG9idXNfbF9nYXNzX2NhY2hlX3JlbW92ZV9kaXJ0cmVlKCkKKy0gKiAgCisrICoK KyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0yNzA2LDcgKzI3MDYsNyBA QCBnbG9idXNfbF9nYXNzX2NhY2hlX3JlbW92ZV9kaXJ0cmVlKCBjb25zdCBjYWNoZV9uYW1lc190 ICAgKm5hbWVzLAorICAgICB7CisgICAgICAgICByZXR1cm4gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9y ZW1vdmVfZGlydHJlZV9mbGF0KG5hbWVzLCBiYXNlLCB0cmVlKTsKKyAgICAgfQorLSAgICAKKysK KyAgICAgLyogTWFrZSBhIGxvY2FsIGNvcHkgb2YgaHRlIGZ1bGwgcGF0aC4uICovCisgICAgIGZ1 bGxwYXRoID0gc3RyZHVwKCB0cmVlICk7CisgICAgIGlmICggTlVMTCA9PSBmdWxscGF0aCApCitA QCAtMjc3NCw3ICsyNzc0LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9yZW1vdmVfZGlydHJlZSgg Y29uc3QgY2FjaGVfbmFtZXNfdCAgICpuYW1lcywKKyAgKiBnbG9idXNfbF9nYXNzX2NhY2hlX2No ZWNrX2dsb2JhbF9maWxlKCkKKyAgKgorICAqIENoZWNrIGZvciB0aGUgZXhpc3RlbmNlIG9mIGEg Z2xvYmFsIGZpbGUKKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJu czoKK0BAIC0yODA0LDcgKzI4MDQsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2NoZWNrX2dsb2Jh bF9maWxlKCBjb25zdCBjYWNoZV9uYW1lc190ICAgICAgKm5hbWVzLAorICAgICAgICAgKm51bV91 bmlxID0gMDsKKyAgICAgfQorICAgICAvKiBTY2FuIHRoZSBkaXJlY3Rvcnk7IHdlJ3JlIGxvb2tp bmcgYXQgKmFsbCogb2YgdGhlICJkYXRhIiBmaWxlcyAqLworLSAgICByYyA9IGdsb2J1c19sX2dh c3NfY2FjaGVfc2NhbmRpciggCisrICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGly KAorICAgICAgICAgbmFtZXMtPmdsb2JhbF9kaXIsCisgICAgICAgICBuYW1lcy0+Y2FjaGVfdHlw ZSwKKyAgICAgICAgICZkYXRhX2xpc3QsCitAQCAtMjg1OSw3ICsyODU5LDcgQEAgZ2xvYnVzX2xf Z2Fzc19jYWNoZV9jaGVja19nbG9iYWxfZmlsZSggY29uc3QgY2FjaGVfbmFtZXNfdCAgICAgICpu YW1lcywKKyAgKgorICAqIEJ1aWxkIGEgY2FjaGUgZmlsZW5hbWU7IGNhbiBiZSB1c2VkIHRvIGdl bmVyYXRlIGVpdGhlciB0aGUgZ2xvYmFsCisgICogb3IgbG9jYWwgZmlsZSBuYW1lcy4gIFBhc3Mg dGFnPU5VTEwgZm9yIGdsb2JhbC4KKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisg ICogUmV0dXJuczoKK0BAIC0yODg2LDcgKzI4ODYsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2Ny ZWF0ZV91bmlxX2dsb2JhbF9maWxlKCBjb25zdCBjYWNoZV9uYW1lc190ICAgICAgICAqbmFtZXMg KQorICMgICBlbmRpZgorIAorICAgICAvKiBDcmVhdGUgbXkgdW5pcSBmaWxlICovCistICAgIHJj ID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9jcmVhdGUoIAorKyAgICByYyA9IGdsb2J1c19sX2dhc3Nf Y2FjaGVfY3JlYXRlKAorICAgICAgICAgbmFtZXMtPmdsb2JhbF91bmlxX2ZpbGUsIG5hbWVzLT5n bG9iYWxfZGlyLAorICAgICAgICAgR0xPQlVTX0xfR0FTU19DQUNIRV9VTklRRklMRV9NT0RFLAor ICAgICAgICAgTlVMTCwgMCApOworQEAgLTI5MDksNyArMjkwOSw3IEBAIGdsb2J1c19sX2dhc3Nf Y2FjaGVfY3JlYXRlX3VuaXFfZ2xvYmFsX2ZpbGUoIGNvbnN0IGNhY2hlX25hbWVzX3QgICAgICAg ICpuYW1lcyApCisgICAgIHVuaXFfaW5vZGUgPSBzdGF0YnVmLnN0X2lubzsKKyAKKyAgICAgLyog U2NhbiB0aGUgZGlyZWN0b3J5OyB3ZSdyZSBsb29raW5nIGF0ICphbGwqIG9mIHRoZSAidW5pcSIg ZmlsZXMgKi8KKy0gICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX3NjYW5kaXIoIAorKyAgICBy YyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfc2NhbmRpcigKKyAgICAgICAgIG5hbWVzLT5nbG9iYWxf ZGlyLAorICAgICAgICAgbmFtZXMtPmNhY2hlX3R5cGUsCisgICAgICAgICAmdW5pcV9saXN0LAor QEAgLTI5NjksNyArMjk2OSw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfY3JlYXRlX3VuaXFfZ2xv YmFsX2ZpbGUoIGNvbnN0IGNhY2hlX25hbWVzX3QgICAgICAgICpuYW1lcyApCisgICAgIGlmICgg R0xPQlVTX1RSVUUgPT0gbG93ZXJfaW5vZGVfZm91bmQgKQorICAgICB7CisgICAgICAgICBDQUNI RV9UUkFDRTUoICJJTk9ERSAlZCAnJXMnIDwgJWQgJyVzJzsgd2UgbG9zZSIsCistICAgICAgICAg ICAgICAgICAgICAgIFRPRE9pbm9kZSwgVE9ET25hbWUsIHVuaXFfaW5vZGUsIAorKyAgICAgICAg ICAgICAgICAgICAgICBUT0RPaW5vZGUsIFRPRE9uYW1lLCB1bmlxX2lub2RlLAorICAgICAgICAg ICAgICAgICAgICAgICBuYW1lcy0+Z2xvYmFsX3VuaXFfZmlsZSApOworICAgICAgICAgZnJlZSgg KHZvaWQgKikgVE9ET25hbWUgKTsKKyAgICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV91 bmxpbmsoIG5hbWVzLT5nbG9iYWxfdW5pcV9maWxlICk7CitAQCAtMjk5MSw3ICsyOTkxLDcgQEAg Z2xvYnVzX2xfZ2Fzc19jYWNoZV9jcmVhdGVfdW5pcV9nbG9iYWxfZmlsZSggY29uc3QgY2FjaGVf bmFtZXNfdCAgICAgICAgKm5hbWVzICkKKyAgKgorICAqIENyZWF0ZSB0aGUgZ2xvYmFsICJVUkwi IGZpbGUKKyAgKiBOb3RlOiBDdXJyZW50bHkgd2UncmUgbm90IGNoZWNraW5nIHRoZSBVUkwgZm9y IG1hdGNoCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgorICAqIFJldHVybnM6CitA QCAtMzAwNiw3ICszMDA2LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9jcmVhdGVfZ2xvYmFsX3Vy bF9maWxlKCBjYWNoZV9uYW1lc190ICAgICAgICpuYW1lcyApCisgICAgIGNoYXIgICAgICAgICp1 bmlxX2ZpbGVuYW1lID0gTlVMTDsKKyAKKyAgICAgLyogQnVpbGQgInVuaXEiIGZpbGUgbmFtZSAq LworLSAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoIAorKyAgICBy YyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoCisgICAgICAgICBuYW1lcy0+ Z2xvYmFsX2RpciwKKyAgICAgICAgIG5hbWVzLT5zZXBhcmF0b3IsCisgICAgICAgICBVUkxfRklM RSwKK0BAIC0zMDE5LDcgKzMwMTksNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2NyZWF0ZV9nbG9i YWxfdXJsX2ZpbGUoIGNhY2hlX25hbWVzX3QgICAgICAgKm5hbWVzICkKKyAgICAgfQorIAorICAg ICAvKiBXcml0ZSB0aGUgZmlsZSAqLworLSAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfY3Jl YXRlKCAKKysgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2NyZWF0ZSgKKyAgICAgICAgIHVu aXFfZmlsZW5hbWUsIG5hbWVzLT5nbG9iYWxfZGlyLCBHTE9CVVNfTF9HQVNTX0NBQ0hFX1VSTEZJ TEVfTU9ERSwKKyAgICAgICAgIG5hbWVzLT51cmwsIHN0cmxlbiggbmFtZXMtPnVybCApICApOwor ICAgICBpZiAoIEdMT0JVU19TVUNDRVNTICE9IHJjICkKK0BAIC0zMDUyLDcgKzMwNTIsNyBAQCBn bG9idXNfbF9nYXNzX2NhY2hlX2NyZWF0ZV9nbG9iYWxfdXJsX2ZpbGUoIGNhY2hlX25hbWVzX3Qg ICAgICAgKm5hbWVzICkKKyAgKgorICAqIEJ1aWxkIGEgY2FjaGUgZmlsZW5hbWU7IGNhbiBiZSB1 c2VkIHRvIGdlbmVyYXRlIGVpdGhlciB0aGUgZ2xvYmFsCisgICogb3IgbG9jYWwgZmlsZSBuYW1l cy4gIFBhc3MgdGFnPU5VTEwgZm9yIGdsb2JhbC4KKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJz OgorICAqCisgICogUmV0dXJuczoKK0BAIC0zMDczLDcgKzMwNzMsNyBAQCBnbG9idXNfbF9nYXNz X2NhY2hlX2NyZWF0ZV9nbG9iYWxfZmlsZSggY2FjaGVfbmFtZXNfdCAgICpuYW1lcywKKyAgICAg LyogQnVpbGQgZmlsZSBuYW1lICovCisgICAgIGlmICggR0xPQlVTX1NVQ0NFU1MgPT0gcmMgKQor ICAgICB7CistICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUo IAorKyAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2J1aWxkX2ZpbGVuYW1lKAorICAg ICAgICAgICAgIG5hbWVzLT5nbG9iYWxfZGlyLAorICAgICAgICAgICAgIG5hbWVzLT5zZXBhcmF0 b3IsCisgICAgICAgICAgICAgVURBVEFfRklMRSwKK0BAIC0zMDg3LDcgKzMwODcsNyBAQCBnbG9i dXNfbF9nYXNzX2NhY2hlX2NyZWF0ZV9nbG9iYWxfZmlsZSggY2FjaGVfbmFtZXNfdCAgICpuYW1l cywKKyAgICAgfQorIAorICAgICAvKiBTY2FuIHRoZSBkaXJlY3RvcnkgKi8KKy0gICAgcmMgPSBn bG9idXNfbF9nYXNzX2NhY2hlX3NjYW5kaXIoIAorKyAgICByYyA9IGdsb2J1c19sX2dhc3NfY2Fj aGVfc2NhbmRpcigKKyAgICAgICAgIG5hbWVzLT5nbG9iYWxfZGlyLAorICAgICAgICAgbmFtZXMt PmNhY2hlX3R5cGUsCisgICAgICAgICAmdW5pcV9saXN0LAorQEAgLTMxMzUsNyArMzEzNSw3IEBA IGdsb2J1c19sX2dhc3NfY2FjaGVfY3JlYXRlX2dsb2JhbF9maWxlKCBjYWNoZV9uYW1lc190ICAg Km5hbWVzLAorICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfbWFrZV9yZWFkeSgpCisgICoKKyAgKiBN YWtlIHRoZSBnbG9iYWwgZmlsZSAicmVhZHkiLgorLSAqICAKKysgKgorICAqIFBhcmFtZXRlcnM6 CisgICoKKyAgKiBSZXR1cm5zOgorQEAgLTMxNTUsNyArMzE1NSw3IEBAIGdsb2J1c19sX2dhc3Nf Y2FjaGVfbWFrZV9yZWFkeSggY2FjaGVfbmFtZXNfdCAgICpuYW1lcywKKyAgICAgLyogQnVpbGQg dGhlIHVuaXEgZmlsZSBuYW1lICovCisgICAgIGlmICggR0xPQlVTX1NVQ0NFU1MgPT0gcmMgKQor ICAgICB7CistICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUo IAorKyAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2J1aWxkX2ZpbGVuYW1lKAorICAg ICAgICAgICAgIG5hbWVzLT5nbG9iYWxfZGlyLAorICAgICAgICAgICAgIG5hbWVzLT5zZXBhcmF0 b3IsCisgICAgICAgICAgICAgVURBVEFfRklMRSwKK0BAIC0zMjU1LDcgKzMyNTUsNyBAQCBnbG9i dXNfbF9nYXNzX2NhY2hlX21ha2VfcmVhZHkoIGNhY2hlX25hbWVzX3QgICAqbmFtZXMsCisgICoK KyAgKiBCdWlsZCBhIGNhY2hlIGZpbGVuYW1lOyBjYW4gYmUgdXNlZCB0byBnZW5lcmF0ZSBlaXRo ZXIgdGhlIGdsb2JhbAorICAqIG9yIGxvY2FsIGZpbGUgbmFtZXMuICBQYXNzIHRhZz1OVUxMIGZv ciBnbG9iYWwuCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgorICAqIFJldHVybnM6 CitAQCAtMzI3Niw3ICszMjc2LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9tYWtlX3VucmVhZHko IGNhY2hlX25hbWVzX3QgKm5hbWVzICkKKyAgICAgLyogQnVpbGQgdGhlIG5hbWUgb2YgdGhlIHVu aXEgZmlsZS4uLiAqLworICAgICBpZiAoIEdMT0JVU19TVUNDRVNTID09IHJjICkKKyAgICAgewor LSAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2J1aWxkX2ZpbGVuYW1lKCAKKysgICAg ICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9maWxlbmFtZSgKKyAgICAgICAgICAg ICBuYW1lcy0+Z2xvYmFsX2RpciwKKyAgICAgICAgICAgICBuYW1lcy0+c2VwYXJhdG9yLAorICAg ICAgICAgICAgIFVEQVRBX0ZJTEUsCitAQCAtMzMxMiw3ICszMzEyLDcgQEAgZ2xvYnVzX2xfZ2Fz c19jYWNoZV9tYWtlX3VucmVhZHkoIGNhY2hlX25hbWVzX3QgKm5hbWVzICkKKyAgICAgICAgIG5h bWVzLT5zZXBhcmF0b3IsCisgICAgICAgICBMT0NLX0ZJTEUsCisgICAgICAgICBOVUxMLAorLSAg ICAgICAgTlVMTCwgCisrICAgICAgICBOVUxMLAorICAgICAgICAgJm5hbWVzLT5nbG9iYWxkaXJf bG9ja19maWxlICk7CisgICAgIGlmICggR0xPQlVTX1NVQ0NFU1MgIT0gcmMgKQorICAgICB7CitA QCAtMzQyNSw3ICszNDI1LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9tYWtlX3VucmVhZHkoIGNh Y2hlX25hbWVzX3QgKm5hbWVzICkKKyAgKiBnbG9idXNfbF9nYXNzX2NhY2hlX3dhaXRfcmVhZHko KQorICAqCisgICogV2FpdCBmb3IgdGhlIGdsb2JhbCBmaWxlIHRvIGJlY29tZSByZWFkeS4KKy0g KiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0zNDU1LDcg KzM0NTUsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3dhaXRfcmVhZHkoIGNvbnN0IGNhY2hlX25h bWVzX3QgICAgICpuYW1lcywKKyAKKyAgICAgLyogRGVmYXVsdCB0byBjaGVjayByaWdodCBhd2F5 LCB0aGVuIHdlJ2xsIHdhaXQgYmVmb3JlIGZ1cnRoZXIgY2hlY2tzICovCisgICAgIGN1cl90aW1l ID0gY2hlY2t0aW1lID0gKCB0aW1lKE5VTEwpICsgMCApOworLSAgICAKKysKKyAgICAgLyogUnVu IHRpbCB3ZSdyZSBkb25lICovCisgICAgIHdoaWxlKCAxICkKKyAgICAgeworQEAgLTM0NjgsNyAr MzQ2OCw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfd2FpdF9yZWFkeSggY29uc3QgY2FjaGVfbmFt ZXNfdCAgICAgKm5hbWVzLAorICAgICAgICAgfQorICAgICAgICAgZWxzZSBpZiAoIEdMT0JVU19T VUNDRVNTID09IHJjICkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICBkaXJfYWdlID0gZ2xvYnVz X2xfZ2Fzc19jYWNoZV9jYWxjX2ZpbGVfYWdlKCAKKysgICAgICAgICAgICBkaXJfYWdlID0gZ2xv YnVzX2xfZ2Fzc19jYWNoZV9jYWxjX2ZpbGVfYWdlKAorICAgICAgICAgICAgICAgICBOVUxMLCBj dXJfdGltZSwgc3RhdGJ1Zi5zdF9tdGltZSApOworICAgICAgICAgfQorICAgICAgICAgZWxzZQor QEAgLTM1MDQsNyArMzUwNCw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfd2FpdF9yZWFkeSggY29u c3QgY2FjaGVfbmFtZXNfdCAgICAgKm5hbWVzLAorICAgICAgICAgY2hlY2t0aW1lID0gKCB0aW1l KE5VTEwpICsgTk9UUkVBRFlfQ0hFQ0tfU0VDT05EUyApOworIAorICAgICAgICAgLyogU2NhbiB0 aGUgZGlyZWN0b3J5OyB3ZSdyZSBsb29raW5nIGF0ICphbGwqIG9mIHRoZSAidW5pcSIgZmlsZXMg Ki8KKy0gICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyKCAKKysgICAgICAg IHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyKAorICAgICAgICAgICAgIG5hbWVzLT5n bG9iYWxfZGlyLAorICAgICAgICAgICAgIG5hbWVzLT5jYWNoZV90eXBlLAorICAgICAgICAgICAg ICZ1bmlxX2xpc3QsCitAQCAtMzUzNSw3ICszNTM1LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV93 YWl0X3JlYWR5KCBjb25zdCBjYWNoZV9uYW1lc190ICAgICAqbmFtZXMsCisgICAgICAgICBmb3Ig KCB1bmlxX251bSA9IDA7ICB1bmlxX251bSA8IHVuaXFfY291bnQ7IHVuaXFfbnVtKysgKQorICAg ICAgICAgeworICAgICAgICAgICAgIHRpbWVfdCAgICAgIGFnZTsgICAgICAgICAgICAvKiBBZ2Ug KHNlY29uZHMpIG9mIHRoZSBmaWxlICovCistICAgICAgICAgICAgCisrCisgICAgICAgICAgICAg LyogRmlsbCBpbiB0aGUgZmlsZSBuYW1lIGJ1ZmZlciAqLworICAgICAgICAgICAgIHJjID0gZ2xv YnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9maWxlbmFtZSgKKyAgICAgICAgICAgICAgICAgbmFtZXMt Pmdsb2JhbF9kaXIsCitAQCAtMzU0NiwxMiArMzU0NiwxMiBAQCBnbG9idXNfbF9nYXNzX2NhY2hl X3dhaXRfcmVhZHkoIGNvbnN0IGNhY2hlX25hbWVzX3QgICAgICpuYW1lcywKKyAgICAgICAgICAg ICAgICAgJmN1cl9zdGF0cGF0aCApOworIAorICAgICAgICAgICAgIGlmIChyYyAhPSBHTE9CVVNf U1VDQ0VTUykKKy0gICAgICAgICAgICB7IAorKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg ICAgZnJlZSggY3VyX3N0YXRwYXRoICk7CisgICAgICAgICAgICAgICAgIGdsb2J1c19sX2dhc3Nf Y2FjaGVfc2NhbmRpcl9mcmVlKCB1bmlxX2xpc3QsIHVuaXFfY291bnQgKTsKKyAgICAgICAgICAg ICAgICAgUkVUX0VSUk9SKCByYyApOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAKKysK KyAgICAgICAgICAgICAvKiBOb3csIGdvIHN0YXQoKSB0aGUgZmlsZSBhbmQgbGVhcm4gYWxsIGFi b3V0IGl0ICovCisgICAgICAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX3N0YXQoIGN1 cl9zdGF0cGF0aCwgJnN0YXRidWYpOworIAorQEAgLTM1ODYsNyArMzU4Niw3IEBAIGdsb2J1c19s X2dhc3NfY2FjaGVfd2FpdF9yZWFkeSggY29uc3QgY2FjaGVfbmFtZXNfdCAgICAgKm5hbWVzLAor ICAgICAgICAgLyogRG9uZSB3aXRoIHRoZSBsaXN0ISAqLworICAgICAgICAgZ2xvYnVzX2xfZ2Fz c19jYWNoZV9zY2FuZGlyX2ZyZWUoIHVuaXFfbGlzdCwgdW5pcV9jb3VudCApOworICAgICAgICAg aWYgKCBjdXJfc3RhdHBhdGggKQorLSAgICAgICAgeyAKKysgICAgICAgIHsKKyAgICAgICAgICAg ICBmcmVlKCBjdXJfc3RhdHBhdGggKTsKKyAgICAgICAgIH0KKyAKK0BAIC0zNjEzLDcgKzM2MTMs NyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX3dhaXRfcmVhZHkoIGNvbnN0IGNhY2hlX25hbWVzX3Qg ICAgICpuYW1lcywKKyAgKiBnbG9idXNfbF9nYXNzX2NhY2hlX2ZpbmRfdW5pcSgpCisgICoKKyAg KiBGaW5kIGEgdW5pcSBmaWxlCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgorICAq IFJldHVybnM6CitAQCAtMzYzNSw3ICszNjM1LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9maW5k X3VuaXEoIGNvbnN0IGNoYXIgICAgICAgKmRpciwKKyAKKyAgICAgLyogU2NhbiB0aGUgZGlyZWN0 b3J5OyB3ZSdyZSBsb29raW5nIGF0ICphbGwqIG9mIHRoZSAidW5pcSIgZmlsZXMgKi8KKyAgICAg KnVuaXFfY291bnQgPSAwOworLSAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfc2NhbmRpcigg CisrICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyKAorICAgICAgICAgZGlyLAor ICAgICAgICAgY2FjaGVfdHlwZSwKKyAgICAgICAgICZ1bmlxX2xpc3QsCitAQCAtMzY2MSw3ICsz NjYxLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9maW5kX3VuaXEoIGNvbnN0IGNoYXIgICAgICAg KmRpciwKKyAgICAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zY2FuZGlyX2ZyZWUoIHVuaXFfbGlzdCwg KnVuaXFfY291bnQgKTsKKyAKKyAgICAgLyogRG9uZSAqLworLSAgICByZXR1cm4gKCAgKCBOVUxM ID09IHVuaXFfZmlsZSApID8gCisrICAgIHJldHVybiAoICAoIE5VTEwgPT0gdW5pcV9maWxlICkg PworICAgICAgICAgICAgICAgR0xPQlVTX0dBU1NfQ0FDSEVfRVJST1JfTk9fTUVNT1JZIDogR0xP QlVTX1NVQ0NFU1MgKTsKKyAKKyB9IC8qIGdsb2J1c19sX2dhc3NfY2FjaGVfZmluZF91bmlxKCkg Ki8KK0BAIC0zNjc2LDcgKzM2NzYsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2ZpbmRfdW5pcSgg Y29uc3QgY2hhciAgICAgICAqZGlyLAorICAqCisgICogICAgICB0cnlubyA6IEF0dGVtcHQgbnVt YmVyCisgICoKKy0gKiBSZXR1cm5zOiAKKysgKiBSZXR1cm5zOgorICAqCisgICogICAgICMgT2Yg dVNlYyBhY3V0YWwgc2xlcHQKKyAgKi8KK0BAIC0zNzA3LDcgKzM3MDcsNyBAQCBnbG9idXNfbF9n YXNzX2NhY2hlX2xvY2tfZGVsYXkoIGludCB0cnlubyApCisgICogZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9sb2NrX2xvY2FsX2RpcigpCisgICoKKyAgKiBMb2NrIHRoZSBsb2NhbCBkaXJlY3RvcnkKKy0g KiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoKK0BAIC0zNzQxLDcg KzM3NDEsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2xvY2tfbG9jYWxfZGlyKCBjYWNoZV9uYW1l c190ICAgICAgICpuYW1lcywKKyAgICAgd2hpbGUoIDEgKQorICAgICB7CisgICAgICAgICAvKiBM aW5rIHRvIHRoZSBsb2NrIGZpbGUuICBJZiBpdCB3b3Jrcywgd2UncmUgZG9uZSAqLworLSAgICAg ICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2xpbmsoIGV4aXN0aW5nX2ZpbGUsIAorKyAgICAg ICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2xpbmsoIGV4aXN0aW5nX2ZpbGUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXMtPmxvY2FsZGlyX2xvY2tfZmls ZSApOworICAgICAgICAgaWYgKCBHTE9CVVNfU1VDQ0VTUyA9PSByYyApCisgICAgICAgICB7CitA QCAtMzg3Nyw3ICszODc3LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV91bmxvY2tfbG9jYWxfZGly KCBjYWNoZV9uYW1lc190ICAgICAqbmFtZXMsCisgICoKKyAgKiBDcmVhdGUgdGhlIGxvY2FsICJU YWciIGZpbGUKKyAgKiBOb3RlOiBDdXJyZW50bHkgd2UncmUgbm90IGNoZWNraW5nIHRoZSB0YWcg Zm9yIG1hdGNoCistICogIAorKyAqCisgICogUGFyYW1ldGVyczoKKyAgKgorICAqIFJldHVybnM6 CitAQCAtMzg5Miw3ICszODkyLDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9jcmVhdGVfbG9jYWxf dGFnX2ZpbGUoIGNhY2hlX25hbWVzX3QgICAgICAgICpuYW1lcyApCisgICAgIGNoYXIgICAgICAg ICp1bmlxX2ZpbGVuYW1lID0gTlVMTDsKKyAKKyAgICAgLyogQnVpbGQgInVuaXEiIGZpbGUgbmFt ZSAqLworLSAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoIAorKyAg ICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoCisgICAgICAgICBuYW1l cy0+dG1wX3Jvb3QsCisgICAgICAgICBuYW1lcy0+c2VwYXJhdG9yLAorICAgICAgICAgVEFHX0ZJ TEUsCitAQCAtMzkwNSw3ICszOTA1LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9jcmVhdGVfbG9j YWxfdGFnX2ZpbGUoIGNhY2hlX25hbWVzX3QgICAgICAgICpuYW1lcyApCisgICAgIH0KKyAKKyAg ICAgLyogV3JpdGUgdGhlIGZpbGUgKi8KKy0gICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2Ny ZWF0ZSggCisrICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9jcmVhdGUoCisgICAgICAgICB1 bmlxX2ZpbGVuYW1lLCBuYW1lcy0+bG9jYWxfZGlyLCBHTE9CVVNfTF9HQVNTX0NBQ0hFX1RBR0ZJ TEVfTU9ERSwKKyAgICAgICAgIG5hbWVzLT50YWcsIHN0cmxlbiggbmFtZXMtPnRhZyApICApOwor ICAgICBpZiAoIEdMT0JVU19TVUNDRVNTICE9IHJjICkKK0BAIC0zOTQxLDcgKzM5NDEsNyBAQCBn bG9idXNfbF9nYXNzX2NhY2hlX2NyZWF0ZV9sb2NhbF90YWdfZmlsZSggY2FjaGVfbmFtZXNfdCAg ICAgICAgKm5hbWVzICkKKyAgKgorICAqIEJ1aWxkIGEgY2FjaGUgZmlsZW5hbWU7IGNhbiBiZSB1 c2VkIHRvIGdlbmVyYXRlIGVpdGhlciB0aGUgZ2xvYmFsCisgICogb3IgbG9jYWwgZmlsZSBuYW1l cy4gIFBhc3MgdGFnPU5VTEwgZm9yIGdsb2JhbC4KKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJz OgorICAqCisgICogUmV0dXJuczoKK0BAIC00MDAzLDcgKzQwMDMsNyBAQCBnbG9idXNfbF9nYXNz X2NhY2hlX21ha2VfbG9jYWxfZmlsZSggY2FjaGVfbmFtZXNfdCAgICAgICpuYW1lcywKKyAKKyAg ICAgLyogTGluayB0aGUgZ2xvYmFsIGZpbGUgdG8gdGhlIGxvY2FsIGZpbGUuICovCisgICAgIHJj ID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9saW5rKCBnbG9iYWxfZmlsZSwgbmFtZXMtPmxvY2FsX2Rh dGFfZmlsZSApOworLSAgICAKKysKKyAgICAgLyogV2UncmUgZG9uZSB3aXRoIHRoZSBnbG9hbCBm aWxlIGJ1ZmZlciwgc28gZnJlZSBpdCByaWdodCBhd2F5LiAqLworICAgICBmcmVlKCBnbG9iYWxf ZmlsZSApOworIAorQEAgLTQwMjUsNyArNDAyNSw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbWFr ZV9sb2NhbF9maWxlKCBjYWNoZV9uYW1lc190ICAgICAgKm5hbWVzLAorICAgICAgICAgQ0xSX0VS Uk9SOyAgICAgIC8qIFRoaXMgaXMgb2shICovCisgICAgIH0KKyAgICAgZWxzZQorLSAgICB7ICAg CisrICAgIHsKKyAgICAgICAgIC8qIEJhZG5lc3MgMTAwMDAgKi8KKyAgICAgICAgIFJFVF9FUlJP UiggcmMgKTsKKyAgICAgfQorQEAgLTQwNTQsNyArNDA1NCw3IEBAIGdsb2J1c19sX2dhc3NfY2Fj aGVfbWFrZV9sb2NhbF9maWxlKCBjYWNoZV9uYW1lc190ICAgICAgKm5hbWVzLAorICAqCisgICog QnVpbGQgYSBjYWNoZSBmaWxlbmFtZTsgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZWl0aGVyIHRo ZSBnbG9iYWwKKyAgKiBvciBsb2NhbCBmaWxlIG5hbWVzLiAgUGFzcyB0YWc9TlVMTCBmb3IgZ2xv YmFsLgorLSAqICAKKysgKgorICAqIFBhcmFtZXRlcnM6CisgICoKKyAgKiBSZXR1cm5zOgorQEAg LTQwNzksNyArNDA3OSw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfdW5saW5rX2xvY2FsKCBjYWNo ZV9uYW1lc190ICpuYW1lcyApCisgICAgIC8qIEZpbmQgYSB1bmlxIGZpbGUgdG8ga2lsbC4uLiAq LworICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfZmluZF91bmlxKCBuYW1lcy0+bG9jYWxf ZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lcy0+Y2Fj aGVfdHlwZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnVuaXFf ZmlsZSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1bmlxX2Zp bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1bmlxX2NvdW50 ICk7CisgICAgIGlmICggR0xPQlVTX1NVQ0NFU1MgIT0gcmMgKQorICAgICB7CitAQCAtNDEyNCw3 ICs0MTI0LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV91bmxpbmtfbG9jYWwoIGNhY2hlX25hbWVz X3QgKm5hbWVzICkKKyAgICAgaWYgKCAxID09IHVuaXFfY291bnQgKQorICAgICB7CisgICAgICAg ICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfdW5saW5rKCBuYW1lcy0+bG9jYWxfZGF0YV9maWxl ICk7CistICAgICAgICBpZiAoICAoIEdMT0JVU19TVUNDRVNTICE9IHJjICkgJiYgCisrICAgICAg ICBpZiAoICAoIEdMT0JVU19TVUNDRVNTICE9IHJjICkgJiYKKyAgICAgICAgICAgICAgICggR0xP QlVTX0xfRU5PRU5UICE9IHJjICkgKQorICAgICAgICAgeworICAgICAgICAgICAgICh2b2lkKSBn bG9idXNfbF9nYXNzX2NhY2hlX3VubG9ja19sb2NhbF9kaXIoIG5hbWVzLCBOVUxMICk7CitAQCAt NDE0OCw3ICs0MTQ4LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV91bmxpbmtfbG9jYWwoIGNhY2hl X25hbWVzX3QgKm5hbWVzICkKKyAKKyAgICAgICAgIC8qIEtpbGwgdGhlIGxvY2FsIGRhdGEgZmls ZSAqLworICAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX3VubGluayggbmFtZXMtPmxv Y2FsX2RhdGFfZmlsZSApOworLSAgICAgICAgaWYgKCAgKCBHTE9CVVNfU1VDQ0VTUyAhPSByYyAp ICYmIAorKyAgICAgICAgaWYgKCAgKCBHTE9CVVNfU1VDQ0VTUyAhPSByYyApICYmCisgICAgICAg ICAgICAgICAoIEdMT0JVU19MX0VOT0VOVCAhPSByYyApICkKKyAgICAgICAgIHsKKyAgICAgICAg ICAgICBSRVRfRVJST1IoIHJjICk7CitAQCAtNDE1OSw3ICs0MTU5LDcgQEAgZ2xvYnVzX2xfZ2Fz c19jYWNoZV91bmxpbmtfbG9jYWwoIGNhY2hlX25hbWVzX3QgKm5hbWVzICkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXMtPmxvY2FsX3Jvb3Qs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVz LT5sb2NhbF9tYW5nbGVfcm9vdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbmFtZXMtPmxvY2FsX2RpciApOworLSAgICAgICAgCisrCisgICAgICAg ICAvKiA+MCBpcyBvazogcmVtb3ZlX2RpcnRyZWUoKSBpcyBvcG9ydHVuaXN0aWMuLi4gKi8KKyAg ICAgICAgIGlmICggcmMgPCAwICkKKyAgICAgICAgIHsKK0BAIC00MjA3LDcgKzQyMDcsNyBAQCBn bG9idXNfbF9nYXNzX2NhY2hlX3VubGlua19sb2NhbCggY2FjaGVfbmFtZXNfdCAqbmFtZXMgKQor ICAqIGdsb2J1c19sX2dhc3NfY2FjaGVfdW5saW5rX2dsb2JhbCgpCisgICoKKyAgKiBVbmxpbmsg dGhlIGdsb2JhbCBkYXRhICYgVVJMIGZpbGUsIHJlbW92ZSB0aGUgZ2xvYmFsIGRpcmVjdG9yeSBp ZiBlbXB0eS4KKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqICAgICAgbmFtZXMgLSBG aWxlICYgZGlyIG5hbWUKKyAgKgorQEAgLTQyMzAsNyArNDIzMCw3IEBAIGdsb2J1c19sX2dhc3Nf Y2FjaGVfdW5saW5rX2dsb2JhbCggY2FjaGVfbmFtZXNfdCAgICAgICAgICAgICAgICAqbmFtZXMs CisgICAgIGlmICggaXNfbG9ja2VkICkKKyAgICAgeworICAgICAgICAgLyogTWFrZSBzdXJlIHRo YXQgdGhlIHVuaXEgZmlsZSBuYW1lIGlzIHZhbGlkICovCistICAgICAgICByYyA9IGdsb2J1c19s X2dhc3NfY2FjaGVfYnVpbGRfZmlsZW5hbWUoIAorKyAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNz X2NhY2hlX2J1aWxkX2ZpbGVuYW1lKAorICAgICAgICAgICAgIG5hbWVzLT5nbG9iYWxfZGlyLAor ICAgICAgICAgICAgIG5hbWVzLT5zZXBhcmF0b3IsCisgICAgICAgICAgICAgVURBVEFfRklMRSwK K0BAIC00MzE0LDcgKzQzMTQsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2xpc3RfYWxsX3VybHNf ZmxhdCggZ2xvYnVzX2dhc3NfY2FjaGVfdCAgICBjYWNoZV9oYW5kbGUsCisgICAgIGludCAgICAg ICAgICAgICAgICAgdGFibGVfc2l6ZSA9IDE2OworIAorICAgICAvKiBTY2FuIHRoZSBkaXJlY3Rv cnk7IHdlJ3JlIGxvb2tpbmcgYXQgKmFsbCogb2YgdGhlICJ1bmlxIiBmaWxlcyAqLworLSAgICBy YyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfc2NhbmRpciggCisrICAgIHJjID0gZ2xvYnVzX2xfZ2Fz c19jYWNoZV9zY2FuZGlyKAorICAgICAgICAgc2VhcmNoX2RpciwKKyAgICAgICAgIGNhY2hlX2hh bmRsZS0+Y2FjaGVfdHlwZSwKKyAgICAgICAgICZkaXJlbnRfbGlzdCwKK0BAIC00MzQ3LDcgKzQz NDcsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2xpc3RfYWxsX3VybHNfZmxhdCggZ2xvYnVzX2dh c3NfY2FjaGVfdCAgICBjYWNoZV9oYW5kbGUsCisgICAgICAgICBnbG9idXNfbF9nYXNzX2NhY2hl X3NjYW5kaXJfZnJlZSggZGlyZW50X2xpc3QsIGRpcmVudF9jb3VudCApOworICAgICAgICAgUkVU X0VSUk9SKCByYyApOworICAgICB9CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK KysKKyAgICAgLyogV2FsayB0aHJvdWdoIHRoZSBtYXRjaGVzLi4uICovCisgICAgIGZvciAoIGRp cmVudF9udW0gPSAwOyAgZGlyZW50X251bSA8IGRpcmVudF9jb3VudDsgZGlyZW50X251bSsrICkK KyAgICAgeworQEAgLTQzNjAsMTEgKzQzNjAsMTEgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9saXN0 X2FsbF91cmxzX2ZsYXQoIGdsb2J1c19nYXNzX2NhY2hlX3QgICAgY2FjaGVfaGFuZGxlLAorICAg ICAgICAgeworICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorLSAgICAgICAgCisr CisgICAgICAgICAvKiByZW1vdmUgdGhlIHtzZXBhcmF0b3J9ZGF0YS4qIHBhcnQgb2YgdGhlIGZp bGUuCisgICAgICAgICAgICAnbmFtZScgbm93IGhvbGRzIHRoZSBtYW5nbGVkIHVybCEhISAqLwor ICAgICAgICAgaWYgKCBwID4gbmFtZSkKKy0gICAgICAgIHsgCisrICAgICAgICB7CisgICAgICAg ICAgICAgKihwLTEpID0gJ1wwJzsKKyAgICAgICAgIH0KKyAKK0BAIC00MzkwLDcgKzQzOTAsNyBA QCBnbG9idXNfbF9nYXNzX2NhY2hlX2xpc3RfYWxsX3VybHNfZmxhdCggZ2xvYnVzX2dhc3NfY2Fj aGVfdCAgICBjYWNoZV9oYW5kbGUsCisgICAgICAgICAgICAgZWxlbS0+bmV4dCA9IHVybF9saXN0 LT5oZWFkOworIAorICAgICAgICAgICAgIGdsb2J1c19oYXNodGFibGVfaW5zZXJ0KCZ0YWJsZSwg ZWxlbS0+bWFuZ2xlZCwgZWxlbSk7CistICAgICAgICAgICAgCisrCisgICAgICAgICAgICAgdXJs X2xpc3QtPmhlYWQgPSBlbGVtOworICAgICAgICAgICAgIHVybF9saXN0LT5jb3VudCsrOworICAg ICAgICAgfQorQEAgLTQ0MDksNyArNDQwOSw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbGlzdF9h bGxfdXJsc19mbGF0KCBnbG9idXNfZ2Fzc19jYWNoZV90ICAgIGNhY2hlX2hhbmRsZSwKKyAgKgor ICAqIEJ1aWxkIGEgY2FjaGUgZmlsZW5hbWU7IGNhbiBiZSB1c2VkIHRvIGdlbmVyYXRlIGVpdGhl ciB0aGUgZ2xvYmFsCisgICogb3IgbG9jYWwgZmlsZSBuYW1lcy4gIFBhc3MgdGFnPU5VTEwgZm9y IGdsb2JhbC4KKy0gKiAgCisrICoKKyAgKiBQYXJhbWV0ZXJzOgorICAqCisgICogUmV0dXJuczoK K0BAIC00NDQwLDExICs0NDQwLDExIEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbGlzdF9hbGxfdXJs cyggZ2xvYnVzX2dhc3NfY2FjaGVfdCAgIGNhY2hlX2hhbmRsZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hfZGlyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybF9saXN0 KTsKKyAgICAgfQorLSAgICAKKysKKyAgICAgc2VwYXJhdG9yID0gZGlyZWN0b3J5X3NlcGFyYXRv cltjYWNoZV9oYW5kbGUtPmNhY2hlX3R5cGVdOworIAorICAgICAvKiBTY2FuIHRoZSBkaXJlY3Rv cnk7IHdlJ3JlIGxvb2tpbmcgYXQgKmFsbCogb2YgdGhlICJ1bmlxIiBmaWxlcyAqLworLSAgICBy YyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfc2NhbmRpciggCisrICAgIHJjID0gZ2xvYnVzX2xfZ2Fz c19jYWNoZV9zY2FuZGlyKAorICAgICAgICAgc2VhcmNoX2RpciwKKyAgICAgICAgIGNhY2hlX2hh bmRsZS0+Y2FjaGVfdHlwZSwKKyAgICAgICAgICZkaXJlbnRfbGlzdCwKK0BAIC00NDc5LDcgKzQ0 NzksNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2xpc3RfYWxsX3VybHMoIGdsb2J1c19nYXNzX2Nh Y2hlX3QgICBjYWNoZV9oYW5kbGUsCisgICAgICAgICBzdHJjcHkoIG5hbWVfcGF0aCwgc2VhcmNo X2RpciApOworICAgICAgICAgc3RyY2F0KCBuYW1lX3BhdGgsIHNlcGFyYXRvciApOworICAgICAg ICAgc3RyY2F0KCBuYW1lX3BhdGgsIG5hbWUgKTsKKy0gICAgCisrCisgICAgICAgICAvKiBTdGF0 IGl0IHRvIGZpbmQgb3V0IHdoYXQgaXQgaXMuLi4gKi8KKyAgICAgICAgIHJjID0gZ2xvYnVzX2xf Z2Fzc19jYWNoZV9zdGF0KCBuYW1lX3BhdGgsICZzdGF0YnVmICk7CisgCitAQCAtNDUyOSw3ICs0 NTI5LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9saXN0X2FsbF91cmxzKCBnbG9idXNfZ2Fzc19j YWNoZV90ICAgY2FjaGVfaGFuZGxlLAorICAgICAvKiBBZGQgbXlzZWxmIHRvIHRoZSBsaXN0ICov CisgICAgIGlmICggZGF0YV9jb3VudCApCisgICAgIHsKKy0gICAgICAgIHVybF9saXN0X2VsZW1f dCAqbmV3X3VybF9lbGVtID0gCisrICAgICAgICB1cmxfbGlzdF9lbGVtX3QgKm5ld191cmxfZWxl bSA9CisgICAgICAgICAgICAgbWFsbG9jKCBzaXplb2YoIHVybF9saXN0X2VsZW1fdCApICk7Cisg ICAgICAgICBpZiAoIE5VTEwgPT0gbmV3X3VybF9lbGVtICkKKyAgICAgICAgIHsKK0BAIC00NTU0 LDcgKzQ1NTQsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX2xpc3RfYWxsX3VybHMoIGdsb2J1c19n YXNzX2NhY2hlX3QgICBjYWNoZV9oYW5kbGUsCisgICoKKyAgKiBCdWlsZCBhIGNhY2hlIGZpbGVu YW1lOyBjYW4gYmUgdXNlZCB0byBnZW5lcmF0ZSBlaXRoZXIgdGhlIGdsb2JhbAorICAqIG9yIGxv Y2FsIGZpbGUgbmFtZXMuICBQYXNzIHRhZz1OVUxMIGZvciBnbG9iYWwuCistICogIAorKyAqCisg ICogUGFyYW1ldGVyczoKKyAgKgorICAqIFJldHVybnM6CitAQCAtNDYwNSw3ICs0NjA1LDcgQEAg Z2xvYnVzX2xfZ2Fzc19jYWNoZV9kZWxldGUoIGNhY2hlX25hbWVzX3QgICAgICAgICAgICAgICAq bmFtZXMsCisgICAgIC8qIFNldCB0aGUgZmlsZSdzIHRpbWVzdGFtcCAoaWYgdGhlIHdlJ3JlIHBh c3NlZCBvbmUpICovCisgICAgIGVsc2UgaWYgKCAoIEdMT0JVU19TVUNDRVNTID09IHJjICkgJiYg KCBOVUxMICE9IHRpbWVzdGFtcCApICkKKyAgICAgeworLSAgICAgICAgcmMgPSBnbG9idXNfbF9n YXNzX2NhY2hlX3NldF90aW1lc3RhbXAoIAorKyAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2Nh Y2hlX3NldF90aW1lc3RhbXAoCisgICAgICAgICAgICAgbmFtZXMtPmdsb2JhbF9kYXRhX2ZpbGUs ICp0aW1lc3RhbXAgKTsKKyAgICAgICAgIGlmICggR0xPQlVTX1NVQ0NFU1MgIT0gcmMgKQorICAg ICAgICAgeworQEAgLTQ2MjcsNyArNDYyNyw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfZGVsZXRl KCBjYWNoZV9uYW1lc190ICAgICAgICAgICAgICAgKm5hbWVzLAorIC8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKyAKKyAgIFBVQkxJQyBGVU5DVElPTlMKKy0gIAorKworICoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8KKyAKKyAvKioKK0BAIC00NjM1LDcgKzQ2MzUsNyBAQCBnbG9idXNfbF9nYXNzX2NhY2hl X2RlbGV0ZSggY2FjaGVfbmFtZXNfdCAgICAgICAgICAgICAgICpuYW1lcywKKyAgKiBAaW5ncm91 cCBnbG9idXNfZ2Fzc19jYWNoZQorICAqIEBkZXRhaWxzCisgICogT3BlbiB0aGUgY2FjaGUgc3Bl Y2lmaWVkIGJ5IHRoZSBjYWNoZV9kaXJlY3RvcnlfcGF0aCBhcmd1bWVudCwgYW5kIHJldHVybgor LSAqIGEgY2FjaGUgaGFuZGxlIHRoYXQgY2FuIGJlIHVzZWQgaW4gc3Vic2VxdWVudCBjYWNoZSBj YWxscy4gCisrICogYSBjYWNoZSBoYW5kbGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBzdWJzZXF1ZW50 IGNhY2hlIGNhbGxzLgorICAqCisgICogSWYgY2FjaGVfZGlyZWN0b3J5X3BhdGggaXMgTlVMTCwg dGhlbiB1c2UgdGhlIHZhbHVlIGNvbnRhaW5lZCBpbiB0aGUKKyAgKiBHTE9CVVNfR0FTU19DQUNI RV9ERUZBVUxUIGVudmlyb25tZW50IHZhcmlhYmxlIGlmIGl0IGlzIGRlZmluZWQsCitAQCAtNDY1 NSw3ICs0NjU1LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNoZV9kZWxldGUoIGNhY2hlX25hbWVzX3Qg ICAgICAgICAgICAgICAqbmFtZXMsCisgICogICAgIChzZWUgZ2xvYnVzX2dhc3NfZ2FjaGUuaCkg U29tZSBmaWxlcyBhcmUgYWxzbyBvcGVuZWQ6CisgICogICAgIGdsb2J1c19nYXNzX2NhY2hlX2Ns b3NlKCkgbXVzdCBiZSBjYWxsZWQgc3Vic2VxdWVudGx5IHRvIGNsb3NlIHRob3NlCisgICogICAg IGZpbGVzLiAgVGhpcyBwYXJhbWV0ZXIgaXMgbW9kaWZpZWQgYnkgdGhlIGdsb2J1c19nYXNzX2Nh Y2hlX29wZW4oKQorLSAqICAgICAgCisrICoKKyAgKiBAcmV0dmFsIEdMT0JVU19TVUNDRVNTCisg ICogICAgIFN1Y2Nlc3MKKyAgKiBAcmV0dmFsIEdMT0JVU19HQVNTX0NBQ0hFX0VSUk9SX0NBQ0hF X0FMUkVBRFlfT1BFTkVECitAQCAtNDY2NSw3ICs0NjY1LDcgQEAgZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9kZWxldGUoIGNhY2hlX25hbWVzX3QgICAgICAgICAgICAgICAqbmFtZXMsCisgICogQHJldHZh bCBHTE9CVVNfR0FTU19DQUNIRV9FUlJPUl9OT19IT01FCisgICogICAgIENhbid0IGZpbmQgaG9t ZSBkaXJlY3RvcnkgZm9yIGRlZmF1bHQgY2FjaGUgcGF0aAorICAqLworLWludCAKKytpbnQKKyBn bG9idXNfZ2Fzc19jYWNoZV9vcGVuKGNvbnN0IGNoYXIgICAgICAgICAgICAgICAqY2FjaGVfZGly ZWN0b3J5X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICBnbG9idXNfZ2Fzc19jYWNoZV90 ICAgICAgKmNhY2hlX2hhbmRsZXApCisgCitAQCAtNDcwOSwxMiArNDcwOSwxMiBAQCBnbG9idXNf Z2Fzc19jYWNoZV9vcGVuKGNvbnN0IGNoYXIgICAgICAgICAgICAgICAqY2FjaGVfZGlyZWN0b3J5 X3BhdGgsCisgICAgICAgICBnZXR0aW1lb2ZkYXkoICZ0diwgTlVMTCApOworICAgICAgICAgc3Jh bmRvbSggdHYudHZfdXNlYyApOworICAgICB9CistICAgIAorKworICAgICAvKiBsb29rIGZvciB0 aGUgY29ycmVjdCBkaXJlY3RvcnkgcGF0aCAqLworIAorICAgICAvKiBpZiBjYWNoZV9kaXJlY3Rv cnlfcGF0aCBlbXB0eSAoIiIpLCBiZWhhdmUgYXMgaWYgTlVMTCAqLworLSAgICBpZiAoIGNhY2hl X2RpcmVjdG9yeV9wYXRoICE9IE5VTEwpIAorLSAgICB7ICAgCisrICAgIGlmICggY2FjaGVfZGly ZWN0b3J5X3BhdGggIT0gTlVMTCkKKysgICAgeworICAgICAgICAgZl9uYW1lX2xlbmd0aD1zdHJs ZW4oY2FjaGVfZGlyZWN0b3J5X3BhdGgpOworICAgICAgICAgaWYgKCBmX25hbWVfbGVuZ3RoID09 IDAgKQorICAgICAgICAgeworQEAgLTQ3MzcsNyArNDczNyw3IEBAIGdsb2J1c19nYXNzX2NhY2hl X29wZW4oY29uc3QgY2hhciAgICAgICAgICAgICAgICpjYWNoZV9kaXJlY3RvcnlfcGF0aCwKKyAK KyAgICAgICAgIGlmICggTlVMTCA9PSBwdCApCisgICAgICAgICB7CistICAgICAgICAgICAgR0xP QlVTX0xfR0FTU19DQUNIRV9MRzIoICInJXMnIGlzIGVtcHR5IiwgCisrICAgICAgICAgICAgR0xP QlVTX0xfR0FTU19DQUNIRV9MRzIoICInJXMnIGlzIGVtcHR5IiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR0xPQlVTX0xfR0FTU19DQUNIRV9ERUZBVUxUX0RJUl9FTlZf VkFSICk7CisgICAgICAgICAgICAgLyogY2FjaGUgZGlyZWN0b3J5IHN0aWxsIG5vdCBkZWZpbmVk OyB1c2UgdGhlIGRlZmF1bHRzICovCisgICAgICAgICAgICAgLyogICAiJEhPTUUvLmdsb2J1c19n YXNzX2NhY2hlIiAqLworQEAgLTQ3NDcsNyArNDc0Nyw3IEBAIGdsb2J1c19nYXNzX2NhY2hlX29w ZW4oY29uc3QgY2hhciAgICAgICAgICAgICAgICpjYWNoZV9kaXJlY3RvcnlfcGF0aCwKKyAgICAg ICAgICAgICAgICAgaWYgKCBmX25hbWVfbGVuZ3RoID4gMCkKKyAgICAgICAgICAgICAgICAgICAg IHB0ID0gaG9tZWRpcjsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgCisrCisgICAgICAg ICAgICAgaWYgKCBOVUxMID09IHB0ICkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg IC8qICRIT01FIG5vdCBkZWZpbmVkIG9yIG51bGwgISB0aGlzIHNob3VsZCBub3QgaGFwcGVuICov CitAQCAtNDc4NCwxMSArNDc4NCwxMSBAQCBnbG9idXNfZ2Fzc19jYWNoZV9vcGVuKGNvbnN0IGNo YXIgICAgICAgICAgICAgICAqY2FjaGVfZGlyZWN0b3J5X3BhdGgsCisgICAgICAgICAgICAgICAg ICAgICBHTE9CVVNfTF9ET1RfR0xPQlVTX0RJUl9OQU1FICk7CisgICAgICAgICAgICAgc3RyY2F0 KGNhY2hlX2hhbmRsZS0+Y2FjaGVfZGlyZWN0b3J5X3BhdGgsCisgICAgICAgICAgICAgICAgICAg IEdMT0JVU19MX0dBU1NfQ0FDSEVfREVGQVVMVF9ESVJfTkFNRSk7CistICAgICAgICAgICAgY2Fj aGVfaGFuZGxlLT5nbG9iYWxfZGlyX2xlbiA9IAorKyAgICAgICAgICAgIGNhY2hlX2hhbmRsZS0+ Z2xvYmFsX2Rpcl9sZW4gPQorICAgICAgICAgICAgICAgICBzdHJsZW4oIGNhY2hlX2hhbmRsZS0+ Y2FjaGVfZGlyZWN0b3J5X3BhdGggKTsKKyAKKyAgICAgICAgICAgICAvKiBCdWlsZCAmIHZlcmlm eSB0aGUgd2hvbGUgdHJlZSAqLworLSAgICAgICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9tYWtlX2RpcnRyZWUoIAorKyAgICAgICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9t YWtlX2RpcnRyZWUoCisgICAgICAgICAgICAgICAgIGNhY2hlX2hhbmRsZS0+Y2FjaGVfZGlyZWN0 b3J5X3BhdGgsCisgICAgICAgICAgICAgICAgIERJUkVDVE9SWV9UWVBFX05PUk1BTCk7CisgICAg ICAgICAgICAgaWYgKCBHTE9CVVNfTF9FTk9URElSID09IHJjICkKK0BAIC00ODMxLDcgKzQ4MzEs NyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9vcGVuKGNvbnN0IGNoYXIgICAgICAgICAgICAgICAqY2Fj aGVfZGlyZWN0b3J5X3BhdGgsCisgICAgICAgICAgICAgICAgIExPR19FUlJPUigwKTsKKyAgICAg ICAgICAgICAgICAgcmV0dXJuICggR0xPQlVTX0dBU1NfQ0FDSEVfRVJST1JfTkFNRV9UT09fTE9O Ryk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGNhY2hlX2hhbmRsZS0+Y2FjaGVfZGly ZWN0b3J5X3BhdGggPSAKKysgICAgICAgICAgICBjYWNoZV9oYW5kbGUtPmNhY2hlX2RpcmVjdG9y eV9wYXRoID0KKyAgICAgICAgICAgICAgICAgc3RyZHVwKCBjYWNoZV9kaXJlY3RvcnlfcGF0aCAp OworICAgICAgICAgICAgIGlmICggTlVMTCA9PSBjYWNoZV9oYW5kbGUtPmNhY2hlX2RpcmVjdG9y eV9wYXRoICkKKyAgICAgICAgICAgICB7CitAQCAtNDg0NSw3ICs0ODQ1LDcgQEAgZ2xvYnVzX2dh c3NfY2FjaGVfb3Blbihjb25zdCBjaGFyICAgICAgICAgICAgICAgKmNhY2hlX2RpcmVjdG9yeV9w YXRoLAorIAorICAgICAvKiBoZXJlLCAqY2FjaGVfaGFuZGxlLmNhY2hlX2RpcmVjdG9yeV9wYXRo IHNob3VsZCBiZSBkZWZpbmVkICovCisgICAgIC8qIGxldCBzZWUgaWYgaXQgZXhpc3RzLCBhbmQg Y3JlYXRlIGl0IGlmIGl0IGRvZXMgbm90ICovCistICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9tYWtlX2RpcnRyZWUoIAorKyAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfbWFrZV9kaXJ0 cmVlKAorICAgICAgICAgY2FjaGVfaGFuZGxlLT5jYWNoZV9kaXJlY3RvcnlfcGF0aCwKKyAgICAg ICAgIERJUkVDVE9SWV9UWVBFX05PUk1BTCk7CisgICAgIGlmICggR0xPQlVTX0xfRU5PVERJUiA9 PSByYyApCitAQCAtNDk2OCw4ICs0OTY4LDggQEAgZ2xvYnVzX2dhc3NfY2FjaGVfb3Blbihjb25z dCBjaGFyICAgICAgICAgICAgICAgKmNhY2hlX2RpcmVjdG9yeV9wYXRoLAorICAgICAgICAgICAg IGlmICggd3JpdGVfY29uZmlnICYgV1JJVEVfQ09ORklHX1RZUEUgKQorICAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgICAgZnByaW50ZigKKy0gICAgICAgICAgICAgICAgICAgIGZwLCAKKy0g ICAgICAgICAgICAgICAgICAgICIlcz0lc1xuIiwgCisrICAgICAgICAgICAgICAgICAgICBmcCwK KysgICAgICAgICAgICAgICAgICAgICIlcz0lc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgIEdM T0JVU19MX0dBU1NfQ0FDSEVfQ09ORklHX0tFWV9UWVBFLAorICAgICAgICAgICAgICAgICAgICAg ZGlyZWN0b3J5X3R5cGVfdmFsdWVzW2NhY2hlX2hhbmRsZS0+Y2FjaGVfdHlwZV0pOworICAgICAg ICAgICAgIH0KK0BAIC01MDg1LDcgKzUwODUsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9vcGVuKGNv bnN0IGNoYXIgICAgICAgICAgICAgICAqY2FjaGVfZGlyZWN0b3J5X3BhdGgsCisgICAgIGlmICgg R0xPQlVTX1NVQ0NFU1MgPT0gcmMgKQorICAgICB7CisgICAgICAgICBjaGFyICAgICpza2V3X2Zp bGUgPSBOVUxMOworLSAgICAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2J1aWxkX2ZpbGVu YW1lKCAKKysgICAgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9idWlsZF9maWxlbmFtZSgK KyAgICAgICAgICAgICBjYWNoZV9oYW5kbGUtPnRtcF9kaXJlY3RvcnlfcGF0aCwKKyAgICAgICAg ICAgICBzZXBhcmF0b3IsCisgICAgICAgICAgICAgTlVMTCwKK0BAIC01MDk5LDcgKzUwOTksNyBA QCBnbG9idXNfZ2Fzc19jYWNoZV9vcGVuKGNvbnN0IGNoYXIgICAgICAgICAgICAgICAqY2FjaGVf ZGlyZWN0b3J5X3BhdGgsCisgICAgICAgICAgICAgcmV0dXJuIEdMT0JVU19HQVNTX0NBQ0hFX0VS Uk9SX05PX01FTU9SWTsKKyAgICAgICAgIH0KKyAgICAgICAgICh2b2lkKSBnbG9idXNfbF9nYXNz X2NhY2hlX2NhbGNfZmlsZV9hZ2UoIHNrZXdfZmlsZSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUoTlVMTCksIAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZShOVUxMKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUoTlVMTCkgKTsK KyAgICAgICAgIGZyZWUoIHNrZXdfZmlsZSApOworICAgICB9CitAQCAtNTE0MiwyMCArNTE0Miwy MCBAQCBnbG9idXNfZ2Fzc19jYWNoZV9vcGVuKGNvbnN0IGNoYXIgICAgICAgICAgICAgICAqY2Fj aGVfZGlyZWN0b3J5X3BhdGgsCisgICogQGluZ3JvdXAgZ2xvYnVzX2dhc3NfY2FjaGUKKyAgKiBA ZGV0YWlscworICAqIENsb3NlIChOT1QgZGVsZXRlKSBhIHByZXZpb3VzbHkgb3BlbmVkIGNhY2hl OgorLSAqIC0gY2xvc2UgdGhlIG9wZW5lZCBmaWxlcyBhbmQgCisrICogLSBjbG9zZSB0aGUgb3Bl bmVkIGZpbGVzIGFuZAorICAqIC0gZnJlZSB0aGUgbWVtb3J5IGFsbG9jYXRlZCBmb3IgdGhlIGNh Y2hlX2hhbmRsZS4KKyAgKiAtIG1hcmsgdGhlIGhhbmRsZSBhcyAibm90IGluaXRpYWxpemVkIi4K KyAgKgorLSAqIFBhcmFtZXRlcnM6IAorLSAqICAgICBjYWNoZV9oYW5kbGU6IEhhbmRsZSB0byB0 aGUgb3BlbmVkIGNhY2hlIGRpcmVjdG9yeSB0byB1c2UuICAgIAorLSAqICAgICAgICAgIAorKyAq IFBhcmFtZXRlcnM6CisrICogICAgIGNhY2hlX2hhbmRsZTogSGFuZGxlIHRvIHRoZSBvcGVuZWQg Y2FjaGUgZGlyZWN0b3J5IHRvIHVzZS4KKysgKgorICAqICAgICBjYWNoZV9oYW5kbGUtPmlzX2lu aXQgc2V0IHRvICJub3QgaW5pdGlhbGl6ZWQiIGFuZCBhbGwgdGhlCistICogICAgIGZpbGVzIG9w ZW5lZCBidSBnbG9idXNfZ2Fzc19jYWNoZV9vcGVuIGFyZSBjbG9zZWQgLiAKKysgKiAgICAgZmls ZXMgb3BlbmVkIGJ1IGdsb2J1c19nYXNzX2NhY2hlX29wZW4gYXJlIGNsb3NlZCAuCisgICoKKyAg KiBSZXR1cm5zOgorICAqICAgICBHTE9CVVNfU1VDQ0VTUyBvciBlcnJvciBjb2RlOgorICAqICAg ICBHTE9CVVNfR0FTU19DQUNIRV9FUlJPUl9DQUNIRV9OT1RfT1BFTkVECistICogCisrICoKKyAg Ki8KKyBpbnQKKyBnbG9idXNfZ2Fzc19jYWNoZV9jbG9zZSgKK0BAIC01MTgzLDcgKzUxODMsNyBA QCBnbG9idXNfZ2Fzc19jYWNoZV9jbG9zZSgKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBzdHJ1 Y3Qgc3RhdCBzdGF0YnVmOworICAgICAgICAgICAgIGludCAgICAgICAgIHJjOworLSAgICAgICAg ICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9zdGF0KCAKKysgICAgICAgICAgICByYyA9IGds b2J1c19sX2dhc3NfY2FjaGVfc3RhdCgKKyAgICAgICAgICAgICAgICAgY2FjaGVfaGFuZGxlLT5s b2dfZmlsZV9uYW1lLCAmc3RhdGJ1ZiApOworICAgICAgICAgICAgIGlmICggR0xPQlVTX1NVQ0NF U1MgPT0gcmMgKQorICAgICAgICAgICAgIHsKK0BAIC01MjA0LDcgKzUyMDQsNyBAQCBnbG9idXNf Z2Fzc19jYWNoZV9jbG9zZSgKKyAgICAgZnJlZSggY2FjaGVfaGFuZGxlLT50bXBfZGlyZWN0b3J5 X3BhdGggKTsKKyAKKyAgICAgZnJlZSggKmNhY2hlX2hhbmRsZXAgKTsKKy0gICAgCisrCisgICAg IEdMT0JVU19MX0dBU1NfQ0FDSEVfTEcoIkNhY2hlIENsb3NlZCIpOworICAgICByZXR1cm4oR0xP QlVTX1NVQ0NFU1MpOworIH0KK0BAIC01MjMyLDEyICs1MjMyLDEyIEBAIGdsb2J1c19nYXNzX2Nh Y2hlX2Nsb3NlKAorICAqIHJldHVybiBHTE9CVVNfR0FTU19DQUNIRV9BRERfTkVXLgorICAqCisg ICogSWYgdGhlIFVSTCBpcyBub3QgaW4gdGhlIGNhY2hlLCBhbmQgY3JlYXRlPT1HTE9CVVNfRkFM U0UsIHRoZW4gZG8gbm90CistICogYWRkIGl0IHRvIHRoZSBjYWNoZSwgYW5kIHJldHVybiBHTE9C VVNfR0FTU19DQUNIRV9VUkxfTk9UX0ZPVU5ELiAKKysgKiBhZGQgaXQgdG8gdGhlIGNhY2hlLCBh bmQgcmV0dXJuIEdMT0JVU19HQVNTX0NBQ0hFX1VSTF9OT1RfRk9VTkQuCisgICoKKyAgKiBJZiB0 aGlzIGZ1bmN0aW9uIHJldHVybnMgR0xPQlVTX0dBU1NfQ0FDSEVfQUREX0VYSVNUUyBvcgorICAq IEdMT0JVU19HQVNTX0NBQ0hFX0FERF9ORVcsIHRoZW4gZ2xvYnVzX2dhc3NfY2FjaGVfYWRkX2Rv bmUoKSBvcgorICAqIGdsb2J1c19nYXNzX2NhY2hlX2RlbGV0ZSgpIG11c3QgYmUgc3Vic2VxdWVu dGx5CistICogY2FsbGVkIHRvIHVubG9jayB0aGUgY2FjaGUgZW50cnkuIAorKyAqIGNhbGxlZCB0 byB1bmxvY2sgdGhlIGNhY2hlIGVudHJ5LgorICAqCisgICogU3Vic2VxdWVudCBjYWxscyB0byBn bG9idXNfZ2Fzc19jYWNoZV9hZGQoKSBhbmQKKyAgKiBnbG9idXNfZ2Fzc19jYWNoZV9kZWxldGVf c3RhcnQoKSBvbiB0aGUgc2FtZSBjYWNoZSBhbmQgdXJsLCBtYWRlIGVpdGhlcgorQEAgLTUyNTYs NyArNTI1Niw3IEBAIGdsb2J1c19nYXNzX2NhY2hlX2Nsb3NlKAorICAqCisgICogQG5vdGUgdGhl IGxvY2FsX2ZpbGVuYW1lIE1VU1QgYmUgZnJlZSBieSB0aGUgdXNlciBpbiBhCisgICogc3Vic2Vx dWVudCBvcGVyYXRpb24sIHVzaW5nIGZyZWUoKQorLSAqICAKKysgKgorICAqIEBwYXJhbSBjYWNo ZV9oYW5kbGUKKyAgKiAgICAgSGFuZGxlIHRvIHRoZSBvcGVuZWQgY2FjaGUgZGlyZWN0b3J5IHRv IHVzZS4KKyAgKiBAcGFyYW0gdXJsCitAQCAtNTI3NiwxNSArNTI3NiwxNSBAQCBnbG9idXNfZ2Fz c19jYWNoZV9jbG9zZSgKKyAgKiBAcGFyYW0gbG9jYWxfZmlsZW5hbWUKKyAgKiAgICAgUGF0aCB0 aGUgdGhlIGxvY2FsIGZpbGUgY2FjaGluZyB0aGUgZmlsZQorICAqICAgICBzcGVjaWZpZWQgYnkg InVybCIuIE5VTEwgaWYgInVybCIgbm90IHlldCBjYWNoZWQgYW5kCistICogICAgIGNyZWF0aW9u IG5vdCByZXF1ZXN0ZWQgKGNyZWF0ZSBmYWxzZSkuIAorKyAqICAgICBjcmVhdGlvbiBub3QgcmVx dWVzdGVkIChjcmVhdGUgZmFsc2UpLgorICAqCistICogQHJldHVybiAKKysgKiBAcmV0dXJuCisg ICogLSBHTE9CVVNfR0FTU19DQUNIRV9VUkxfTk9UX0ZPVU5ECisgICogLSBHTE9CVVNfR0FTU19D QUNIRV9BRERfTkVXCisgICogLSBHTE9CVVNfR0FTU19DQUNIRV9BRERfRVhJU1RTCisgICogLSBv ciBhbnkgb2YgdGhlIGRlZmluZWQgZ2FzcyBlcnJvciBjb2RlLgorICAqLworLWV4dGVybiAKKytl eHRlcm4KKyBpbnQKKyBnbG9idXNfZ2Fzc19jYWNoZV9hZGQoCisgICAgIGdsb2J1c19nYXNzX2Nh Y2hlX3QgICAgICAgICBjYWNoZV9oYW5kbGUsCitAQCAtNTMwNyw3ICs1MzA3LDcgQEAgZ2xvYnVz X2dhc3NfY2FjaGVfYWRkKAorICAgICAvKiBzaW1wbHkgY2hlY2sgaWYgdGhlIGNhY2hlIGhhcyBi ZWVuIG9wZW5lZCAqLworICAgICBDSEVDS19DQUNIRV9JU19JTklUKGNhY2hlX2hhbmRsZSk7Cisg ICAgIENMUl9FUlJPUjsKKy0gICAgCisrCisgICAgIC8qIFRpbWVzdGFtcCBpcyB1bmtub3duIGZv ciBub3csIG5vIGZpbGVuYW1lLCAuLi4gKi8KKyAgICAgKnRpbWVzdGFtcCA9IEdMT0JVU19HQVNT X0NBQ0hFX1RJTUVTVEFNUF9VTktOT1dOOworICAgICAqbG9jYWxfZmlsZW5hbWUgPSBOVUxMOwor QEAgLTUzMjIsNyArNTMyMiw3IEBAIGdsb2J1c19nYXNzX2NhY2hlX2FkZCgKKyAgICAgICAgIHJl dHVybiByYzsKKyAgICAgfQorIAorLSAgICAvKiBJIHdhbnQgdG8gZG8gZXZlcnkgdGhpbmcgYWdh aW4gYW5kIGFnYWluIHVudGlsIHRoZSBkYXRhIGZpbGUgCisrICAgIC8qIEkgd2FudCB0byBkbyBl dmVyeSB0aGluZyBhZ2FpbiBhbmQgYWdhaW4gdW50aWwgdGhlIGRhdGEgZmlsZQorICAgICAgICBp cyByZWFkeSAqLworICAgICB3aGlsZSAoIDEgKQorICAgICB7CitAQCAtNTM5MSw3ICs1MzkxLDcg QEAgZ2xvYnVzX2dhc3NfY2FjaGVfYWRkKAorICAgICAgICAgICAgIC8qIE9rLiAgV2UndmUgY3Jl YXRlZCB0aGUgZ2xvYmFsICJ1bmlxIiBmaWxlLiAgTm93LCBtYWtlCisgICAgICAgICAgICAgICog dGhlIGxvY2FsLiAgRG9uJ3Qgd2FpdCBmb3IgaXQgdG8gYmVjb21lIHJlYWR5IC0gd2UKKyAgICAg ICAgICAgICAgKiBjcmVhdGVkIGl0ISEgKi8KKy0gICAgICAgICAgICByYyA9IGdsb2J1c19sX2dh c3NfY2FjaGVfbWFrZV9sb2NhbF9maWxlKCAKKysgICAgICAgICAgICByYyA9IGdsb2J1c19sX2dh c3NfY2FjaGVfbWFrZV9sb2NhbF9maWxlKAorICAgICAgICAgICAgICAgICAmbmFtZXMsCisgICAg ICAgICAgICAgICAgIFVEQVRBX0ZJTEUsCisgICAgICAgICAgICAgICAgIG5hbWVzLnVuaXEgKTsK K0BAIC01NDcxLDcgKzU0NzEsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9hZGQoCisgCisgICAgICAg ICAvKiBPazsgaXQncyByZWFkeS4gIE1ha2UgdGhlIGxvY2FsIGZpbGUsIHRoZW4gd2UncmUgZG9u ZSAqLworICAgICAgICAgVE9ET2d1KCBOVUxMLCBOVUxMLCAiQmVmb3JlIE1MRiIgKTsKKy0gICAg ICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9tYWtlX2xvY2FsX2ZpbGUoIAorKyAgICAgICAg cmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX21ha2VfbG9jYWxfZmlsZSgKKyAgICAgICAgICAgICAm bmFtZXMsCisgICAgICAgICAgICAgZ2xvYmFsX25hbWUsCisgICAgICAgICAgICAgZ2xvYmFsX3Vu aXEgKTsKK0BAIC01NTE1LDcgKzU1MTUsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9hZGQoCisgICAg IHJldHVybiByZXR2YWw7CisgfQorIC8qICBnbG9idXNfZ2Fzc19jYWNoZV9hZGQoKSAqLworLSAg ICAKKysKKyAvKioKKyAgKiBAYnJpZWYgQ29tcGxldGUgYWRkaW5nIGEgY2FjaGUgZW50cnkgYW5k IHVubG9jayBpdAorICAqIEBpbmdyb3VwIGdsb2J1c19nYXNzX2NhY2hlCitAQCAtNTUyNSw3ICs1 NTI1LDcgQEAgZ2xvYnVzX2dhc3NfY2FjaGVfYWRkKAorICAqIGNhY2hlIGVudHJ5LiAoVGhlIG9u bHkgY2FzZSBpdCBkb2VzIG5vdCBuZWVkIHRvIGJlIGNhbGxlZCBpcyBpZgorICAqIGdsb2J1c19n YXNzX2NhY2hlX2FkZCgpIGhhcyByZXR1cm5lZCBHTE9CVVNfR0FTU19DQUNIRV9VUkxfTk9UX0ZP VU5ELCBvZgorICAqIGNvdXJzZS4KKy0gKiAKKysgKgorICAqIEBwYXJhbSBjYWNoZV9oYW5kbGUK KyAgKiAgICAgSGFuZGxlIHRvIHRoZSBvcGVuZWQgY2FjaGUgZGlyZWN0b3J5IHRvIHVzZS4KKyAg KiBAcGFyYW0gdXJsCitAQCAtNTU1MCwxMSArNTU1MCwxMSBAQCBnbG9idXNfZ2Fzc19jYWNoZV9h ZGRfZG9uZSgKKyB7CisgICAgIGludCAgICAgICAgIHJjOyAgICAgICAgICAgICAgICAgICAgIC8q IGdlbmVyYWwgcHVycG9zZSByZXR1cm4gY29kZSAqLworICAgICBjYWNoZV9uYW1lc190ICAgICAg IG5hbWVzOworLSAgICAKKysKKyAgICAgLyogc2ltcGx5IGNoZWNrIGlmIHRoZSBjYWNoZSBoYXMg YmVlbiBvcGVuZWQgKi8KKyAgICAgQ0hFQ0tfQ0FDSEVfSVNfSU5JVChjYWNoZV9oYW5kbGUpOwor ICAgICBDTFJfRVJST1I7CistICAgIAorKworICAgICAvKiBHZW5lcmF0ZSB0aGUgbG9jYWwgYW5k IGdsb2JhbCBmaWxlbmFtZXMgKi8KKyAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX25hbWVz X2luaXQoIGNhY2hlX2hhbmRsZSwgdXJsLCB0YWcsICZuYW1lcyApOworICAgICBpZiAoIEdMT0JV U19TVUNDRVNTICE9IHJjICkKK0BAIC01NTc4LDcgKzU1NzgsNyBAQCBnbG9idXNfZ2Fzc19jYWNo ZV9hZGRfZG9uZSgKKyAgICAgeworICMgaWYgKCAhIExPQ0tfQUREX0VYSVNUUyApCisgICAgICAg ICBnbG9idXNfbF9nYXNzX2NhY2hlX25hbWVzX2ZyZWUoICZuYW1lcyApOworLSAgICAgICAgQ0xS X0VSUk9SOyAgICAgIAorKyAgICAgICAgQ0xSX0VSUk9SOworICAgICAgICAgcmV0dXJuIEdMT0JV U19TVUNDRVNTOworICMgZWxzZQorICAgICAgICAgQ0FDSEVfVFJBQ0UzKCAiTG9zdCBteSB1bmlx IGZpbGUgJyVzJyBpbiAnJXMnLCBkYXRhIGV4aXN0cyIsCitAQCAtNTY1NSw3ICs1NjU1LDcgQEAg Z2xvYnVzX2dhc3NfY2FjaGVfcXVlcnkoCisgICAgIC8qIHNpbXBseSBjaGVjayBpZiB0aGUgY2Fj aGUgaGFzIGJlZW4gb3BlbmVkICovCisgICAgIENIRUNLX0NBQ0hFX0lTX0lOSVQoY2FjaGVfaGFu ZGxlKTsKKyAgICAgQ0xSX0VSUk9SOworLSAgICAKKysKKyAgICAgLyogR2VuZXJhdGUgdGhlIGxv Y2FsIGFuZCBnbG9iYWwgZmlsZW5hbWVzICovCisgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNo ZV9uYW1lc19pbml0KCBjYWNoZV9oYW5kbGUsIHVybCwgdGFnLCAmbmFtZXMgKTsKKyAKK0BAIC01 NzQ1LDExICs1NzQ1LDExIEBAIGdsb2J1c19nYXNzX2NhY2hlX2RlbGV0ZV9zdGFydChnbG9idXNf Z2Fzc19jYWNoZV90ICAgICAgIGNhY2hlX2hhbmRsZSwKKyB7CisgICAgIGludCAgICAgICAgIHJj OyAgICAgICAgICAgICAgICAgICAgIC8qIGdlbmVyYWwgcHVycG9zZSByZXR1cm4gY29kZSAqLwor ICAgICBjYWNoZV9uYW1lc190ICAgICAgIG5hbWVzOworLSAgICAKKysKKyAgICAgLyogc2ltcGx5 IGNoZWNrIGlmIHRoZSBjYWNoZSBoYXMgYmVlbiBvcGVuZWQgKi8KKyAgICAgQ0hFQ0tfQ0FDSEVf SVNfSU5JVChjYWNoZV9oYW5kbGUpOworICAgICBDTFJfRVJST1I7CistICAgIAorKworICAgICAv KiBHZW5lcmF0ZSB0aGUgbG9jYWwgYW5kIGdsb2JhbCBmaWxlbmFtZXMgKi8KKyAgICAgcmMgPSBn bG9idXNfbF9nYXNzX2NhY2hlX25hbWVzX2luaXQoIGNhY2hlX2hhbmRsZSwgdXJsLCB0YWcsICZu YW1lcyApOworICAgICBpZiAoIEdMT0JVU19TVUNDRVNTICE9IHJjICkKK0BAIC01ODA2LDcgKzU4 MDYsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9kZWxldGVfc3RhcnQoZ2xvYnVzX2dhc3NfY2FjaGVf dCAgICAgICBjYWNoZV9oYW5kbGUsCisgICogZW50cnkgYW5kIGRlbGV0ZSB0aGUgYXNzb2NpYXRl ZCBsb2NhbCBjYWNoZSBmaWxlLgorICAqCisgICogT3RoZXJ3aXNlLCB1cGRhdGUgdGhlIHRpbWVz dGFtcCB0byB0aGUgcGFzc2VkIHZhbHVlLgorLSAqICAgIAorKyAqCisgICogVGhpcyBjYWxsIHdp bGwgbGVhdmUgdGhlIGNhY2hlIGVudHJ5IHVubG9ja2VkLgorICAqCisgICogSWYgaXNfbG9ja2Vk PT1HTE9CVVNfVFJVRSwgdGhlbiB0aGlzIGNhY2hlIGVudHJ5IHdhcyBsb2NrZWQgZHVyaW5nIGEK K0BAIC01ODM4LDcgKzU4MzgsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9kZWxldGVfc3RhcnQoZ2xv YnVzX2dhc3NfY2FjaGVfdCAgICAgICBjYWNoZV9oYW5kbGUsCisgICogICAgIGdsb2J1c19nYXNz X2NhY2hlX2RlbGV0ZV9zdGFydCgpLgorICAqCisgICogQHJldHVybiBUaGUgZ2xvYnVzX2dhc3Nf Y2FjaGVfZGVsZXRlKCkgZnVuY3Rpb24gcmV0dXJucworLSAqICAgICAgR0xPQlVTX1NVQ0NFU1Mg b3IgYW55IG9mIHRoZSBkZWZpbmVkIEdBU1MgQ2FjaGUgZXJyb3IgY29kZXMuIAorKyAqICAgICAg R0xPQlVTX1NVQ0NFU1Mgb3IgYW55IG9mIHRoZSBkZWZpbmVkIEdBU1MgQ2FjaGUgZXJyb3IgY29k ZXMuCisgICovCisgZXh0ZXJuCisgaW50CitAQCAtNTg0OCwxNSArNTg0OCwxNSBAQCBnbG9idXNf Z2Fzc19jYWNoZV9kZWxldGUoCisgICAgIGNvbnN0IGNoYXIgICAgICAgICAgKnRhZywKKyAgICAg dW5zaWduZWQgbG9uZyAgICAgICAgdGltZXN0YW1wLAorICAgICBnbG9idXNfYm9vbF90ICAgICAg ICBpc19sb2NrZWQgKQorLXsgCisreworICAgICBpbnQgICAgICAgICByYzsgICAgICAgICAgICAg ICAgICAgICAvKiBnZW5lcmFsIHB1cnBvc2UgcmV0dXJuIGNvZGUgKi8KKyAgICAgaW50ICAgICAg ICAgcmV0dmFsID0gR0xPQlVTX1NVQ0NFU1M7IC8qIE91ciByZXR1cm4gdmFsdWUuICovCisgICAg IGNhY2hlX25hbWVzX3QgICAgICAgbmFtZXM7CisgICAgIGRvdWJsZSAgICAgIFRPRE9zdGltZSA9 IFRPRE9HZXRUaW1lKCk7CistICAgIAorKworICAgICAvKiBzaW1wbHkgY2hlY2sgaWYgdGhlIGNh Y2hlIGhhcyBiZWVuIG9wZW5lZCAqLworICAgICBDSEVDS19DQUNIRV9JU19JTklUKGNhY2hlX2hh bmRsZSk7CistICAgIAorKworICAgICAvKiBHZW5lcmF0ZSB0aGUgbG9jYWwgYW5kIGdsb2JhbCBm aWxlbmFtZXMgKi8KKyAgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX25hbWVzX2luaXQoIGNh Y2hlX2hhbmRsZSwgdXJsLCB0YWcsICZuYW1lcyApOworIAorQEAgLTU4NjgsNyArNTg2OCw3IEBA IGdsb2J1c19nYXNzX2NhY2hlX2RlbGV0ZSgKKyAgICAgfQorIAorICAgICAvKiBEbyB0aGUgYWN0 dWFsIGRlbGV0ZS4uLiAqLworLSAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfZGVsZXRlKCAK KysgICAgcmMgPSBnbG9idXNfbF9nYXNzX2NhY2hlX2RlbGV0ZSgKKyAgICAgICAgICZuYW1lcywg JnRpbWVzdGFtcCwgaXNfbG9ja2VkICk7CisgCisgICAgIC8qIEZyZWUgdXAgbmFtZSBidWZmZXJz ICovCitAQCAtNTkwMyw3ICs1OTAzLDcgQEAgZ2xvYnVzX2dhc3NfY2FjaGVfZGVsZXRlKAorICAq IGZ1bmN0aW9uLCB0aGVuIHRoZSBlbnRyeSBpcyB1bmxvY2tlZCBhZnRlciByZW1vdmluZyB0aGUg dGFncy4KKyAgKiBPdGhlcndpc2UsIHRoZSBjYWNoZSBlbnRyeSdzIGxvY2sgaXMgbGVmdCB1bnRv dWNoZWQuCisgICoKKy0gKiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGJsb2NrIG9uIGEgbG9ja2Vk IHJlZmVyZW5jZS4gCisrICogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBibG9jayBvbiBhIGxvY2tl ZCByZWZlcmVuY2UuCisgICoKKyAgKiBAbm90ZSBUaGUgR0xPQlVTX0dSQU0gam9iIG1hbmFnZXIg d2lsbCBhdXRvbWF0aWNhbGx5IGNhbGwgdGhpcyBmdW5jdGlvbgorICAqIHdpdGggYSB0YWcgb2Yg Z2V0ZW52KCJHTE9CVVNfR1JBTV9KT0JfQ09OVEFDVCIpIHVwb24gY29tcGxldGlvbiBvZiBhIGpv Yi4KK0BAIC01OTE4LDcgKzU5MTgsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9kZWxldGUoCisgICog ICAgIGlzIHVzdWFsbHkgdGhlIEdMT0JVU19HUkFNX0pPQl9DT05UQUNULiBDYW4gYmUgTlVMTCBv ciBlbXB0eTsgdGhlCisgICogICAgIHRhZyAibnVsbCIgaXMgdGhlbiB1c2VkLgorICAqIEByZXR1 cm4gVGhlIGdsb2J1c19nYXNzX2NhY2hlX2NsZWFudXBfdGFnKCkgZnVuY3Rpb24gcmV0dXJucwor LSAqICAgICBHTE9CVVNfU1VDQ0VTUyBvciBhbnkgb2YgdGhlIGRlZmluZWQgR0FTUyBDYWNoZSBl cnJvciBjb2Rlcy4gICAKKysgKiAgICAgR0xPQlVTX1NVQ0NFU1Mgb3IgYW55IG9mIHRoZSBkZWZp bmVkIEdBU1MgQ2FjaGUgZXJyb3IgY29kZXMuCisgICovCisgZXh0ZXJuCisgaW50CitAQCAtNTkz MSwxMCArNTkzMSwxMCBAQCBnbG9idXNfZ2Fzc19jYWNoZV9jbGVhbnVwX3RhZygKKyAgICAgY2Fj aGVfbmFtZXNfdCAgICAgICBuYW1lczsKKyAgICAgZG91YmxlICAgICAgVE9ET3N0aW1lID0gVE9E T0dldFRpbWUoKTsKKyAgICAgaW50ICAgICAgICAgVE9ET251bSA9IDA7CistICAgIAorKworICAg ICAvKiBzaW1wbHkgY2hlY2sgaWYgdGhlIGNhY2hlIGhhcyBiZWVuIG9wZW5lZCAqLworICAgICBD SEVDS19DQUNIRV9JU19JTklUKGNhY2hlX2hhbmRsZSk7CistICAgIAorKworICAgICAvKiBHZW5l cmF0ZSB0aGUgbG9jYWwgYW5kIGdsb2JhbCBmaWxlbmFtZXMgKi8KKyAgICAgcmMgPSBnbG9idXNf bF9nYXNzX2NhY2hlX25hbWVzX2luaXQoIGNhY2hlX2hhbmRsZSwgdXJsLCB0YWcsICZuYW1lcyAp OworIAorQEAgLTU5NjYsNyArNTk2Niw3IEBAIGdsb2J1c19nYXNzX2NhY2hlX2NsZWFudXBfdGFn KAorICAgICAgICAgQ0FDSEVfVFJBQ0UoIGJ1ZiApOworICAgICB9CisgICAgIHJldHVybiByYzsK Ky0gICAgCisrCisgfQorIC8qIGdsb2J1c19nYXNzX2NhY2hlX2FkZF9jbGVhbnVwX3RhZygpICov CisgCitAQCAtNTk5NSw3ICs1OTk1LDcgQEAgZ2xvYnVzX2dhc3NfY2FjaGVfY2xlYW51cF90YWco CisgICogICAgIHRhZyAibnVsbCIgaXMgdGhlbiB1c2VkLgorICAqCisgICogQHJldHVybiBUaGUg Z2xvYnVzX2dhc3NfY2FjaGVfY2xlYW51cF90YWdfYWxsKCkgZnVuY3Rpb24gcmV0dXJucworLSAq ICAgICBHTE9CVVNfU1VDQ0VTUyBvciBhbnkgb2YgdGhlIGRlZmluZWQgR0FTUyBDYWNoZSBlcnJv ciBjb2Rlcy4gCisrICogICAgIEdMT0JVU19TVUNDRVNTIG9yIGFueSBvZiB0aGUgZGVmaW5lZCBH QVNTIENhY2hlIGVycm9yIGNvZGVzLgorICAqLworIGV4dGVybgorIGludAorQEAgLTYwMTEsMTAg KzYwMTEsMTAgQEAgZ2xvYnVzX2dhc3NfY2FjaGVfY2xlYW51cF90YWdfYWxsKAorICAgICB1cmxf bGlzdF9oZWFkX3QgICAgIHVybF9saXN0OworICAgICB1cmxfbGlzdF9lbGVtX3QgICAgICp1cmxf ZWxlbSwgKnVybF9uZXh0OworICAgICBpbnQgICAgICAgICAgICAgICAgIGRhdGFfbnVtOworLSAg ICAKKysKKyAgICAgLyogc2ltcGx5IGNoZWNrIGlmIHRoZSBjYWNoZSBoYXMgYmVlbiBvcGVuZWQg Ki8KKyAgICAgQ0hFQ0tfQ0FDSEVfSVNfSU5JVChjYWNoZV9oYW5kbGUpOworLSAgICAKKysKKyAg ICAgLyogQnVpbGQgdGhlIGJhc2UgbG9jYWwgZGlyZWN0b3J5IHRvIHVzZS4gKi8KKyAgICAgcmMg PSBnbG9idXNfbF9nYXNzX2NhY2hlX25hbWVzX2luaXQoCisgICAgICAgICBjYWNoZV9oYW5kbGUs IE5VTEwsIHRhZywgJm5hbWVzICk7CitAQCAtNjA0OCw3ICs2MDQ4LDcgQEAgZ2xvYnVzX2dhc3Nf Y2FjaGVfY2xlYW51cF90YWdfYWxsKAorICAgICB7CisgICAgICAgICBSRVRfRVJST1IoIHJjICk7 CisgICAgIH0KKy0gICAgQ0FDSEVfVFJBQ0U0KCAiY2xlYW51cDogc2Nhbm5lZCAnJXMnICh0YWcg JyVzJyksIGZvdW5kICVkIiwgCisrICAgIENBQ0hFX1RSQUNFNCggImNsZWFudXA6IHNjYW5uZWQg JyVzJyAodGFnICclcycpLCBmb3VuZCAlZCIsCisgICAgICAgICAgICAgICAgICAgYmFzZV9sb2Nh bF9kaXIsIHRhZywgdXJsX2xpc3QuY291bnQgKTsKKyAKKyAgICAgLyogV2FsayB0aHJvdWdoICdl bSBhbGwgKi8KK0BAIC02MDc0LDcgKzYwNzQsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9jbGVhbnVw X3RhZ19hbGwoCisgICAgICAgICAgICAgLyogTG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgImRhdGEi IGxpbmtzIGZvdW5kICovCisgICAgICAgICAgICAgZm9yKCBkYXRhX251bSA9IDA7ICBkYXRhX251 bSA8IHVybF9lbGVtLT5kYXRhX2NvdW50OyAgZGF0YV9udW0rKyApCisgICAgICAgICAgICAgewor LSAgICAgICAgICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfZGVsZXRlKCAmbmFtZXMs IE5VTEwsIAorKyAgICAgICAgICAgICAgICByYyA9IGdsb2J1c19sX2dhc3NfY2FjaGVfZGVsZXRl KCAmbmFtZXMsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdMT0JVU19GQUxTRSk7CisgICAgICAgICAgICAgICAgIGlmICggR0xPQlVTX1NV Q0NFU1MgIT0gcmMgKQorICAgICAgICAgICAgICAgICB7CitAQCAtNjEyMyw3ICs2MTIzLDcgQEAg Z2xvYnVzX2dhc3NfY2FjaGVfY2xlYW51cF90YWdfYWxsKAorICAqIE1hbmdsZXMgdGhlIGdpdmVu IFVSTCBpbnRvIGEgY2h1bmsgc3VpdGFibGUgZm9yIHVzaW5nIGFzIGEgZmlsZSAvCisgICogcGF0 aCBuYW1lLiAgVGhpcyBpcyBleHBvcnRlZCBmb3IgdXNlIGluIHRoZSBnbG9idXNfZ2Fzc19jYWNo ZQorICAqIHByb2dyYW0uCistICogIAorKyAqCisgICogQHBhcmFtIGNhY2hlX2hhbmRsZQorICAq ICAgICBIYW5kbGUgdG8gdGhlIG9wZW5lZCBjYWNoZSBkaXJlY3RvcnkgdG8gdXNlLgorICAqIEBw YXJhbSB1cmwKK0BAIC02MTY3LDcgKzYxNjcsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9tYW5nbGVf dXJsKCBjb25zdCBnbG9idXNfZ2Fzc19jYWNoZV90ICBjYWNoZV9oYW5kbGUsCisgICogTWFuZ2xl cyB0aGUgZ2l2ZW4gdGFnIGludG8gYSBjaHVuayBzdWl0YWJsZSBmb3IgdXNpbmcgYXMgYSBmaWxl IC8KKyAgKiBwYXRoIG5hbWUuICBUaGlzIGlzIGV4cG9ydGVkIGZvciB1c2UgaW4gdGhlIGdsb2J1 c19nYXNzX2NhY2hlCisgICogcHJvZ3JhbS4KKy0gKiAgCisrICoKKyAgKiBAcGFyYW0gY2FjaGVf aGFuZGxlCisgICogICAgIEhhbmRsZSB0byB0aGUgb3BlbmVkIGNhY2hlIGRpcmVjdG9yeSB0byB1 c2UuCisgICogQHBhcmFtIHRhZworQEAgLTYyMTEsNyArNjIxMSw3IEBAIGdsb2J1c19nYXNzX2Nh Y2hlX21hbmdsZV90YWcoIGNvbnN0IGdsb2J1c19nYXNzX2NhY2hlX3QgIGNhY2hlX2hhbmRsZSwK KyAgKiBAZGV0YWlscworICAqIEdldCBhIHRoZSByb290IGNhY2hlIG9mIGRpcmVjdG9yeS4gIFRo aXMgaXMgZXhwb3J0ZWQgZm9yIHVzZSBpbiB0aGUKKyAgKiBnbG9idXNfZ2Fzc19jYWNoZSBwcm9n cmFtLgorLSAqICAKKysgKgorICAqIEBwYXJhbSBjYWNoZV9oYW5kbGUKKyAgKiAgICAgSGFuZGxl IHRvIHRoZSBvcGVuZWQgY2FjaGUgZGlyZWN0b3J5IHRvIHVzZS4KKyAgKiBAcGFyYW0gY2FjaGVf ZGlyCitAQCAtNjI1Myw3ICs2MjUzLDcgQEAgZ2xvYnVzX2dhc3NfY2FjaGVfZ2V0X2NhY2hlX2Rp ciggY29uc3QgZ2xvYnVzX2dhc3NfY2FjaGVfdCAgICAgICBjYWNoZV9oYW5kbGUsCisgICogQGRl dGFpbHMKKyAgKiBHZXRzIGEgYnVuY2ggb2YgZGlyZWN0b3JpZXMuICBUaGlzIGlzIGV4cG9ydGVk IGZvciB1c2UgaW4gdGhlCisgICogZ2xvYnVzX2dhc3NfY2FjaGUgcHJvZ3JhbS4KKy0gKiAgCisr ICoKKyAgKiBAcGFyYW0gY2FjaGVfaGFuZGxlCisgICogICAgIEhhbmRsZSB0byB0aGUgb3BlbmVk IGNhY2hlIGRpcmVjdG9yeSB0byB1c2UuCisgICogQHBhcmFtIHVybAorQEAgLTYzMTgsMTAgKzYz MTgsMTAgQEAgZ2xvYnVzX2dhc3NfY2FjaGVfZ2V0X2RpcnMoIGNvbnN0IGdsb2J1c19nYXNzX2Nh Y2hlX3QgICAgY2FjaGVfaGFuZGxlLAorICAgICB7CisgICAgICAgICAqbG9jYWxfZGlyID0gTlVM TDsKKyAgICAgfQorLSAgICAKKysKKyAgICAgLyogc2ltcGx5IGNoZWNrIGlmIHRoZSBjYWNoZSBo YXMgYmVlbiBvcGVuZWQgKi8KKyAgICAgQ0hFQ0tfQ0FDSEVfSVNfSU5JVChjYWNoZV9oYW5kbGUp OworLSAgICAKKysKKyAgICAgLyogR2VuZXJhdGUgdGhlIGxvY2FsIGFuZCBnbG9iYWwgZmlsZW5h bWVzICovCisgICAgIHJjID0gZ2xvYnVzX2xfZ2Fzc19jYWNoZV9uYW1lc19pbml0KCBjYWNoZV9o YW5kbGUsIHVybCwgdGFnLCAmbmFtZXMgKTsKKyAKK0BAIC02Mzg3LDcgKzYzODcsNyBAQCBnbG9i dXNfZ2Fzc19jYWNoZV9nZXRfZGlycyggY29uc3QgZ2xvYnVzX2dhc3NfY2FjaGVfdCAgICBjYWNo ZV9oYW5kbGUsCisgICogQGluZ3JvdXAgZ2xvYnVzX2dhc3NfY2FjaGUKKyAgKiBAZGV0YWlscwor ICAqIEdldCBhIHN0cmluZyB3aGljaCBkZXNjcmliZXMgdGhlIGNhY2hlIHR5cGUgKCJub3JtYWwi IG9yICJmbGF0IikKKy0gKiAgCisrICoKKyAgKiBAcGFyYW0gY2FjaGVfaGFuZGxlCisgICogICAg IEhhbmRsZSB0byB0aGUgb3BlbmVkIGNhY2hlIGRpcmVjdG9yeSB0byB1c2UuCisgICogQHBhcmFt IGNhY2hlX3R5cGUKK0BAIC02NDMzLDcgKzY0MzMsNyBAQCBnbG9idXNfZ2Fzc19jYWNoZV9nZXRf Y2FjaGVfdHlwZV9zdHJpbmcoIGNvbnN0IGdsb2J1c19nYXNzX2NhY2hlX3QgICAgICAgY2FjaGVf aAorICAqIEBwYXJhbSBlcnJvcl9jb2RlCisgICogICAgIGVycm9yIGNvZGUgcmV0dXJuZWQgYnkg YSBwcmV2aW91c2x5IGNhbGxlZCBnbG9idXNfZ2Fzc19jYWNoZSBmdW5jdGlvbi4KKyAgKgorLSAq IEByZXR1cm4gVGhlIGdsb2J1c19nYXNzX2NhY2hlX2Vycm9yX3N0cmluZygpIGZ1bmN0aW9uIHJl dHVybnMgYSAKKysgKiBAcmV0dXJuIFRoZSBnbG9idXNfZ2Fzc19jYWNoZV9lcnJvcl9zdHJpbmco KSBmdW5jdGlvbiByZXR1cm5zIGEKKyAgKiAgICAgcG9pbnRlciB0byBhbiBlcnJvciBtZXNzYWdl LCBvciBOVUxMIGlmIGVycm9yX2NvZGUgaXMgaW52YWxpZC4KKyAgKi8KKyBleHRlcm4KKy0tIAor Mi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDAyLUZpeC1jb21waWxlci1hbmQtZG94eWdlbi13YXJu aW5ncy5wYXRjaCBiLzAwMDItRml4LWNvbXBpbGVyLWFuZC1kb3h5Z2VuLXdhcm5pbmdzLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MTMyNDEKLS0tIC9kZXYvbnVs bAorKysgYi8wMDAyLUZpeC1jb21waWxlci1hbmQtZG94eWdlbi13YXJuaW5ncy5wYXRjaApAQCAt MCwwICsxLDQ0IEBACitGcm9tIDRlZTA4ZDEzZTI5NjMzMDllMjA2M2RjNDVkZWRkMDY3MzM3ZDNi NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlh cy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KK0RhdGU6IFdlZCwgMjAgTWF5IDIwMjYgMDA6MTU6Mzcg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIEZpeCBjb21waWxlciBhbmQgZG94eWdlbiB3YXJu aW5ncworCistLS0KKyBnYXNzL2NhY2hlL3NvdXJjZS9nbG9idXNfZ2Fzc19jYWNoZS5jIHwgNyAr KystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL2dhc3MvY2FjaGUvc291cmNlL2dsb2J1c19nYXNzX2NhY2hlLmMgYi9n YXNzL2NhY2hlL3NvdXJjZS9nbG9idXNfZ2Fzc19jYWNoZS5jCitpbmRleCBhOTU3YjdhZWIuLmEz YjIxMjcwZCAxMDA2NDQKKy0tLSBhL2dhc3MvY2FjaGUvc291cmNlL2dsb2J1c19nYXNzX2NhY2hl LmMKKysrKyBiL2dhc3MvY2FjaGUvc291cmNlL2dsb2J1c19nYXNzX2NhY2hlLmMKK0BAIC05NzEs MTYgKzk3MSwxNSBAQCBnbG9idXNfbF9nYXNzX2NhY2hlX21hbmdsZShjb25zdCBnbG9idXNfZ2Fz c19jYWNoZV90ICAgICBjYWNoZSwKKyB7CisgICAgIGNhY2hlX21hbmdsaW5nX29wdGlvbl90ICAg ICAqb3B0aW9uOworICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgcmM7CistICAgIGlu dCAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25fbm87CisgICAgIGludCAgICAgICAgICAg ICAgICAgICAgICAgICBsZW47CisgICAgIGNoYXIgICAgICAgICAgICAgICAgICAgICAgICAqc2Vw YXJhdG9yOworIAorICAgICBzZXBhcmF0b3IgPSBkaXJlY3Rvcnlfc2VwYXJhdG9yW2NhY2hlLT5j YWNoZV90eXBlXTsKKyAKKyAgICAgLyogR2V0IHRoZSBtYW5nbGVkIGxlbmd0aCAqLworLSAgICBm b3IgKCBvcHRpb25fbm8gPSAwLCBvcHRpb24gPSAmY2FjaGVfbWFuZ2xpbmdfbGlzdFswXTsKKysg ICAgZm9yICggb3B0aW9uID0gJmNhY2hlX21hbmdsaW5nX2xpc3RbMF07CisgICAgICAgICAgIG9w dGlvbi0+ZmxhZ2JpdHM7CistICAgICAgICAgIG9wdGlvbl9ubysrLCBvcHRpb24rKyApCisrICAg ICAgICAgIG9wdGlvbisrICkKKyAgICAgeworICAgICAgICAgaWYgKCBjYWNoZS0+bWFuZ2xpbmdf b3B0aW9ucyAmIG9wdGlvbi0+ZmxhZ2JpdHMgKQorICAgICAgICAgeworQEAgLTQzNTEsNyArNDM1 MCw3IEBAIGdsb2J1c19sX2dhc3NfY2FjaGVfbGlzdF9hbGxfdXJsc19mbGF0KCBnbG9idXNfZ2Fz c19jYWNoZV90ICAgIGNhY2hlX2hhbmRsZSwKKyAgICAgLyogV2FsayB0aHJvdWdoIHRoZSBtYXRj aGVzLi4uICovCisgICAgIGZvciAoIGRpcmVudF9udW0gPSAwOyAgZGlyZW50X251bSA8IGRpcmVu dF9jb3VudDsgZGlyZW50X251bSsrICkKKyAgICAgeworLSAgICAgICAgY29uc3QgY2hhciAgICAg ICpuYW1lID0gZGlyZW50X2xpc3RbZGlyZW50X251bV0tPmRfbmFtZTsKKysgICAgICAgIGNoYXIg ICAgICAgICAgICAqbmFtZSA9IGRpcmVudF9saXN0W2RpcmVudF9udW1dLT5kX25hbWU7CisgICAg ICAgICBjaGFyICAgICAgICAgICAgKnA7CisgICAgICAgICB1cmxfbGlzdF9lbGVtX3QgKmVsZW07 CisgCistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvZ2xvYnVzLWdhc3MtY2FjaGUuc3BlYyBi L2dsb2J1cy1nYXNzLWNhY2hlLnNwZWMKaW5kZXggYzQ2NjQ1Mi4uNGIwNmMxOCAxMDA2NDQKLS0t IGEvZ2xvYnVzLWdhc3MtY2FjaGUuc3BlYworKysgYi9nbG9idXMtZ2Fzcy1jYWNoZS5zcGVjCkBA IC0xLDEzICsxLDE1IEBACiBOYW1lOgkJZ2xvYnVzLWdhc3MtY2FjaGUKICVnbG9iYWwgX25hbWUg JSh0ciAtIF8gPDw8ICV7bmFtZX0pCiBWZXJzaW9uOgkxMC4zCi1SZWxlYXNlOgkxMiV7P2Rpc3R9 CitSZWxlYXNlOgkxMyV7P2Rpc3R9CiBTdW1tYXJ5OglHcmlkIENvbW11bml0eSBUb29sa2l0IC0g R2xvYnVzIEdhc3MgQ2FjaGUKIAogTGljZW5zZToJQXBhY2hlLTIuMAogVVJMOgkJaHR0cHM6Ly9n aXRodWIuY29tL2dyaWRjZi9nY3QvCiBTb3VyY2U6CQlodHRwczovL3JlcG8uZ3JpZGNmLm9yZy9n Y3Q2L3NvdXJjZXMvJXtfbmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTg6CVJFQURNRQor UGF0Y2gwOgkJMDAwMS1VbnRhYmlmeS1hbmQtcmVtb3ZlLXRyYWlsaW5nLXdoaXRlLXNwYWNlLnBh dGNoCitQYXRjaDE6CQkwMDAyLUZpeC1jb21waWxlci1hbmQtZG94eWdlbi13YXJuaW5ncy5wYXRj aAogCiBCdWlsZFJlcXVpcmVzOgltYWtlCiBCdWlsZFJlcXVpcmVzOglnY2MKQEAgLTU1LDYgKzU3 LDggQEAgR2xvYnVzIEdhc3MgQ2FjaGUgRG9jdW1lbnRhdGlvbiBGaWxlcwogCiAlcHJlcAogJXNl dHVwIC1xIC1uICV7X25hbWV9LSV7dmVyc2lvbn0KKyVwYXRjaCAtUDAgLXA0CislcGF0Y2ggLVAx IC1wNAogCiAlYnVpbGQKICMgUmVkdWNlIG92ZXJsaW5raW5nCkBAIC0xMDMsNiArMTA3LDkgQEAg cm0gJXtidWlsZHJvb3R9JXtfcGtnZG9jZGlyfS9HTE9CVVNfTElDRU5TRQogJWxpY2Vuc2UgR0xP QlVTX0xJQ0VOU0UKIAogJWNoYW5nZWxvZworKiBTdW4gSnVuIDE0IDIwMjYgTWF0dGlhcyBFbGxl cnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+IC0gMTAuMy0xMworLSBGaXggY29tcGls ZXIgd2FybmluZ3MKKwogKiBGcmkgSmFuIDE2IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJp bmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMC4zLTEyCiAtIFJlYnVpbHQgZm9yIGh0 dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDRfTWFzc19SZWJ1aWxkCiAK