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: Tom spot Callaway To: git-commits@fedoraproject.org Subject: [rpms/ntfs-3g] epel9: apply upstream patches to resolve NTFS-3G-SA_2026-06-1_20 NTFS-3G-SA_2026-06-1_19 NTFS-3G-SA_2026-06-1_12 NTFS-3G-SA_2026-06-1_11 NTFS-3G-SA_2026-06-1_10 NTFS-3G-SA_2026-06-1_08 NTFS-3G-SA_2026-06-1_07 NTFS-3G-SA_2026-06-1_05 Date: Fri, 25 Sep 2026 13:55:02 GMT Message-ID: <179034450276.1.4746638571089181808.rpms-ntfs-3g-02e2180d538f@fedoraproject.org> List-ID: X-Git-Repo: rpms/ntfs-3g X-Git-Branch: epel9 X-Git-Rev: 02e2180d538f5916cdddb2d4b9a8618b481c97aa QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbnRmcy0zZwpCcmFu Y2ggOiBlcGVsOQpDb21taXQgOiAwMmUyMTgwZDUzOGY1OTE2Y2RkZGIyZDRiOWE4NjE4YjQ4MWM5 N2FhCkF1dGhvciA6IFRvbSBzcG90IENhbGxhd2F5IDxzcG90YXdzQGFtYXpvbi5jb20+CkRhdGUg ICA6IDIwMjYtMDktMjVUMDk6NTQ6NTctMDQ6MDAKU3RhdHMgIDogKzUwMy8tMSBpbiA5IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9udGZzLTNnL2Mv MDJlMjE4MGQ1MzhmNTkxNmNkZGRiMmQ0YjlhODYxOGI0ODFjOTdhYT9icmFuY2g9ZXBlbDkKCkxv ZzoKYXBwbHkgdXBzdHJlYW0gcGF0Y2hlcyB0byByZXNvbHZlIE5URlMtM0ctU0FfMjAyNi0wNi0x XzIwIE5URlMtM0ctU0FfMjAyNi0wNi0xXzE5IE5URlMtM0ctU0FfMjAyNi0wNi0xXzEyIE5URlMt M0ctU0FfMjAyNi0wNi0xXzExIE5URlMtM0ctU0FfMjAyNi0wNi0xXzEwIE5URlMtM0ctU0FfMjAy Ni0wNi0xXzA4IE5URlMtM0ctU0FfMjAyNi0wNi0xXzA3IE5URlMtM0ctU0FfMjAyNi0wNi0xXzA1 CgotLS0KZGlmZiAtLWdpdCBhLzFfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0wNi0xXzA1LnBh dGNoIGIvMV9udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMDUucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM0ZmI0OQotLS0gL2Rldi9udWxsCisrKyBiLzFf bnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0wNi0xXzA1LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAK K2RpZmYgLS1naXQgYS9saWJudGZzLTNnL2luZGV4LmMgYi9saWJudGZzLTNnL2luZGV4LmMKK2lu ZGV4IGU0OGQ2YWFmYi4uYzJjZGYyM2E3IDEwMDY0NAorLS0tIGEvbGlibnRmcy0zZy9pbmRleC5j CisrKysgYi9saWJudGZzLTNnL2luZGV4LmMKK0BAIC0xMzc5LDEyICsxMzc5LDE5IEBAIHN0YXRp YyBpbnQgbnRmc19pcl9tYWtlX3NwYWNlKG50ZnNfaW5kZXhfY29udGV4dCAqaWN4LCBpbnQgZGF0 YV9zaXplKQorIHN0YXRpYyBpbnQgbnRmc19pZV9hZGRfdmNuKElOREVYX0VOVFJZICoqaWUpCisg eworIAlJTkRFWF9FTlRSWSAqcCwgKm9sZCA9ICppZTsKKy0JIAorLQlvbGQtPmxlbmd0aCA9IGNw dV90b19sZTE2KGxlMTZfdG9fY3B1KG9sZC0+bGVuZ3RoKSArIHNpemVvZihWQ04pKTsKKy0JcCA9 IHJlYWxsb2Mob2xkLCBsZTE2X3RvX2NwdShvbGQtPmxlbmd0aCkpOworKwl1MzIgbmV3X2xlbmd0 aCA9IGxlMTZfdG9fY3B1KG9sZC0+bGVuZ3RoKSArICh1MzIpc2l6ZW9mKFZDTik7CisrCisrCWlm IChuZXdfbGVuZ3RoID4gMHhmZmZmKSB7CisrCQludGZzX2xvZ19lcnJvcigiSW5kZXggZW50cnkg b2YgbGVuZ3RoICV1IGNhbm5vdCBob2xkIGEgVkNOXG4iLAorKwkJCQkodW5zaWduZWQpbGUxNl90 b19jcHUob2xkLT5sZW5ndGgpKTsKKysJCWVycm5vID0gRUlPOworKwkJcmV0dXJuIFNUQVRVU19F UlJPUjsKKysJfQorKwlwID0gcmVhbGxvYyhvbGQsIG5ld19sZW5ndGgpOworIAlpZiAoIXApCisg CQlyZXR1cm4gU1RBVFVTX0VSUk9SOworIAkKKysJcC0+bGVuZ3RoID0gY3B1X3RvX2xlMTYobmV3 X2xlbmd0aCk7CisgCXAtPmllX2ZsYWdzIHw9IElOREVYX0VOVFJZX05PREU7CisgCSppZSA9IHA7 CisgCgpkaWZmIC0tZ2l0IGEvMl9udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMDcucGF0 Y2ggYi8yX250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYtMV8wNy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lM2EzNWFiCi0tLSAvZGV2L251bGwKKysrIGIvMl9u dGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMDcucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAor ZGlmZiAtLWdpdCBhL2xpYm50ZnMtM2cvYXR0cmliLmMgYi9saWJudGZzLTNnL2F0dHJpYi5jCitp bmRleCBlZmI5MTk0MzguLmZkZDhiMTdlZSAxMDA2NDQKKy0tLSBhL2xpYm50ZnMtM2cvYXR0cmli LmMKKysrKyBiL2xpYm50ZnMtM2cvYXR0cmliLmMKK0BAIC0yNjcxLDggKzI2NzEsMTcgQEAgczY0 IG50ZnNfYXR0cl9tc3RfcHJlYWQobnRmc19hdHRyICpuYSwgY29uc3QgczY0IHBvcywgY29uc3Qg czY0IGJrX2NudCwKKyAJCS8qIGxvZyBlcnJvcnMgdW5sZXNzIHNpbGVuY2VkICovCisgCXdhcm4g PSAhbmEtPm5pIHx8ICFuYS0+bmktPnZvbCB8fCAhTlZvbE5vRml4dXBXYXJuKG5hLT5uaS0+dm9s KTsKKyAJZm9yIChlbmQgPSAodTgqKWRzdCArIGJyICogYmtfc2l6ZTsgKHU4Kilkc3QgPCBlbmQ7 IGRzdCA9ICh1OCopZHN0ICsKKy0JCQlia19zaXplKQorLQkJbnRmc19tc3RfcG9zdF9yZWFkX2Zp eHVwX3dhcm4oKE5URlNfUkVDT1JEKilkc3QsIGJrX3NpemUsIHdhcm4pOworKwkJCWJrX3NpemUp IHsKKysJCS8qCisrCQkgKiBBIHJlY29yZCB3aGljaCBjYW5ub3QgYmUgbXVsdGkgc2VjdG9yIHRy YW5zZmVyIHByb3RlY3RlZCBhdAorKwkJICogYWxsIChFSU5WQUwpIGhhcyBub3QgYmVlbiBkZXBy b3RlY3RlZCwgc28gaXQgbXVzdCBub3QgYmUKKysJCSAqIHVzZWQuIEEgcmVjb3JkIGRhbWFnZWQg YnkgYW4gaW5jb21wbGV0ZSB0cmFuc2ZlciAoRUlPKSBpcworKwkJICogbGVmdCB0byB0aGUgY2Fs bGVyLCB3aGljaCBkZXRlY3RzIGl0IGJ5IHRoZSBCQUFEIG1hZ2ljLgorKwkJICovCisrCQlpZiAo bnRmc19tc3RfcG9zdF9yZWFkX2ZpeHVwX3dhcm4oKE5URlNfUkVDT1JEKilkc3QsIGJrX3NpemUs CisrCQkJCQl3YXJuKSAmJiAoZXJybm8gPT0gRUlOVkFMKSkKKysJCQlyZXR1cm4gLTE7CisrCX0K KyAJLyogRmluYWxseSwgcmV0dXJuIHRoZSBudW1iZXIgb2YgYmxvY2tzIHJlYWQuICovCisgCXJl dHVybiBicjsKKyB9CitkaWZmIC0tZ2l0IGEvbGlibnRmcy0zZy9ydW5saXN0LmMgYi9saWJudGZz LTNnL3J1bmxpc3QuYworaW5kZXggY2IwMWU1YTc3Li45NzkzZjg4ZDcgMTAwNjQ0CistLS0gYS9s aWJudGZzLTNnL3J1bmxpc3QuYworKysrIGIvbGlibnRmcy0zZy9ydW5saXN0LmMKK0BAIC03OTAs NyArNzkwLDcgQEAgc3RhdGljIHJ1bmxpc3RfZWxlbWVudCAqbnRmc19tYXBwaW5nX3BhaXJzX2Rl Y29tcHJlc3NfaShjb25zdCBudGZzX3ZvbHVtZSAqdm9sLAorIAljb25zdCB1OCAqYnVmOwkJLyog Q3VycmVudCBwb3NpdGlvbiBpbiBtYXBwaW5nIHBhaXJzIGFycmF5LiAqLworIAljb25zdCB1OCAq YXR0cl9lbmQ7CS8qIEVuZCBvZiBhdHRyaWJ1dGUuICovCisgCWludCBlcnIsIHJsc2l6ZTsJLyog U2l6ZSBvZiBydW5saXN0IGJ1ZmZlci4gKi8KKy0JdTE2IHJscG9zOwkJLyogQ3VycmVudCBydW5s aXN0IHBvc2l0aW9uIGluIHVuaXRzIG9mCisrCWludCBybHBvczsJCS8qIEN1cnJlbnQgcnVubGlz dCBwb3NpdGlvbiBpbiB1bml0cyBvZgorIAkJCQkgICBydW5saXN0X2VsZW1lbnRzLiAqLworIAl1 OCBiOwkJCS8qIEN1cnJlbnQgYnl0ZSBvZmZzZXQgaW4gYnVmLiAqLworIAorQEAgLTgzMiw3ICs4 MzIsNyBAQCBzdGF0aWMgcnVubGlzdF9lbGVtZW50ICpudGZzX21hcHBpbmdfcGFpcnNfZGVjb21w cmVzc19pKGNvbnN0IG50ZnNfdm9sdW1lICp2b2wsCisgCQkgKiBBbGxvY2F0ZSBtb3JlIG1lbW9y eSBpZiBuZWVkZWQsIGluY2x1ZGluZyBzcGFjZSBmb3IgdGhlCisgCQkgKiBub3QtbWFwcGVkIGFu ZCB0ZXJtaW5hdG9yIGVsZW1lbnRzLgorIAkJICovCistCQlpZiAoKGludCkoKHJscG9zICsgMykg KiBzaXplb2YoKm9sZF9ybCkpID4gcmxzaXplKSB7CisrCQlpZiAoKHJscG9zICsgMykgPiAocmxz aXplIC8gKGludClzaXplb2YoKm9sZF9ybCkpKSB7CisgCQkJcnVubGlzdF9lbGVtZW50ICpybDI7 CisgCisgCQkJcmxzaXplICs9IDB4MTAwMDsKCmRpZmYgLS1naXQgYS8zX250ZnMtM2dfMjAyMi4x MC4zLVNBXzIwMjYtMDYtMV8wOC5wYXRjaCBiLzNfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0w Ni0xXzA4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5MWIwNDEK LS0tIC9kZXYvbnVsbAorKysgYi8zX250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYtMV8wOC5w YXRjaApAQCAtMCwwICsxLDI1IEBACitkaWZmIC0tZ2l0IGEvbGlibnRmcy0zZy9hdHRyaWIuYyBi L2xpYm50ZnMtM2cvYXR0cmliLmMKK2luZGV4IGVmYjkxOTQzOC4uNDU3MGY2ODIwIDEwMDY0NAor LS0tIGEvbGlibnRmcy0zZy9hdHRyaWIuYworKysrIGIvbGlibnRmcy0zZy9hdHRyaWIuYworQEAg LTMzMzgsNiArMzMzOCwyMCBAQCBkb19uZXh0X2F0dHJfbG9vcDoKKyAJCSAqLworIAkJaWYgKGFs X2VudHJ5LT50eXBlICE9IGEtPnR5cGUpCisgCQkJYnJlYWs7CisrCQkvKgorKwkJICogVGhlIHNh bWUgY2hlY2sgaXMgbWFkZSBpbiBudGZzX2F0dHJfaW5jb25zaXN0ZW50KCkgd2hlbiB0aGUKKysJ CSAqIG1mdCByZWNvcmQgaXMgcmVhZCwgYnV0IHRoYXQgdmFsaWRhdGlvbiBpcyBza2lwcGVkIGZv ciB0aGUKKysJCSAqIHRvb2xzIHdoaWNoIHNldCBOVm9sTm9GaXh1cFdhcm4oKSwgc28gdGhlIG5h bWUgaGFzIHRvIGJlCisrCQkgKiBjaGVja2VkIGhlcmUgYXMgd2VsbC4KKysJCSAqLworKwkJaWYg KGEtPm5hbWVfbGVuZ3RoICYmICgobGUxNl90b19jcHUoYS0+bmFtZV9vZmZzZXQpCisrCQkJCSsg YS0+bmFtZV9sZW5ndGggKiBzaXplb2YobnRmc2NoYXIpKQorKwkJCQk+IGxlMzJfdG9fY3B1KGEt Pmxlbmd0aCkpKSB7CisrCQkJbnRmc19sb2dfZXJyb3IoIkNvcnJ1cHQgYXR0cmlidXRlIG5hbWUi CisrCQkJCSIgaW4gTUZUIHJlY29yZCAlbGxkXG4iLAorKwkJCQkobG9uZyBsb25nKWN0eC0+bnRm c19pbm8tPm1mdF9ubyk7CisrCQkJYnJlYWs7CisrCQl9CisgCQlpZiAoIW50ZnNfbmFtZXNfYXJl X2VxdWFsKChudGZzY2hhciopKChjaGFyKilhICsKKyAJCQkJbGUxNl90b19jcHUoYS0+bmFtZV9v ZmZzZXQpKSwKKyAJCQkJYS0+bmFtZV9sZW5ndGgsIGFsX25hbWUsCgpkaWZmIC0tZ2l0IGEvNF9u dGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMTAucGF0Y2ggYi80X250ZnMtM2dfMjAyMi4x MC4zLVNBXzIwMjYtMDYtMV8xMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5iMGEwMzE2Ci0tLSAvZGV2L251bGwKKysrIGIvNF9udGZzLTNnXzIwMjIuMTAuMy1TQV8y MDI2LTA2LTFfMTAucGF0Y2gKQEAgLTAsMCArMSwxMTMgQEAKK2RpZmYgLS1naXQgYS9saWJudGZz LTNnL2VhLmMgYi9saWJudGZzLTNnL2VhLmMKK2luZGV4IGI4NjkzMGFiZC4uMDVkYWE1M2QxIDEw MDY0NAorLS0tIGEvbGlibnRmcy0zZy9lYS5jCisrKysgYi9saWJudGZzLTNnL2VhLmMKK0BAIC0x ODMsNiArMTgzLDYwIEBAIHN0YXRpYyBpbnQgbnRmc191cGRhdGVfZWEobnRmc19pbm9kZSAqbmks IGNvbnN0IGNoYXIgKnZhbHVlLCBzaXplX3Qgc2l6ZSwKKyAJcmV0dXJuIChyZXMpOworIH0KKyAK KysvKioKKysgKiBudGZzX2VhX2luY29uc2lzdGVudCAtIGNoZWNrIHRoYXQgb25lIEVBIHJlY29y ZCBpcyBzYW5lCisrICogQHBfZWE6CXRoZSBFQSByZWNvcmQgdG8gY2hlY2sKKysgKiBAb2ZmczoJ d2hlcmUgdGhlIHJlY29yZCBzdGFydHMgaW4gdGhlIEVBIGJ1ZmZlcgorKyAqIEBzaXplOglzaXpl IG9mIHRoZSBFQSBidWZmZXIKKysgKgorKyAqIEV2ZXJ5IEVBIHJlY29yZCBzYXlzIHdoZXJlIHRo ZSBuZXh0IG9uZSBzdGFydHMuIENoZWNrIHRoYXQgdGhlIHJlY29yZCBmaXRzCisrICogaW4gdGhl IGJ1ZmZlciBhbmQgdGhhdCBpdHMgbmFtZSBhbmQgdmFsdWUgZml0IGluIHRoZSByZWNvcmQgOgor KyAqCisrICogICAgICBvZmZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBuZXh0b2ZmcworKyAqICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKysgKiAgICAgICB8IGhlYWRlciB8ICAg ICAgbmFtZSAgICAgIHwgTlVMIHwgICAgIHZhbHVlICAgICAgfCAgcGFkICB8CisrICogICAgICAg fD09PT09PT09fD09PT09PT09PT09PT09PT18PT09PT18PT09PT09PT09PT09PT09PXw9PT09PT09 fAorKyAqICAgICAgIHwgICAgICAgIHwgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgICAgICAg ICAgICB8ICAgICAgIHwKKysgKiAgICAgICB8PC0gOCAtLT58PC0gbmFtZV9sZW5ndGgtPnw8LTEt Pnw8LXZhbHVlX2xlbmd0aC0+fDwtMC4uMz58CisrICogICAgICAgfDwtLS0tLS0tLS0tLS0tLS0t IG5leHRfZW50cnlfb2Zmc2V0IC0tLS0tLS0tLS0tLS0tLS0tLS0+fAorKyAqCisrICogbmV4dG9m ZnMgaXMgQG9mZnMgKyBuZXh0X2VudHJ5X29mZnNldC4gSXQgaGFzIHRvIG1vdmUgZm9yd2FyZCAm IGJlIGEKKysgKiBtdWx0aXBsZSBvZiA0IGFuZCBzdGF5IGluc2lkZSB0aGUgYnVmZmVyLiBUaGUg bmFtZSBtdXN0IG5vdCBiZSBlbXB0eSBhbmQKKysgKiBtdXN0IGJlIG51bGwgdGVybWluYXRlZC4g QWxzbyB0aGUgbmFtZSBhbmQgdmFsdWUgbXVzdCBlbmQgYXQgbmV4dG9mZnMgb3IKKysgKiBhdCBt b3N0IDMgYnl0ZXMgYmVmb3JlIGl0LiBUaGUgcmVzdCBvZiBpdCBiZWluZyBwYWRkaW5nLgorKyAq CisrICogVGhlc2UgYXJlIHRoZSBjaGVja3Mgd2hpY2ggdXNlZCB0byBiZSBpbmxpbmVkIGluIG50 ZnNfc2V0X250ZnNfZWEoKS4gVGhlCisrICogY2FsbGVyIG11c3QgaGF2ZSBjaGVja2VkIHRoYXQg QG9mZnMgaXMgaW5zaWRlIHRoZSBidWZmZXIgYW5kIHRoYXQgdGhlIDgKKysgKiBieXRlIGhlYWRl ciBmaXRzLgorKyAqCisrICogUmV0dXJuIDAgaWYgdGhlIHJlY29yZCBpcyBzYW5lIGFuZCAtMSBp ZiBpdCBpcyBub3QuCisrICovCisrCisrc3RhdGljIGludCBudGZzX2VhX2luY29uc2lzdGVudChj b25zdCBFQV9BVFRSICpwX2VhLCBzaXplX3Qgb2Zmcywgc2l6ZV90IHNpemUpCisreworKwlzaXpl X3QgbmV4dG9mZnM7CisrCUJPT0wgb2s7CisrCisrCW5leHRvZmZzID0gb2ZmcyArIGxlMzJfdG9f Y3B1KHBfZWEtPm5leHRfZW50cnlfb2Zmc2V0KTsKKysJCS8qIG51bGwgb2Zmc2V0IHRvIG5leHQg bm90IGFsbG93ZWQgKi8KKysJb2sgPSAobmV4dG9mZnMgPiBvZmZzKQorKwkJCSYmIChuZXh0b2Zm cyA8PSBzaXplKQorKwkJCSYmICEobmV4dG9mZnMgJiAzKQorKwkJCSYmIHBfZWEtPm5hbWVfbGVu Z3RoCisrCQkJCS8qIHplcm8gc2l6ZWQgdmFsdWUgYXJlIGFsbG93ZWQgKi8KKysJCQkmJiAoKG9m ZnMgKyBvZmZzZXRvZihFQV9BVFRSLG5hbWUpCisrCQkJCSsgcF9lYS0+bmFtZV9sZW5ndGggKyAx CisrCQkJCSsgbGUxNl90b19jcHUocF9lYS0+dmFsdWVfbGVuZ3RoKSkKKysJCQkJCTw9IG5leHRv ZmZzKQorKwkJCSYmICgob2ZmcyArIG9mZnNldG9mKEVBX0FUVFIsbmFtZSkKKysJCQkJKyBwX2Vh LT5uYW1lX2xlbmd0aCArIDEKKysJCQkJKyBsZTE2X3RvX2NwdShwX2VhLT52YWx1ZV9sZW5ndGgp KQorKwkJCQkJPj0gKG5leHRvZmZzIC0gMykpCisrCQkJJiYgIXBfZWEtPm5hbWVbcF9lYS0+bmFt ZV9sZW5ndGhdOworKwkvKiBuYW1lIG5vdCBjaGVja2VkLCBhcyBjaGtkc2sgYWNjZXB0cyBhbnkg Y2hhcnMgKi8KKysJcmV0dXJuIG9rID8gMCA6IC0xOworK30KKysKKyAvKgorICAqCQlSZXR1cm4g dGhlIGV4aXN0aW5nIEVBCisgICoKK0BAIC0yNjMsMjIgKzMxNyw3IEBAIGludCBudGZzX3NldF9u dGZzX2VhKG50ZnNfaW5vZGUgKm5pLCBjb25zdCBjaGFyICp2YWx1ZSwgc2l6ZV90IHNpemUsIGlu dCBmbGFncykKKyAJCXdoaWxlIChvayAmJiAob2ZmcyA8IHNpemUpKSB7CisgCQkJcF9lYSA9IChj b25zdCBFQV9BVFRSKikmdmFsdWVbb2Zmc107CisgCQkJbmV4dG9mZnMgPSBvZmZzICsgbGUzMl90 b19jcHUocF9lYS0+bmV4dF9lbnRyeV9vZmZzZXQpOworLQkJCQkvKiBudWxsIG9mZnNldCB0byBu ZXh0IG5vdCBhbGxvd2VkICovCistCQkJb2sgPSAobmV4dG9mZnMgPiBvZmZzKQorLQkJCSAgICAm JiAobmV4dG9mZnMgPD0gc2l6ZSkKKy0JCQkgICAgJiYgIShuZXh0b2ZmcyAmIDMpCistCQkJICAg ICYmIHBfZWEtPm5hbWVfbGVuZ3RoCistCQkJCS8qIHplcm8gc2l6ZWQgdmFsdWUgYXJlIGFsbG93 ZWQgKi8KKy0JCQkgICAgJiYgKChvZmZzICsgb2Zmc2V0b2YoRUFfQVRUUixuYW1lKQorLQkJCQkr IHBfZWEtPm5hbWVfbGVuZ3RoICsgMQorLQkJCQkrIGxlMTZfdG9fY3B1KHBfZWEtPnZhbHVlX2xl bmd0aCkpCistCQkJCSAgICA8PSBuZXh0b2ZmcykKKy0JCQkgICAgJiYgKChvZmZzICsgb2Zmc2V0 b2YoRUFfQVRUUixuYW1lKQorLQkJCQkrIHBfZWEtPm5hbWVfbGVuZ3RoICsgMQorLQkJCQkrIGxl MTZfdG9fY3B1KHBfZWEtPnZhbHVlX2xlbmd0aCkpCistCQkJCSAgICA+PSAobmV4dG9mZnMgLSAz KSkKKy0JCQkgICAgJiYgIXBfZWEtPm5hbWVbcF9lYS0+bmFtZV9sZW5ndGhdOworLQkJCS8qIG5h bWUgbm90IGNoZWNrZWQsIGFzIGNoa2RzayBhY2NlcHRzIGFueSBjaGFycyAqLworKwkJCW9rID0g IW50ZnNfZWFfaW5jb25zaXN0ZW50KHBfZWEsIG9mZnMsIHNpemUpOworIAkJCWlmIChvaykgewor IAkJCQlpZiAocF9lYS0+ZmxhZ3MgJiBORUVEX0VBKQorIAkJCQkJZWFfY291bnQrKzsKK0BAIC00 NDQsMTYgKzQ4MywyMCBAQCBpbnQgbnRmc19lYV9jaGVja193c2xkZXYobnRmc19pbm9kZSAqbmks IGRldl90ICpyZGV2cCkKKyAJCW9mZnNldCA9IDA7CisgCQlmb3VuZCA9IEZBTFNFOworIAkJZG8g eworKwkJCS8qIFRoZSBmaXhlZCBoZWFkZXIgbXVzdCBmaXQgaW4gdGhlIHJlbWFpbmluZyBidWZm ZXIuICovCisrCQkJaWYgKChsdGggLSBvZmZzZXQpIDwgKGludClvZmZzZXRvZihFQV9BVFRSLCBu YW1lKSkKKysJCQkJYnJlYWs7CisgCQkJcF9lYSA9IChjb25zdCBFQV9BVFRSKikmYnVmW29mZnNl dF07CisrCQkJaWYgKG50ZnNfZWFfaW5jb25zaXN0ZW50KHBfZWEsIG9mZnNldCwgbHRoKSkKKysJ CQkJYnJlYWs7CisgCQkJbmV4dCA9IGxlMzJfdG9fY3B1KHBfZWEtPm5leHRfZW50cnlfb2Zmc2V0 KTsKKy0JCQlmb3VuZCA9ICgobmV4dCA+IChpbnQpKHNpemVvZihseGRldikgKyBzaXplb2YoZGV2 aWNlKSkpCistCQkJCSYmIChwX2VhLT5uYW1lX2xlbmd0aCA9PSAoc2l6ZW9mKGx4ZGV2KSAtIDEp KQorKwkJCWZvdW5kID0gKChwX2VhLT5uYW1lX2xlbmd0aCA9PSAoc2l6ZW9mKGx4ZGV2KSAtIDEp KQorIAkJCQkmJiAocF9lYS0+dmFsdWVfbGVuZ3RoCisgCQkJCQk9PSBjb25zdF9jcHVfdG9fbGUx NihzaXplb2YoZGV2aWNlKSkpCisgCQkJCSYmICFtZW1jbXAocF9lYS0+bmFtZSwgbHhkZXYsIHNp emVvZihseGRldikpKTsKKyAJCQlpZiAoIWZvdW5kKQorIAkJCQlvZmZzZXQgKz0gbmV4dDsKKy0J CX0gd2hpbGUgKCFmb3VuZCAmJiAobmV4dCA+IDApICYmIChvZmZzZXQgPCBsdGgpKTsKKysJCX0g d2hpbGUgKCFmb3VuZCAmJiAob2Zmc2V0IDwgbHRoKSk7CisgCQlpZiAoZm91bmQpIHsKKyAJCQkJ LyogYmV3YXJlIG9mIGFsaWdubWVudCAqLworIAkJCW1lbWNweSgmZGV2aWNlLCAmcF9lYS0+bmFt ZVtwX2VhLT5uYW1lX2xlbmd0aCArIDFdLAoKZGlmZiAtLWdpdCBhLzVfbnRmcy0zZ18yMDIyLjEw LjMtU0FfMjAyNi0wNi0xXzExLnBhdGNoIGIvNV9udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2 LTFfMTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVmYzczYgot LS0gL2Rldi9udWxsCisrKyBiLzVfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0wNi0xXzExLnBh dGNoCkBAIC0wLDAgKzEsMjggQEAKK2RpZmYgLS1naXQgYS9saWJudGZzLTNnL2xvZ2ZpbGUuYyBi L2xpYm50ZnMtM2cvbG9nZmlsZS5jCitpbmRleCA5YzMxNTVlNzguLmU1ZThhZjYzYyAxMDA2NDQK Ky0tLSBhL2xpYm50ZnMtM2cvbG9nZmlsZS5jCisrKysgYi9saWJudGZzLTNnL2xvZ2ZpbGUuYwor QEAgLTE3NywxNCArMTc3LDE2IEBAIHN0YXRpYyBCT09MIG50ZnNfY2hlY2tfcmVzdGFydF9hcmVh KFJFU1RBUlRfUEFHRV9IRUFERVIgKnJwKQorIAlyYV9vZnMgPSBsZTE2X3RvX2NwdShycC0+cmVz dGFydF9hcmVhX29mZnNldCk7CisgCXJhID0gKFJFU1RBUlRfQVJFQSopKCh1OCopcnAgKyByYV9v ZnMpOworIAkvKgorLQkgKiBFdmVyeXRoaW5nIGJlZm9yZSByYS0+ZmlsZV9zaXplIG11c3QgYmUg YmVmb3JlIHRoZSBmaXJzdCB3b3JkCistCSAqIHByb3RlY3RlZCBieSBhbiB1cGRhdGUgc2VxdWVu Y2UgbnVtYmVyLiAgVGhpcyBlbnN1cmVzIHRoYXQgaXQgaXMKKy0JICogc2FmZSB0byBhY2Nlc3Mg cmEtPmNsaWVudF9hcnJheV9vZmZzZXQuCisrCSAqIFRoZSBmaXhlZCBSRVNUQVJUX0FSRUEgcHJl Zml4IG11c3QgYmUgZW50aXJlbHkgYmVmb3JlIHRoZSBmaXJzdAorKwkgKiBNU1QtcHJvdGVjdGVk IHNlY3RvciB3b3JkLiAgRml4dXBzIGhhdmUgbm90IGJlZW4gYXBwbGllZCB5ZXQsIHNvIHRoaXMK KysJICogbWFrZXMgZXZlcnkgZml4ZWQgZmllbGQgYWNjZXNzZWQgYmVsb3cgc2FmZSB0byByZWFk LgorKwkgKgorKwkgKiBUaGUgc3Vic2VxdWVudCBjbGllbnRfYXJyYXlfb2Zmc2V0IGNoZWNrIGJv dW5kcyBhbnkgZm9ybWF0LXNwZWNpZmljCisrCSAqIGV4dGVuc2lvbiBiZWZvcmUgdGhlIGNsaWVu dCBhcnJheS4KKyAJICovCistCWlmIChyYV9vZnMgKyBvZmZzZXRvZihSRVNUQVJUX0FSRUEsIGZp bGVfc2l6ZSkgPgorLQkJCU5URlNfQkxPQ0tfU0laRSAtIHNpemVvZih1MTYpKSB7CistCQludGZz X2xvZ19lcnJvcigiJExvZ0ZpbGUgcmVzdGFydCBhcmVhIHNwZWNpZmllcyAiCistCQkJCSJpbmNv bnNpc3RlbnQgZmlsZSBvZmZzZXQuXG4iKTsKKysJaWYgKHJhX29mcyArIHNpemVvZihSRVNUQVJU X0FSRUEpID4gTlRGU19CTE9DS19TSVpFIC0gc2l6ZW9mKHUxNikpIHsKKysJCW50ZnNfbG9nX2Vy cm9yKCIkTG9nRmlsZSByZXN0YXJ0IGFyZWEgZXh0ZW5kcyBpbnRvIHRoZSBmaXJzdCAiCisrCQkJ CSJNU1QtcHJvdGVjdGVkIHNlY3RvciB3b3JkLlxuIik7CisgCQlyZXR1cm4gRkFMU0U7CisgCX0K KyAJLyoKCmRpZmYgLS1naXQgYS82X250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYtMV8xMi5w YXRjaCBiLzZfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0wNi0xXzEyLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZmYxOTQKLS0tIC9kZXYvbnVsbAorKysgYi82 X250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYtMV8xMi5wYXRjaApAQCAtMCwwICsxLDczIEBA CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9udGZzLTNnL2F0dHJsaXN0LmggYi9pbmNsdWRlL250ZnMt M2cvYXR0cmxpc3QuaAoraW5kZXggMjk1MmU0OGI4Li40NDAyNzkzM2YgMTAwNjQ0CistLS0gYS9p bmNsdWRlL250ZnMtM2cvYXR0cmxpc3QuaAorKysrIGIvaW5jbHVkZS9udGZzLTNnL2F0dHJsaXN0 LmgKK0BAIC0yNiw2ICsyNiw5IEBACisgCisgI2luY2x1ZGUgImF0dHJpYi5oIgorIAorK2V4dGVy biBpbnQgbnRmc19hdHRybGlzdF9lbnRyeV9pbmNvbnNpc3RlbnQoY29uc3QgbnRmc19pbm9kZSAq bmksCisrCQkJCWNvbnN0IEFUVFJfTElTVF9FTlRSWSAqYWxlKTsKKysKKyBleHRlcm4gaW50IG50 ZnNfYXR0cmxpc3RfbmVlZChudGZzX2lub2RlICpuaSk7CisgCisgZXh0ZXJuIGludCBudGZzX2F0 dHJsaXN0X2VudHJ5X2FkZChudGZzX2lub2RlICpuaSwgQVRUUl9SRUNPUkQgKmF0dHIpOworZGlm ZiAtLWdpdCBhL2xpYm50ZnMtM2cvYXR0cmxpc3QuYyBiL2xpYm50ZnMtM2cvYXR0cmxpc3QuYwor aW5kZXggMjlkNDA4NTk4Li5jMDZjMGVkYjIgMTAwNjQ0CistLS0gYS9saWJudGZzLTNnL2F0dHJs aXN0LmMKKysrKyBiL2xpYm50ZnMtM2cvYXR0cmxpc3QuYworQEAgLTQ1LDYgKzQ1LDMyIEBACisg I2luY2x1ZGUgImxvZ2dpbmcuaCIKKyAjaW5jbHVkZSAibWlzYy5oIgorIAorKy8qKgorKyAqIG50 ZnNfYXR0cmxpc3RfZW50cnlfaW5jb25zaXN0ZW50IC0gY2hlY2sgYW4gYXR0cmlidXRlIGxpc3Qg ZW50cnkKKysgKiBAbmk6CQlpbm9kZSB3aG9zZSBhdHRyaWJ1dGUgbGlzdCBpcyBiZWluZyB3YWxr ZWQKKysgKiBAYWxlOgllbnRyeSB0byBjaGVjaworKyAqCisrICogVGhlIGVudHJ5IGhhcyB0byBs aWUgZnVsbHkgd2l0aGluIHRoZSBhdHRyaWJ1dGUgbGlzdCBzbyB0aGF0IGl0cyBmaWVsZHMgY2Fu CisrICogYmUgcmVhZCwgYW5kIGl0IGhhcyB0byBiZSBsb25nIGVub3VnaCBmb3IgYSB3YWxrIHRv IG1ha2UgcHJvZ3Jlc3MuCisrICoKKysgKiBSZXR1cm4gMCBpZiB0aGUgZW50cnkgbWF5IGJlIHVz ZWQgYW5kIC0xIGlmIGl0IG1heSBub3QsIHdpdGggZXJybm8gc2V0IHRvCisrICogRUlPLgorKyAq LworK2ludCBudGZzX2F0dHJsaXN0X2VudHJ5X2luY29uc2lzdGVudChjb25zdCBudGZzX2lub2Rl ICpuaSwKKysJCQkJY29uc3QgQVRUUl9MSVNUX0VOVFJZICphbGUpCisreworKwl1MzIgbGVuZ3Ro ID0gbGUxNl90b19jcHUoYWxlLT5sZW5ndGgpOworKworKwlpZiAoKGxlbmd0aCA8IHNpemVvZihB VFRSX0xJU1RfRU5UUlkpKSB8fCAoKChjb25zdCB1OCopYWxlICsgbGVuZ3RoKQorKwkJCT4gKG5p LT5hdHRyX2xpc3QgKyBuaS0+YXR0cl9saXN0X3NpemUpKSkgeworKwkJbnRmc19sb2dfZXJyb3Io IkNvcnJ1cHQgYXR0cmlidXRlIGxpc3QgZW50cnkgaW4gaW5vZGUgJWxsZFxuIiwKKysJCQkJKGxv bmcgbG9uZyluaS0+bWZ0X25vKTsKKysJCWVycm5vID0gRUlPOworKwkJcmV0dXJuIC0xOworKwl9 CisrCXJldHVybiAwOworK30KKysKKyAvKioKKyAgKiBudGZzX2F0dHJsaXN0X25lZWQgLSBjaGVj ayB3aGV0aGVyIGlub2RlIG5lZWQgYXR0cmlidXRlIGxpc3QKKyAgKiBAbmk6CQlvcGVuZWQgbnRm cyBpbm9kZSBmb3Igd2hpY2ggcGVyZm9ybSBjaGVjaworQEAgLTg1LDYgKzExMSw4IEBAIGludCBu dGZzX2F0dHJsaXN0X25lZWQobnRmc19pbm9kZSAqbmkpCisgCWVycm5vID0gMDsKKyAJYWxlID0g KEFUVFJfTElTVF9FTlRSWSAqKW5pLT5hdHRyX2xpc3Q7CisgCXdoaWxlICgodTgqKWFsZSA8IG5p LT5hdHRyX2xpc3QgKyBuaS0+YXR0cl9saXN0X3NpemUpIHsKKysJCWlmIChudGZzX2F0dHJsaXN0 X2VudHJ5X2luY29uc2lzdGVudChuaSwgYWxlKSkKKysJCQlyZXR1cm4gLTE7CisgCQlpZiAoTVJF Rl9MRShhbGUtPm1mdF9yZWZlcmVuY2UpICE9IG5pLT5tZnRfbm8pCisgCQkJcmV0dXJuIDE7Cisg CQlhbGUgPSAoQVRUUl9MSVNUX0VOVFJZICopKCh1OCopYWxlICsgbGUxNl90b19jcHUoYWxlLT5s ZW5ndGgpKTsKK2RpZmYgLS1naXQgYS9saWJudGZzLTNnL2lub2RlLmMgYi9saWJudGZzLTNnL2lu b2RlLmMKK2luZGV4IDg4MTlmZjFkYy4uNjA1YjYwZGZmIDEwMDY0NAorLS0tIGEvbGlibnRmcy0z Zy9pbm9kZS5jCisrKysgYi9saWJudGZzLTNnL2lub2RlLmMKK0BAIC03MTYsNiArNzE2LDggQEAg aW50IG50ZnNfaW5vZGVfYXR0YWNoX2FsbF9leHRlbnRzKG50ZnNfaW5vZGUgKm5pKQorIAllcnJu byA9IDA7CisgCWFsZSA9IChBVFRSX0xJU1RfRU5UUlkgKiluaS0+YXR0cl9saXN0OworIAl3aGls ZSAoKHU4KilhbGUgPCBuaS0+YXR0cl9saXN0ICsgbmktPmF0dHJfbGlzdF9zaXplKSB7CisrCQlp ZiAobnRmc19hdHRybGlzdF9lbnRyeV9pbmNvbnNpc3RlbnQobmksIGFsZSkpCisrCQkJcmV0dXJu IC0xOworIAkJaWYgKG5pLT5tZnRfbm8gIT0gTVJFRl9MRShhbGUtPm1mdF9yZWZlcmVuY2UpICYm CisgCQkJCXByZXZfYXR0YWNoZWQgIT0gTVJFRl9MRShhbGUtPm1mdF9yZWZlcmVuY2UpKSB7Cisg CQkJaWYgKCFudGZzX2V4dGVudF9pbm9kZV9vcGVuKG5pLCBhbGUtPm1mdF9yZWZlcmVuY2UpKSB7 CgpkaWZmIC0tZ2l0IGEvN19udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMTkucGF0Y2gg Yi83X250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYtMV8xOS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTAwOTJjCi0tLSAvZGV2L251bGwKKysrIGIvN19udGZz LTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMTkucGF0Y2gKQEAgLTAsMCArMSwxNDIgQEAKK2Rp ZmYgLS1naXQgYS9saWJudGZzLTNnL2FjbHMuYyBiL2xpYm50ZnMtM2cvYWNscy5jCitpbmRleCA5 ZjE2ZmVjZDAuLmQ3YzVlZjhjZCAxMDA2NDQKKy0tLSBhL2xpYm50ZnMtM2cvYWNscy5jCisrKysg Yi9saWJudGZzLTNnL2FjbHMuYworQEAgLTU5NSw2ICs1OTUsNTkgQEAgc3RhdGljIEJPT0wgdmFs aWRfYWNsKGNvbnN0IEFDTCAqcGFjbCwgdW5zaWduZWQgaW50IGVuZCkKKyAJcmV0dXJuIChvayk7 CisgfQorIAorKy8qKgorKyAqIHNpZF9hdF9zdGFuZGFyZF9vZmZzZXQgLSBjaGVjayB3aGV0aGVy IGFuIEFDRSBrZWVwcyBpdHMgU0lEIHdoZXJlIGV4cGVjdGVkCisrICogQHBhY2U6CXRoZSBBQ0Ug dG8gY2hlY2sKKysgKgorKyAqIE1vc3QgQUNFIHR5cGVzIGtlZXAgdGhlIFNJRCBqdXN0IGFmdGVy IHRoZSBoZWFkZXIgYW5kIHRoZSBhY2Nlc3MgbWFzayA6CisrICoKKysgKiAgICAgIHwgaGVhZGVy IHwgbWFzayB8ICAgICAgICAgICAgICBTSUQgICAgICAgICAgICAgIHwKKysgKiAgICAgIHw9PT09 PT09PXw9PT09PT18PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PXwKKysgKiAgICAgIDAg ICAgICAgIDQgICAgICA4CisrICoKKysgKiBUaGUgb2JqZWN0IHR5cGVzIGZpcnN0IGtlZXAgYSBm bGFnIHdvcmQgYW5kIHVwIHRvIHR3byBHVUlEcy4gVGhlIGZsYWdzIHRlbGwKKysgKiB3aGljaCBv ZiB0aGUgR1VJRHMgYXJlIHByZXNlbnQgc28gdGhlIFNJRCBtYXkgYmVnaW4gYXQgMTIgb3IgMjgg b3IgNDQgOgorKyAqCisrICogICAgICB8IGhlYWRlciB8IG1hc2sgfCBmbGFncyB8IG9iamVjdCB0 eXBlIHwgaW5oZXJpdGVkIG9iamVjdCB0eXBlIHwgU0lEIHwKKysgKiAgICAgIHw9PT09PT09PXw9 PT09PT18PT09PT09PXw9PT09PT09PT09PT09fD09PT09PT09PT09PT09PT09PT09PT09fD09PT09 fAorKyAqICAgICAgMCAgICAgICAgNCAgICAgIDggICAgICAxMiAgICAgICAgICAgIDI4ICAgICAg ICAgICAgICAgICAgICAgIDQ0CisrICoKKysgKiBTbyBmb3IgYW4gb2JqZWN0IHR5cGUgdGhlIFNJ RCBjYW5ub3QgZXZlbiBiZSBsb2NhdGVkIGZyb20gdGhlIHR5cGUgYWxvbmUuCisrICoKKysgKiBU aGUgdHlwZXMgbGlzdGVkIGJlbG93IGFyZSB0aGUgb25lcyB3aG9zZSBTSUQgdmFsaWRfYWNsKCkg aGFzIGNoZWNrZWQsIHNvCisrICogZm9yIHRoZW0gdGhlIFNJRCBpcyBrbm93biB0byBsaWUgd2l0 aGluIHRoZSBBQ0UuIFRoZSBvdGhlcnMgZWl0aGVyIG1vdmUgdGhlCisrICogU0lEIGFzIHNob3du IGFib3ZlIG9yIGFyZSByZXNlcnZlZCB3aXRoIG5vIGRlZmluZWQgbGF5b3V0LCBhbmQgZm9yIHRo b3NlIHRoZQorKyAqIGJ5dGVzIGF0IHRoZSBzdGFuZGFyZCBvZmZzZXQgYXJlIG5vdCBhIFNJRCBh bmQgbXVzdCBub3QgYmUgcmVhZCBhcyBvbmUuCisrICoKKysgKiBUaGUgbGlzdCBpcyB0aGUgc2V0 IG9mIHR5cGVzIGluIE1TLURUWVAgc2VjdGlvbiAyLjQuNC4xIHdoaWNoIGFyZSBuZWl0aGVyIGFu CisrICogb2JqZWN0IHR5cGUgbm9yIHJlc2VydmVkLiBJdCBoYXMgdG8gYmUga2VwdCBpbiBzdGVw IHdpdGggdmFsaWRfYWNsKCkuCisrICoKKysgKiBSZXR1cm4gVFJVRSBpZiB0aGUgU0lEIGlzIGF0 IHRoZSBzdGFuZGFyZCBvZmZzZXQgYW5kIEZBTFNFIG90aGVyd2lzZS4KKysgKi8KKysKKytzdGF0 aWMgQk9PTCBzaWRfYXRfc3RhbmRhcmRfb2Zmc2V0KGNvbnN0IEFDQ0VTU19BTExPV0VEX0FDRSAq cGFjZSkKKyt7CisrCUJPT0wgc3RhbmRhcmQ7CisrCisrCXN3aXRjaCAocGFjZS0+dHlwZSkgewor KwljYXNlIEFDQ0VTU19BTExPV0VEX0FDRV9UWVBFIDoKKysJY2FzZSBBQ0NFU1NfREVOSUVEX0FD RV9UWVBFIDoKKysJY2FzZSBTWVNURU1fQVVESVRfQUNFX1RZUEUgOgorKwljYXNlIEFDQ0VTU19B TExPV0VEX0NBTExCQUNLX0FDRV9UWVBFIDoKKysJY2FzZSBBQ0NFU1NfREVOSUVEX0NBTExCQUNL X0FDRV9UWVBFIDoKKysJY2FzZSBTWVNURU1fQVVESVRfQ0FMTEJBQ0tfQUNFX1RZUEUgOgorKwlj YXNlIFNZU1RFTV9NQU5EQVRPUllfTEFCRUxfQUNFX1RZUEUgOgorKwljYXNlIFNZU1RFTV9SRVNP VVJDRV9BVFRSSUJVVEVfQUNFX1RZUEUgOgorKwljYXNlIFNZU1RFTV9TQ09QRURfUE9MSUNZX0lE X0FDRV9UWVBFIDoKKysJCXN0YW5kYXJkID0gVFJVRTsKKysJCWJyZWFrOworKwlkZWZhdWx0IDoK KysJCXN0YW5kYXJkID0gRkFMU0U7CisrCQlicmVhazsKKysJfQorKwlyZXR1cm4gKHN0YW5kYXJk KTsKKyt9CisrCisgLyoKKyAgKgkJRG8gc2FuaXR5IGNoZWNrcyBvbiBzZWN1cml0eSBkZXNjcmlw dG9ycyByZWFkIGZyb20gc3RvcmFnZQorICAqCWJhc2ljYWxseSwgd2UgbWFrZSBzdXJlIHRoYXQg ZXZlcnkgZmllbGQgaG9sZHMgd2l0aGluCitAQCAtNjU2LDYgKzcwOSwzMCBAQCBCT09MIG50ZnNf dmFsaWRfZGVzY3IoY29uc3QgY2hhciAqc2VjdXJhdHRyLCB1bnNpZ25lZCBpbnQgYXR0cnN6KQor IAkJJiYgKG50ZnNfYXR0cl9zaXplKHNlY3VyYXR0cikgPD0gYXR0cnN6KQorIAkJJiYgbnRmc192 YWxpZF9zaWQoKGNvbnN0IFNJRCopJnNlY3VyYXR0cltvZmZvd25lcl0pCisgCQkmJiBudGZzX3Zh bGlkX3NpZCgoY29uc3QgU0lEKikmc2VjdXJhdHRyW29mZmdyb3VwXSkKKysJCQkvKgorKwkJCSAq IENoZWNrIHRoYXQgdGhlIG93bmVyIGFuZCBncm91cCBTSURzLCBhbmQgdGhlIEFDTHMsCisrCQkJ ICogZW5kIHdpdGhpbiB0aGUgYWxsb2NhdGVkIHN0b3JhZ2UuCisrCQkJICoKKysJCQkgKiBudGZz X2F0dHJfc2l6ZSgpIGNhbm5vdCBiZSByZWxpZWQgb24gZm9yIHRoaXMuIEl0CisrCQkJICogb25s eSB0YWtlcyBhIGZpZWxkIGludG8gYWNjb3VudCB3aGVuIHRoZSBmaWVsZCBsaWVzCisrCQkJICog YmV5b25kIHRoZSBvbmVzIGV4YW1pbmVkIGJlZm9yZSBpdCwgc28gYSBmaWVsZCBhdCBhCisrCQkJ ICogbG93ZXIgb2Zmc2V0IGlzIGxlZnQgb3V0IG9mIHRoZSBzaXplIGl0IHJldHVybnMuIFRoZQor KwkJCSAqIG93bmVyIFNJRCBpcyB0aGUgdXN1YWwgY2FzZSwgYXMgaXQgaXMgcGxhY2VkIGJlZm9y ZQorKwkJCSAqIHRoZSBncm91cCBTSUQgaW4gbW9zdCBkZXNjcmlwdG9ycy4KKysJCQkgKgorKwkJ CSAqIFRoZSBTSUQgc2l6ZXMgYXJlIGtub3duIHNhbmUgaGVyZSBiZWNhdXNlCisrCQkJICogbnRm c192YWxpZF9zaWQoKSBoYXMganVzdCBib3VuZGVkIHRoZSBzdWIgYXV0aG9yaXR5CisrCQkJICog Y291bnQsIGFuZCB0aGUgQUNMIHNpemVzIGFyZSByZWFkYWJsZSBiZWNhdXNlIHRoZQorKwkJCSAq IEFDTCBoZWFkZXJzIHdlcmUgY2hlY2tlZCB0byBiZSB3aXRoaW4gc3RvcmFnZS4KKysJCQkgKi8K KysJCSYmICgob2Zmb3duZXIgKyAodW5zaWduZWQgaW50KW50ZnNfc2lkX3NpemUoKGNvbnN0IFNJ RCopCisrCQkJCSZzZWN1cmF0dHJbb2Zmb3duZXJdKSkgPD0gYXR0cnN6KQorKwkJJiYgKChvZmZn cm91cCArICh1bnNpZ25lZCBpbnQpbnRmc19zaWRfc2l6ZSgoY29uc3QgU0lEKikKKysJCQkJJnNl Y3VyYXR0cltvZmZncm91cF0pKSA8PSBhdHRyc3opCisrCQkmJiAoIW9mZmRhY2wKKysJCQkJfHwg KChvZmZkYWNsICsgbGUxNl90b19jcHUocGRhY2wtPnNpemUpKSA8PSBhdHRyc3opKQorKwkJJiYg KCFvZmZzYWNsCisrCQkJCXx8ICgob2Zmc2FjbCArIGxlMTZfdG9fY3B1KHBzYWNsLT5zaXplKSkg PD0gYXR0cnN6KSkKKyAJCQkvKgorIAkJCSAqIGlmIHRoZXJlIGlzIGFuIEFDTCwgYXMgaW5kaWNh dGVkIGJ5IG9mZmRhY2wsCisgCQkJICogcmVxdWlyZSBTRV9EQUNMX1BSRVNFTlQKK0BAIC0zMjIw LDcgKzMyOTcsOCBAQCBzdGF0aWMgaW50IGJ1aWxkX3N0ZF9wZXJtaXNzaW9ucyhjb25zdCBjaGFy ICpzZWN1cmF0dHIsCisgCX0KKyAJZm9yIChuYWNlID0gMDsgbmFjZSA8IGFjZWNudDsgbmFjZSsr KSB7CisgCQlwYWNlID0gKGNvbnN0IEFDQ0VTU19BTExPV0VEX0FDRSopJnNlY3VyYXR0cltvZmZh Y2VdOworLQkJaWYgKCEocGFjZS0+ZmxhZ3MgJiBJTkhFUklUX09OTFlfQUNFKSkgeworKwkJaWYg KCEocGFjZS0+ZmxhZ3MgJiBJTkhFUklUX09OTFlfQUNFKQorKwkJICAgJiYgc2lkX2F0X3N0YW5k YXJkX29mZnNldChwYWNlKSkgeworIAkJCWlmIChudGZzX3NhbWVfc2lkKHVzaWQsICZwYWNlLT5z aWQpCisgCQkJICB8fCBudGZzX3NhbWVfc2lkKG93bmVyc2lkLCAmcGFjZS0+c2lkKSkgeworIAkJ CQlub293biA9IEZBTFNFOworQEAgLTMzMTAsNyArMzM4OCw4IEBAIHN0YXRpYyBpbnQgYnVpbGRf b3duZ3JwX3Blcm1pc3Npb25zKGNvbnN0IGNoYXIgKnNlY3VyYXR0ciwKKyAJfQorIAlmb3IgKG5h Y2UgPSAwOyBuYWNlIDwgYWNlY250OyBuYWNlKyspIHsKKyAJCXBhY2UgPSAoY29uc3QgQUNDRVNT X0FMTE9XRURfQUNFKikmc2VjdXJhdHRyW29mZmFjZV07CistCQlpZiAoIShwYWNlLT5mbGFncyAm IElOSEVSSVRfT05MWV9BQ0UpKSB7CisrCQlpZiAoIShwYWNlLT5mbGFncyAmIElOSEVSSVRfT05M WV9BQ0UpCisrCQkgICAmJiBzaWRfYXRfc3RhbmRhcmRfb2Zmc2V0KHBhY2UpKSB7CisgCQkJaWYg KChudGZzX3NhbWVfc2lkKHVzaWQsICZwYWNlLT5zaWQpCisgCQkJICAgfHwgbnRmc19zYW1lX3Np ZChvd25lcnNpZCwgJnBhY2UtPnNpZCkpCisgCQkJICAgICYmIChwYWNlLT5tYXNrICYgV1JJVEVf T1dORVIpKSB7CitAQCAtMzUwMSw3ICszNTgwLDggQEAgc3RhdGljIGludCBidWlsZF9vd25hZG1p bl9wZXJtaXNzaW9ucyhjb25zdCBjaGFyICpzZWN1cmF0dHIsCisgCWZvciAobmFjZSA9IDA7IG5h Y2UgPCBhY2VjbnQ7IG5hY2UrKykgeworIAkJcGFjZSA9IChjb25zdCBBQ0NFU1NfQUxMT1dFRF9B Q0UqKSZzZWN1cmF0dHJbb2ZmYWNlXTsKKyAJCWlmICghKHBhY2UtPmZsYWdzICYgSU5IRVJJVF9P TkxZX0FDRSkKKy0JCSAgICYmICEofnBhY2UtPm1hc2sgJiAoUk9PVF9PV05FUl9VTk1BUksgfCBS T09UX0dST1VQX1VOTUFSSykpKSB7CisrCQkgICAmJiAhKH5wYWNlLT5tYXNrICYgKFJPT1RfT1dO RVJfVU5NQVJLIHwgUk9PVF9HUk9VUF9VTk1BUkspKQorKwkJICAgJiYgc2lkX2F0X3N0YW5kYXJk X29mZnNldChwYWNlKSkgeworIAkJCWlmICgobnRmc19zYW1lX3NpZCh1c2lkLCAmcGFjZS0+c2lk KQorIAkJCSAgIHx8IG50ZnNfc2FtZV9zaWQob3duZXJzaWQsICZwYWNlLT5zaWQpKQorIAkJCSAg ICAgJiYgKCgocGFjZS0+bWFzayAmIFdSSVRFX09XTkVSKSAmJiBmaXJzdGFwcGx5KSkpIHsKK0BA IC0zNzQ4LDYgKzM4MjgsMTYgQEAgc3RydWN0IFBPU0lYX1NFQ1VSSVRZICpudGZzX2J1aWxkX3Bl cm1pc3Npb25zX3Bvc2l4KAorIAkJCXBjdHggPSAmY3R4WzBdOworIAkJfQorIAkJaWdub3JlID0g RkFMU0U7CisrCQkJLyoKKysJCQkgKiBPbmx5IGxvb2sgZm9yIGEgU0lEIGF0IHRoZSBzdGFuZGFy ZCBvZmZzZXQgd2hlbiB0aGUKKysJCQkgKiBBQ0UgdHlwZSBrZWVwcyBvbmUgdGhlcmUuIEFuIEFD RSB3aGljaCBkb2VzIG5vdAorKwkJCSAqIGNvdWxkIG5ldmVyIGNvbnRyaWJ1dGUgdG8gdGhlIFBv c2l4IEFDTCBiZWxvdywgYXMKKysJCQkgKiB0aGF0IG5lZWRzIGFuIGFsbG93IG9yIGRlbnkgdHlw ZS4KKysJCQkgKi8KKysJCWlmICghc2lkX2F0X3N0YW5kYXJkX29mZnNldChwYWNlKSkgeworKwkJ CW9mZmFjZSArPSBsZTE2X3RvX2NwdShwYWNlLT5zaXplKTsKKysJCQljb250aW51ZTsKKysJCX0K KyAJCQkvKgorIAkJCSAqIGdyYW50cyBmb3Igcm9vdCBhcyBhIGRlc2lnbmF0ZWQgdXNlciBvciBn cm91cAorIAkJCSAqLwoKZGlmZiAtLWdpdCBhLzhfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0w Ni0xXzIwLnBhdGNoIGIvOF9udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMjAucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJlZjEzOAotLS0gL2Rldi9udWxs CisrKyBiLzhfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0wNi0xXzIwLnBhdGNoCkBAIC0wLDAg KzEsMjkgQEAKK2RpZmYgLS1naXQgYS9saWJudGZzLTNnL2FjbHMuYyBiL2xpYm50ZnMtM2cvYWNs cy5jCitpbmRleCA5ZjE2ZmVjZDAuLmZmNWY3MjNkYiAxMDA2NDQKKy0tLSBhL2xpYm50ZnMtM2cv YWNscy5jCisrKysgYi9saWJudGZzLTNnL2FjbHMuYworQEAgLTM1ODEsMTQgKzM1ODEsMjIgQEAg Y29uc3QgU0lEICpudGZzX2FjbF9vd25lcihjb25zdCBjaGFyICpzZWN1cmF0dHIpCisgCQlhY2Vj bnQgPSBsZTE2X3RvX2NwdShwYWNsLT5hY2VfY291bnQpOworIAkJb2ZmYWNlID0gb2ZmZGFjbCAr IHNpemVvZihBQ0wpOworIAkJbmFjZSA9IDA7CistCQlkbyB7CisrCQkJLyoKKysJCQkgKiBUZXN0 IHRoZSBjb3VudCBiZWZvcmUgcmVhZGluZyBhbiBBQ0UuIEFuIGVtcHR5IEFDTAorKwkJCSAqIGhh cyBub25lIHRvIHJlYWQgYW5kIHRoZSBieXRlcyB3aGljaCB3b3VsZCBob2xkIHRoZQorKwkJCSAq IGZpcnN0IG9uZSBhcmUgbm90IHBhcnQgb2YgdGhlIEFDTC4gdmFsaWRfYWNsKCkgaGFzCisrCQkJ ICogbm90IGNoZWNrZWQgdGhlbSBlaXRoZXIgYmVjYXVzZSBpdCBoYWQgbm8gQUNFIHRvCisrCQkJ ICogd2Fsay4KKysJCQkgKi8KKysJCXdoaWxlICghZm91bmQgJiYgKG5hY2UgPCBhY2VjbnQpKSB7 CisgCQkJcGFjZSA9IChjb25zdCBBQ0NFU1NfQUxMT1dFRF9BQ0UqKSZzZWN1cmF0dHJbb2ZmYWNl XTsKKyAJCQlpZiAoKHBhY2UtPm1hc2sgJiBXUklURV9PV05FUikKKyAJCQkgICAmJiAocGFjZS0+ dHlwZSA9PSBBQ0NFU1NfQUxMT1dFRF9BQ0VfVFlQRSkKKyAJCQkgICAmJiBudGZzX2lzX3VzZXJf c2lkKCZwYWNlLT5zaWQpKQorIAkJCQlmb3VuZCA9IFRSVUU7CisgCQkJb2ZmYWNlICs9IGxlMTZf dG9fY3B1KHBhY2UtPnNpemUpOworLQkJfSB3aGlsZSAoIWZvdW5kICYmICgrK25hY2UgPCBhY2Vj bnQpKTsKKysJCQluYWNlKys7CisrCQl9CisgCX0KKyAJaWYgKGZvdW5kKQorIAkJdXNpZCA9ICZw YWNlLT5zaWQ7CgpkaWZmIC0tZ2l0IGEvbnRmcy0zZy5zcGVjIGIvbnRmcy0zZy5zcGVjCmluZGV4 IDdkNmRmMWEuLmY0ODc4M2QgMTAwNjQ0Ci0tLSBhL250ZnMtM2cuc3BlYworKysgYi9udGZzLTNn LnNwZWMKQEAgLTgsNyArOCw3IEBACiBOYW1lOiAgICAgICAgICAgbnRmcy0zZwogRXBvY2g6ICAg ICAgICAgIDIKIFZlcnNpb246ICAgICAgICAyMDIyLjEwLjMKLVJlbGVhc2U6ICAgICAgICAxMSV7 P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMTIlez9kaXN0fQogU3VtbWFyeTogICAgICAgIExpbnV4 IE5URlMgdXNlcnNwYWNlIGRyaXZlcgogIyBBdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCBmcm9tIG9s ZCBmb3JtYXQ6IEdQTHYyKyAtIHJldmlldyBpcyBoaWdobHkgcmVjb21tZW5kZWQuCiBMaWNlbnNl OiAgICAgICAgR1BMLTIuMC1vci1sYXRlcgpAQCAtMzgsNiArMzgsMTQgQEAgUGF0Y2gxMDU6ICAg ICAgIDZfbnRmcy0zZ18yMDIyLjEwLjMtQ1ZFLTIwMjYtNDY1NzAucGF0Y2gKICMgUGF0Y2gxMDY6 ICAgICAgIDdfbnRmcy0zZ18yMDIyLjEwLjMtQ1ZFLTIwMjYtNDY1NzIucGF0Y2gKIFBhdGNoMTA3 OiAgICAgICA4X250ZnMtM2dfMjAyMi4xMC4zLUNWRS0yMDI2LTU2MTM1LnBhdGNoCiAjIFBhdGNo MTA4OiAgICAgICA5X250ZnMtM2dfMjAyMi4xMC4zLUNWRS0yMDI2LTU2MTM2LnBhdGNoCitQYXRj aDEwOTogICAgICAgMV9udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMDUucGF0Y2gKK1Bh dGNoMTEwOiAgICAgICAyX250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYtMV8wNy5wYXRjaAor UGF0Y2gxMTE6ICAgICAgIDNfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0wNi0xXzA4LnBhdGNo CitQYXRjaDExMjogICAgICAgNF9udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFfMTAucGF0 Y2gKK1BhdGNoMTEzOiAgICAgICA1X250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYtMV8xMS5w YXRjaAorUGF0Y2gxMTQ6ICAgICAgIDZfbnRmcy0zZ18yMDIyLjEwLjMtU0FfMjAyNi0wNi0xXzEy LnBhdGNoCitQYXRjaDExNTogICAgICAgN19udGZzLTNnXzIwMjIuMTAuMy1TQV8yMDI2LTA2LTFf MTkucGF0Y2gKK1BhdGNoMTE2OiAgICAgICA4X250ZnMtM2dfMjAyMi4xMC4zLVNBXzIwMjYtMDYt MV8yMC5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOiAgbWFrZQogIyBudGZzLTNnIEJ1aWxkUmVxdWly ZXMKQEAgLTIxNiw2ICsyMjQsMTcgQEAgcm0gLXJmICV7YnVpbGRyb290fSV7X2RlZmF1bHRkb2Nk aXJ9LyV7bmFtZX0vUkVBRE1FCiAlZXhjbHVkZSAle19tYW5kaXJ9L21hbjgvbnRmcy0zZyoKIAog JWNoYW5nZWxvZworKiBGcmkgU2VwIDI1IDIwMjYgVG9tIENhbGxhd2F5IDxzcG90QGZlZG9yYXBy b2plY3Qub3JnPiAtIDI6MjAyMi4xMC4zLTEyCistIGFwcGx5IHVwc3RyZWFtIHBhdGNoZXMgZm9y OgorICBOVEZTLTNHLVNBXzIwMjYtMDYtMV8yMAorICBOVEZTLTNHLVNBXzIwMjYtMDYtMV8xOQor ICBOVEZTLTNHLVNBXzIwMjYtMDYtMV8xMgorICBOVEZTLTNHLVNBXzIwMjYtMDYtMV8xMQorICBO VEZTLTNHLVNBXzIwMjYtMDYtMV8xMAorICBOVEZTLTNHLVNBXzIwMjYtMDYtMV8wOAorICBOVEZT LTNHLVNBXzIwMjYtMDYtMV8wNworICBOVEZTLTNHLVNBXzIwMjYtMDYtMV8wNQorCiAqIFRodSBT ZXAgMjQgMjAyNiBUb20gQ2FsbGF3YXkgPHNwb3RAZmVkb3JhcHJvamVjdC5vcmc+IC0gMjoyMDIy LjEwLjMtMTEKIC0gYXBwbHkgdXBzdHJlYW0gcGF0Y2hlcyBmb3I6CiAgIENWRS0yMDI2LTQyNjE2 IENWRS0yMDI2LTQyNjE3IENWRS0yMDI2LTQyNjE4Cg==