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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Bumped to 1.5.10 Date: Sun, 31 May 2026 02:06:15 GMT Message-ID: <178019317515.1.16530146467203894931.rpms-ibus-b157f27b3562@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: b157f27b35629805519c263b27015ca809d06d60 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiBiMTU3ZjI3YjM1NjI5ODA1NTE5YzI2M2IyNzAxNWNhODA5ZDA2 ZDYwCkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE1LTAyLTI1VDE1OjQwOjIxKzA5OjAwClN0YXRzICA6ICsxNC8tMTIzMiBpbiA0IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvYjE1 N2YyN2IzNTYyOTgwNTUxOWMyNjNiMjcwMTVjYTgwOWQwNmQ2MD9icmFuY2g9YXV0b3Rvb2wKCkxv ZzoKQnVtcGVkIHRvIDEuNS4xMAoKLS0tCmRpZmYgLS1naXQgYS9pYnVzLTExMzY2MjMtbG9zdC1i eS1hbm90aGVyLWZvY3VzLnBhdGNoIGIvaWJ1cy0xMTM2NjIzLWxvc3QtYnktYW5vdGhlci1mb2N1 cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNiZjc2Yi4uMDAwMDAwMAot LS0gYS9pYnVzLTExMzY2MjMtbG9zdC1ieS1hbm90aGVyLWZvY3VzLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjQgKzAsMCBAQAotLS0tIGlidXMtMS41LjgvY2xpZW50L2d0azIvaWJ1c2ltY29u dGV4dC5jLm9yaWcJMjAxNC0xMC0xNiAxODozNTowNy4yMjkwNTY3NjcgKzA5MDAKLSsrKyBpYnVz LTEuNS44L2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwkyMDE0LTEwLTE3IDEyOjM2OjI5LjEz ODk5ODMxOCArMDkwMAotQEAgLTg1NywxMiArODU3LDcgQEAgaWJ1c19pbV9jb250ZXh0X2ZvY3Vz X2luIChHdGtJTUNvbnRleHQgKgotICAgICAgICAgfQotICAgICB9Ci0gCi0tICAgIGlmIChfZm9j dXNfaW1fY29udGV4dCAhPSBOVUxMKSB7Ci0tICAgICAgICBnX2Fzc2VydCAoX2ZvY3VzX2ltX2Nv bnRleHQgIT0gY29udGV4dCk7Ci0tICAgICAgICBndGtfaW1fY29udGV4dF9mb2N1c19vdXQgKF9m b2N1c19pbV9jb250ZXh0KTsKLS0gICAgICAgIGdfYXNzZXJ0IChfZm9jdXNfaW1fY29udGV4dCA9 PSBOVUxMKTsKLS0gICAgfQotLSAgICBlbHNlIHsKLSsgICAgaWYgKF9mb2N1c19pbV9jb250ZXh0 ID09IE5VTEwpIHsKLSAgICAgICAgIC8qIGZvY3VzIG91dCBmYWtlIGNvbnRleHQgKi8KLSAgICAg ICAgIGlmIChfZmFrZV9jb250ZXh0ICE9IE5VTEwpIHsKLSAgICAgICAgICAgICBpYnVzX2lucHV0 X2NvbnRleHRfZm9jdXNfb3V0IChfZmFrZV9jb250ZXh0KTsKLUBAIC05MDMsNyArODk4LDYgQEAg aWJ1c19pbV9jb250ZXh0X2ZvY3VzX291dCAoR3RrSU1Db250ZXh0Ci0gICAgICAgICByZXR1cm47 Ci0gICAgIH0KLSAKLS0gICAgZ19hc3NlcnQgKGNvbnRleHQgPT0gX2ZvY3VzX2ltX2NvbnRleHQp OwotICAgICBnX29iamVjdF9yZW1vdmVfd2Vha19wb2ludGVyICgoR09iamVjdCAqKSBjb250ZXh0 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3BvaW50ZXIgKikgJl9mb2N1 c19pbV9jb250ZXh0KTsKLSAgICAgX2ZvY3VzX2ltX2NvbnRleHQgPSBOVUxMOwoKZGlmZiAtLWdp dCBhL2lidXMtSEVBRC5wYXRjaCBiL2lidXMtSEVBRC5wYXRjaAppbmRleCBjYTg0MWJlLi44YjEz Nzg5IDEwMDY0NAotLS0gYS9pYnVzLUhFQUQucGF0Y2gKKysrIGIvaWJ1cy1IRUFELnBhdGNoCkBA IC0xLDExMTMgKzEgQEAKLUZyb20gZjMzZTE5YmVjNmFiN2QxYTYxMzM4OTRjODZmZGViNWE4MWNl MTFmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVq aXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMSBPY3QgMjAxNCAxNjoyMTowMiArMDkwMAot U3ViamVjdDogW1BBVENIXSBGaXggdG8gbG9zZSBhIGZvY3VzIHdoZW4gbW92ZSB0aGUgZm9jdXMg ZnJvbSB0aGUgZGVsYXllZAotIGZvY3VzLWluL291dC4KLQotU29tZSBhcHBsaWNhdGlvbnMgbGlr ZXMgZ29vZ2xlLWNocm9tZSBVUkwgZW50cnkgY291bGQgaGF2ZSB0aGUgZGVsYXllZAotZm9jdXMt aW4gYW5kIGZvY3VzLW91dCBldmVudHMgYW5kIGlidXMgZmFpbHMgdG8gZ2V0IHRoZSBuZXcgZm9j dXMuCi0KLUJVRz1yaGJ6IzkxOTg2MywgcmhieiMxMTM2NjIzCi0KLVJldmlldyBVUkw6IGh0dHBz Oi8vY29kZXJldmlldy5hcHBzcG90LmNvbS83NzI1MDQ1Ci0tLS0KLSBidXMvaW5wdXRjb250ZXh0 LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDI4 IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2J1cy9pbnB1dGNvbnRleHQuYyBiL2J1cy9p bnB1dGNvbnRleHQuYwotaW5kZXggYjdlMWZmOC4uZDk5MjRhMSAxMDA2NDQKLS0tLSBhL2J1cy9p bnB1dGNvbnRleHQuYwotKysrIGIvYnVzL2lucHV0Y29udGV4dC5jCi1AQCAtNzczLDYgKzc3Mywz NCBAQCBfaWNfcHJvY2Vzc19rZXlfZXZlbnQgIChCdXNJbnB1dENvbnRleHQgICAgICAgKmNvbnRl eHQsCi0gICAgICAgICB9Ci0gICAgIH0KLSAKLSsgICAgLyogSWYgSSBtb3ZlIHRoZSBmb2N1cyBm cm9tIHRoZSBVUkwgZW50cnkgYm94IG9mIGdvb2dsZS1jaHJvbWUKLSsgICAgICogdG8gdGhlIHRl eHQgYnVmZmVyIG9mIGdub21lLXRlcm1pbmFsLAotKyAgICAgKiBmb2N1cy1pbi9mb2N1cy1vdXQg b2YgZ29vZ2xlLWNocm9tZSBpcyBjYXVzZWQgYWZ0ZXIKLSsgICAgICogZm9jdXMtaW4gb2YgZ29u bWUtdGVybWluYWwgYW5kIGdub21lLXRlcm1pbmFsIGxvc2VzIHRoZSBmb2N1cy4KLSsgICAgICog VGhlIGZvbGxvd2luZyBmb2N1cyBldmVudHMgYXJlIHJlY2VpdmVkIGluIGlidXNpbWNvbnRleHQ6 Ci0rICAgICAqIDEpIChnbm9tZS10ZXJtaW5hbDo0NDUpOiBJQlVTLVdBUk5JTkcgKio6IDE1OjMy OjM2OjcxNyAgZm9jdXNfaW4KLSsgICAgICogMikgKGdvb2dsZS1jaHJvbWU6NDk1KTogSUJVUy1X QVJOSU5HICoqOiAxNTozMjozNjo4NjYgIGZvY3VzX291dAotKyAgICAgKiAzKSAoZ29vZ2xlLWNo cm9tZTo0OTUpOiBJQlVTLVdBUk5JTkcgKio6IDE1OjMyOjM2Ojg3NSAgZm9jdXNfaW4KLSsgICAg ICogNCkgKGdvb2dsZS1jaHJvbWU6NDk1KTogSUJVUy1XQVJOSU5HICoqOiAxNTozMjozNjo4OTAg IGZvY3VzX291dAotKyAgICAgKiBJbiAyKSwgSnVzdCByZXR1cm4gYmVjYXVzZSBmb2N1c2VkX2Nv bnRleHQgaXMgbm90IGdvb2dsZS1jaHJvbWUuCi0rICAgICAqIEluIDMpLCBmb2N1c2VkX2NvbnRl eHQgaXMgY2hhbmdlZCBmcm9tIGdub21lLXRlcm1pbmFsIHRvIGdvb2dsZS1jaHJvbWUKLSsgICAg ICogSW4gNCksIGZvY3VzZWRfY29udGV4dCBpcyBjaGFuZ2VkIGZyb20gZ29vZ2xlLWNocm9tZSB0 byBmYWtlZF9jb250ZXh0LgotKyAgICAgKgotKyAgICAgKiBJdCBzZWVtcyBnb29nbGUtY2hyb21l IGhhcyBhIHBvcHVwIHdpbmRvdyBvZiB0aGUgcHJlZGljdGlvbiBvZiBVUkwKLSsgICAgICogYW5k IGFzeW5jIGZvY3VzLWluL2ZvY3VzLW91dC4KLSsgICAgICovCi0rICAgIGlmIChjb250ZXh0LT5o YXNfZm9jdXMgJiYgY29udGV4dC0+ZW5naW5lID09IE5VTEwgJiYKLSsgICAgICAgIGNvbnRleHQt PmZha2UgPT0gRkFMU0UpIHsKLSsgICAgICAgIEJ1c0lucHV0Q29udGV4dCAqZm9jdXNlZF9jb250 ZXh0ID0KLSsgICAgICAgICAgICAgICAgYnVzX2lidXNfaW1wbF9nZXRfZm9jdXNlZF9pbnB1dF9j b250ZXh0IChCVVNfREVGQVVMVF9JQlVTKTsKLSsKLSsgICAgICAgIGlmIChmb2N1c2VkX2NvbnRl eHQgIT0gTlVMTCAmJiBjb250ZXh0ICE9IGZvY3VzZWRfY29udGV4dCAmJgotKyAgICAgICAgICAg IChjb250ZXh0LT5jYXBhYmlsaXRpZXMgJiBJQlVTX0NBUF9GT0NVUykgIT0gMCkgewotKyAgICAg ICAgICAgIGNvbnRleHQtPmhhc19mb2N1cyA9IEZBTFNFOwotKyAgICAgICAgICAgIGJ1c19pbnB1 dF9jb250ZXh0X2ZvY3VzX2luIChjb250ZXh0KTsKLSsgICAgICAgIH0KLSsgICAgfQotKwotICAg ICAvKiBpZ25vcmUga2V5IGV2ZW50cywgaWYgaXQgaXMgYSBmYWtlIGlucHV0IGNvbnRleHQgKi8K LSAgICAgaWYgKGNvbnRleHQtPmhhc19mb2N1cyAmJiBjb250ZXh0LT5lbmdpbmUgJiYgY29udGV4 dC0+ZmFrZSA9PSBGQUxTRSkgewotICAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9wcm9jZXNzX2tl eV9ldmVudCAoY29udGV4dC0+ZW5naW5lLAotLS0gCi0xLjguNS4zCi0KLUZyb20gYmI4MThlNDM4 NTk5ZjA4MGEwY2ZmYjBiNzU3M2Q5YTY0NmNmM2IxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwg MjggT2N0IDIwMTQgMTE6Mjg6NDYgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IG5vdCB0byBT RUdWIGlidXMtdWktZ3RrMyB3aXRoIHdyb25nICdwcmVsb2FkLWVuZ2luZXMnCi0gdmFsdWUuCi0K LUZlZG9yYSBpbnRlcm5hbCBwYXRjaCBjb3VsZCBzYXZlIGVuZ2luZXMgZnJvbSB0aGUgcmVzdWx0 IG9mCi0nc2V0eGtibWFwIC1xdWVyeScgYnV0IHRoZXkgZG8gbm90IGV4aXN0IGluIHNpbXBsZS54 bWwgbGlrZXMKLSd4a2I6Y246OmNoaScgd2hpbGUgbm93IHRoZSBjdXJyZW50IGltcGxlbWVudGF0 aW9uIGNvbnZlcnRzCi10aG9zZSBlbmdpbmVzIHRvICd4a2I6dXM6OmVuZycuCi0KLUJVRz1odHRw czovL2NvZGUuZ29vZ2xlLmNvbS9wL2lidXMvaXNzdWVzL2RldGFpbD9pZD0xNzQ0Ci1URVNUPXVp L2d0azMKLQotUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzE1ODY0 MDA0MwotLS0tCi0gdWkvZ3RrMy9wYW5lbC52YWxhIHwgOSArKysrKysrKysKLSAxIGZpbGUgY2hh bmdlZCwgOSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS91aS9ndGszL3BhbmVsLnZhbGEg Yi91aS9ndGszL3BhbmVsLnZhbGEKLWluZGV4IDc2Y2VhMjMuLjdiOTlmZGYgMTAwNjQ0Ci0tLS0g YS91aS9ndGszL3BhbmVsLnZhbGEKLSsrKyBiL3VpL2d0azMvcGFuZWwudmFsYQotQEAgLTc5MCw2 ICs3OTAsMTUgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7Ci0gCi0gICAgICAg ICB2YXIgZW5naW5lcyA9IG1fYnVzLmdldF9lbmdpbmVzX2J5X25hbWVzKG5hbWVzKTsKLSAKLSsg ICAgICAgIC8qIEZlZG9yYSBpbnRlcm5hbCBwYXRjaCBjb3VsZCBzYXZlIGVuZ2luZXMgbm90IGlu IHNpbXBsZS54bWwKLSsgICAgICAgICAqIGxpa2VzICd4a2I6Y246OmNoaScuCi0rICAgICAgICAg Ki8KLSsgICAgICAgIGlmIChlbmdpbmVzLmxlbmd0aCA9PSAwKSB7Ci0rICAgICAgICAgICAgbmFt ZXMgPSAgeyJ4a2I6dXM6OmVuZyJ9OwotKyAgICAgICAgICAgIG1fc2V0dGluZ3NfZ2VuZXJhbC5z ZXRfc3RydigicHJlbG9hZC1lbmdpbmVzIiwgbmFtZXMpOwotKyAgICAgICAgICAgIGVuZ2luZXMg PSBtX2J1cy5nZXRfZW5naW5lc19ieV9uYW1lcyhuYW1lcyk7Ci0rCX0KLSsKLSAgICAgICAgIGlm IChtX2VuZ2luZXMubGVuZ3RoID09IDApIHsKLSAgICAgICAgICAgICBtX2VuZ2luZXMgPSBlbmdp bmVzOwotICAgICAgICAgICAgIHN3aXRjaF9lbmdpbmUoMCwgdHJ1ZSk7Ci0tLSAKLTEuOC41LjMK LQotRnJvbSBlMjUwNzI2MzgxNzkyNmNlYjk3NTExZGEzZDYxNzkzNGQ0YjczNDQzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT3NhbXUgQW9raSA8b3NhbXVAZGViaWFuLm9yZz4KLURh dGU6IFRodSwgMTMgTm92IDIwMTQgMTE6MjM6MzggKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gaWJ1 cy1zZXR1cCB0cmllcyBDIHNpbmNlIGVuX1VTLlVURi04IGlzIG5vdCBpbnN0YWxsZWQgaW4KLSBE ZWJpYW4gYnkgZGVmYXVsdC4KLQotQlVHPWh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvaWJ1cy9p c3N1ZXMvZGV0YWlsP2lkPTE3NDcKLVRFU1Q9c2V0dXAKLQotUmV2aWV3IFVSTDogaHR0cHM6Ly9j b2RlcmV2aWV3LmFwcHNwb3QuY29tLzE2NjQyMDA0MwotUGF0Y2ggZnJvbSBPc2FtdSBBb2tpIDxv c2FtdUBkZWJpYW4ub3JnPi4KLS0tLQotIHNldHVwL2VuZ2luZWNvbWJvYm94LnB5IHwgIDIgKy0K LSBzZXR1cC9lbmdpbmVkaWFsb2cucHkgICB8IDEzICsrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNo YW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9z ZXR1cC9lbmdpbmVjb21ib2JveC5weSBiL3NldHVwL2VuZ2luZWNvbWJvYm94LnB5Ci1pbmRleCAy YTJhNjc3Li4xOTllZDk2IDEwMDY0NAotLS0tIGEvc2V0dXAvZW5naW5lY29tYm9ib3gucHkKLSsr KyBiL3NldHVwL2VuZ2luZWNvbWJvYm94LnB5Ci1AQCAtNzgsNyArNzgsNyBAQCBjbGFzcyBFbmdp bmVDb21ib0JveChHdGsuQ29tYm9Cb3gpOgotICAgICAgICAga2V5cy5zb3J0KGtleT1mdW5jdG9v bHMuY21wX3RvX2tleShsb2NhbGUuc3RyY29sbCkpCi0gICAgICAgICBsb2MgPSBsb2NhbGUuZ2V0 bG9jYWxlKClbMF0KLSAgICAgICAgICMgTm9uZSBvbiBDIGxvY2FsZQotLSAgICAgICAgaWYgbG9j ID09IE5vbmU6Ci0rICAgICAgICBpZiBsb2MgPT0gTm9uZSBvciBsb2MgPT0gJ0MnOgotICAgICAg ICAgICAgIGxvYyA9ICdlbl9VUycKLSAgICAgICAgIGN1cnJlbnRfbGFuZyA9IElCdXMuZ2V0X2xh bmd1YWdlX25hbWUobG9jKQotICAgICAgICAgIyBtb3ZlIGN1cnJlbnQgbGFuZ3VhZ2UgdG8gdGhl IGZpcnN0IHBsYWNlCi1kaWZmIC0tZ2l0IGEvc2V0dXAvZW5naW5lZGlhbG9nLnB5IGIvc2V0dXAv ZW5naW5lZGlhbG9nLnB5Ci1pbmRleCA4YTU2OTAxLi4yYjE3OWFkIDEwMDY0NAotLS0tIGEvc2V0 dXAvZW5naW5lZGlhbG9nLnB5Ci0rKysgYi9zZXR1cC9lbmdpbmVkaWFsb2cucHkKLUBAIC0zMjUs MjEgKzMyNSwyNiBAQCBjbGFzcyBFbmdpbmVEaWFsb2coR3RrLkRpYWxvZyk6Ci0gCi0gICAgICAg ICAgICAgIyBSZXRyaWV2ZSBVbnRyYW5zbGF0ZWQgbGFuZ3VhZ2UgbmFtZXMuCi0gICAgICAgICAg ICAgYmFja3VwX2xvY2FsZSA9IGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCwgTm9uZSkK LS0gICAgICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobG9j YWxlLkxDX0FMTCwgJ2VuX1VTLlVURi04JykKLSsgICAgICAgICAgICBkZWYgX19zZXRfdW50cmFu c193aXRoX2xvY2FsZShlbl9sb2NhbGUpOgotKyAgICAgICAgICAgICAgICBsb2NhbGUuc2V0bG9j YWxlKGxvY2FsZS5MQ19BTEwsIGVuX2xvY2FsZSkKLSAgICAgICAgICAgICAgICAgdW50cmFucyA9 IElCdXMuZ2V0X2xhbmd1YWdlX25hbWUoZS5nZXRfbGFuZ3VhZ2UoKSkKLSAgICAgICAgICAgICAg ICAgaWYgdW50cmFucyA9PSBOb25lOgotICAgICAgICAgICAgICAgICAgICAgdW50cmFucyA9ICcn Ci0gICAgICAgICAgICAgICAgIHNlbGYuX191bnRyYW5zX2Zvcl9sYW5nW2xdID0gdW50cmFucwot KyAgICAgICAgICAgIHRyeToKLSsgICAgICAgICAgICAgICAgX19zZXRfdW50cmFuc193aXRoX2xv Y2FsZSgnZW5fVVMuVVRGLTgnKQotICAgICAgICAgICAgIGV4Y2VwdCBsb2NhbGUuRXJyb3I6Ci0t ICAgICAgICAgICAgICAgIHBhc3MKLSsgICAgICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAg ICAgICAgICAgX19zZXRfdW50cmFuc193aXRoX2xvY2FsZSgnQycpCi0rICAgICAgICAgICAgICAg IGV4Y2VwdCBsb2NhbGUuRXJyb3I6Ci0rICAgICAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAg ICAgICAgbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxMLCBiYWNrdXBfbG9jYWxlKQotIAot ICAgICAgICAga2V5cyA9IGxpc3Qoc2VsZi5fX2VuZ2luZXNfZm9yX2xhbmcua2V5cygpKQotICAg ICAgICAga2V5cy5zb3J0KGtleT1mdW5jdG9vbHMuY21wX3RvX2tleShsb2NhbGUuc3RyY29sbCkp Ci0gICAgICAgICBsb2MgPSBsb2NhbGUuZ2V0bG9jYWxlKClbMF0KLSAgICAgICAgICMgTm9uZSBv biBDIGxvY2FsZQotLSAgICAgICAgaWYgbG9jID09IE5vbmU6Ci0rICAgICAgICBpZiBsb2MgPT0g Tm9uZSBvciBsb2MgPT0gJ0MnOgotICAgICAgICAgICAgIGxvYyA9ICdlbl9VUycKLSAgICAgICAg IGN1cnJlbnRfbGFuZyA9IElCdXMuZ2V0X2xhbmd1YWdlX25hbWUobG9jKQotICAgICAgICAgIyBt b3ZlIGN1cnJlbnQgbGFuZ3VhZ2UgdG8gdGhlIGZpcnN0IHBsYWNlCi0tLSAKLTEuOC41LjMKLQot RnJvbSBkZTM1NDFkMmEyNmM2NzNmMjdjMDY4NTU5ZjZkMzYzMDY0ZTAzNzYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29t PgotRGF0ZTogVGh1LCAxMyBOb3YgMjAxNCAxMToyODo0MyArMDkwMAotU3ViamVjdDogW1BBVENI XSBSZW1vdmUgIlJlbGVhc2UiIG1vZGlmaWVycyBrZXkgb24gaWJ1cy1zZXR1cC4KLQotQlVHPWh0 dHBzOi8vY29kZS5nb29nbGUuY29tL3AvaWJ1cy9pc3N1ZXMvZGV0YWlsP2lkPTE3NDgKLVRFU1Q9 c2V0dXAKLQotUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzE2NzU3 MDA0MwotLS0tCi0gc2V0dXAva2V5Ym9hcmRzaG9ydGN1dC5weSB8IDEyICsrKystLS0tLS0tLQot IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9zZXR1cC9rZXlib2FyZHNob3J0Y3V0LnB5IGIvc2V0dXAva2V5Ym9hcmRzaG9ydGN1 dC5weQotaW5kZXggOTE1OTVmNy4uODY0NjNjYiAxMDA2NDQKLS0tLSBhL3NldHVwL2tleWJvYXJk c2hvcnRjdXQucHkKLSsrKyBiL3NldHVwL2tleWJvYXJkc2hvcnRjdXQucHkKLUBAIC0xMDUsMjAg KzEwNSwxNiBAQCBjbGFzcyBLZXlib2FyZFNob3J0Y3V0U2VsZWN0aW9uKEd0ay5Cb3gpOgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHdGsuQ2hlY2tCdXR0b24ubmV3 X3dpdGhfbW5lbW9uaWMoIl9IeXBlciIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLkhZUEVSX01BU0spKQotICAgICAgICAgIyA8Q2Fw c0xvY2s+IGlzIG5vdCBwYXJzZWQgYnkgZ3RrX2FjY2VsZXJhdG9yX3BhcnNlKCkKLS0gICAgICAg ICMgRklYTUU6IE5lZWQgdG8gY2hlY2sgaWYgaWJ1cyBndGsgcGFuZWwgY2FuIGVuYWJsZSA8UmVs ZWFzZT4uCi0tICAgICAgICBzZWxmLl9fbW9kaWZpZXJfYnV0dG9ucy5hcHBlbmQoKCJSZWxlYXNl IiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLkNoZWNrQnV0 dG9uLm5ld193aXRoX21uZW1vbmljKCJfUmVsZWFzZSIpLAotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLlJFTEVBU0VfTUFTSykpCi0rICAg ICAgICAjIDxSZWxlYXNlPiBpcyBub3Qgc3VwcG9ydGVkIGJ5IFhJR3JhYktleWNvZGUoKQotICAg ICAgICAgZm9yIG5hbWUsIGJ1dHRvbiwgbWFzayBpbiBzZWxmLl9fbW9kaWZpZXJfYnV0dG9uczoK LSAgICAgICAgICAgICBidXR0b24uY29ubmVjdCgidG9nZ2xlZCIsIHNlbGYuX19tb2RpZmllcl9i dXR0b25fdG9nZ2xlZF9jYiwgbmFtZSkKLSAKLSAgICAgICAgIHRhYmxlLmF0dGFjaChzZWxmLl9f bW9kaWZpZXJfYnV0dG9uc1swXVsxXSwgMCwgMSwgMCwgMSkKLSAgICAgICAgIHRhYmxlLmF0dGFj aChzZWxmLl9fbW9kaWZpZXJfYnV0dG9uc1sxXVsxXSwgMSwgMiwgMCwgMSkKLSAgICAgICAgIHRh YmxlLmF0dGFjaChzZWxmLl9fbW9kaWZpZXJfYnV0dG9uc1syXVsxXSwgMiwgMywgMCwgMSkKLS0g ICAgICAgIHRhYmxlLmF0dGFjaChzZWxmLl9fbW9kaWZpZXJfYnV0dG9uc1szXVsxXSwgMywgNCwg MCwgMSkKLS0gICAgICAgIHRhYmxlLmF0dGFjaChzZWxmLl9fbW9kaWZpZXJfYnV0dG9uc1s0XVsx XSwgMCwgMSwgMSwgMikKLS0gICAgICAgIHRhYmxlLmF0dGFjaChzZWxmLl9fbW9kaWZpZXJfYnV0 dG9uc1s1XVsxXSwgMSwgMiwgMSwgMikKLS0gICAgICAgIHRhYmxlLmF0dGFjaChzZWxmLl9fbW9k aWZpZXJfYnV0dG9uc1s2XVsxXSwgMiwgMywgMSwgMikKLSsgICAgICAgIHRhYmxlLmF0dGFjaChz ZWxmLl9fbW9kaWZpZXJfYnV0dG9uc1szXVsxXSwgMCwgMSwgMSwgMikKLSsgICAgICAgIHRhYmxl LmF0dGFjaChzZWxmLl9fbW9kaWZpZXJfYnV0dG9uc1s0XVsxXSwgMSwgMiwgMSwgMikKLSsgICAg ICAgIHRhYmxlLmF0dGFjaChzZWxmLl9fbW9kaWZpZXJfYnV0dG9uc1s1XVsxXSwgMiwgMywgMSwg MikKLSAgICAgICAgIGhib3gucGFja19zdGFydCh0YWJsZSwgVHJ1ZSwgVHJ1ZSwgNCkKLSAgICAg ICAgIHNlbGYucGFja19zdGFydChoYm94LCBGYWxzZSwgVHJ1ZSwgNCkKLSAKLS0tIAotMS44LjUu MwotCi1Gcm9tIGE3YWJjZTY5OGY0MGU2MDI3NWM0NmYwNTk2N2U4Y2MzNjk3NjllNGIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQZW5nIFd1IDxhbGV4ZXBpY29AZ21haWwuY29tPgot RGF0ZTogV2VkLCAxOSBOb3YgMjAxNCAxODoxMDowNSArMDkwMAotU3ViamVjdDogW1BBVENIXSBG aXhlcyBpYnVzX2VuZ2luZV91cGRhdGVfbG9va3VwX3RhYmxlX2Zhc3QgbWV0aG9kCi0KLWdub21l IHNoZWxsIG5lZWRzIHRoZSBwcmV2aW91cyBwYWdlIGFuZCBuZXh0IHBhZ2UKLXRvIGNvcnJlY3Rs eSBzaG93IHRoZSBwYWdlIHVwL2Rvd24gYXJyb3dzLAotc2VuZCB0aHJlZSBwYWdlcyBpbnN0ZWFk IG9mIG9uZSBwYWdlLgotCi1VUkw6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVn LmNnaT9pZD03MDMwMjAKLQotQlVHPQotCi1SZXZpZXcgVVJMOiBodHRwczovL2NvZGVyZXZpZXcu YXBwc3BvdC5jb20vMTY0NTQwMDQ1Ci1QYXRjaCBmcm9tIFBlbmcgV3UgPGFsZXhlcGljb0BnbWFp bC5jb20+LgotLS0tCi0gc3JjL2lidXNlbmdpbmUuYyB8IDI3ICsrKysrKysrKysrKysrKysrKysr KystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGEvc3JjL2lidXNlbmdpbmUuYyBiL3NyYy9pYnVzZW5naW5lLmMKLWlu ZGV4IDUzZDU3ZGYuLjQ3NThmODIgMTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c2VuZ2luZS5jCi0rKysg Yi9zcmMvaWJ1c2VuZ2luZS5jCi1AQCAtMTQyMiwxMiArMTQyMiwxNyBAQCBpYnVzX2VuZ2luZV91 cGRhdGVfbG9va3VwX3RhYmxlX2Zhc3QgKElCdXNFbmdpbmUgICAgICAgICplbmdpbmUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQnVzTG9va3VwVGFibGUgICAqdGFi bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAg ICAgICAgdmlzaWJsZSkKLSB7Ci0rICAgIC8qIE5vdGU6IGdub21lIHNoZWxsIG5lZWRzIHRoZSBw cmV2aW91cyBwYWdlIGFuZCBuZXh0IHBhZ2UKLSsgICAgICAgdG8gY29ycmVjdGx5IHNob3cgdGhl IHBhZ2UgdXAvZG93biBhcnJvd3MsCi0rICAgICAgIHNlbmQgdGhyZWUgcGFnZXMgaW5zdGVhZCBv ZiBvbmUgcGFnZS4gKi8KLSsKLSAgICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19JU19FTkdJTkUg KGVuZ2luZSkpOwotICAgICBnX3JldHVybl9pZl9mYWlsIChJQlVTX0lTX0xPT0tVUF9UQUJMRSAo dGFibGUpKTsKLSAKLSAgICAgSUJ1c0xvb2t1cFRhYmxlICpuZXdfdGFibGU7Ci0gICAgIElCdXNU ZXh0ICp0ZXh0OwotICAgICBnaW50IHBhZ2VfYmVnaW47Ci0rICAgIGdpbnQgY3Vyc29yX3BvczsK LSAgICAgZ2ludCBpOwotIAotICAgICBpZiAodGFibGUtPmNhbmRpZGF0ZXMtPmxlbiA8IHRhYmxl LT5wYWdlX3NpemUgPDwgMikgewotQEAgLTE0MzYsMTkgKzE0NDEsMzEgQEAgaWJ1c19lbmdpbmVf dXBkYXRlX2xvb2t1cF90YWJsZV9mYXN0IChJQnVzRW5naW5lICAgICAgICAqZW5naW5lLAotICAg ICB9Ci0gCi0gICAgIHBhZ2VfYmVnaW4gPSAodGFibGUtPmN1cnNvcl9wb3MgLyB0YWJsZS0+cGFn ZV9zaXplKSAqIHRhYmxlLT5wYWdlX3NpemU7Ci0rICAgIGN1cnNvcl9wb3MgPSBpYnVzX2xvb2t1 cF90YWJsZV9nZXRfY3Vyc29yX2luX3BhZ2UgKHRhYmxlKTsKLSsKLSsgICAgaWYgKHRhYmxlLT5j dXJzb3JfcG9zID49IHRhYmxlLT5wYWdlX3NpemUpIHsKLSsgICAgICAgIC8qIGhhcyBwcmV2aW91 cyBwYWdlLCBhZGp1c3QgdGhlIHZhbHVlLiAqLwotKyAgICAgICAgcGFnZV9iZWdpbiAtPSB0YWJs ZS0+cGFnZV9zaXplOwotKyAgICAgICAgY3Vyc29yX3BvcyArPSB0YWJsZS0+cGFnZV9zaXplOwot KyAgICB9Ci0gCi0tICAgIG5ld190YWJsZSA9IGlidXNfbG9va3VwX3RhYmxlX25ldyAodGFibGUt PnBhZ2Vfc2l6ZSwgMCwgdGFibGUtPmN1cnNvcl92aXNpYmxlLCB0YWJsZS0+cm91bmQpOwotKyAg ICBuZXdfdGFibGUgPSBpYnVzX2xvb2t1cF90YWJsZV9uZXcKLSsgICAgICAgICh0YWJsZS0+cGFn ZV9zaXplLCAwLCB0YWJsZS0+Y3Vyc29yX3Zpc2libGUsIHRhYmxlLT5yb3VuZCk7Ci0gCi0tICAg IGZvciAoaSA9IHBhZ2VfYmVnaW47IGkgPCBwYWdlX2JlZ2luICsgdGFibGUtPnBhZ2Vfc2l6ZSAm JiBpIDwgdGFibGUtPmNhbmRpZGF0ZXMtPmxlbjsgaSsrKSB7Ci0tICAgICAgICBpYnVzX2xvb2t1 cF90YWJsZV9hcHBlbmRfY2FuZGlkYXRlIChuZXdfdGFibGUsIGlidXNfbG9va3VwX3RhYmxlX2dl dF9jYW5kaWRhdGUgKHRhYmxlLCBpKSk7Ci0rICAgIC8qICczJyBtZWFucyB0aGUgcHJldmlvdXMg cGFnZSwgY3VycmVudCBwYWdlIGFuZCBuZXh0IHBhZ2UuICovCi0rICAgIGZvciAoaSA9IHBhZ2Vf YmVnaW47IGkgPCBwYWdlX2JlZ2luICsgMyAqIHRhYmxlLT5wYWdlX3NpemUgJiYKLSsgICAgICAg ICAgICAgaSA8IHRhYmxlLT5jYW5kaWRhdGVzLT5sZW47IGkrKykgewotKyAgICAgICAgaWJ1c19s b29rdXBfdGFibGVfYXBwZW5kX2NhbmRpZGF0ZQotKyAgICAgICAgICAgIChuZXdfdGFibGUsIGli dXNfbG9va3VwX3RhYmxlX2dldF9jYW5kaWRhdGUgKHRhYmxlLCBpKSk7Ci0gICAgIH0KLSAKLSAg ICAgZm9yIChpID0gMDsgKHRleHQgPSBpYnVzX2xvb2t1cF90YWJsZV9nZXRfbGFiZWwgKHRhYmxl LCBpKSkgIT0gTlVMTDsgaSsrKSB7Ci0gICAgICAgICBpYnVzX2xvb2t1cF90YWJsZV9hcHBlbmRf bGFiZWwgKG5ld190YWJsZSwgdGV4dCk7Ci0gICAgIH0KLSAKLS0gICAgaWJ1c19sb29rdXBfdGFi bGVfc2V0X2N1cnNvcl9wb3MgKG5ld190YWJsZSwgaWJ1c19sb29rdXBfdGFibGVfZ2V0X2N1cnNv cl9pbl9wYWdlICh0YWJsZSkpOwotLSAgICBpYnVzX2xvb2t1cF90YWJsZV9zZXRfb3JpZW50YXRp b24gKG5ld190YWJsZSwgaWJ1c19sb29rdXBfdGFibGVfZ2V0X29yaWVudGF0aW9uICh0YWJsZSkp OwotKyAgICBpYnVzX2xvb2t1cF90YWJsZV9zZXRfY3Vyc29yX3BvcyAobmV3X3RhYmxlLCBjdXJz b3JfcG9zKTsKLSsgICAgaWJ1c19sb29rdXBfdGFibGVfc2V0X29yaWVudGF0aW9uCi0rICAgICAg ICAobmV3X3RhYmxlLCBpYnVzX2xvb2t1cF90YWJsZV9nZXRfb3JpZW50YXRpb24gKHRhYmxlKSk7 Ci0gCi0gICAgIGlidXNfZW5naW5lX3VwZGF0ZV9sb29rdXBfdGFibGUgKGVuZ2luZSwgbmV3X3Rh YmxlLCB2aXNpYmxlKTsKLSAKLS0tIAotMS44LjUuMwotCi1Gcm9tIGY2OWRkYzM5NTI5NzFjNTU5 OWM5MmFlZTNkYzFkZTYwMTdkMDdmM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQ ZW5nIFd1IDxhbGV4ZXBpY29AZ21haWwuY29tPgotRGF0ZTogRnJpLCA1IERlYyAyMDE0IDExOjQx OjA4ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeGVzIGlidXNfa2V5dmFsX25hbWUgbWV0aG9k IGluIGMrKyBiaW5kaW5nCi0KLUFkZCBHX0JFR0lOX0RFQ0xTIGFuZCBHX0VORF9ERUNMUyBtYWNy b3MgaW4gc3JjL2lidXNrZXlzLmgKLQotQlVHPQotCi1SZXZpZXcgVVJMOiBodHRwczovL2NvZGVy ZXZpZXcuYXBwc3BvdC5jb20vMTg1ODUwMDQzCi1QYXRjaCBmcm9tIFBlbmcgV3UgPGFsZXhlcGlj b0BnbWFpbC5jb20+LgotLS0tCi0gc3JjL2lidXNrZXlzLmggfCAyICsrCi0gMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2lidXNrZXlzLmggYi9zcmMv aWJ1c2tleXMuaAotaW5kZXggNmFjYjBkNi4uNzk2OTkyOSAxMDA2NDQKLS0tLSBhL3NyYy9pYnVz a2V5cy5oCi0rKysgYi9zcmMvaWJ1c2tleXMuaAotQEAgLTI5LDYgKzI5LDcgQEAKLSAKLSAjaW5j bHVkZSA8Z2xpYi5oPgotIAotK0dfQkVHSU5fREVDTFMKLSAvKioKLSAgKiBpYnVzX2tleXZhbF9u YW1lOgotICAqIEBrZXl2YWw6IEtleSBzeW1ib2wuCi1AQCAtNzMsNCArNzQsNSBAQCBndWludCAg ICAgICAgICAgIGlidXNfdW5pY29kZV90b19rZXl2YWwgKGd1bmljaGFyICAgICAgICB3Yyk7Ci0g ICoqLwotIGd1bmljaGFyICAgICAgICAgaWJ1c19rZXl2YWxfdG9fdW5pY29kZSAoZ3VpbnQgICAg ICAgICAgIGtleXZhbCk7Ci0gCi0rR19FTkRfREVDTFMKLSAjZW5kaWYgLy8gX19JQlVTX0tFWVNf SF8KLS0tIAotMS44LjUuMwotCi1Gcm9tIDA5NzcxNTc0NmRhMGY1NmI4YjhjM2RkYWUyZGEzNDQy MDMyYmZmMGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSdWkgTWF0b3MgPHRpYWdv bWF0b3NAZ21haWwuY29tPgotRGF0ZTogRnJpLCA1IERlYyAyMDE0IDIwOjI1OjQ0ICswOTAwCi1T dWJqZWN0OiBbUEFUQ0hdIENhcnJ5IGN1cnJlbnQgY29udGV4dCBjb250ZW50IHR5cGUgaW50byBm YWtlIGNvbnRleHQgd2hlbgotIHN3aXRjaGluZwotCi1XaGVuIGZvY3VzIG1vdmVzIG91dCBvZiBh IGNvbnRleHQgdG8gdGhlIGZha2UgY29udGV4dCB3ZSBzaG91bGQga2VlcAotdGhlIGNvbnRlbnQg dHlwZSBwcm9wZXJ0aWVzIGFzIHRoZXkgd2VyZSBpbiB0aGUgZm9jdXNlZCBvdXQgY29udGV4dC4K LQotVGhpcyBhbGxvd3MgcGFuZWwgaW1wbGVtZW50YXRpb25zIHRvIHNob3cgdGhlIHByb3BlciBV SSB3aGlsZSBpbnB1dAotZm9jdXMgbW92ZXMgYXdheSB0ZW1wb3JhcmlseSBmcm9tIGEgdGV4dCBl bnRyeS4KLQotRS5nLiBhIHBhc3N3b3JkIGVudHJ5IGlzIGZvY3VzZWQgYW5kIHRoZSB1c2VyIGNs aWNrcyBvbiB0aGUgcGFuZWwKLVVJLiBBdCB0aGlzIHBvaW50IGlidXMgc3dpdGNoZXMgdGhlIGN1 cnJlbnRseSBmb2N1c2VkIGNvbnRleHQgdG8gdGhlCi1mYWtlIGNvbnRleHQgYW5kIGVtaXRzIHNl dC1jb250ZW50LXR5cGUgd2l0aCB0aGUgZmFrZSBjb250ZXh0Ci1wcm9wZXJ0aWVzIHdoaWNoIGFy ZSBlbXB0eSBhbmQgdGh1cyB0aGUgcGFuZWwgcmVhY3RzIHRvIGl0LiBUaGlzIGlzbid0Ci10aGUg aW50ZW5kZWQgYmVoYXZpb3IgdGhvdWdoIHNpbmNlLCBmcm9tIGEgdXNlciBQT1YsIHRoZSBwYXNz d29yZAotZW50cnkgaXMgc3RpbGwgdGhlIGNvbnRleHQgdGhhdCB3aWxsIGJlIGdldHRpbmcgdGV4 dCBpbnB1dCB3aGVuIHRoZQotcGFuZWwgVUkgZ2V0cyBkaXNtaXNzZWQuCi0KLVI9c2hhd24ucC5o dWFuZ0BnbWFpbC5jb20KLUJVRz1odHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9NzMwNjI4Ci0KLVJldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBzcG90LmNv bS8xNzYyNjAwNDMKLVBhdGNoIGZyb20gUnVpIE1hdG9zIDx0aWFnb21hdG9zQGdtYWlsLmNvbT4u Ci0tLS0KLSBidXMvaWJ1c2ltcGwuYyAgICAgfCAgNiArKysrCi0gYnVzL2lucHV0Y29udGV4dC5j IHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tCi0gYnVzL2lucHV0Y29udGV4dC5oIHwgMTAgKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCA3 MiBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2J1cy9pYnVz aW1wbC5jIGIvYnVzL2lidXNpbXBsLmMKLWluZGV4IGRkMjU0ZTIuLjYxZjY2NDkgMTAwNjQ0Ci0t LS0gYS9idXMvaWJ1c2ltcGwuYwotKysrIGIvYnVzL2lidXNpbXBsLmMKLUBAIC02MjAsNiArNjIw LDggQEAgYnVzX2lidXNfaW1wbF9zZXRfZm9jdXNlZF9jb250ZXh0IChCdXNJQnVzSW1wbCAgICAg KmlidXMsCi0gICAgIH0KLSAKLSAgICAgQnVzRW5naW5lUHJveHkgKmVuZ2luZSA9IE5VTEw7Ci0r ICAgIGd1aW50IHB1cnBvc2UgPSAwOwotKyAgICBndWludCBoaW50cyA9IDA7Ci0gCi0gICAgIGlm IChpYnVzLT5mb2N1c2VkX2NvbnRleHQpIHsKLSAgICAgICAgIGlmIChpYnVzLT51c2VfZ2xvYmFs X2VuZ2luZSkgewotQEAgLTYzNCwxMiArNjM2LDE2IEBAIGJ1c19pYnVzX2ltcGxfc2V0X2ZvY3Vz ZWRfY29udGV4dCAoQnVzSUJ1c0ltcGwgICAgICppYnVzLAotICAgICAgICAgaWYgKGlidXMtPnBh bmVsICE9IE5VTEwpCi0gICAgICAgICAgICAgYnVzX3BhbmVsX3Byb3h5X2ZvY3VzX291dCAoaWJ1 cy0+cGFuZWwsIGlidXMtPmZvY3VzZWRfY29udGV4dCk7Ci0gCi0rICAgICAgICBidXNfaW5wdXRf Y29udGV4dF9nZXRfY29udGVudF90eXBlIChpYnVzLT5mb2N1c2VkX2NvbnRleHQsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHVycG9zZSwgJmhpbnRzKTsK LSAgICAgICAgIGdfb2JqZWN0X3VucmVmIChpYnVzLT5mb2N1c2VkX2NvbnRleHQpOwotICAgICAg ICAgaWJ1cy0+Zm9jdXNlZF9jb250ZXh0ID0gTlVMTDsKLSAgICAgfQotIAotICAgICBpZiAoY29u dGV4dCA9PSBOVUxMICYmIGlidXMtPnVzZV9nbG9iYWxfZW5naW5lKSB7Ci0gICAgICAgICBjb250 ZXh0ID0gaWJ1cy0+ZmFrZV9jb250ZXh0OwotKyAgICAgICAgaWYgKGNvbnRleHQpCi0rICAgICAg ICAgICAgYnVzX2lucHV0X2NvbnRleHRfc2V0X2NvbnRlbnRfdHlwZSAoY29udGV4dCwgcHVycG9z ZSwgaGludHMpOwotICAgICB9Ci0gCi0gICAgIGlmIChjb250ZXh0KSB7Ci1kaWZmIC0tZ2l0IGEv YnVzL2lucHV0Y29udGV4dC5jIGIvYnVzL2lucHV0Y29udGV4dC5jCi1pbmRleCBkOTkyNGExLi5l YTc3MTAyIDEwMDY0NAotLS0tIGEvYnVzL2lucHV0Y29udGV4dC5jCi0rKysgYi9idXMvaW5wdXRj b250ZXh0LmMKLUBAIC0xMTUxLDYgKzExNTEsNDcgQEAgYnVzX2lucHV0X2NvbnRleHRfc2Vydmlj ZV9tZXRob2RfY2FsbCAoSUJ1c1NlcnZpY2UgICAgICAgICAgICAqc2VydmljZSwKLSAgICAgZ19y ZXR1cm5faWZfcmVhY2hlZCAoKTsKLSB9Ci0gCi0rc3RhdGljIHZvaWQKLStfaWNfc2V0X2NvbnRl bnRfdHlwZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAotKyAgICAgICAgICAgICAgICAgICAg ICBHVmFyaWFudCAgICAgICAgKnZhbHVlKQotK3sKLSsgICAgZ3VpbnQgcHVycG9zZSA9IDA7Ci0r ICAgIGd1aW50IGhpbnRzID0gMDsKLSsKLSsgICAgZ192YXJpYW50X2dldCAodmFsdWUsICIodXUp IiwgJnB1cnBvc2UsICZoaW50cyk7Ci0rICAgIGlmIChwdXJwb3NlICE9IGNvbnRleHQtPnB1cnBv c2UgfHwgaGludHMgIT0gY29udGV4dC0+aGludHMpIHsKLSsgICAgICAgIEdFcnJvciAqZXJyb3I7 Ci0rICAgICAgICBnYm9vbGVhbiByZXR2YWw7Ci0rCi0rICAgICAgICBjb250ZXh0LT5wdXJwb3Nl ID0gcHVycG9zZTsKLSsgICAgICAgIGNvbnRleHQtPmhpbnRzID0gaGludHM7Ci0rCi0rICAgICAg ICBpZiAoY29udGV4dC0+aGFzX2ZvY3VzICYmIGNvbnRleHQtPmVuZ2luZSkKLSsgICAgICAgICAg ICBidXNfZW5naW5lX3Byb3h5X3NldF9jb250ZW50X3R5cGUgKGNvbnRleHQtPmVuZ2luZSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1cnBvc2UsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50cyk7Ci0r Ci0rICAgICAgICBpZiAoY29udGV4dC0+aGFzX2ZvY3VzKSB7Ci0rICAgICAgICAgICAgZ19zaWdu YWxfZW1pdCAoY29udGV4dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0X3Np Z25hbHNbU0VUX0NPTlRFTlRfVFlQRV0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5wdXJwb3NlLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmhpbnRzKTsKLSsgICAgICAgIH0KLSsKLSsgICAg ICAgIGVycm9yID0gTlVMTDsKLSsgICAgICAgIHJldHZhbCA9IGJ1c19pbnB1dF9jb250ZXh0X3By b3BlcnR5X2NoYW5nZWQgKGNvbnRleHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiQ29udGVudFR5cGUiLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOwotKyAgICAg ICAgaWYgKCFyZXR2YWwpIHsKLSsgICAgICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQgdG8gZW1p dCBQcm9wZXJ0aWVzQ2hhbmdlZCBzaWduYWw6ICVzIiwKLSsgICAgICAgICAgICAgICAgICAgICAg IGVycm9yLT5tZXNzYWdlKTsKLSsgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKLSsg ICAgICAgIH0KLSsgICAgfQotK30KLSsKLSBzdGF0aWMgZ2Jvb2xlYW4KLSBidXNfaW5wdXRfY29u dGV4dF9zZXJ2aWNlX3NldF9wcm9wZXJ0eSAoSUJ1c1NlcnZpY2UgICAgICpzZXJ2aWNlLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJ1c0Nvbm5lY3Rpb24gKmNv bm5lY3Rpb24sCi1AQCAtMTE3NSw0MSArMTIxNiw3IEBAIGJ1c19pbnB1dF9jb250ZXh0X3NlcnZp Y2Vfc2V0X3Byb3BlcnR5IChJQnVzU2VydmljZSAgICAgKnNlcnZpY2UsCi0gCi0gICAgIGlmIChn X3N0cmNtcDAgKHByb3BlcnR5X25hbWUsICJDb250ZW50VHlwZSIpID09IDApIHsKLSAgICAgICAg IEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCA9IChCdXNJbnB1dENvbnRleHQgKikgc2VydmljZTsK LS0gICAgICAgIGd1aW50IHB1cnBvc2UgPSAwOwotLSAgICAgICAgZ3VpbnQgaGludHMgPSAwOwot LQotLSAgICAgICAgZ192YXJpYW50X2dldCAodmFsdWUsICIodXUpIiwgJnB1cnBvc2UsICZoaW50 cyk7Ci0tICAgICAgICBpZiAocHVycG9zZSAhPSBjb250ZXh0LT5wdXJwb3NlIHx8IGhpbnRzICE9 IGNvbnRleHQtPmhpbnRzKSB7Ci0tICAgICAgICAgICAgR0Vycm9yICplcnJvcjsKLS0gICAgICAg ICAgICBnYm9vbGVhbiByZXR2YWw7Ci0tCi0tICAgICAgICAgICAgY29udGV4dC0+cHVycG9zZSA9 IHB1cnBvc2U7Ci0tICAgICAgICAgICAgY29udGV4dC0+aGludHMgPSBoaW50czsKLS0KLS0gICAg ICAgICAgICBpZiAoY29udGV4dC0+aGFzX2ZvY3VzICYmIGNvbnRleHQtPmVuZ2luZSkKLS0gICAg ICAgICAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9zZXRfY29udGVudF90eXBlIChjb250ZXh0LT5l bmdpbmUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHVycG9zZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBoaW50cyk7Ci0tCi0tICAgICAgICAgICAgaWYgKGNvbnRleHQtPmhhc19mb2N1cykg ewotLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZXh0X3NpZ25hbHNbU0VUX0NPTlRFTlRfVFlQRV0sCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRleHQtPnB1cnBvc2UsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRleHQtPmhpbnRzKTsKLS0gICAgICAgICAgICB9Ci0tCi0tICAgICAgICAgICAgZXJy b3IgPSBOVUxMOwotLSAgICAgICAgICAgIHJldHZhbCA9IGJ1c19pbnB1dF9jb250ZXh0X3Byb3Bl cnR5X2NoYW5nZWQgKGNvbnRleHQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnRUeXBlIiwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3Ip OwotLSAgICAgICAgICAgIGlmICghcmV0dmFsKSB7Ci0tICAgICAgICAgICAgICAgIGdfd2Fybmlu ZyAoIkZhaWxlZCB0byBlbWl0IFByb3BlcnRpZXNDaGFuZ2VkIHNpZ25hbDogJXMiLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVycm9yLT5tZXNzYWdlKTsKLS0gICAgICAgICAgICAgICAg Z19lcnJvcl9mcmVlIChlcnJvcik7Ci0tICAgICAgICAgICAgfQotLSAgICAgICAgfQotKyAgICAg ICAgX2ljX3NldF9jb250ZW50X3R5cGUgKGNvbnRleHQsIHZhbHVlKTsKLSAgICAgICAgIHJldHVy biBUUlVFOwotICAgICB9Ci0gCi1AQCAtMjUyMSwzICsyNTI4LDE3IEBAIGJ1c19pbnB1dF9jb250 ZXh0X2dldF9jb250ZW50X3R5cGUgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKLSAgICAgKnB1 cnBvc2UgPSBjb250ZXh0LT5wdXJwb3NlOwotICAgICAqaGludHMgPSBjb250ZXh0LT5oaW50czsK LSB9Ci0rCi0rdm9pZAotK2J1c19pbnB1dF9jb250ZXh0X3NldF9jb250ZW50X3R5cGUgKEJ1c0lu cHV0Q29udGV4dCAqY29udGV4dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBndWludCAgICAgICAgICAgIHB1cnBvc2UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3VpbnQgICAgICAgICAgICBoaW50cykKLSt7Ci0rICAgIEdWYXJpYW50ICp2YWx1 ZTsKLSsKLSsgICAgZ19hc3NlcnQgKEJVU19JU19JTlBVVF9DT05URVhUIChjb250ZXh0KSk7Ci0r Ci0rICAgIHZhbHVlID0gZ192YXJpYW50X3JlZl9zaW5rIChnX3ZhcmlhbnRfbmV3ICgiKHV1KSIs IHB1cnBvc2UsIGhpbnRzKSk7Ci0rICAgIF9pY19zZXRfY29udGVudF90eXBlIChjb250ZXh0LCB2 YWx1ZSk7Ci0rICAgIGdfdmFyaWFudF91bnJlZiAodmFsdWUpOwotK30KLWRpZmYgLS1naXQgYS9i dXMvaW5wdXRjb250ZXh0LmggYi9idXMvaW5wdXRjb250ZXh0LmgKLWluZGV4IGYyODJmYWUuLjI1 OGY1MDEgMTAwNjQ0Ci0tLS0gYS9idXMvaW5wdXRjb250ZXh0LmgKLSsrKyBiL2J1cy9pbnB1dGNv bnRleHQuaAotQEAgLTI1MCw1ICsyNTAsMTUgQEAgdm9pZCAgICAgICAgICAgICAgICAgYnVzX2lu cHV0X2NvbnRleHRfZ2V0X2NvbnRlbnRfdHlwZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAgICAgICAgKnB1cnBvc2UsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAg ICAgICAgICAqaGludHMpOwotIAotKy8qKgotKyAqIGJ1c19pbnB1dF9jb250ZXh0X3NldF9jb250 ZW50X3R5cGU6Ci0rICogQHB1cnBvc2U6IElucHV0IHB1cnBvc2UuCi0rICogQGhpbnRzOiBJbnB1 dCBoaW50cy4KLSsgKi8KLSt2b2lkICAgICAgICAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9z ZXRfY29udGVudF90eXBlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICBwdXJwb3NlLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAg ICAgICAgICAgIGhpbnRzKTsKLSsKLSBHX0VORF9ERUNMUwotICNlbmRpZgotLS0gCi0xLjguNS4z Ci0KLUZyb20gOGY0NzFjZTEzOGE5ZGMxMGFiNWIxZTBjNzE2YmI0OGNhMzZmZTEyYSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvdWcgUmludG91bCA8ZG91Z19yaW50b3VsQHNpbC5v cmc+Ci1EYXRlOiBNb24sIDggRGVjIDIwMTQgMTI6NTI6MDAgKzA5MDAKLVN1YmplY3Q6IFtQQVRD SF0gU2hvdyBsYW5ndWFnZSByYXRoZXIgdGhhbiBsYXlvdXQgaW4geGtiIHBhbmVsIGljb24KLQot QlVHPWh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvaWJ1cy9pc3N1ZXMvZGV0YWlsP2lkPTE3NTMK LVRFU1Q9dWkvZ3RrMy9pYnVzLXVpLWd0azMKLQotUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2 aWV3LmFwcHNwb3QuY29tLzE4NDg0MDA0MwotUGF0Y2ggZnJvbSBEb3VnIFJpbnRvdWwgPGRvdWdf cmludG91bEBzaWwub3JnPi4KLS0tLQotIHVpL2d0azMvcGFuZWwudmFsYSAgICB8ICA4ICsrKyst LS0tCi0gdWkvZ3RrMy9zd2l0Y2hlci52YWxhIHwgNDIgKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAy OCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0 azMvcGFuZWwudmFsYQotaW5kZXggN2I5OWZkZi4uNGUwMjE0MCAxMDA2NDQKLS0tLSBhL3VpL2d0 azMvcGFuZWwudmFsYQotKysrIGIvdWkvZ3RrMy9wYW5lbC52YWxhCi1AQCAtMTEzNSwxNiArMTEz NSwxNiBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKLSAgICAgICAgIGlmIChp Y29uX25hbWVbMF0gPT0gJy8nKQotICAgICAgICAgICAgIG1fc3RhdHVzX2ljb24uc2V0X2Zyb21f ZmlsZShpY29uX25hbWUpOwotICAgICAgICAgZWxzZSB7Ci0tICAgICAgICAgICAgc3RyaW5nIHN5 bWJvbCA9IG51bGw7Ci0rICAgICAgICAgICAgc3RyaW5nIGxhbmd1YWdlID0gbnVsbDsKLSAKLSAg ICAgICAgICAgICBpZiAoZW5naW5lICE9IG51bGwpIHsKLSAgICAgICAgICAgICAgICAgdmFyIG5h bWUgPSBlbmdpbmUuZ2V0X25hbWUoKTsKLSAgICAgICAgICAgICAgICAgaWYgKG5hbWUubGVuZ3Ro ID49IDQgJiYgbmFtZVswOjRdID09ICJ4a2I6IikKLS0gICAgICAgICAgICAgICAgICAgIHN5bWJv bCA9IG1fc3dpdGNoZXIuZ2V0X3hrYl9zeW1ib2woZW5naW5lKTsKLSsgICAgICAgICAgICAgICAg ICAgIGxhbmd1YWdlID0gbV9zd2l0Y2hlci5nZXRfeGtiX2xhbmd1YWdlKGVuZ2luZSk7Ci0gICAg ICAgICAgICAgfQotIAotLSAgICAgICAgICAgIGlmIChzeW1ib2wgIT0gbnVsbCkgewotLSAgICAg ICAgICAgICAgICBHZGsuUGl4YnVmIHBpeGJ1ZiA9IGNyZWF0ZV9pY29uX3BpeGJ1Zl93aXRoX3N0 cmluZyhzeW1ib2wpOwotKyAgICAgICAgICAgIGlmIChsYW5ndWFnZSAhPSBudWxsKSB7Ci0rICAg ICAgICAgICAgICAgIEdkay5QaXhidWYgcGl4YnVmID0gY3JlYXRlX2ljb25fcGl4YnVmX3dpdGhf c3RyaW5nKGxhbmd1YWdlKTsKLSAgICAgICAgICAgICAgICAgbV9zdGF0dXNfaWNvbi5zZXRfZnJv bV9waXhidWYocGl4YnVmKTsKLSAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg ICB2YXIgdGhlbWUgPSBHdGsuSWNvblRoZW1lLmdldF9kZWZhdWx0KCk7Ci1kaWZmIC0tZ2l0IGEv dWkvZ3RrMy9zd2l0Y2hlci52YWxhIGIvdWkvZ3RrMy9zd2l0Y2hlci52YWxhCi1pbmRleCA3NjAx ZDgwLi40NzZiMTU5IDEwMDY0NAotLS0tIGEvdWkvZ3RrMy9zd2l0Y2hlci52YWxhCi0rKysgYi91 aS9ndGszL3N3aXRjaGVyLnZhbGEKLUBAIC0yMSw4ICsyMSw2IEBACi0gICovCi0gCi0gY2xhc3Mg U3dpdGNoZXIgOiBHdGsuV2luZG93IHsKLS0gICAgcHJpdmF0ZSBjb25zdCBpbnQgREVTQ19MQUJF TF9NQVhfTEVOID0gMjA7Ci0tCi0gICAgIHByaXZhdGUgY2xhc3MgSUJ1c0VuZ2luZUJ1dHRvbiA6 IEd0ay5CdXR0b24gewotICAgICAgICAgcHVibGljIElCdXNFbmdpbmVCdXR0b24oSUJ1cy5Fbmdp bmVEZXNjIGVuZ2luZSwgU3dpdGNoZXIgc3dpdGNoZXIpIHsKLSAgICAgICAgICAgICBHTGliLk9i amVjdCgpOwotQEAgLTM4LDE0ICszNiwxNCBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cg ewotICAgICAgICAgICAgICAgICBpY29uLnNldF92YWxpZ24oR3RrLkFsaWduLkNFTlRFUik7Ci0g ICAgICAgICAgICAgICAgIGFkZChpY29uKTsKLSAgICAgICAgICAgICB9IGVsc2UgewotLSAgICAg ICAgICAgICAgICB2YXIgc3ltYm9sID0gc3dpdGNoZXIuZ2V0X3hrYl9zeW1ib2woZW5naW5lKTsK LSsgICAgICAgICAgICAgICAgdmFyIGxhbmd1YWdlID0gc3dpdGNoZXIuZ2V0X3hrYl9sYW5ndWFn ZShlbmdpbmUpOwotIAotLSAgICAgICAgICAgICAgICBHdGsuTGFiZWwgbGFiZWwgPSBuZXcgR3Rr LkxhYmVsKHN5bWJvbCk7Ci0rICAgICAgICAgICAgICAgIEd0ay5MYWJlbCBsYWJlbCA9IG5ldyBH dGsuTGFiZWwobGFuZ3VhZ2UpOwotICAgICAgICAgICAgICAgICBsYWJlbC5zZXRfaGFsaWduKEd0 ay5BbGlnbi5DRU5URVIpOwotICAgICAgICAgICAgICAgICBsYWJlbC5zZXRfdmFsaWduKEd0ay5B bGlnbi5DRU5URVIpOwotLSAgICAgICAgICAgICAgICBzdHJpbmcgc3ltYm9sX2ZvbnQgPSAiTW9u b3NwYWNlIEJvbGQgMTYiOwotKyAgICAgICAgICAgICAgICBzdHJpbmcgbGFuZ3VhZ2VfZm9udCA9 ICJNb25vc3BhY2UgQm9sZCAxNiI7Ci0gICAgICAgICAgICAgICAgIHN0cmluZyBtYXJrdXAgPSAi PHNwYW4gZm9udD1cIiVzXCI+JXM8L3NwYW4+Ii4KLS0gICAgICAgICAgICAgICAgICAgICAgICBw cmludGYoc3ltYm9sX2ZvbnQsIHN5bWJvbCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcHJp bnRmKGxhbmd1YWdlX2ZvbnQsIGxhbmd1YWdlKTsKLSAKLSAgICAgICAgICAgICAgICAgbGFiZWwu c2V0X21hcmt1cChtYXJrdXApOwotIAotQEAgLTg5LDcgKzg3LDcgQEAgY2xhc3MgU3dpdGNoZXIg OiBHdGsuV2luZG93IHsKLSAgICAgcHJpdmF0ZSB1aW50IG1fcG9wdXBfZGVsYXlfdGltZV9pZCA9 IDA7Ci0gICAgIHByaXZhdGUgaW50IG1fcm9vdF94OwotICAgICBwcml2YXRlIGludCBtX3Jvb3Rf eTsKLS0gICAgcHJpdmF0ZSBHTGliLkhhc2hUYWJsZTxzdHJpbmcsIHN0cmluZz4gbV94a2Jfc3lt Ym9scyA9Ci0rICAgIHByaXZhdGUgR0xpYi5IYXNoVGFibGU8c3RyaW5nLCBzdHJpbmc+IG1feGti X2xhbmd1YWdlcyA9Ci0gICAgICAgICAgICAgbmV3IEdMaWIuSGFzaFRhYmxlPHN0cmluZywgc3Ry aW5nPihHTGliLnN0cl9oYXNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0xpYi5zdHJfZXF1YWwpOwotIAotQEAgLTI2OCwxMCArMjY2LDYgQEAgY2xh c3MgU3dpdGNoZXIgOiBHdGsuV2luZG93IHsKLSAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7 Ci0gICAgICAgICAgICAgfSk7Ci0gCi0tICAgICAgICAgICAgaWYgKGxvbmduYW1lLmxlbmd0aCA+ IERFU0NfTEFCRUxfTUFYX0xFTikgewotLSAgICAgICAgICAgICAgICBsb25nbmFtZSA9IGxvbmdu YW1lWzA6REVTQ19MQUJFTF9NQVhfTEVOXTsKLS0gICAgICAgICAgICB9Ci0tCi0gICAgICAgICAg ICAgYnV0dG9uLmxvbmduYW1lID0gbG9uZ25hbWU7Ci0gICAgICAgICAgICAgbV9sYWJlbC5zZXRf bGFiZWwobG9uZ25hbWUpOwotIAotQEAgLTQyOSwzNyArNDIzLDM3IEBAIGNsYXNzIFN3aXRjaGVy IDogR3RrLldpbmRvdyB7Ci0gICAgICAgICBtX3BvcHVwX2RlbGF5X3RpbWUgPSBwb3B1cF9kZWxh eV90aW1lOwotICAgICB9Ci0gCi0tICAgIHB1YmxpYyBzdHJpbmcgZ2V0X3hrYl9zeW1ib2woSUJ1 cy5FbmdpbmVEZXNjIGVuZ2luZSkgewotKyAgICBwdWJsaWMgc3RyaW5nIGdldF94a2JfbGFuZ3Vh Z2UoSUJ1cy5FbmdpbmVEZXNjIGVuZ2luZSkgewotICAgICAgICAgdmFyIG5hbWUgPSBlbmdpbmUu Z2V0X25hbWUoKTsKLSAKLSAgICAgICAgIGFzc2VydChuYW1lWzA6NF0gPT0gInhrYjoiKTsKLSAK LS0gICAgICAgIHZhciBzeW1ib2wgPSBtX3hrYl9zeW1ib2xzW25hbWVdOwotKyAgICAgICAgdmFy IGxhbmd1YWdlID0gbV94a2JfbGFuZ3VhZ2VzW25hbWVdOwotIAotLSAgICAgICAgaWYgKHN5bWJv bCAhPSBudWxsKQotLSAgICAgICAgICAgIHJldHVybiBzeW1ib2w7Ci0rICAgICAgICBpZiAobGFu Z3VhZ2UgIT0gbnVsbCkKLSsgICAgICAgICAgICByZXR1cm4gbGFuZ3VhZ2U7Ci0gCi0tICAgICAg ICB2YXIgbGF5b3V0ID0gZW5naW5lLmdldF9sYXlvdXQoKTsKLSsgICAgICAgIGxhbmd1YWdlID0g ZW5naW5lLmdldF9sYW5ndWFnZSgpOwotIAotICAgICAgICAgLyogTWF5YmUgaW52YWxpZCBsYXlv dXQgKi8KLS0gICAgICAgIGlmIChsYXlvdXQubGVuZ3RoIDwgMikKLS0gICAgICAgICAgICByZXR1 cm4gbGF5b3V0OwotKyAgICAgICAgaWYgKGxhbmd1YWdlLmxlbmd0aCA8IDIpCi0rICAgICAgICAg ICAgcmV0dXJuIGxhbmd1YWdlOwotIAotLSAgICAgICAgc3ltYm9sID0gbGF5b3V0WzA6Ml0udXAo KTsKLSsgICAgICAgIGxhbmd1YWdlID0gbGFuZ3VhZ2VbMDoyXS51cCgpOwotIAotICAgICAgICAg aW50IGluZGV4ID0gMDsKLSAKLS0gICAgICAgIGZvcmVhY2ggKHZhciBzYXZlZF9zeW1ib2wgaW4g bV94a2Jfc3ltYm9scy5nZXRfdmFsdWVzKCkpIHsKLS0gICAgICAgICAgICBpZiAoc3ltYm9sID09 IHNhdmVkX3N5bWJvbFswOjJdKQotKyAgICAgICAgZm9yZWFjaCAodmFyIHNhdmVkX2xhbmd1YWdl IGluIG1feGtiX2xhbmd1YWdlcy5nZXRfdmFsdWVzKCkpIHsKLSsgICAgICAgICAgICBpZiAobGFu Z3VhZ2UgPT0gc2F2ZWRfbGFuZ3VhZ2VbMDoyXSkKLSAgICAgICAgICAgICAgICAgaW5kZXgrKzsK LSAgICAgICAgIH0KLSAKLSAgICAgICAgIGlmIChpbmRleCA+IDApIHsKLSAgICAgICAgICAgICB1 bmljaGFyIHUgPSAweDIwODEgKyBpbmRleDsKLS0gICAgICAgICAgICBzeW1ib2wgPSAiJXMlcyIu cHJpbnRmKHN5bWJvbCwgdS50b19zdHJpbmcoKSk7Ci0rICAgICAgICAgICAgbGFuZ3VhZ2UgPSAi JXMlcyIucHJpbnRmKGxhbmd1YWdlLCB1LnRvX3N0cmluZygpKTsKLSAgICAgICAgIH0KLSAKLS0g ICAgICAgIG1feGtiX3N5bWJvbHMuaW5zZXJ0KG5hbWUsIHN5bWJvbCk7Ci0tICAgICAgICByZXR1 cm4gc3ltYm9sOwotKyAgICAgICAgbV94a2JfbGFuZ3VhZ2VzLmluc2VydChuYW1lLCBsYW5ndWFn ZSk7Ci0rICAgICAgICByZXR1cm4gbGFuZ3VhZ2U7Ci0gICAgIH0KLSB9Ci0tLSAKLTEuOC41LjMK LQotRnJvbSA1NzZlYmMzNjMzYWExZmIzMDc2ZmZhYzAzMTI1NWMzZGE0ZTJjZDA5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2xlbWVucyBCYXVtIDxrbGVtZW5zYmF1bUBnbWFpbC5j b20+Ci1EYXRlOiBUaHUsIDE4IERlYyAyMDE0IDE2OjI3OjIzICswOTAwCi1TdWJqZWN0OiBbUEFU Q0hdIElNZGtpdDogVHJhY2sgd2luZG93IHByb3BlcnR5IG9mZnNldHMgY29ycmVjdGx5Ci0KLVRo ZSBYSU0gc3BlY2lmaWNhdGlvbiByZXF1aXJlcyB0aGF0IFhJTSB0cmFucG9ydHMgb3ZlciAyMCBi eXRlcyBpbiBzaXplCi1iZSB0cmFuc2ZlcnJlZCB2aWEgd2luZG93IHByb3BlcnRpZXMuIFRoZSBz ZW5kZXIgY2FsbHMgWENoYW5nZVByb3BlcnR5Ci13aXRoIFByb3BNb2RlQXBwZW5kLCBhbmQgaW5z dHJ1Y3RzIHRoZSByZWNpcGllbnQgdmlhIENsaWVudE1lc3NhZ2UgdG8KLWNhbGwgWEdldFdpbmRv d1Byb3BlcnR5IHdpdGggZGVsZXRlIHNldCB0byBUcnVlLgotCi1OYWl2ZSBpbXBsZW1lbnRhdGlv bnMgZXhoaWJpdCBhIHJhY2UgY29uZGl0aW9uIGJlY2F1c2UgdGhlIHJlY2VpdmVyCi1jb3VsZCBo YXZlIHdyaXR0ZW4gbW9yZSBkYXRhIGluIHRoZSBtZWFudGltZSwgYW5kIFhHZXRXaW5kb3dQcm9w ZXJ0eQotb25seSBkZWxldGVzIHRoZSBwcm9wZXJ0eSB3aGVuIGJ5dGVzX2FmdGVyX3JldHVybiBp cyB6ZXJvLiBJZgotYnl0ZXNfYWZ0ZXJfcmV0dXJuIGlzIG5vbi16ZXJvLCBpdCBpcyBuZWNlc3Nh cnkgdG8gdXNlIGFuIG9mZnNldCB3aGVuCi1yZWFkaW5nIGZyb20gdGhlIHByb3BlcnR5IGFnYWlu LgotCi1UbyBlbnN1cmUgdGhhdCB0aGUgcHJvcGVydHkgZGF0YSBkb2VzIG5vdCBncm93IGluZGVm aW5pdGVseSwgWGxpYgotcmVjeWNsZXMgMjEgQXRvbXMgaW4gcm91bmQtcm9iaW4gZmFzaGlvbi4g QmVjYXVzZSB0aGUgWElNIHNwZWNpZmljYXRpb24KLWRvZXMgbm90IGxpbWl0IHRoZSBudW1iZXIg b2YgQXRvbSBuYW1lcyBvZiB0aGUgZm9ybSAiX2NsaWVudFhYWCIgdG8gYmUKLXVzZWQgZm9yIGRh dGEgdHJhbnNmZXIgb3ZlciB3aW5kb3cgcHJvcGVydGllcywgYW4gWElNIHNlcnZlciBzaG91bGQg YmUKLWFibGUgdG8ga2VlcCBvZiB0cmFjayBhbnkgbnVtYmVyIG9mIEF0b21zLCByZW1lbWJlcmlu ZyB0aGUgb2Zmc2V0IGludG8KLWVhY2ggcHJvcGVydHkuCi0KLVRoaXMgcGF0Y2ggaW1wbGVtZW50 cyBjb3JyZWN0IHRyYWNraW5nIG9mIHByb3BlcnR5IG9mZnNldHMuCi0KLVNpZ25lZC1vZmYtYnk6 IEtsZW1lbnMgQmF1bSA8a2xlbWVuc2JhdW1AZ21haWwuY29tPgotUmV2aWV3ZWQtYnk6IEtlaXRo IFBhY2thcmQgPGtlaXRocEBrZWl0aHAuY29tPgotCi1yaGJ6IzExNzU1OTUKLUJVRz1odHRwczov L2NvZGUuZ29vZ2xlLmNvbS9wL2lidXMvaXNzdWVzL2RldGFpbD9pZD0xNzUxCi1URVNUPWNsaWVu dC94MTEvaWJ1cy14MTEKLQotUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3Qu Y29tLzE3NjE5MDA0NAotUGF0Y2ggZnJvbSBLbGVtZW5zIEJhdW0gPGtsZW1lbnNiYXVtQGdtYWls LmNvbT4uCi0tLS0KLSB1dGlsL0lNZGtpdC9NYWtlZmlsZS5hbSAgICAgICB8ICA1ICsrLQotIHV0 aWwvSU1ka2l0L1hpMThuLmggICAgICAgICAgIHwgMjMgKysrKysrKysrLS0KLSB1dGlsL0lNZGtp dC9pMThuT2Zmc2V0Q2FjaGUuYyB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKLSB1dGlsL0lNZGtpdC9pMThuVXRpbC5jICAgICAgICB8ICA5ICsrKy0tCi0g dXRpbC9JTWRraXQvaTE4blguYyAgICAgICAgICAgfCA3MyArKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLQotIDUgZmlsZXMgY2hhbmdlZCwgMTU0IGluc2VydGlvbnMoKyksIDQ1IGRl bGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1dGlsL0lNZGtpdC9pMThuT2Zmc2V0Q2Fj aGUuYwotCi1kaWZmIC0tZ2l0IGEvdXRpbC9JTWRraXQvTWFrZWZpbGUuYW0gYi91dGlsL0lNZGtp dC9NYWtlZmlsZS5hbQotaW5kZXggZTM5NDZkNy4uNmNiYjkwOCAxMDA2NDQKLS0tLSBhL3V0aWwv SU1ka2l0L01ha2VmaWxlLmFtCi0rKysgYi91dGlsL0lNZGtpdC9NYWtlZmlsZS5hbQotQEAgLTIs OCArMiw4IEBACi0gIwotICMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSAjCi0tIyBDb3B5cmlnaHQg KGMpIDIwMDctMjAxMCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLS0jIENv cHlyaWdodCAoYykgMjAwNy0yMDEwIFJlZCBIYXQsIEluYy4KLSsjIENvcHlyaWdodCAoYykgMjAw Ny0yMDE0IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgotKyMgQ29weXJpZ2h0 IChjKSAyMDA3LTIwMTQgUmVkIEhhdCwgSW5jLgotICMKLSAjIFRoaXMgbGlicmFyeSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAjIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLUBAIC0yOSw2 ICsyOSw3IEBAIGxpYklNZGtpdF9sYV9TT1VSQ0VTID0gXAotIAlpMThuSWMuYyBcCi0gCWkxOG5J TVByb3RvLmMgXAotIAlpMThuTWV0aG9kLmMgXAotKwlpMThuT2Zmc2V0Q2FjaGUuYyBcCi0gCWkx OG5QdEhkci5jIFwKLSAJaTE4blV0aWwuYyBcCi0gCWkxOG5YLmMgXAotZGlmZiAtLWdpdCBhL3V0 aWwvSU1ka2l0L1hpMThuLmggYi91dGlsL0lNZGtpdC9YaTE4bi5oCi1pbmRleCA0ODRjYzYyLi5l MWQyNGQ1IDEwMDY0NAotLS0tIGEvdXRpbC9JTWRraXQvWGkxOG4uaAotKysrIGIvdXRpbC9JTWRr aXQvWGkxOG4uaAotQEAgLTEsNyArMSw5IEBACi0gLyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAKLS0gICAgICAgICBD b3B5cmlnaHQgMTk5NCwgMTk5NSBieSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCi0tICAgICAgICAg Q29weXJpZ2h0IDE5OTMsIDE5OTQgYnkgSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkKLSsgICAgICAg ICBDb3B5cmlnaHQgKEMpIDE5OTQtMTk5NSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCi0rICAgICAg ICAgQ29weXJpZ2h0IChDKSAxOTkzLTE5OTQgSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkKLSsgICAg ICAgICBDb3B5cmlnaHQgKEMpIDIwMTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5j b20+Ci0rICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDE0IFJlZCBIYXQsIEluYy4KLSAgCi0gUGVy bWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgZGlzdHJpYnV0ZSwgYW5kIHNlbGwgdGhpcyBz b2Z0d2FyZQotIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5 IGdyYW50ZWQgd2l0aG91dCBmZWUsCi1AQCAtNDUsNiArNDcsNyBAQCBJTiBDT05ORUNUSU9OIFdJ VEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotICNkZWZpbmUgWElN X0VYVF9NT1ZFCQkJCSgweDMzKQotICNkZWZpbmUgQ09NTU9OX0VYVEVOU0lPTlNfTlVNICAgCQkz Ci0gCi0rI2luY2x1ZGUgPHN0ZGRlZi5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVk ZSAiSU1ka2l0LmgiCi0gCi1AQCAtMTM4LDYgKzE0MSwxOSBAQCB0eXBlZGVmIHN0cnVjdAotICAg ICBjaGFyCSpuYW1lOwotIH0gWElNRXh0OwotIAotK3R5cGVkZWYgc3RydWN0Ci0rewotKyAgICBB dG9tIGtleTsKLSsgICAgdW5zaWduZWQgbG9uZyBvZmZzZXQ7Ci0rfSBYaTE4bkF0b21PZmZzZXRQ YWlyOwotKwotK3R5cGVkZWYgc3RydWN0Ci0rewotKyAgICBzaXplX3QgY2FwYWNpdHk7Ci0rICAg IHNpemVfdCBzaXplOwotKyAgICBYaTE4bkF0b21PZmZzZXRQYWlyICpkYXRhOwotK30gWGkxOG5P ZmZzZXRDYWNoZTsKLSsKLSB0eXBlZGVmIHN0cnVjdCBfWGkxOG5DbGllbnQKLSB7Ci0gICAgIGlu dAkJY29ubmVjdF9pZDsKLUBAIC0xNDksOCArMTY1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hpMThu Q2xpZW50Ci0gICAgICAqLwotICAgICBpbnQJCXN5bmM7Ci0gICAgIFhJTVBlbmRpbmcgICpwZW5k aW5nOwotLSAgICAvKiBwcm9wZXJ0eSBvZmZzZXQgdG8gcmVhZCBuZXh0IGRhdGEgKi8KLS0gICAg bG9uZyAgICAgICAgcHJvcGVydHlfb2Zmc2V0OwotKyAgICBYaTE4bk9mZnNldENhY2hlIG9mZnNl dF9jYWNoZTsKLSAgICAgdm9pZCAqdHJhbnNfcmVjOwkJLyogY29udGFpbnMgdHJhbnNwb3J0IHNw ZWNpZmljIGRhdGEgICovCi0gICAgIHN0cnVjdCBfWGkxOG5DbGllbnQgKm5leHQ7Ci0gfSBYaTE4 bkNsaWVudDsKLWRpZmYgLS1naXQgYS91dGlsL0lNZGtpdC9pMThuT2Zmc2V0Q2FjaGUuYyBiL3V0 aWwvSU1ka2l0L2kxOG5PZmZzZXRDYWNoZS5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg MDAwMDAwMC4uYzk1MmQ1YgotLS0tIC9kZXYvbnVsbAotKysrIGIvdXRpbC9JTWRraXQvaTE4bk9m ZnNldENhY2hlLmMKLUBAIC0wLDAgKzEsODkgQEAKLSsvKgotKyAqIENvcHlyaWdodCAoQykgMjAx NCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQgKEMp IDIwMTQgUmVkIEhhdCwgSW5jLgotKyAqCi0rICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1v ZGlmeSwgZGlzdHJpYnV0ZSwgYW5kIHNlbGwgdGhpcwotKyAqIHNvZnR3YXJlIGFuZCBpdHMgZG9j dW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5IGdyYW50ZWQKLSsgKiB3aXRob3V0 IGZlZSwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4K LSsgKiBhbGwgY29waWVzIGFuZCB0aGF0IGJvdGggdGhhdCBjb3B5cmlnaHQgbm90aWNlIGFuZCB0 aGlzIHBlcm1pc3Npb24KLSsgKiBub3RpY2UgYXBwZWFyIGluIHN1cHBvcnRpbmcgZG9jdW1lbnRh dGlvbiwgYW5kIHRoYXQgdGhlIG5hbWUgb2YKLSsgKiB0aGUgY29weXJpZ2h0IGhvbGRlcnMgbm90 IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5Ci0rICogcGVydGFpbmluZyB0byBk aXN0cmlidXRpb24gb2YgdGhlIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMsCi0rICogd3JpdHRl biBwcmlvciBwZXJtaXNzaW9uLiAgVGhlIGNvcHlyaWdodCBob2xkZXJzIG1ha2Ugbm8KLSsgKiBy ZXByZXNlbnRhdGlvbnMgYWJvdXQgdGhlIHN1aXRhYmlsaXR5IG9mIHRoaXMgc29mdHdhcmUgZm9y IGFueQotKyAqIHB1cnBvc2UuICBJdCBpcyBwcm92aWRlZCAiYXMgaXMiIHdpdGhvdXQgZXhwcmVz cyBvciBpbXBsaWVkCi0rICogd2FycmFudHkuCi0rICoKLSsgKiBUSEUgQ09QWVJJR0hUIEhPTERF UlMgRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUwotKyAqIFNPRlRX QVJFLCBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg QU5ECi0rICogRklUTkVTUywgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVJT IEJFIExJQUJMRSBGT1IgQU5ZCi0rICogU1BFQ0lBTCwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElB TCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTCi0rICogV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBM T1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOCi0rICogQU4gQUNUSU9OIE9G IENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwKLSsgKiBBUklT SU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBP RgotKyAqIFRISVMgU09GVFdBUkUuCi0rICoKLSsgKiBBdXRob3I6IEtsZW1lbnMgQmF1bSA8a2xl bWVuc2JhdW1AZ21haWwuY29tPgotKyAqLwotKwotKyNpbmNsdWRlIDxYMTEvWGxpYi5oPgotKyNp bmNsdWRlIDxzdGRkZWYuaD4KLSsjaW5jbHVkZSAiSU1ka2l0LmgiCi0rI2luY2x1ZGUgIlhpMThu LmgiCi0rCi0rLyoKLSsgKiBUaGUgWElNIHNwZWNpZmljYXRpb24gZG9lcyBub3QgbGltaXQgdGhl IG51bWJlciBvZiB3aW5kb3cgcHJvcGVydGllcwotKyAqIHRoYXQgY2FuIGJlIHVzZWQgdG8gdHJh bnNmZXIgZGF0YSwgYnV0IFhsaWIgdXNlcyB0aGUgYXRvbSBzdHJpbmdzCi0rICogX2NsaWVudDAg dGhyb3VnaCBfY2xpZW50MjAuCi0rICoKLSsgKiBTbyB1c2UgdGhhdCBhcyBhIHNlbnNpYmxlIGlu aXRpYWwgc2l6ZSBmb3IgdGhlIG9mZnNldCBjYWNoZS4KLSsgKi8KLSsjZGVmaW5lIElOSVRJQUxf T0ZGU0VUX0NBQ0hFX0NBUEFDSVRZIDIxCi0rI2RlZmluZSBPRkZTRVRfQ0FDSEVfR1JPV1RIX0ZB Q1RPUiAyCi0rCi0rdm9pZCBfWGkxOG5Jbml0T2Zmc2V0Q2FjaGUgKFhpMThuT2Zmc2V0Q2FjaGUg Km9mZnNldF9jYWNoZSkKLSt7Ci0rICAgIG9mZnNldF9jYWNoZS0+c2l6ZSA9IDA7Ci0rICAgIG9m ZnNldF9jYWNoZS0+Y2FwYWNpdHkgPSBJTklUSUFMX09GRlNFVF9DQUNIRV9DQVBBQ0lUWTsKLSsg ICAgb2Zmc2V0X2NhY2hlLT5kYXRhID0gKFhpMThuQXRvbU9mZnNldFBhaXIgKikgbWFsbG9jICgK LSsgICAgICAgIElOSVRJQUxfT0ZGU0VUX0NBQ0hFX0NBUEFDSVRZICogc2l6ZW9mIChYaTE4bkF0 b21PZmZzZXRQYWlyKSk7Ci0rfQotKwotK3Vuc2lnbmVkIGxvbmcgX1hpMThuTG9va3VwUHJvcGVy dHlPZmZzZXQgKFhpMThuT2Zmc2V0Q2FjaGUgKm9mZnNldF9jYWNoZSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdG9tIGtleSkKLSt7Ci0rICAgIFhpMThuQXRv bU9mZnNldFBhaXIgKmRhdGEgPSBvZmZzZXRfY2FjaGUtPmRhdGE7Ci0rICAgIHNpemVfdCBpOwot KwotKyAgICBmb3IgKGkgPSAwOyBpIDwgb2Zmc2V0X2NhY2hlLT5zaXplOyArK2kpIHsKLSsgICAg ICAgIGlmIChkYXRhW2ldLmtleSA9PSBrZXkpIHsKLSsgICAgICAgICAgICByZXR1cm4gZGF0YVtp XS5vZmZzZXQ7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsKLSsgICAgcmV0dXJuIDA7Ci0rfQotKwot K3ZvaWQgX1hpMThuU2V0UHJvcGVydHlPZmZzZXQgKFhpMThuT2Zmc2V0Q2FjaGUgKm9mZnNldF9j YWNoZSwgQXRvbSBrZXksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyBvZmZzZXQpCi0rewotKyAgICBYaTE4bkF0b21PZmZzZXRQYWlyICpkYXRhID0gb2Zmc2V0 X2NhY2hlLT5kYXRhOwotKyAgICBzaXplX3QgaTsKLSsKLSsgICAgZm9yIChpID0gMDsgaSA8IG9m ZnNldF9jYWNoZS0+c2l6ZTsgKytpKSB7Ci0rICAgICAgICBpZiAoZGF0YVtpXS5rZXkgPT0ga2V5 KSB7Ci0rICAgICAgICAgICAgZGF0YVtpXS5vZmZzZXQgPSBvZmZzZXQ7Ci0rICAgICAgICAgICAg cmV0dXJuOwotKyAgICAgICAgfQotKyAgICB9Ci0rCi0rICAgIGlmICgrK29mZnNldF9jYWNoZS0+ c2l6ZSA+IG9mZnNldF9jYWNoZS0+Y2FwYWNpdHkpIHsKLSsgICAgICAgIG9mZnNldF9jYWNoZS0+ Y2FwYWNpdHkgKj0gT0ZGU0VUX0NBQ0hFX0dST1dUSF9GQUNUT1I7Ci0rICAgICAgICBvZmZzZXRf Y2FjaGUtPmRhdGEgPSBkYXRhID0gKFhpMThuQXRvbU9mZnNldFBhaXIgKikgcmVhbGxvYyAoZGF0 YSwKLSsgICAgICAgICAgICAgICAgb2Zmc2V0X2NhY2hlLT5jYXBhY2l0eSAqIHNpemVvZiAoWGkx OG5BdG9tT2Zmc2V0UGFpcikpOwotKyAgICB9Ci0rCi0rICAgIGRhdGFbaV0ua2V5ID0ga2V5Owot KyAgICBkYXRhW2ldLm9mZnNldCA9IG9mZnNldDsKLSt9Ci0rCi1kaWZmIC0tZ2l0IGEvdXRpbC9J TWRraXQvaTE4blV0aWwuYyBiL3V0aWwvSU1ka2l0L2kxOG5VdGlsLmMKLWluZGV4IGMwN2RlNDgu LjY1NTdiZDEgMTAwNjQ0Ci0tLS0gYS91dGlsL0lNZGtpdC9pMThuVXRpbC5jCi0rKysgYi91dGls L0lNZGtpdC9pMThuVXRpbC5jCi1AQCAtMSw3ICsxLDkgQEAKLSAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gIAotLSAg ICAgICAgIENvcHlyaWdodCAxOTk0LCAxOTk1IGJ5IFN1biBNaWNyb3N5c3RlbXMsIEluYy4KLS0g ICAgICAgICBDb3B5cmlnaHQgMTk5MywgMTk5NCBieSBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQot KyAgICAgICAgIENvcHlyaWdodCAoQykgMTk5NC0xOTk1IFN1biBNaWNyb3N5c3RlbXMsIEluYy4K LSsgICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTMtMTk5NCBIZXdsZXR0LVBhY2thcmQgQ29tcGFu eQotKyAgICAgICAgIENvcHlyaWdodCAoQykgMjAxNCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5n QGdtYWlsLmNvbT4KLSsgICAgICAgICBDb3B5cmlnaHQgKEMpIDIwMTQgUmVkIEhhdCwgSW5jLgot ICAKLSBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBkaXN0cmlidXRlLCBhbmQgc2Vs bCB0aGlzIHNvZnR3YXJlCi0gYW5kIGl0cyBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBp cyBoZXJlYnkgZ3JhbnRlZCB3aXRob3V0IGZlZSwKLUBAIC0zNiw2ICszOCw3IEBAIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0gI2lu Y2x1ZGUgIlhpbUZ1bmMuaCIKLSAKLSBYaTE4bkNsaWVudCAqX1hpMThuRmluZENsaWVudCAoWGkx OG4sIENBUkQxNik7Ci0rdm9pZCBfWGkxOG5Jbml0T2Zmc2V0Q2FjaGUgKFhpMThuT2Zmc2V0Q2Fj aGUgKik7Ci0gCi0gaW50Ci0gX1hpMThuTmVlZFN3YXAgKFhpMThuIGkxOG5fY29yZSwgQ0FSRDE2 IGNvbm5lY3RfaWQpCi1AQCAtNzAsNyArNzMsNyBAQCBYaTE4bkNsaWVudCAqX1hpMThuTmV3Q2xp ZW50KFhpMThuIGkxOG5fY29yZSkKLSAgICAgY2xpZW50LT5zeW5jID0gRmFsc2U7Ci0gICAgIGNs aWVudC0+Ynl0ZV9vcmRlciA9ICc/JzsgCS8qIGluaXRpYWwgdmFsdWUgKi8KLSAgICAgbWVtc2V0 ICgmY2xpZW50LT5wZW5kaW5nLCAwLCBzaXplb2YgKFhJTVBlbmRpbmcgKikpOwotLSAgICBjbGll bnQtPnByb3BlcnR5X29mZnNldCA9IDA7Ci0rICAgIF9YaTE4bkluaXRPZmZzZXRDYWNoZSAoJmNs aWVudC0+b2Zmc2V0X2NhY2hlKTsKLSAgICAgY2xpZW50LT5uZXh0ID0gaTE4bl9jb3JlLT5hZGRy ZXNzLmNsaWVudHM7Ci0gICAgIGkxOG5fY29yZS0+YWRkcmVzcy5jbGllbnRzID0gY2xpZW50Owot IAotZGlmZiAtLWdpdCBhL3V0aWwvSU1ka2l0L2kxOG5YLmMgYi91dGlsL0lNZGtpdC9pMThuWC5j Ci1pbmRleCAwYTU0MDU4Li44Mzg1YWJhIDEwMDY0NAotLS0tIGEvdXRpbC9JTWRraXQvaTE4blgu YwotKysrIGIvdXRpbC9JTWRraXQvaTE4blguYwotQEAgLTEsNyArMSw5IEBACi0gLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgotICAKLS0gICAgICAgICBDb3B5cmlnaHQgMTk5NCwgMTk5NSBieSBTdW4gTWljcm9zeXN0ZW1z LCBJbmMuCi0tICAgICAgICAgQ29weXJpZ2h0IDE5OTMsIDE5OTQgYnkgSGV3bGV0dC1QYWNrYXJk IENvbXBhbnkKLSsgICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTQtMTk5NSBTdW4gTWljcm9zeXN0 ZW1zLCBJbmMuCi0rICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTkzLTE5OTQgSGV3bGV0dC1QYWNr YXJkIENvbXBhbnkKLSsgICAgICAgICBDb3B5cmlnaHQgKEMpIDIwMTQgUGVuZyBIdWFuZyA8c2hh d24ucC5odWFuZ0BnbWFpbC5jb20+Ci0rICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDE0IFJlZCBI YXQsIEluYy4KLSAgCi0gUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgZGlzdHJpYnV0 ZSwgYW5kIHNlbGwgdGhpcyBzb2Z0d2FyZQotIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiBmb3IgYW55 IHB1cnBvc2UgaXMgaGVyZWJ5IGdyYW50ZWQgd2l0aG91dCBmZWUsCi1AQCAtMjksNiArMzEsNyBA QCBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRX QVJFLgotICAKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovCi0gCi0rI2luY2x1ZGUgPHN0ZGRlZi5oPgotICNpbmNsdWRl IDxsaW1pdHMuaD4KLSAjaW5jbHVkZSA8WDExL1hsaWIuaD4KLSAjaW5jbHVkZSA8WDExL1hhdG9t Lmg+Ci1AQCAtMzgsMTIgKzQxLDE0IEBAIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBF UkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0gI2luY2x1ZGUgIlhpMThuWC5oIgotICNpbmNs dWRlICJYaW1GdW5jLmgiCi0gCi0tZXh0ZXJuIFhpMThuQ2xpZW50ICpfWGkxOG5GaW5kQ2xpZW50 KFhpMThuLCBDQVJEMTYpOwotLWV4dGVybiBYaTE4bkNsaWVudCAqX1hpMThuTmV3Q2xpZW50KFhp MThuKTsKLS1leHRlcm4gdm9pZCBfWGkxOG5EZWxldGVDbGllbnQoWGkxOG4sIENBUkQxNik7Ci0t c3RhdGljIEJvb2wgV2FpdFhDb25uZWN0TWVzc2FnZShEaXNwbGF5KiwgV2luZG93LAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWEV2ZW50KiwgWFBvaW50ZXIpOwotLXN0YXRpYyBC b29sIFdhaXRYSU1Qcm90b2NvbChEaXNwbGF5KiwgV2luZG93LCBYRXZlbnQqLCBYUG9pbnRlcik7 Ci0rZXh0ZXJuIFhpMThuQ2xpZW50ICpfWGkxOG5GaW5kQ2xpZW50IChYaTE4biwgQ0FSRDE2KTsK LStleHRlcm4gWGkxOG5DbGllbnQgKl9YaTE4bk5ld0NsaWVudCAoWGkxOG4pOwotK2V4dGVybiB2 b2lkIF9YaTE4bkRlbGV0ZUNsaWVudCAoWGkxOG4sIENBUkQxNik7Ci0rZXh0ZXJuIHVuc2lnbmVk IGxvbmcgX1hpMThuTG9va3VwUHJvcGVydHlPZmZzZXQgKFhpMThuT2Zmc2V0Q2FjaGUgKiwgQXRv bSk7Ci0rZXh0ZXJuIHZvaWQgX1hpMThuU2V0UHJvcGVydHlPZmZzZXQgKFhpMThuT2Zmc2V0Q2Fj aGUgKiwgQXRvbSwgdW5zaWduZWQgbG9uZyk7Ci0rc3RhdGljIEJvb2wgV2FpdFhDb25uZWN0TWVz c2FnZSAoRGlzcGxheSosIFdpbmRvdywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBYRXZlbnQqLCBYUG9pbnRlcik7Ci0rc3RhdGljIEJvb2wgV2FpdFhJTVByb3RvY29sIChEaXNw bGF5KiwgV2luZG93LCBYRXZlbnQqLCBYUG9pbnRlcik7Ci0gCi0gc3RhdGljIFhDbGllbnQgKk5l d1hDbGllbnQgKFhpMThuIGkxOG5fY29yZSwgV2luZG93IG5ld19jbGllbnQpCi0gewotQEAgLTEy OSw3ICsxMzQsNiBAQCBzdGF0aWMgdW5zaWduZWQgY2hhciAqUmVhZFhJTU1lc3NhZ2UgKFhJTVMg aW1zLAotICAgICBlbHNlIGlmIChldi0+Zm9ybWF0ID09IDMyKSB7Ci0gICAgICAgICAvKiBDbGll bnRNZXNzYWdlIGFuZCBXaW5kb3dQcm9wZXJ0eSAqLwotICAgICAgICAgdW5zaWduZWQgbG9uZyBs ZW5ndGggPSAodW5zaWduZWQgbG9uZykgZXYtPmRhdGEubFswXTsKLS0gICAgICAgIHVuc2lnbmVk IGxvbmcgZ2V0X2xlbmd0aDsKLSAgICAgICAgIEF0b20gYXRvbSA9IChBdG9tKSBldi0+ZGF0YS5s WzFdOwotICAgICAgICAgaW50IHJldHVybl9jb2RlOwotICAgICAgICAgQXRvbSBhY3R1YWxfdHlw ZV9yZXQ7Ci1AQCAtMTM3LDIxICsxNDEsMjggQEAgc3RhdGljIHVuc2lnbmVkIGNoYXIgKlJlYWRY SU1NZXNzYWdlIChYSU1TIGltcywKLSAgICAgICAgIHVuc2lnbmVkIGxvbmcgYnl0ZXNfYWZ0ZXJf cmV0OwotICAgICAgICAgdW5zaWduZWQgY2hhciAqcHJvcDsKLSAgICAgICAgIHVuc2lnbmVkIGxv bmcgbml0ZW1zOwotLQotLSAgICAgICAgLyogUm91bmQgdXAgbGVuZ3RoIHRvIG5leHQgNCBieXRl IHZhbHVlLiAqLwotLSAgICAgICAgZ2V0X2xlbmd0aCA9IGxlbmd0aCArIDM7Ci0tICAgICAgICBp ZiAoZ2V0X2xlbmd0aCA+IExPTkdfTUFYKQotLSAgICAgICAgICAgIGdldF9sZW5ndGggPSBMT05H X01BWDsKLS0gICAgICAgIGdldF9sZW5ndGggLz0gNDsKLS0gICAgICAgIGlmIChnZXRfbGVuZ3Ro ID09IDApIHsKLS0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiBpbnZhbGlkIGxlbmd0 aCAwXG4iLCBfX2Z1bmNfXyk7Ci0rICAgICAgICBYaTE4bk9mZnNldENhY2hlICpvZmZzZXRfY2Fj aGUgPSAmY2xpZW50LT5vZmZzZXRfY2FjaGU7Ci0rICAgICAgICB1bnNpZ25lZCBsb25nIG9mZnNl dDsKLSsgICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kOwotKyAgICAgICAgdW5zaWduZWQgbG9uZyBs b25nX2JlZ2luOwotKyAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nX2VuZDsKLSsKLSsgICAgICAg IGlmIChsZW5ndGggPT0gMCkgewotKyAgICAgICAgICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiBp bnZhbGlkIGxlbmd0aCAwXG4iLCBfX2Z1bmNfXyk7Ci0gICAgICAgICAgICAgcmV0dXJuIE5VTEw7 Ci0gICAgICAgICB9Ci0rCi0rICAgICAgICBvZmZzZXQgPSBfWGkxOG5Mb29rdXBQcm9wZXJ0eU9m ZnNldCAob2Zmc2V0X2NhY2hlLCBhdG9tKTsKLSsgICAgICAgIGVuZCA9IG9mZnNldCArIGxlbmd0 aDsKLSsKLSsgICAgICAgIC8qIFRoZSBwcm9wZXJ0eSBkYXRhIGlzIHJldHJpZXZlZCBpbiAzMi1i aXQgY2h1bmtzICovCi0rICAgICAgICBsb25nX2JlZ2luID0gb2Zmc2V0IC8gNDsKLSsgICAgICAg IGxvbmdfZW5kID0gKGVuZCArIDMpIC8gNDsKLSAgICAgICAgIHJldHVybl9jb2RlID0gWEdldFdp bmRvd1Byb3BlcnR5IChpMThuX2NvcmUtPmFkZHJlc3MuZHB5LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHhfY2xpZW50LT5hY2NlcHRfd2luLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0b20sCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LT5wcm9wZXJ0eV9vZmZzZXQgLyA0LAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF9sZW5ndGgsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ19iZWdpbiwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nX2VuZCAtIGxvbmdf YmVnaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1ZSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbnlQcm9wZXJ0eVR5 cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFjdHVhbF90 eXBlX3JldCwKLUBAIC0xNjIsMzIgKzE3MywyMiBAQCBzdGF0aWMgdW5zaWduZWQgY2hhciAqUmVh ZFhJTU1lc3NhZ2UgKFhJTVMgaW1zLAotICAgICAgICAgaWYgKHJldHVybl9jb2RlICE9IFN1Y2Nl c3MgfHwgYWN0dWFsX2Zvcm1hdF9yZXQgPT0gMCB8fCBuaXRlbXMgPT0gMCkgewotICAgICAgICAg ICAgIGlmIChyZXR1cm5fY29kZSA9PSBTdWNjZXNzKQotICAgICAgICAgICAgICAgICBYRnJlZSAo cHJvcCk7Ci0tICAgICAgICAgICAgY2xpZW50LT5wcm9wZXJ0eV9vZmZzZXQgPSAwOwotKyAgICAg ICAgICAgIGZwcmludGYgKHN0ZGVyciwKLSsgICAgICAgICAgICAgICAgICAgICIoWElNLUlNZGtp dCkgRVJST1I6IFhHZXRXaW5kb3dQcm9wZXJ0eSBmYWlsZWQuXG4iCi0rICAgICAgICAgICAgICAg ICAgICAiUHJvdG9jb2wgZGF0YSBpcyBsaWtlbHkgdG8gYmUgaW5jb25zaXN0ZW50LlxuIik7Ci0r ICAgICAgICAgICAgX1hpMThuU2V0UHJvcGVydHlPZmZzZXQgKG9mZnNldF9jYWNoZSwgYXRvbSwg MCk7Ci0gICAgICAgICAgICAgcmV0dXJuICh1bnNpZ25lZCBjaGFyICopIE5VTEw7Ci0gICAgICAg ICB9Ci0gICAgICAgICAvKiBVcGRhdGUgdGhlIG9mZnNldCB0byByZWFkIG5leHQgdGltZSBhcyBu ZWVkZWQgKi8KLSAgICAgICAgIGlmIChieXRlc19hZnRlcl9yZXQgPiAwKQotLSAgICAgICAgICAg IGNsaWVudC0+cHJvcGVydHlfb2Zmc2V0ICs9IGxlbmd0aDsKLSsgICAgICAgICAgICBfWGkxOG5T ZXRQcm9wZXJ0eU9mZnNldCAob2Zmc2V0X2NhY2hlLCBhdG9tLCBvZmZzZXQgKyBsZW5ndGgpOwot ICAgICAgICAgZWxzZQotLSAgICAgICAgICAgIGNsaWVudC0+cHJvcGVydHlfb2Zmc2V0ID0gMDsK LS0gICAgICAgIHN3aXRjaCAoYWN0dWFsX2Zvcm1hdF9yZXQpIHsKLS0gICAgICAgIGNhc2UgODoK LS0gICAgICAgIGNhc2UgMTY6Ci0tICAgICAgICBjYXNlIDMyOgotLSAgICAgICAgICAgIGxlbmd0 aCA9IG5pdGVtcyAqIGFjdHVhbF9mb3JtYXRfcmV0IC8gODsKLS0gICAgICAgICAgICBicmVhazsK LS0gICAgICAgIGRlZmF1bHQ6Ci0tICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogdW5r bm93biBwcm9wZXJ0eSByZXR1cm4gZm9ybWF0OiAlZFxuIiwKLS0gICAgICAgICAgICAgICAgICAg ICAgICBfX2Z1bmNfXywgYWN0dWFsX2Zvcm1hdF9yZXQpOwotLSAgICAgICAgICAgIFhGcmVlKHBy b3ApOwotLSAgICAgICAgICAgIGNsaWVudC0+cHJvcGVydHlfb2Zmc2V0ID0gMDsKLS0gICAgICAg ICAgICByZXR1cm4gTlVMTDsKLS0gICAgICAgIH0KLSsgICAgICAgICAgICBfWGkxOG5TZXRQcm9w ZXJ0eU9mZnNldCAob2Zmc2V0X2NhY2hlLCBhdG9tLCAwKTsKLSAgICAgICAgIC8qIGlmIGhpdCwg aXQgbWlnaHQgYmUgYW4gZXJyb3IgKi8KLSAgICAgICAgIGlmICgocCA9ICh1bnNpZ25lZCBjaGFy ICopIG1hbGxvYyAobGVuZ3RoKSkgPT0gTlVMTCkKLSAgICAgICAgICAgICByZXR1cm4gKHVuc2ln bmVkIGNoYXIgKikgTlVMTDsKLSAKLS0gICAgICAgIG1lbW1vdmUgKHAsIHByb3AsIGxlbmd0aCk7 Ci0rICAgICAgICBtZW1jcHkgKHAsIHByb3AgKyAob2Zmc2V0ICUgNCksIGxlbmd0aCk7Ci0gICAg ICAgICBYRnJlZSAocHJvcCk7Ci0gICAgIH0KLSAgICAgcmV0dXJuICh1bnNpZ25lZCBjaGFyICop IHA7Ci0tLSAKLTIuMS4wCi0KLUZyb20gYmZhNGQ3NWJhYzI5Zjc3ODI4ZTRlZDM4ZWJlYzZhZjJl NmQ5NjE0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8u ZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMiBGZWIgMjAxNSAxNjoxNTozNyArMDkw MAotU3ViamVjdDogW1BBVENIXSBSZWxlYXNlIHJlZ2lzdHJ5IG9ic2VydmVkX3BhdGhzIGFuZCBj b21wb25lbnRzIGlmIHRoZXkgYXJlIAotIGJyb2tlbgotCi1SZWdpc3RyeSBjYWNoZXMgbWlnaHQg YmUgYnJva2VuIGluIGEgZGlzay4KLS0tLQotIHNyYy9pYnVzcmVnaXN0cnkuYyB8IDIwICsrKysr KysrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaWJ1c3JlZ2lzdHJ5LmMgYi9zcmMvaWJ1c3Jl Z2lzdHJ5LmMKLWluZGV4IDI4MzBhMDguLjhlOWFkYTkgMTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c3Jl Z2lzdHJ5LmMKLSsrKyBiL3NyYy9pYnVzcmVnaXN0cnkuYwotQEAgLTEsOSArMSw5IEBACi0gLyog LSotIG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0q LSAqLwotIC8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCi0gLyogYnVzIC0gVGhlIElucHV0IEJ1cwot LSAqIENvcHlyaWdodCAoQykgMjAxMyBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNv bT4KLS0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+Ci0tICogQ29weXJpZ2h0IChDKSAyMDEzIFJlZCBIYXQsIEluYy4KLSsgKiBD b3B5cmlnaHQgKEMpIDIwMTUgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0r ICogQ29weXJpZ2h0IChDKSAyMDE1IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21h aWwuY29tPgotKyAqIENvcHlyaWdodCAoQykgMjAxNSBSZWQgSGF0LCBJbmMuCi0gICoKLSAgKiBU aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCi0gICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l cmFsIFB1YmxpYwotQEAgLTM3NCwxMiArMzc0LDI2IEBAIGlidXNfcmVnaXN0cnlfY2hlY2tfbW9k aWZpY2F0aW9uIChJQnVzUmVnaXN0cnkgKnJlZ2lzdHJ5KQotICAgICBnX2Fzc2VydCAoSUJVU19J U19SRUdJU1RSWSAocmVnaXN0cnkpKTsKLSAKLSAgICAgZm9yIChwID0gcmVnaXN0cnktPnByaXYt Pm9ic2VydmVkX3BhdGhzOyBwICE9IE5VTEw7IHAgPSBwLT5uZXh0KSB7Ci0rICAgICAgICBpZiAo IUlCVVNfSVNfT0JTRVJWRURfUEFUSCAocC0+ZGF0YSkpIHsKLSsgICAgICAgICAgICBnX3dhcm5p bmcgKCJUaGUgcmVnaXN0cnkgY2FjaGUgb2Ygb2JzZXJ2ZWRfcGF0aHMgbWlnaHQgYmUgIiBcCi0r ICAgICAgICAgICAgICAgICAgICAgICAiYnJva2VuIGFuZCBoYXZlIHRvIGdlbmVyYXRlIHRoZSBj YWNoZSBhZ2Fpbi4iKTsKLSsgICAgICAgICAgICBnX2xpc3RfZnJlZV9mdWxsIChyZWdpc3RyeS0+ cHJpdi0+b2JzZXJ2ZWRfcGF0aHMsIGdfb2JqZWN0X3VucmVmKTsKLSsgICAgICAgICAgICByZWdp c3RyeS0+cHJpdi0+b2JzZXJ2ZWRfcGF0aHMgPSBOVUxMOwotKyAgICAgICAgICAgIHJldHVybiBU UlVFOwotKyAgICAgICAgfQotICAgICAgICAgaWYgKGlidXNfb2JzZXJ2ZWRfcGF0aF9jaGVja19t b2RpZmljYXRpb24gKAotICAgICAgICAgICAgICAgICAgICAgKElCdXNPYnNlcnZlZFBhdGggKikg cC0+ZGF0YSkpCi0gICAgICAgICAgICAgcmV0dXJuIFRSVUU7Ci0gICAgIH0KLSAKLSAgICAgZm9y IChwID0gcmVnaXN0cnktPnByaXYtPmNvbXBvbmVudHM7IHAgIT0gTlVMTDsgcCA9IHAtPm5leHQp IHsKLSsgICAgICAgIGlmICghSUJVU19JU19DT01QT05FTlQgKHAtPmRhdGEpKSB7Ci0rICAgICAg ICAgICAgZ193YXJuaW5nICgiVGhlIHJlZ2lzdHJ5IGNhY2hlIG9mIGNvbXBvbmVudHMgbWlnaHQg YmUgIiBcCi0rICAgICAgICAgICAgICAgICAgICAgICAiYnJva2VuIGFuZCBoYXZlIHRvIGdlbmVy YXRlIHRoZSBjYWNoZSBhZ2Fpbi4iKTsKLSsgICAgICAgICAgICBnX2xpc3RfZnJlZV9mdWxsIChy ZWdpc3RyeS0+cHJpdi0+Y29tcG9uZW50cywgZ19vYmplY3RfdW5yZWYpOwotKyAgICAgICAgICAg IHJlZ2lzdHJ5LT5wcml2LT5jb21wb25lbnRzID0gTlVMTDsKLSsgICAgICAgICAgICByZXR1cm4g VFJVRTsKLSsgICAgICAgIH0KLSAgICAgICAgIGlmIChpYnVzX2NvbXBvbmVudF9jaGVja19tb2Rp ZmljYXRpb24gKChJQnVzQ29tcG9uZW50ICopIHAtPmRhdGEpKQotICAgICAgICAgICAgIHJldHVy biBUUlVFOwotICAgICB9Ci0tLSAKLTIuMS4wCiAKCmRpZmYgLS1naXQgYS9pYnVzLXh4LWluY3Jl YXNlLXRpbWVvdXQucGF0Y2ggYi9pYnVzLXh4LWluY3JlYXNlLXRpbWVvdXQucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0MDZkNjkuLjAwMDAwMDAKLS0tIGEvaWJ1cy14eC1p bmNyZWFzZS10aW1lb3V0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotLS0t IGlidXMtMS41LjgvYnVzL2dsb2JhbC5jLm9yaWcJMjAxNC0xMC0yNCAxMTozOTowMi45OTIzNTk4 NTUgKzA5MDAKLSsrKyBpYnVzLTEuNS44L2J1cy9nbG9iYWwuYwkyMDE0LTEyLTAxIDE5OjExOjEx LjMxMTc1OTExMiArMDkwMAotQEAgLTI4LDQgKzI4LDQgQEAgZ2NoYXIgKmdfYWRkcmVzcyA9ICJ1 bml4OnRtcGRpcj0vdG1wIjsKLSBnY2hhciAqZ19jYWNoZSA9ICJhdXRvIjsKLSBnYm9vbGVhbiBn X21lbXBybyA9IEZBTFNFOwotIGdib29sZWFuIGdfdmVyYm9zZSA9IEZBTFNFOwotLWdpbnQgICBn X2dkYnVzX3RpbWVvdXQgPSA1MDAwOwotK2dpbnQgICBnX2dkYnVzX3RpbWVvdXQgPSAxNTAwMDsK LS0tLSBpYnVzLTEuNS44L2J1cy9pYnVzaW1wbC5jLm9yaWcJMjAxNC0xMC0xNCAxMjoxNTozMC41 NDczNjkxMDggKzA5MDAKLSsrKyBpYnVzLTEuNS44L2J1cy9pYnVzaW1wbC5jCTIwMTQtMTAtMTQg MTI6MTY6MjMuMTgyMzk2MjQ3ICswOTAwCi1AQCAtMTM5MCwxMSArMTM5MCwxMiBAQCBfaWJ1c19z ZXRfZ2xvYmFsX2VuZ2luZV9yZWFkeV9jYiAoQnVzSW5wCi0gCi0gICAgIEdFcnJvciAqZXJyb3Ig PSBOVUxMOwotICAgICBpZiAoIWJ1c19pbnB1dF9jb250ZXh0X3NldF9lbmdpbmVfYnlfZGVzY19m aW5pc2ggKGNvbnRleHQsIHJlcywgJmVycm9yKSkgewotLSAgICAgICAgZ19lcnJvcl9mcmVlIChl cnJvcik7Ci0gICAgICAgICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0dXJuX2Vycm9yIChk YXRhLT5pbnZvY2F0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgR19EQlVTX0VSUk9SLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgR19EQlVTX0VSUk9SX0ZBSUxFRCwKLS0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTZXQgZ2xvYmFsIGVuZ2luZSBmYWlsZWQuIik7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2V0IGds b2JhbCBlbmdpbmUgZmFpbGVkOiAlcyIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlcnJvci0+bWVzc2FnZSk7Ci0rICAgICAgICBnX2Vycm9yX2ZyZWUg KGVycm9yKTsKLSAgICAgfQotICAgICBlbHNlIHsKLSAgICAgICAgIGdfZGJ1c19tZXRob2RfaW52 b2NhdGlvbl9yZXR1cm5fdmFsdWUgKGRhdGEtPmludm9jYXRpb24sIE5VTEwpOwotLS0tIGlidXMt MS41LjgvYnVzL21haW4uYy5vcmlnCTIwMTQtMTAtMjQgMTE6NDE6MzIuNTc5MTQwOTEyICswOTAw Ci0rKysgaWJ1cy0xLjUuOC9idXMvbWFpbi5jCTIwMTQtMTItMDEgMTk6MTI6MTcuMjM1MTA5ODQ5 ICswOTAwCi1AQCAtNjQsNyArNjQsNyBAQCBzdGF0aWMgY29uc3QgR09wdGlvbkVudHJ5IGVudHJp ZXNbXSA9Ci0gICAgIHsgImFkZHJlc3MiLCAgICdhJywgMCwgR19PUFRJT05fQVJHX1NUUklORywg JmdfYWRkcmVzcywgICAic3BlY2lmeSB0aGUgYWRkcmVzcyBvZiBpYnVzIGRhZW1vbi4iLCAiYWRk cmVzcyIgfSwKLSAgICAgeyAicmVwbGFjZSIsICAgJ3InLCAwLCBHX09QVElPTl9BUkdfTk9ORSwg ICAmcmVwbGFjZSwgICAiaWYgdGhlcmUgaXMgYW4gb2xkIGlidXMtZGFlbW9uIGlzIHJ1bm5pbmcs IGl0IHdpbGwgYmUgcmVwbGFjZWQuIiwgTlVMTCB9LAotICAgICB7ICJjYWNoZSIsICAgICAndCcs IDAsIEdfT1BUSU9OX0FSR19TVFJJTkcsICZnX2NhY2hlLCAgICJzcGVjaWZ5IHRoZSBjYWNoZSBt b2RlLiBbYXV0by9yZWZyZXNoL25vbmVdIiwgTlVMTCB9LAotLSAgICB7ICJ0aW1lb3V0IiwgICAn bycsIDAsIEdfT1BUSU9OX0FSR19JTlQsICAgICZnX2dkYnVzX3RpbWVvdXQsICJnZGJ1cyByZXBs eSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gcGFzcyAtMSB0byB1c2UgdGhlIGRlZmF1bHQgdGlt ZW91dCBvZiBnZGJ1cy4iLCAidGltZW91dCBbZGVmYXVsdCBpcyA1MDAwXSIgfSwKLSsgICAgeyAi dGltZW91dCIsICAgJ28nLCAwLCBHX09QVElPTl9BUkdfSU5ULCAgICAmZ19nZGJ1c190aW1lb3V0 LCAiZ2RidXMgcmVwbHkgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuIHBhc3MgLTEgdG8gdXNlIHRo ZSBkZWZhdWx0IHRpbWVvdXQgb2YgZ2RidXMuIiwgInRpbWVvdXQgW2RlZmF1bHQgaXMgMTUwMDBd IiB9LAotICAgICB7ICJtZW0tcHJvZmlsZSIsICdtJywgMCwgR19PUFRJT05fQVJHX05PTkUsICAg JmdfbWVtcHJvLCAgICJlbmFibGUgbWVtb3J5IHByb2ZpbGUsIHNlbmQgU0lHVVNSMiB0byBwcmlu dCBvdXQgdGhlIG1lbW9yeSBwcm9maWxlLiIsIE5VTEwgfSwKLSAgICAgeyAicmVzdGFydCIsICAg ICAnUicsIDAsIEdfT1BUSU9OX0FSR19OT05FLCAgICZyZXN0YXJ0LCAgICAicmVzdGFydCBwYW5l bCBhbmQgY29uZmlnIHByb2Nlc3NlcyB3aGVuIHRoZXkgZGllLiIsIE5VTEwgfSwKLSAgICAgeyAi dmVyYm9zZSIsICAgJ3YnLCAwLCBHX09QVElPTl9BUkdfTk9ORSwgICAmZ192ZXJib3NlLCAgICJ2 ZXJib3NlLiIsIE5VTEwgfSwKLS0tLSBpYnVzLTEuNS44L3NyYy9pYnVzc2hhcmUuYy5vcmlnCTIw MTQtMTAtMjIgMTE6NDk6NTUuMzg2OTEzMzc2ICswOTAwCi0rKysgaWJ1cy0xLjUuOC9zcmMvaWJ1 c3NoYXJlLmMJMjAxNC0xMi0wMSAxOToxMzowMS4xMzUwMDkzMjMgKzA5MDAKLUBAIC0xNTgsOCAr MTU4LDkgQEAgaWJ1c19nZXRfc29ja2V0X3BhdGggKHZvaWQpCi0gZ2ludAotIGlidXNfZ2V0X3Rp bWVvdXQgKHZvaWQpCi0gewotLSAgICAvKiA2MDAwIG1zIGlzIHRoZSBkZWZhdWx0IHRpbWVvdXQg b24gdGhlIGlidXMtZGFlbW9uIHNpZGUgKDUgc2VjKSBwbHVzIDEuICovCi0tICAgIHN0YXRpYyBj b25zdCBnaW50IGRlZmF1bHRfdGltZW91dCA9IDYwMDA7Ci0rICAgIC8qIDE2MDAwIG1zIGlzIHRo ZSBkZWZhdWx0IHRpbWVvdXQgb24gdGhlIGlidXMtZGFlbW9uIHNpZGUKLSsgICAgICogKDE1IHNl YykgcGx1cyAxLiAqLwotKyAgICBzdGF0aWMgY29uc3QgZ2ludCBkZWZhdWx0X3RpbWVvdXQgPSAx NjAwMDsKLSAKLSAgICAgc3RhdGljIGdpbnQ2NCB0aW1lb3V0ID0gLTI7Ci0gICAgIGlmICh0aW1l b3V0ID09IC0yKSB7Ci0tLS0gaWJ1cy0xLjUuOC91aS9ndGszL3BhbmVsLnZhbGEub3JpZwkyMDE0 LTEwLTIyIDEyOjAwOjM3LjAxNzYwNDgyNSArMDkwMAotKysrIGlidXMtMS41LjgvdWkvZ3RrMy9w YW5lbC52YWxhCTIwMTQtMTEtMjggMTg6NDk6NDkuODc4MjM0OTY2ICswOTAwCi1AQCAtNjUsNiAr NjUsOCBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKLSAgICAgICAgICAgICBy ZWQgPSAwLjAsIGdyZWVuID0gMC4wLCBibHVlID0gMC4wLCBhbHBoYSA9IDEuMCB9OwotICAgICBw cml2YXRlIFhLQkxheW91dCBtX3hrYmxheW91dCA9IG5ldyBYS0JMYXlvdXQoKTsKLSAgICAgcHJp dmF0ZSBib29sIGluaXRlZF9lbmdpbmVzX29yZGVyID0gdHJ1ZTsKLSsgICAgcHJpdmF0ZSB1aW50 IG1fcHJlbG9hZF9lbmdpbmVzX2lkOwotKyAgICBwcml2YXRlIGNvbnN0IHVpbnQgUFJFTE9BRF9F TkdJTkVTX0RFTEFZX1RJTUUgPSAzMDAwMDsKLSAKLSAgICAgcHJpdmF0ZSBHTGliLkxpc3Q8S2V5 YmluZGluZz4gbV9rZXliaW5kaW5ncyA9IG5ldyBHTGliLkxpc3Q8S2V5YmluZGluZz4oKTsKLSAK LUBAIC03NjQsOCArNzY2LDIxIEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2Ugewot ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgIH0KLSAKLSsgICAgICAgIGlmIChtX3ByZWxv YWRfZW5naW5lc19pZCAhPSAwKSB7Ci0rICAgICAgICAgICAgR0xpYi5Tb3VyY2UucmVtb3ZlKG1f cHJlbG9hZF9lbmdpbmVzX2lkKTsKLSsgICAgICAgICAgICBtX3ByZWxvYWRfZW5naW5lc19pZCA9 IDA7Ci0rICAgICAgICB9Ci0rCi0gICAgICAgICBuYW1lcyArPSBlbmdpbmVzW2luZGV4XS5nZXRf bmFtZSgpOwotLSAgICAgICAgbV9idXMucHJlbG9hZF9lbmdpbmVzX2FzeW5jLmJlZ2luKG5hbWVz LCAtMSwgbnVsbCk7Ci0rICAgICAgICBtX3ByZWxvYWRfZW5naW5lc19pZCA9Ci0rICAgICAgICAg ICAgICAgIFRpbWVvdXQuYWRkKAotKyAgICAgICAgICAgICAgICAgICAgICAgIFBSRUxPQURfRU5H SU5FU19ERUxBWV9USU1FLAotKyAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHsKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbV9idXMucHJlbG9hZF9lbmdpbmVzX2FzeW5jLmJlZ2lu KG5hbWVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLTEsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsKTsKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIGZhbHNlOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICB9 Ci0gCi0gICAgIHByaXZhdGUgdm9pZCB1cGRhdGVfZW5naW5lcyhzdHJpbmdbXT8gdW5vd25lZF9l bmdpbmVfbmFtZXMsCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIvaWJ1cy5zcGVjCmluZGV4IDJk M2MwNGIuLjExY2Y5MDEgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYworKysgYi9pYnVzLnNwZWMKQEAg LTksNiArOSwxMiBAQAogJWdsb2JhbCB3aXRoX3B5dGhvbjJfb3ZlcnJpZGVfcGtnIDAKICVlbmRp ZgogCislaWYgKDAlez9mZWRvcmF9ID4gMjEgfHwgMCV7P3JoZWx9ID4gNykKKyVnbG9iYWwgd2l0 aF9rZGU1IDEKKyVlbHNlCislZ2xvYmFsIHdpdGhfa2RlNSAwCislZW5kaWYKKwogJWdsb2JhbCBp YnVzX2FwaV92ZXJzaW9uIDEuMAogCiAjIGZvciBieXRlY29tcGlsZSBpbiAlJXtfZGF0YWRpcn0v aWJ1cy9zZXR1cApAQCAtMjcsOCArMzMsOCBAQAogJWdsb2JhbCBkYnVzX3B5dGhvbl92ZXJzaW9u IDAuODMuMAogCiBOYW1lOiAgICAgICAgICAgaWJ1cwotVmVyc2lvbjogICAgICAgIDEuNS45Ci1S ZWxlYXNlOiAgICAgICAgMTElez9kaXN0fQorVmVyc2lvbjogICAgICAgIDEuNS4xMAorUmVsZWFz ZTogICAgICAgIDElez9kaXN0fQogU3VtbWFyeTogICAgICAgIEludGVsbGlnZW50IElucHV0IEJ1 cyBmb3IgTGludXggT1MKIExpY2Vuc2U6ICAgICAgICBMR1BMdjIrCiBHcm91cDogICAgICAgICAg U3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwpAQCAtMzYsMTIgKzQyLDggQEAgVVJMOiAgICAg ICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9pYnVzLwogU291cmNlMDogICAgICAgIGh0 dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvcmVsZWFzZXMvZG93bmxvYWQvJXt2ZXJzaW9ufS8l e25hbWV9LSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2UxOiAgICAgICAgJXtuYW1lfS14aW5wdXQK IFNvdXJjZTI6ICAgICAgICAle25hbWV9LmNvbmYuNQotU291cmNlMzogICAgICAgIGh0dHBzOi8v ZnVqaXdhcmEuZmVkb3JhcGVvcGxlLm9yZy9pYnVzL3BvLyV7bmFtZX0tcG8tJXt2ZXJzaW9ufS0y MDE0MTAwMS50YXIuZ3oKICMgVXBzdHJlYW1lZCBwYXRjaGVzLgogIyBQYXRjaDA6ICAgICAgICAg JSV7bmFtZX0tSEVBRC5wYXRjaAotUGF0Y2gwOiAgICAgICAgICV7bmFtZX0tSEVBRC5wYXRjaAot UGF0Y2gxOiAgICAgICAgICV7bmFtZX0teHgtaW5jcmVhc2UtdGltZW91dC5wYXRjaAotUGF0Y2gy OiAgICAgICAgICV7bmFtZX0tMTEzNjYyMy1sb3N0LWJ5LWFub3RoZXItZm9jdXMucGF0Y2gKIAog QnVpbGRSZXF1aXJlczogIGdldHRleHQtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6ICBsaWJ0b29sCkBA IC0yMjIsMTcgKzIyNCwxMSBAQCBUaGUgaWJ1cy1kZXZlbC1kb2NzIHBhY2thZ2UgY29udGFpbnMg ZGV2ZWxvcGVyIGRvY3VtZW50YXRpb24gZm9yIElCdXMKIAogJXByZXAKICVzZXR1cCAtcQotemNh dCAlU09VUkNFMyB8IHRhciB4ZnYgLQogIyAlJXBhdGNoMCAtcDEKLSVwYXRjaDAgLXAxCi0lcGF0 Y2gxIC1wMSAtYiAudG1vdXQKLSVwYXRjaDIgLXAxIC1iIC5mb3V0CiAjIGNwIGNsaWVudC9ndGsy L2lidXNpbWNvbnRleHQuYyBjbGllbnQvZ3RrMy9pYnVzaW1jb250ZXh0LmMgfHwKLWNwIGNsaWVu dC9ndGsyL2lidXNpbWNvbnRleHQuYyBjbGllbnQvZ3RrMy9pYnVzaW1jb250ZXh0LmMgfHwKIAog JWJ1aWxkCiAjYXV0b3JlY29uZiAtZiAtaSAtdgotYXV0b3JlY29uZiAtZiAtaSAtdgogI21ha2Ug LUMgdWkvZ3RrMyBtYWludGFpbmVyLWNsZWFuLWdlbmVyaWMKICVjb25maWd1cmUgXAogICAgIC0t ZGlzYWJsZS1zdGF0aWMgXApAQCAtMjQ3LDYgKzI0Myw5IEBAIGF1dG9yZWNvbmYgLWYgLWkgLXYK ICAgICAtLWVuYWJsZS1weXRob24tbGlicmFyeSBcCiAlZW5kaWYKICAgICAtLWVuYWJsZS13YXls YW5kIFwKKyVpZiAhICV3aXRoX2tkZTUKKyAgICAtLWRpc2FibGUtYXBwaW5kaWNhdG9yIFwKKyVl bmRpZgogICAgIC0tZW5hYmxlLWludHJvc3BlY3Rpb24KIAogbWFrZSAlez9fc21wX21mbGFnc30K QEAgLTQxNiw2ICs0MTUsOSBAQCBmaQogJXtfZGF0YWRpcn0vZ3RrLWRvYy9odG1sLyoKIAogJWNo YW5nZWxvZworKiBXZWQgRmViIDI1IDIwMTUgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhh dC5jb20+IC0gMS41LjEwLTEKKy0gQnVtcGVkIHRvIDEuNS4xMAorCiAqIFNhdCBGZWIgMjEgMjAx NSBUaWxsIE1hYXMgPG9wZW5zb3VyY2VAdGlsbC5uYW1lPiAtIDEuNS45LTExCiAtIFJlYnVpbHQg Zm9yIEZlZG9yYSAyMyBDaGFuZ2UKICAgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0No YW5nZXMvSGFyZGVuX2FsbF9wYWNrYWdlc193aXRoX3Bvc2l0aW9uLWluZGVwZW5kZW50X2NvZGUK