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: Michal Schorm To: git-commits@fedoraproject.org Subject: [rpms/cjs] rawhide: Remove dead patch file '131.patch' Date: Sat, 25 Jul 2026 23:18:52 GMT Message-ID: <178502153218.1.2065374440873203255.rpms-cjs-2afe05db96f4@fedoraproject.org> List-ID: X-Git-Repo: rpms/cjs X-Git-Branch: rawhide X-Git-Rev: 2afe05db96f4c637a0558da238caa9701ab7c796 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2pzCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAgICAgICAg Q29tbWl0IDogMmFmZTA1ZGI5NmY0YzYzN2EwNTU4ZGEyMzhjYWE5NzAxYWI3Yzc5NgogICAgICAg ICAgICBBdXRob3IgOiBNaWNoYWwgU2Nob3JtIDxtc2Nob3JtQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjYtMDctMjVUMTU6NTk6MDkrMDI6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzAvLTgyMSBpbiAxIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9zcmMu ZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9janMvYy8yYWZlMDVkYjk2ZjRjNjM3YTA1NThkYTIzOGNh YTk3MDFhYjdjNzk2P2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAg IFJlbW92ZSBkZWFkIHBhdGNoIGZpbGUgJzEzMS5wYXRjaCcKClRoZSBmaWxlIGV4aXN0cyBpbiB0 aGUgcGFja2FnZSBkaXJlY3RvcnkgYnV0IGlzIG5vdCByZWZlcmVuY2VkCmFueXdoZXJlIGluIHRo ZSBzcGVjIChubyBQYXRjaCB0YWcsIG5vICclcGF0Y2gnIG1hY3JvKS4gSXQgaXMKbGVmdG92ZXIg ZGVicmlzIGZyb20gYSBwcmV2aW91cyB2ZXJzaW9uIGFuZCBzaG91bGQgYmUgY2xlYW5lZCB1cC4K ClVwc3RyZWFtIFBSOiBodHRwczovL2dpdGh1Yi5jb20vbGludXhtaW50L2Nqcy9wdWxsLzEzMQoK Q28tQXV0aG9yZWQtQnk6IENsYXVkZSBBSSA8bm9yZXBseUBhbnRocm9waWMuY29tPgoKLS0tCmRp ZmYgLS1naXQgYS8xMzEucGF0Y2ggYi8xMzEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDliZTExYTYuLjAwMDAwMDAKLS0tIGEvMTMxLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsODIxICswLDAgQEAKLUZyb20gMDU2NTY4MjljNWJiY2U4MjM5ZmE2N2VlZjNjMGY3ZTU1MmE2 ZWI2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9NYXJjbz0yMFRy ZXZpc2FuPTIwPTI4VHJldmk9QzM9QjFvPTI5Pz0gPG1haWxAM3YxbjAubmV0PgotRGF0ZTogVGh1 LCAxMSBTZXAgMjAyNSAyMzo1MTo1NiArMDIwMAotU3ViamVjdDogW1BBVENIIDEvOV0gb3ZlcnJp ZGVzL0dpbzogQWRkIHdyYXBwZXJzIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBHaW8KLSBmdW5jdGlv bnMKLQotR0xpYiB3aWxsIG5vdCBleHBvc2UgYW55bW9yZSBwbGF0Zm9ybSBzcGVjaWZpYyBmdW5j dGlvbnMgaW4gR2lvCi1uYW1lc3BhY2UgYXMgaXQgdXNlZCB0byBkbyB3aGVuIEdJIFJlcG9zaXRv cnkgMS4wIHdhcyB1c2VkLCBpbiBvcmRlciB0bwota2VlcCByZXRyby1jb21wYXRpYmlsaXR5IGlu IGdqcyBhcHBsaWNhdGlvbnMsIGdlbmVyYXRlIHdyYXBwZXJzIGZvcgotR2lvIHBsYXRmb3JtLXNw ZWNpZmljIGRlZmluaXRpb25zIHRoYXQgd2UgdXNlZCB0byBwcm92aWRlIGluc2lkZSB0aGUKLW1h aW4gR2lvIG9iamVjdCwgYnV0IHdhcm4gdGhlIHVzZXJzIG9mIHRoZXNlIEFQSXMgdGhhdCB0aGV5 IHNob3VsZAotbWlncmF0ZSB0byBHaW9Vbml4IG9yIEdpb1dpbjMyIGluc3RlYWQuCi0tLS0KLSBp bnN0YWxsZWQtdGVzdHMvanMvdGVzdEdpby5qcyB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCi0gbW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMgfCAzNSArKysrKysr KysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMTIzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdp dCBhL2luc3RhbGxlZC10ZXN0cy9qcy90ZXN0R2lvLmpzIGIvaW5zdGFsbGVkLXRlc3RzL2pzL3Rl c3RHaW8uanMKLWluZGV4IDkwOGY5MDZiLi5lNzQwNTlhYSAxMDA2NDQKLS0tLSBhL2luc3RhbGxl ZC10ZXN0cy9qcy90ZXN0R2lvLmpzCi0rKysgYi9pbnN0YWxsZWQtdGVzdHMvanMvdGVzdEdpby5q cwotQEAgLTQsNiArNCwxMSBAQAotIAotIGNvbnN0IHtHTGliLCBHaW8sIEdPYmplY3R9ID0gaW1w b3J0cy5naTsKLSAKLStsZXQgR2lvVW5peDsKLSt0cnkgewotKyAgICBHaW9Vbml4ID0gaW1wb3J0 cy5naS5HaW9Vbml4OwotK30gY2F0Y2gge30KLSsKLSBjb25zdCBGb28gPSBHT2JqZWN0LnJlZ2lz dGVyQ2xhc3MoewotICAgICBQcm9wZXJ0aWVzOiB7Ci0gICAgICAgICBib29sdmFsOiBHT2JqZWN0 LlBhcmFtU3BlYy5ib29sZWFuKCdib29sdmFsJywgJycsICcnLAotQEAgLTM5MCw2ICszOTUsODkg QEAgZGVzY3JpYmUoJ0dpby5GaWxlRW51bWVyYXRvciBvdmVycmlkZXMnLCBmdW5jdGlvbiAoKSB7 Ci0gICAgIH0pOwotIH0pOwotIAotK2Rlc2NyaWJlKCdHaW8uRGVza3RvcEFwcEluZm8gZmFsbGJh Y2snLCBmdW5jdGlvbiAoKSB7Ci0rICAgIGxldCB3cml0ZXJGdW5jOwotKyAgICBjb25zdCByZXF1 aXJlZFZlcnNpb24gPQotKyAgICAgICAgR0xpYi5NQUpPUl9WRVJTSU9OID4gMiB8fAotKyAgICAg ICAgICAgIChHTGliLk1BSk9SX1ZFUlNJT04gPT09IDIgJiYgR0xpYi5NSU5PUl9WRVJTSU9OID49 IDg2KTsKLSsgICAgbGV0IGtleUZpbGU7Ci0rICAgIGNvbnN0IGRlc2t0b3BGaWxlQ29udGVudCA9 IGBbRGVza3RvcCBFbnRyeV0KLStWZXJzaW9uPTEuMAotK1R5cGU9QXBwbGljYXRpb24KLStOYW1l PVNvbWUgQXBwbGljYXRpb24KLStFeGVjPSR7R0xpYi5maW5kX3Byb2dyYW1faW5fcGF0aCgnc2gn KX0KLStgOwotKyAgICBiZWZvcmVBbGwoZnVuY3Rpb24gKCkgewotKyAgICAgICAgLy8gU2V0IHVw IGxvZyB3cml0ZXIgZm9yIHRlc3RzIHRvIG92ZXJyaWRlCi0rICAgICAgICB3cml0ZXJGdW5jID0g amFzbWluZS5jcmVhdGVTcHkoJ3BhcnNlZCB3cml0ZXIgZnVuYycpOwotKyAgICAgICAgY29uc3Qg d3JpdGVyRnVuY1dyYXBwZXIgPSBqYXNtaW5lLmNyZWF0ZVNweSgnbG9nIHdyaXRlciBmdW5jJywg KGxldmVsLCBmaWVsZHMpID0+IHsKLSsgICAgICAgICAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRl eHREZWNvZGVyKCd1dGYtOCcpOwotKyAgICAgICAgICAgIGNvbnN0IGRvbWFpbiA9IGRlY29kZXIu ZGVjb2RlKGZpZWxkcz8uR0xJQl9ET01BSU4pOwotKyAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2Ug PSBgJHtkZWNvZGVyLmRlY29kZShmaWVsZHM/Lk1FU1NBR0UpfWA7Ci0rICAgICAgICAgICAgaWYg KGxldmVsIDwgR0xpYi5Mb2dMZXZlbEZsYWdzLkxFVkVMX1dBUk5JTkcpIHsKLSsgICAgICAgICAg ICAgICAgbGV2ZWwgfD0gR0xpYi5Mb2dMZXZlbEZsYWdzLkZMQUdfUkVDVVJTSU9OOwotKyAgICAg ICAgICAgICAgICBHTGliLmxvZ19kZWZhdWx0X2hhbmRsZXIoZG9tYWluLCBsZXZlbCwgYCR7bWVz c2FnZX1cbmAsIG51bGwpOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICB3cml0ZXJGdW5j KGRvbWFpbiwgbGV2ZWwsIG1lc3NhZ2UpOwotKyAgICAgICAgICAgIHJldHVybiBHTGliLkxvZ1dy aXRlck91dHB1dC5IQU5ETEVEOwotKyAgICAgICAgfSk7Ci0rICAgICAgICB3cml0ZXJGdW5jV3Jh cHBlci5hbmQuY2FsbFRocm91Z2goKTsKLSsgICAgICAgIEdMaWIubG9nX3NldF93cml0ZXJfZnVu Yyh3cml0ZXJGdW5jV3JhcHBlcik7Ci0rCi0rICAgICAgICBrZXlGaWxlID0gbmV3IEdMaWIuS2V5 RmlsZSgpOwotKyAgICAgICAga2V5RmlsZS5sb2FkX2Zyb21fZGF0YShkZXNrdG9wRmlsZUNvbnRl bnQsIGRlc2t0b3BGaWxlQ29udGVudC5sZW5ndGgsCi0rICAgICAgICAgICAgR0xpYi5LZXlGaWxl RmxhZ3MuTk9ORSk7Ci0rICAgIH0pOwotKwotKyAgICBhZnRlckFsbChmdW5jdGlvbiAoKSB7Ci0r ICAgICAgICBHTGliLmxvZ19zZXRfd3JpdGVyX2RlZmF1bHQoKTsKLSsgICAgfSk7Ci0rCi0rICAg IGJlZm9yZUVhY2goZnVuY3Rpb24gKCkgewotKyAgICAgICAgaWYgKCFHaW9Vbml4KQotKyAgICAg ICAgICAgIHBlbmRpbmcoJ05vdCBzdXBwb3J0ZWQgcGxhdGZvcm0nKTsKLSsKLSsgICAgICAgIHdy aXRlckZ1bmMuY2FsbHMucmVzZXQoKTsKLSsgICAgfSk7Ci0rCi0rICAgIGl0KCdjYW4gYmUgY3Jl YXRlZCB1c2luZyBHaW9Vbml4JywgZnVuY3Rpb24gKCkgewotKyAgICAgICAgZXhwZWN0KEdpb1Vu aXguRGVza3RvcEFwcEluZm8ubmV3X2Zyb21fa2V5ZmlsZShrZXlGaWxlKSkubm90LnRvQmVOdWxs KCk7Ci0rICAgICAgICBleHBlY3Qod3JpdGVyRnVuYykubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTsK LSsgICAgfSk7Ci0rCi0rICAgIGl0KCdjYW4gYmUgY3JlYXRlZCB1c2luZyBHaW8gd3JhcHBlcics IGZ1bmN0aW9uICgpIHsKLSsgICAgICAgIGV4cGVjdChHaW8uRGVza3RvcEFwcEluZm8ubmV3X2Zy b21fa2V5ZmlsZShrZXlGaWxlKSkubm90LnRvQmVOdWxsKCk7Ci0rICAgICAgICBleHBlY3Qod3Jp dGVyRnVuYykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ0Nqcy1Db25zb2xlJywKLSsgICAgICAgICAg ICBHTGliLkxvZ0xldmVsRmxhZ3MuTEVWRUxfV0FSTklORywKLSsgICAgICAgICAgICAnR2lvLkRl c2t0b3BBcHBJbmZvIGlzIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2UgR2lvVW5peC5EZXNrdG9wQXBw SW5mbyBpbnN0ZWFkJyk7Ci0rCi0rICAgICAgICB3cml0ZXJGdW5jLmNhbGxzLnJlc2V0KCk7Ci0r ICAgICAgICBleHBlY3QoR2lvLkRlc2t0b3BBcHBJbmZvLm5ld19mcm9tX2tleWZpbGUoa2V5Rmls ZSkpLm5vdC50b0JlTnVsbCgpOwotKyAgICAgICAgZXhwZWN0KHdyaXRlckZ1bmMpLm5vdC50b0hh dmVCZWVuQ2FsbGVkKCk7Ci0rICAgIH0pOwotKwotKyAgICBkZXNjcmliZSgncHJvdmlkZXMgcGxh dGZvcm0taW5kZXBlbmRlbnQgZnVuY3Rpb25zJywgZnVuY3Rpb24gKCkgewotKyAgICAgICAgW0dp bywgR2lvVW5peF0uZm9yRWFjaChucyA9PiBpdChgd2hlbiBjcmVhdGVkIGZyb20gJHtucy5fX25h bWVfX31gLCBmdW5jdGlvbiAoKSB7Ci0rICAgICAgICAgICAgaWYgKCFyZXF1aXJlZFZlcnNpb24p Ci0rICAgICAgICAgICAgICAgIHBlbmRpbmcoJ0luc3RhbGxlZCBHaW8gaXMgbm90IG5ldyBlbm91 Z2ggZm9yIHRoaXMgdGVzdCcpOwotKwotKyAgICAgICAgICAgIGNvbnN0IGFwcEluZm8gPSBucy5E ZXNrdG9wQXBwSW5mby5uZXdfZnJvbV9rZXlmaWxlKGtleUZpbGUpOwotKyAgICAgICAgICAgIGV4 cGVjdChhcHBJbmZvLmdldF9uYW1lKCkpLnRvQmUoJ1NvbWUgQXBwbGljYXRpb24nKTsKLSsgICAg ICAgIH0pKTsKLSsgICAgfSk7Ci0rCi0rICAgIGRlc2NyaWJlKCdwcm92aWRlcyB1bml4LW9ubHkg ZnVuY3Rpb25zJywgZnVuY3Rpb24gKCkgewotKyAgICAgICAgW0dpbywgR2lvVW5peF0uZm9yRWFj aChucyA9PiBpdChgd2hlbiBjcmVhdGVkIGZyb20gJHtucy5fX25hbWVfX31gLCBmdW5jdGlvbiAo KSB7Ci0rICAgICAgICAgICAgaWYgKCFyZXF1aXJlZFZlcnNpb24pCi0rICAgICAgICAgICAgICAg IHBlbmRpbmcoJ0luc3RhbGxlZCBHaW8gaXMgbm90IG5ldyBlbm91Z2ggZm9yIHRoaXMgdGVzdCcp OwotKwotKyAgICAgICAgICAgIGNvbnN0IGFwcEluZm8gPSBucy5EZXNrdG9wQXBwSW5mby5uZXdf ZnJvbV9rZXlmaWxlKGtleUZpbGUpOwotKyAgICAgICAgICAgIGV4cGVjdChhcHBJbmZvLmhhc19r ZXkoJ05hbWUnKSkudG9CZVRydWUoKTsKLSsgICAgICAgICAgICBleHBlY3QoYXBwSW5mby5nZXRf c3RyaW5nKCdOYW1lJykpLnRvQmUoJ1NvbWUgQXBwbGljYXRpb24nKTsKLSsgICAgICAgIH0pKTsK LSsgICAgfSk7Ci0rfSk7Ci0rCi0gZGVzY3JpYmUoJ05vbi1pbnRyb3NwZWN0YWJsZSBmaWxlIGF0 dHJpYnV0ZSBvdmVycmlkZXMnLCBmdW5jdGlvbiAoKSB7Ci0gICAgIGxldCBudW1FeHBlY3RlZFdh cm5pbmdzLCBmaWxlLCBpbmZvOwotICAgICBjb25zdCBmbGFncyA9IFtHaW8uRmlsZVF1ZXJ5SW5m b0ZsYWdzLk5PTkUsIG51bGxdOwotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29yZS9vdmVycmlkZXMv R2lvLmpzIGIvbW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMKLWluZGV4IDgzNmQxNGFhLi42 YmNjMjBmNSAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29yZS9vdmVycmlkZXMvR2lvLmpzCi0rKysg Yi9tb2R1bGVzL2NvcmUvb3ZlcnJpZGVzL0dpby5qcwotQEAgLTQ3OSw5ICs0NzksNDQgQEAgZnVu Y3Rpb24gX3dhcm5Ob3RJbnRyb3NwZWN0YWJsZShmdW5jTmFtZSwgcmVwbGFjZW1lbnQpIHsKLSAK LSBmdW5jdGlvbiBfaW5pdCgpIHsKLSAgICAgR2lvID0gdGhpczsKLSsgICAgbGV0IEdpb1BsYXRm b3JtID0ge307Ci0gCi0gICAgIEdpby5BcHBsaWNhdGlvbi5wcm90b3R5cGUucnVuQXN5bmMgPSBH TGliLk1haW5Mb29wLnByb3RvdHlwZS5ydW5Bc3luYzsKLSAKLSsgICAgLy8gUmVkZWZpbmUgR2lv IGZ1bmN0aW9ucyB3aXRoIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0aW9ucyB0byBiZQot KyAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggZ2ktcmVwb3NpdG9yeSAxLjAsIGhvd2V2 ZXIgd2hlbiBwb3NzaWJsZSB3ZQotKyAgICAvLyBub3RpZnkgYSBkZXByZWNhdGlvbiB3YXJuaW5n LCB0byBlbnN1cmUgdGhhdCB0aGUgc3Vycm91bmRpbmcgY29kZSBpcwotKyAgICAvLyB1cGRhdGVk LgotKyAgICB0cnkgewotKyAgICAgICAgR2lvUGxhdGZvcm0gPSBpbXBvcnRzLmdpLkdpb1VuaXg7 Ci0rICAgIH0gY2F0Y2ggewotKyAgICAgICAgdHJ5IHsKLSsgICAgICAgICAgICBHaW9QbGF0Zm9y bSA9IGltcG9ydHMuZ2kuR2lvV2luMzI7Ci0rICAgICAgICB9IGNhdGNoIHt9Ci0rICAgIH0KLSsK LSsgICAgT2JqZWN0LmVudHJpZXMoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoR2lv UGxhdGZvcm0pKS5mb3JFYWNoKChbcHJvcCwgZGVzY10pID0+IHsKLSsgICAgICAgIGlmIChPYmpl Y3QuaGFzT3duKEdpbywgcHJvcCkpIHsKLSsgICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBHaW8g YWxyZWFkeSBjb250YWlucyBwcm9wZXJ0eSAke3Byb3B9YCk7Ci0rICAgICAgICAgICAgR2lvW3By b3BdID0gR2lvUGxhdGZvcm1bcHJvcF07Ci0rICAgICAgICAgICAgcmV0dXJuOwotKyAgICAgICAg fQotKwotKyAgICAgICAgY29uc3QgbmV3RGVzYyA9IHsKLSsgICAgICAgICAgICBlbnVtZXJhYmxl OiB0cnVlLAotKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCi0rICAgICAgICAgICAg Z2V0KCkgewotKyAgICAgICAgICAgICAgICBpZiAoIW5ld0Rlc2MuX2RlcHJlY2F0aW9uV2Fybmlu Z0RvbmUpIHsKLSsgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgR2lvLiR7cHJvcH0g aXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBgICsKLSsgICAgICAgICAgICAgICAgICAgICAgICBg JHtHaW9QbGF0Zm9ybS5fX25hbWVfX30uJHtwcm9wfSBpbnN0ZWFkYCk7Ci0rICAgICAgICAgICAg ICAgICAgICBuZXdEZXNjLl9kZXByZWNhdGlvbldhcm5pbmdEb25lID0gdHJ1ZTsKLSsgICAgICAg ICAgICAgICAgfQotKyAgICAgICAgICAgICAgICByZXR1cm4gZGVzYy5nZXQ/LigpID8/IGRlc2Mu dmFsdWU7Ci0rICAgICAgICAgICAgfSwKLSsgICAgICAgIH07Ci0rICAgICAgICBPYmplY3QuZGVm aW5lUHJvcGVydHkoR2lvLCBwcm9wLCBuZXdEZXNjKTsKLSsgICAgfSk7Ci0rCi0gICAgIEdpby5E QnVzID0gewotICAgICAgICAgLy8gTmFtZXNwYWNlIHNvbWUgZnVuY3Rpb25zCi0gICAgICAgICBn ZXQ6IEdpby5idXNfZ2V0LAotCi1Gcm9tIDY2MmYwZTgyYmQ1MWRiOWQwNjUxN2UyNTFlY2NkYmMz YmFiNTdhOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQaGlsaXAgQ2hpbWVudG8g PHBoaWxpcC5jaGltZW50b0BnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDEyIFNlcCAyMDI1IDAwOjAw OjQwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi85XSBBZGQgSlMgQVBJIHdyYXBwaW5nIHdhcm5f ZGVwcmVjYXRlZF9vbmNlX3Blcl9jYWxsc2l0ZQotCi1FeHBvc2UgaXQgaW4gdGhlIHByaW50IG1v ZHVsZQotCi1Dby1BdXRob3JlZC1CeTogPG1hcmNvLnRyZXZpc2FuQGNhbm9uaWNhbC5jb20+Ci0t LS0KLSBtb2R1bGVzL3ByaW50LmNwcCB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvcHJpbnQuY3BwIGIvbW9kdWxlcy9w cmludC5jcHAKLWluZGV4IDU3YWNkYzg2Li5jNmFhYTI2NCAxMDA2NDQKLS0tLSBhL21vZHVsZXMv cHJpbnQuY3BwCi0rKysgYi9tb2R1bGVzL3ByaW50LmNwcAotQEAgLTUsNyArNSwxMSBAQAotIAot ICNpbmNsdWRlIDxjb25maWcuaD4KLSAKLSsjaW5jbHVkZSA8c3RkZGVmLmg+ICAvLyBmb3Igc2l6 ZV90Ci0rI2luY2x1ZGUgPHN0ZGludC5oPgotKwotICNpbmNsdWRlIDxzdHJpbmc+Ci0rI2luY2x1 ZGUgPHZlY3Rvcj4KLSAKLSAjaW5jbHVkZSA8Z2xpYi5oPgotIAotQEAgLTIxLDYgKzI1LDcgQEAK LSAjaW5jbHVkZSA8anMvVmFsdWUuaD4KLSAjaW5jbHVkZSA8anNhcGkuaD4gIC8vIGZvciBKU19O ZXdQbGFpbk9iamVjdAotIAotKyNpbmNsdWRlICJjanMvZGVwcmVjYXRpb24uaCIKLSAjaW5jbHVk ZSAiY2pzL2dsb2JhbC5oIgotICNpbmNsdWRlICJjanMvanNhcGktdXRpbC5oIgotICNpbmNsdWRl ICJjanMvbWFjcm9zLmgiCi1AQCAtMTgyLDYgKzE4Nyw0OCBAQCBzdGF0aWMgYm9vbCBnZXRfcHJl dHR5X3ByaW50X2Z1bmN0aW9uKEpTQ29udGV4dCosIHVuc2lnbmVkIGFyZ2MsCi0gICAgIHJldHVy biB0cnVlOwotIH0KLSAKLStHSlNfSlNBUElfUkVUVVJOX0NPTlZFTlRJT04KLStzdGF0aWMgYm9v bCB3YXJuX2RlcHJlY2F0ZWRfb25jZV9wZXJfY2FsbHNpdGUoSlNDb250ZXh0KiBjeCwgdW5zaWdu ZWQgYXJnYywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SlM6OlZhbHVlKiB2cCkgewotKyAgICBKUzo6Q2FsbEFyZ3MgYXJncyA9IEpTOjpDYWxsQXJnc0Zy b21WcChhcmdjLCB2cCk7Ci0rCi0rICAgIGdfYXNzZXJ0KGFyZ3MubGVuZ3RoKCkgPj0gMSAmJgot KyAgICAgICAgICAgICAid2FybkRlcHJlY2F0ZWRPbmNlUGVyQ2FsbHNpdGUgdGFrZXMgYXQgbGVh c3QgMSBhcmd1bWVudCIpOwotKwotKyAgICBnX2Fzc2VydCgKLSsgICAgICAgIGFyZ3NbMF0uaXNJ bnQzMigpICYmCi0rICAgICAgICAid2FybkRlcHJlY2F0ZWRPbmNlUGVyQ2FsbHNpdGUgYXJndW1l bnQgMSBtdXN0IGJlIGEgbWVzc2FnZSBJRCBudW1iZXIiKTsKLSsgICAgaW50MzJfdCBtZXNzYWdl X2lkID0gYXJnc1swXS50b0ludDMyKCk7Ci0rICAgIGdfYXNzZXJ0KAotKyAgICAgICAgbWVzc2Fn ZV9pZCA+PSAwICYmCi0rICAgICAgICB1aW50MzJfdChtZXNzYWdlX2lkKSA8IEdqc0RlcHJlY2F0 aW9uTWVzc2FnZUlkOjpMYXN0VmFsdWUgJiYKLSsgICAgICAgICJ3YXJuRGVwcmVjYXRlZE9uY2VQ ZXJDYWxsc2l0ZSBhcmd1bWVudCAxIG11c3QgYmUgYSBtZXNzYWdlIElEIG51bWJlciIpOwotKwot KyAgICBpZiAoYXJncy5sZW5ndGgoKSA9PSAxKSB7Ci0rICAgICAgICBfZ2pzX3dhcm5fZGVwcmVj YXRlZF9vbmNlX3Blcl9jYWxsc2l0ZSgKLSsgICAgICAgICAgICBjeCwgR2pzRGVwcmVjYXRpb25N ZXNzYWdlSWQobWVzc2FnZV9pZCkpOwotKyAgICAgICAgcmV0dXJuIHRydWU7Ci0rICAgIH0KLSsK LSsgICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IGZvcm1hdF9hcmdzX3N0cjsKLSsgICAgc3Rk Ojp2ZWN0b3I8Y29uc3QgY2hhcio+IGZvcm1hdF9hcmdzOwotKyAgICBmb3IgKHNpemVfdCBpeCA9 IDE7IGl4IDwgYXJncy5sZW5ndGgoKTsgaXgrKykgewotKyAgICAgICAgZ19hc3NlcnQoYXJnc1tp eF0uaXNTdHJpbmcoKSAmJgotKyAgICAgICAgICAgICAgICAgIndhcm5EZXByZWNhdGVkT25jZVBl ckNhbGxzaXRlIHN1YnNlcXVlbnQgYXJndW1lbnRzIG11c3QgYmUgIgotKyAgICAgICAgICAgICAg ICAgInN0cmluZ3MiKTsKLSsgICAgICAgIEpTOjpSb290ZWRTdHJpbmcgdl9mb3JtYXRfYXJne2N4 LCBhcmdzW2l4XS50b1N0cmluZygpfTsKLSsgICAgICAgIEpTOjpVbmlxdWVDaGFycyBmb3JtYXRf YXJnID0gSlNfRW5jb2RlU3RyaW5nVG9VVEY4KGN4LCB2X2Zvcm1hdF9hcmcpOwotKyAgICAgICAg aWYgKCFmb3JtYXRfYXJnKQotKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgICAgIGZv cm1hdF9hcmdzX3N0ci5lbXBsYWNlX2JhY2soZm9ybWF0X2FyZy5nZXQoKSk7Ci0rICAgICAgICBm b3JtYXRfYXJncy5lbXBsYWNlX2JhY2soZm9ybWF0X2FyZ3Nfc3RyLmJhY2soKS5jX3N0cigpKTsK LSsgICAgfQotKwotKyAgICBfZ2pzX3dhcm5fZGVwcmVjYXRlZF9vbmNlX3Blcl9jYWxsc2l0ZSgK LSsgICAgICAgIGN4LCBHanNEZXByZWNhdGlvbk1lc3NhZ2VJZChtZXNzYWdlX2lkKSwgZm9ybWF0 X2FyZ3MpOwotKyAgICByZXR1cm4gdHJ1ZTsKLSt9Ci0rCi0gLy8gY2xhbmctZm9ybWF0IG9mZgot IHN0YXRpYyBjb25zdGV4cHIgSlNGdW5jdGlvblNwZWMgZnVuY3NbXSA9IHsKLSAgICAgSlNfRk4o ImxvZyIsIGdqc19sb2csIDEsIEdKU19NT0RVTEVfUFJPUF9GTEFHUyksCi1AQCAtMTkwLDEzICsy MzcsMjIgQEAgc3RhdGljIGNvbnN0ZXhwciBKU0Z1bmN0aW9uU3BlYyBmdW5jc1tdID0gewotICAg ICBKU19GTigicHJpbnRlcnIiLCBnanNfcHJpbnRlcnIsIDAsIEdKU19NT0RVTEVfUFJPUF9GTEFH UyksCi0gICAgIEpTX0ZOKCJzZXRQcmV0dHlQcmludEZ1bmN0aW9uIiwgc2V0X3ByZXR0eV9wcmlu dF9mdW5jdGlvbiwgMSwgR0pTX01PRFVMRV9QUk9QX0ZMQUdTKSwKLSAgICAgSlNfRk4oImdldFBy ZXR0eVByaW50RnVuY3Rpb24iLCBnZXRfcHJldHR5X3ByaW50X2Z1bmN0aW9uLCAxLCBHSlNfTU9E VUxFX1BST1BfRkxBR1MpLAotKyAgICBKU19GTigid2FybkRlcHJlY2F0ZWRPbmNlUGVyQ2FsbHNp dGUiLCB3YXJuX2RlcHJlY2F0ZWRfb25jZV9wZXJfY2FsbHNpdGUsIDEsCi0rICAgICAgICBHSlNf TU9EVUxFX1BST1BfRkxBR1MpLAotICAgICBKU19GU19FTkR9OwotIC8vIGNsYW5nLWZvcm1hdCBv bgotIAotK3N0YXRpYyBjb25zdGV4cHIgSlNQcm9wZXJ0eVNwZWMgcHJvcHNbXSA9IHsKLSsgICAg SlNQcm9wZXJ0eVNwZWM6OmludDMyVmFsdWUoIlBMQVRGT1JNX1NQRUNJRklDX1RZUEVMSUIiLAot KyAgICAgICAgR0pTX01PRFVMRV9QUk9QX0ZMQUdTLAotKyAgICAgICAgR2pzRGVwcmVjYXRpb25N ZXNzYWdlSWQ6OlBsYXRmb3JtU3BlY2lmaWNUeXBlbGliKSwKLSsgICAgSlNfUFNfRU5EfTsKLSsK LSBib29sIGdqc19kZWZpbmVfcHJpbnRfc3R1ZmYoSlNDb250ZXh0KiBjb250ZXh0LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBKUzo6TXV0YWJsZUhhbmRsZU9iamVjdCBtb2R1bGUpIHsK LSAgICAgbW9kdWxlLnNldChKU19OZXdQbGFpbk9iamVjdChjb250ZXh0KSk7Ci0gICAgIGlmICgh bW9kdWxlKQotICAgICAgICAgcmV0dXJuIGZhbHNlOwotLSAgICByZXR1cm4gSlNfRGVmaW5lRnVu Y3Rpb25zKGNvbnRleHQsIG1vZHVsZSwgZnVuY3MpOwotKyAgICByZXR1cm4gSlNfRGVmaW5lRnVu Y3Rpb25zKGNvbnRleHQsIG1vZHVsZSwgZnVuY3MpICYmCi0rICAgICAgICAgICBKU19EZWZpbmVQ cm9wZXJ0aWVzKGNvbnRleHQsIG1vZHVsZSwgcHJvcHMpOwotIH0KLQotRnJvbSBjNzA4NDg2Nzhl ZDYyZTkwMTc1MDY1N2Y4ZjEyNzExZmNiZWU2MDRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8 bWFpbEAzdjFuMC5uZXQ+Ci1EYXRlOiBGcmksIDEyIFNlcCAyMDI1IDAwOjIxOjEwICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMy85XSBvdmVycmlkZXMvR2lvOiBVc2UgcHJpbnQncyB3YXJuRGVwcmVj YXRlZE9uY2VQZXJDYWxsc2l0ZQotIHRvIHdhcm4KLQotUmUtdXNlIHRoZSBDIGRlZmluaXRpb24g dG8gd2FybiB3aGVuIHVzaW5nIGEgZGVwcmVjYXRlZCBuYW1lc3BhY2UKLWluc3RlYWQgb2YgZG9p bmcgdGhlIHNhbWUgaW4gcHVyZSBKUy4KLS0tLQotIGluc3RhbGxlZC10ZXN0cy9qcy90ZXN0R2lv LmpzIHwgNDUgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBtb2R1bGVzL2Nv cmUvb3ZlcnJpZGVzL0dpby5qcyB8ICA4ICsrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE5IGlu c2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbGVkLXRl c3RzL2pzL3Rlc3RHaW8uanMgYi9pbnN0YWxsZWQtdGVzdHMvanMvdGVzdEdpby5qcwotaW5kZXgg ZTc0MDU5YWEuLmY2N2FlYzQyIDEwMDY0NAotLS0tIGEvaW5zdGFsbGVkLXRlc3RzL2pzL3Rlc3RH aW8uanMKLSsrKyBiL2luc3RhbGxlZC10ZXN0cy9qcy90ZXN0R2lvLmpzCi1AQCAtMzk2LDcgKzM5 Niw2IEBAIGRlc2NyaWJlKCdHaW8uRmlsZUVudW1lcmF0b3Igb3ZlcnJpZGVzJywgZnVuY3Rpb24g KCkgewotIH0pOwotIAotIGRlc2NyaWJlKCdHaW8uRGVza3RvcEFwcEluZm8gZmFsbGJhY2snLCBm dW5jdGlvbiAoKSB7Ci0tICAgIGxldCB3cml0ZXJGdW5jOwotICAgICBjb25zdCByZXF1aXJlZFZl cnNpb24gPQotICAgICAgICAgR0xpYi5NQUpPUl9WRVJTSU9OID4gMiB8fAotICAgICAgICAgICAg IChHTGliLk1BSk9SX1ZFUlNJT04gPT09IDIgJiYgR0xpYi5NSU5PUl9WRVJTSU9OID49IDg2KTsK LUBAIC00MDksNTEgKzQwOCwzOSBAQCBFeGVjPSR7R0xpYi5maW5kX3Byb2dyYW1faW5fcGF0aCgn c2gnKX0KLSBgOwotICAgICBiZWZvcmVBbGwoZnVuY3Rpb24gKCkgewotICAgICAgICAgLy8gU2V0 IHVwIGxvZyB3cml0ZXIgZm9yIHRlc3RzIHRvIG92ZXJyaWRlCi0tICAgICAgICB3cml0ZXJGdW5j ID0gamFzbWluZS5jcmVhdGVTcHkoJ3BhcnNlZCB3cml0ZXIgZnVuYycpOwotLSAgICAgICAgY29u c3Qgd3JpdGVyRnVuY1dyYXBwZXIgPSBqYXNtaW5lLmNyZWF0ZVNweSgnbG9nIHdyaXRlciBmdW5j JywgKGxldmVsLCBmaWVsZHMpID0+IHsKLS0gICAgICAgICAgICBjb25zdCBkZWNvZGVyID0gbmV3 IFRleHREZWNvZGVyKCd1dGYtOCcpOwotLSAgICAgICAgICAgIGNvbnN0IGRvbWFpbiA9IGRlY29k ZXIuZGVjb2RlKGZpZWxkcz8uR0xJQl9ET01BSU4pOwotLSAgICAgICAgICAgIGNvbnN0IG1lc3Nh Z2UgPSBgJHtkZWNvZGVyLmRlY29kZShmaWVsZHM/Lk1FU1NBR0UpfWA7Ci0tICAgICAgICAgICAg aWYgKGxldmVsIDwgR0xpYi5Mb2dMZXZlbEZsYWdzLkxFVkVMX1dBUk5JTkcpIHsKLS0gICAgICAg ICAgICAgICAgbGV2ZWwgfD0gR0xpYi5Mb2dMZXZlbEZsYWdzLkZMQUdfUkVDVVJTSU9OOwotLSAg ICAgICAgICAgICAgICBHTGliLmxvZ19kZWZhdWx0X2hhbmRsZXIoZG9tYWluLCBsZXZlbCwgYCR7 bWVzc2FnZX1cbmAsIG51bGwpOwotLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgICB3cml0ZXJG dW5jKGRvbWFpbiwgbGV2ZWwsIG1lc3NhZ2UpOwotLSAgICAgICAgICAgIHJldHVybiBHTGliLkxv Z1dyaXRlck91dHB1dC5IQU5ETEVEOwotLSAgICAgICAgfSk7Ci0tICAgICAgICB3cml0ZXJGdW5j V3JhcHBlci5hbmQuY2FsbFRocm91Z2goKTsKLS0gICAgICAgIEdMaWIubG9nX3NldF93cml0ZXJf ZnVuYyh3cml0ZXJGdW5jV3JhcHBlcik7Ci0tCi0gICAgICAgICBrZXlGaWxlID0gbmV3IEdMaWIu S2V5RmlsZSgpOwotICAgICAgICAga2V5RmlsZS5sb2FkX2Zyb21fZGF0YShkZXNrdG9wRmlsZUNv bnRlbnQsIGRlc2t0b3BGaWxlQ29udGVudC5sZW5ndGgsCi0gICAgICAgICAgICAgR0xpYi5LZXlG aWxlRmxhZ3MuTk9ORSk7Ci0gICAgIH0pOwotIAotLSAgICBhZnRlckFsbChmdW5jdGlvbiAoKSB7 Ci0tICAgICAgICBHTGliLmxvZ19zZXRfd3JpdGVyX2RlZmF1bHQoKTsKLS0gICAgfSk7Ci0tCi0g ICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkgewotICAgICAgICAgaWYgKCFHaW9Vbml4KQotICAg ICAgICAgICAgIHBlbmRpbmcoJ05vdCBzdXBwb3J0ZWQgcGxhdGZvcm0nKTsKLSAKLS0gICAgICAg IHdyaXRlckZ1bmMuY2FsbHMucmVzZXQoKTsKLSsgICAgICAgIGlmICghcmVxdWlyZWRWZXJzaW9u KQotKyAgICAgICAgICAgIHBlbmRpbmcoJ0luc3RhbGxlZCBHaW8gaXMgbm90IG5ldyBlbm91Z2gg Zm9yIHRoaXMgdGVzdCcpOwotICAgICB9KTsKLSAKLSsgICAgZnVuY3Rpb24gZXhwZWN0RGVwcmVj YXRpb25XYXJuaW5nKHRlc3RGdW5jdGlvbikgewotKyAgICAgICAgaWYgKCFyZXF1aXJlZFZlcnNp b24pCi0rICAgICAgICAgICAgcGVuZGluZygnSW5zdGFsbGVkIEdpbyBpcyBub3QgbmV3IGVub3Vn aCBmb3IgdGhpcyB0ZXN0Jyk7Ci0rCi0rICAgICAgICBHTGliLnRlc3RfZXhwZWN0X21lc3NhZ2Uo J0NqcycsIEdMaWIuTG9nTGV2ZWxGbGFncy5MRVZFTF9XQVJOSU5HLAotKyAgICAgICAgICAgICcq R2lvLkRlc2t0b3BBcHBJbmZvIGhhcyBiZWVuIG1vdmVkIHRvIGEgc2VwYXJhdGUgcGxhdGZvcm0t c3BlY2lmaWMgbGlicmFyeS4gJyArCi0rICAgICAgICAgICAgJ1BsZWFzZSB1cGRhdGUgeW91ciBj b2RlIHRvIHVzZSBHaW9Vbml4LkRlc2t0b3BBcHBJbmZvIGluc3RlYWQqJyk7Ci0rICAgICAgICB0 ZXN0RnVuY3Rpb24oKTsKLSsgICAgICAgIEdMaWIudGVzdF9hc3NlcnRfZXhwZWN0ZWRfbWVzc2Fn ZXNfaW50ZXJuYWwoJ0NqcycsICd0ZXN0R2lvLmpzJywgMCwKLSsgICAgICAgICAgICAnR2lvLkRl c2t0b3BBcHBJbmZvIGV4cGVjdFdhcm5zT25OZXdlckdpbycpOwotKyAgICB9Ci0rCi0gICAgIGl0 KCdjYW4gYmUgY3JlYXRlZCB1c2luZyBHaW9Vbml4JywgZnVuY3Rpb24gKCkgewotICAgICAgICAg ZXhwZWN0KEdpb1VuaXguRGVza3RvcEFwcEluZm8ubmV3X2Zyb21fa2V5ZmlsZShrZXlGaWxlKSku bm90LnRvQmVOdWxsKCk7Ci0tICAgICAgICBleHBlY3Qod3JpdGVyRnVuYykubm90LnRvSGF2ZUJl ZW5DYWxsZWQoKTsKLSAgICAgfSk7Ci0gCi0gICAgIGl0KCdjYW4gYmUgY3JlYXRlZCB1c2luZyBH aW8gd3JhcHBlcicsIGZ1bmN0aW9uICgpIHsKLSsgICAgICAgIGV4cGVjdERlcHJlY2F0aW9uV2Fy bmluZygoKSA9PgotKyAgICAgICAgICAgIGV4cGVjdChHaW8uRGVza3RvcEFwcEluZm8ubmV3X2Zy b21fa2V5ZmlsZShrZXlGaWxlKSkubm90LnRvQmVOdWxsKCkpOwotICAgICAgICAgZXhwZWN0KEdp by5EZXNrdG9wQXBwSW5mby5uZXdfZnJvbV9rZXlmaWxlKGtleUZpbGUpKS5ub3QudG9CZU51bGwo KTsKLS0gICAgICAgIGV4cGVjdCh3cml0ZXJGdW5jKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnQ2pz LUNvbnNvbGUnLAotLSAgICAgICAgICAgIEdMaWIuTG9nTGV2ZWxGbGFncy5MRVZFTF9XQVJOSU5H LAotLSAgICAgICAgICAgICdHaW8uRGVza3RvcEFwcEluZm8gaXMgZGVwcmVjYXRlZCwgcGxlYXNl IHVzZSBHaW9Vbml4LkRlc2t0b3BBcHBJbmZvIGluc3RlYWQnKTsKLS0KLS0gICAgICAgIHdyaXRl ckZ1bmMuY2FsbHMucmVzZXQoKTsKLS0gICAgICAgIGV4cGVjdChHaW8uRGVza3RvcEFwcEluZm8u bmV3X2Zyb21fa2V5ZmlsZShrZXlGaWxlKSkubm90LnRvQmVOdWxsKCk7Ci0tICAgICAgICBleHBl Y3Qod3JpdGVyRnVuYykubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTsKLSAgICAgfSk7Ci0gCi0gICAg IGRlc2NyaWJlKCdwcm92aWRlcyBwbGF0Zm9ybS1pbmRlcGVuZGVudCBmdW5jdGlvbnMnLCBmdW5j dGlvbiAoKSB7Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMgYi9t b2R1bGVzL2NvcmUvb3ZlcnJpZGVzL0dpby5qcwotaW5kZXggNmJjYzIwZjUuLmY1YzI0ZmM2IDEw MDY0NAotLS0tIGEvbW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMKLSsrKyBiL21vZHVsZXMv Y29yZS9vdmVycmlkZXMvR2lvLmpzCi1AQCAtNCw2ICs0LDcgQEAKLSB2YXIgR0xpYiA9IGltcG9y dHMuZ2kuR0xpYjsKLSB2YXIgQ2pzUHJpdmF0ZSA9IGltcG9ydHMuZ2kuQ2pzUHJpdmF0ZTsKLSB2 YXIgU2lnbmFscyA9IGltcG9ydHMuc2lnbmFsczsKLStjb25zdCB7IHdhcm5EZXByZWNhdGVkT25j ZVBlckNhbGxzaXRlLCBQTEFURk9STV9TUEVDSUZJQ19UWVBFTElCIH0gPSBpbXBvcnRzLl9wcmlu dDsKLSB2YXIgR2lvOwotIAotIC8vIEVuc3VyZXMgdGhhdCBhIEdpby5Vbml4RkRMaXN0IGJlaW5n IHBhc3NlZCBpbnRvIG9yIG91dCBvZiBhIERCdXMgbWV0aG9kIHdpdGgKLUBAIC01MDYsMTEgKzUw Nyw4IEBAIGZ1bmN0aW9uIF9pbml0KCkgewotICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUs Ci0gICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKLSAgICAgICAgICAgICBnZXQoKSB7 Ci0tICAgICAgICAgICAgICAgIGlmICghbmV3RGVzYy5fZGVwcmVjYXRpb25XYXJuaW5nRG9uZSkg ewotLSAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBHaW8uJHtwcm9wfSBpcyBkZXBy ZWNhdGVkLCBwbGVhc2UgdXNlIGAgKwotLSAgICAgICAgICAgICAgICAgICAgICAgIGAke0dpb1Bs YXRmb3JtLl9fbmFtZV9ffS4ke3Byb3B9IGluc3RlYWRgKTsKLS0gICAgICAgICAgICAgICAgICAg IG5ld0Rlc2MuX2RlcHJlY2F0aW9uV2FybmluZ0RvbmUgPSB0cnVlOwotLSAgICAgICAgICAgICAg ICB9Ci0rICAgICAgICAgICAgICAgIHdhcm5EZXByZWNhdGVkT25jZVBlckNhbGxzaXRlKFBMQVRG T1JNX1NQRUNJRklDX1RZUEVMSUIsCi0rICAgICAgICAgICAgICAgICAgICBgR2lvLiR7cHJvcH1g LCBgJHtHaW9QbGF0Zm9ybS5fX25hbWVfX30uJHtwcm9wfWApOwotICAgICAgICAgICAgICAgICBy ZXR1cm4gZGVzYy5nZXQ/LigpID8/IGRlc2MudmFsdWU7Ci0gICAgICAgICAgICAgfSwKLSAgICAg ICAgIH07Ci0KLUZyb20gMWM3OTdhOTYxOWFmNmMzOWQ2YjlmZTQ3OTYxNDA4YzZhYWYxM2YxOCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9NYXJjbz0yMFRyZXZpc2Fu PTIwPTI4VHJldmk9QzM9QjFvPTI5Pz0gPG1haWxAM3YxbjAubmV0PgotRGF0ZTogRnJpLCAxMiBT ZXAgMjAyNSAwMDoyODowOSArMDIwMAotU3ViamVjdDogW1BBVENIIDQvOV0gY2pzL2RlcHJlY2F0 aW9uOiBVc2UgYSBsYXJnZXIgZGVwcmVjYXRpb24gc3RhY2sgZm9yIEpTCi0gaW52b2tlZCByZXF1 ZXN0cwotCi1XaGVuIHVzaW5nIHdhcm5EZXByZWNhdGVkT25jZVBlckNhbGxzaXRlKCkgZnJvbSBK UyB3ZSBuZWVkIHRvIHVzZSBhCi1sYXJnZXIgc3RhY2sgdG8gdHJhY2sgdGhlIGNhbGwgc2l0ZSwg b3RoZXJ3aXNlIHdlIG1heSBlbmQgdXAgY29uc2lkZXJpbmcKLXRoZSBzYW1lIGNhbGwgc2l0ZSBm b3IgZGlmZmVyZW50IGFjdHVhbCBjYWxsZXJzLgotCi1JbiBmYWN0IHdoZW4gdXNpbmcgdGhpcyBp biBHaW8uanMgb3ZlcnJpZGUgdGhlIGNhbGwgc2l0ZSBpcyBhbHdheXMgdGhlCi1zYW1lLCBidXQg d2UgY2FyZSBhYm91dCB3aGVyZSB0aGF0IGZ1bmN0aW9uIGlzIGJlaW5nIGludm9rZWQgZnJvbS4K LS0tLQotIGNqcy9kZXByZWNhdGlvbi5jcHAgICAgICAgICAgIHwgMTkgKysrKysrKysrKystLS0t LS0tLQotIGNqcy9kZXByZWNhdGlvbi5oICAgICAgICAgICAgIHwgIDUgKysrLS0KLSBpbnN0YWxs ZWQtdGVzdHMvanMvdGVzdEdpby5qcyB8IDIzICsrKysrKysrKysrKysrKysrLS0tLS0tCi0gbW9k dWxlcy9wcmludC5jcHAgICAgICAgICAgICAgfCAgNCArKy0tCi0gNCBmaWxlcyBjaGFuZ2VkLCAz MyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2Nqcy9kZXBy ZWNhdGlvbi5jcHAgYi9janMvZGVwcmVjYXRpb24uY3BwCi1pbmRleCA5YzRlNDRkOS4uZmNhNjZm ZjcgMTAwNjQ0Ci0tLS0gYS9janMvZGVwcmVjYXRpb24uY3BwCi0rKysgYi9janMvZGVwcmVjYXRp b24uY3BwCi1AQCAtODEsMTAgKzgxLDEwIEBAIHN0cnVjdCBoYXNoPERlcHJlY2F0aW9uRW50cnk+ IHsKLSBzdGF0aWMgc3RkOjp1bm9yZGVyZWRfc2V0PERlcHJlY2F0aW9uRW50cnk+IGxvZ2dlZF9t ZXNzYWdlczsKLSAKLSBHSlNfSlNBUElfUkVUVVJOX0NPTlZFTlRJT04KLS1zdGF0aWMgSlM6OlVu aXF1ZUNoYXJzIGdldF9jYWxsc2l0ZShKU0NvbnRleHQqIGN4KSB7Ci0rc3RhdGljIEpTOjpVbmlx dWVDaGFycyBnZXRfY2FsbHNpdGUoSlNDb250ZXh0KiBjeCwgdW5zaWduZWQgbWF4X2ZyYW1lcykg ewotICAgICBKUzo6Um9vdGVkT2JqZWN0IHN0YWNrX2ZyYW1lKGN4KTsKLSAgICAgaWYgKCFKUzo6 Q2FwdHVyZUN1cnJlbnRTdGFjayhjeCwgJnN0YWNrX2ZyYW1lLAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEpTOjpTdGFja0NhcHR1cmUoSlM6Ok1heEZyYW1lcygxKSkpIHx8Ci0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlM6OlN0YWNrQ2FwdHVyZShKUzo6TWF4 RnJhbWVzKG1heF9mcmFtZXMpKSkgfHwKLSAgICAgICAgICFzdGFja19mcmFtZSkKLSAgICAgICAg IHJldHVybiBudWxscHRyOwotIAotQEAgLTk4LDggKzk4LDkgQEAgc3RhdGljIEpTOjpVbmlxdWVD aGFycyBnZXRfY2FsbHNpdGUoSlNDb250ZXh0KiBjeCkgewotIAotIHN0YXRpYyB2b2lkIHdhcm5f ZGVwcmVjYXRlZF91bnNhZmVfaW50ZXJuYWwoSlNDb250ZXh0KiBjeCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdqc0RlcHJlY2F0aW9uTWVzc2Fn ZUlkIGlkLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciogbXNnKSB7Ci0tICAgIEpTOjpVbmlxdWVDaGFycyBjYWxsc2l0ZShnZXRfY2FsbHNp dGUoY3gpKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGNoYXIqIG1zZywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIG1heF9mcmFtZXMpIHsKLSsgICAgSlM6OlVuaXF1ZUNoYXJzIGNhbGxzaXRl KGdldF9jYWxsc2l0ZShjeCwgbWF4X2ZyYW1lcykpOwotICAgICBEZXByZWNhdGlvbkVudHJ5IGVu dHJ5KGlkLCBjYWxsc2l0ZS5nZXQoKSk7Ci0gICAgIGlmICghbG9nZ2VkX21lc3NhZ2VzLmNvdW50 KGVudHJ5KSkgewotICAgICAgICAgSlM6OlVuaXF1ZUNoYXJzIHN0YWNrX2R1bXAgPQotQEAgLTEx MywxMyArMTE0LDE1IEBAIHN0YXRpYyB2b2lkIHdhcm5fZGVwcmVjYXRlZF91bnNhZmVfaW50ZXJu YWwoSlNDb250ZXh0KiBjeCwKLSAgKiBzdGFjayBkdW1wIEFQSSBhbmQgbm90IHRoZSAic2FmZSIg Z2pzX2R1bXBzdGFjaygpIHdoaWNoIGNhbiBvbmx5IHByaW50IHRvCi0gICogc3Rkb3V0IG9yIHN0 ZGVyci4gRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uIGR1cmluZyBHQywgZm9yIGV4YW1wbGUuICov Ci0gdm9pZCBfZ2pzX3dhcm5fZGVwcmVjYXRlZF9vbmNlX3Blcl9jYWxsc2l0ZShKU0NvbnRleHQq IGN4LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg R2pzRGVwcmVjYXRpb25NZXNzYWdlSWQgaWQpIHsKLS0gICAgd2Fybl9kZXByZWNhdGVkX3Vuc2Fm ZV9pbnRlcm5hbChjeCwgaWQsIG1lc3NhZ2VzW2lkXSk7Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHanNEZXByZWNhdGlvbk1lc3NhZ2VJZCBpZCwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1h eF9mcmFtZXMpIHsKLSsgICAgd2Fybl9kZXByZWNhdGVkX3Vuc2FmZV9pbnRlcm5hbChjeCwgaWQs IG1lc3NhZ2VzW2lkXSwgbWF4X2ZyYW1lcyk7Ci0gfQotIAotIHZvaWQgX2dqc193YXJuX2RlcHJl Y2F0ZWRfb25jZV9wZXJfY2FsbHNpdGUoCi0gICAgIEpTQ29udGV4dCogY3gsIEdqc0RlcHJlY2F0 aW9uTWVzc2FnZUlkIGlkLAotLSAgICBjb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBjaGFyKj4mIGFy Z3MpIHsKLSsgICAgY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgY2hhcio+JiBhcmdzLAotKyAgICB1 bnNpZ25lZCBtYXhfZnJhbWVzKSB7Ci0gICAgIC8vIEluIEMrKzIwLCB1c2Ugc3RkOjpmb3JtYXQo KSBmb3IgdGhpcwotICAgICBzdGQ6OnN0cmluZ192aWV3IGZvcm1hdF9zdHJpbmd7bWVzc2FnZXNb aWRdfTsKLSAgICAgc3RkOjpzdHJpbmdzdHJlYW0gbWVzc2FnZTsKLUBAIC0xNDksNSArMTUyLDUg QEAgdm9pZCBfZ2pzX3dhcm5fZGVwcmVjYXRlZF9vbmNlX3Blcl9jYWxsc2l0ZSgKLSAgICAgbWVz c2FnZSA8PCBmb3JtYXRfc3RyaW5nLnN1YnN0cihjb3BpZWQsIHN0ZDo6c3RyaW5nOjpucG9zKTsK LSAKLSAgICAgc3RkOjpzdHJpbmcgbWVzc2FnZV9mb3JtYXR0ZWQgPSBtZXNzYWdlLnN0cigpOwot LSAgICB3YXJuX2RlcHJlY2F0ZWRfdW5zYWZlX2ludGVybmFsKGN4LCBpZCwgbWVzc2FnZV9mb3Jt YXR0ZWQuY19zdHIoKSk7Ci0rICAgIHdhcm5fZGVwcmVjYXRlZF91bnNhZmVfaW50ZXJuYWwoY3gs IGlkLCBtZXNzYWdlX2Zvcm1hdHRlZC5jX3N0cigpLCBtYXhfZnJhbWVzKTsKLSB9Ci1kaWZmIC0t Z2l0IGEvY2pzL2RlcHJlY2F0aW9uLmggYi9janMvZGVwcmVjYXRpb24uaAotaW5kZXggYTU5NjEz ZDMuLjdhNzY3ODAzIDEwMDY0NAotLS0tIGEvY2pzL2RlcHJlY2F0aW9uLmgKLSsrKyBiL2Nqcy9k ZXByZWNhdGlvbi5oCi1AQCAtMjEsMTAgKzIxLDExIEBAIGVudW0gR2pzRGVwcmVjYXRpb25NZXNz YWdlSWQgOiB1bnNpZ25lZCB7Ci0gfTsKLSAKLSB2b2lkIF9nanNfd2Fybl9kZXByZWNhdGVkX29u Y2VfcGVyX2NhbGxzaXRlKEpTQ29udGV4dCogY3gsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHanNEZXByZWNhdGlvbk1lc3NhZ2VJZCBtZXNzYWdlKTsKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdqc0RlcHJlY2F0aW9u TWVzc2FnZUlkIG1lc3NhZ2UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBtYXhfZnJhbWVzID0gMSk7Ci0gCi0gdm9pZCBfZ2pzX3dhcm5fZGVw cmVjYXRlZF9vbmNlX3Blcl9jYWxsc2l0ZSgKLSAgICAgSlNDb250ZXh0KiBjeCwgR2pzRGVwcmVj YXRpb25NZXNzYWdlSWQgaWQsCi0tICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IGNoYXIqPiYg YXJncyk7Ci0rICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IGNoYXIqPiYgYXJncywgdW5zaWdu ZWQgbWF4X2ZyYW1lcyA9IDEpOwotIAotICNlbmRpZiAgLy8gR0pTX0RFUFJFQ0FUSU9OX0hfCi1k aWZmIC0tZ2l0IGEvaW5zdGFsbGVkLXRlc3RzL2pzL3Rlc3RHaW8uanMgYi9pbnN0YWxsZWQtdGVz dHMvanMvdGVzdEdpby5qcwotaW5kZXggZjY3YWVjNDIuLmI5MmQzNzQ5IDEwMDY0NAotLS0tIGEv aW5zdGFsbGVkLXRlc3RzL2pzL3Rlc3RHaW8uanMKLSsrKyBiL2luc3RhbGxlZC10ZXN0cy9qcy90 ZXN0R2lvLmpzCi1AQCAtNDQwLDcgKzQ0MCw4IEBAIEV4ZWM9JHtHTGliLmZpbmRfcHJvZ3JhbV9p bl9wYXRoKCdzaCcpfQotICAgICBpdCgnY2FuIGJlIGNyZWF0ZWQgdXNpbmcgR2lvIHdyYXBwZXIn LCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICBleHBlY3REZXByZWNhdGlvbldhcm5pbmcoKCkgPT4K LSAgICAgICAgICAgICBleHBlY3QoR2lvLkRlc2t0b3BBcHBJbmZvLm5ld19mcm9tX2tleWZpbGUo a2V5RmlsZSkpLm5vdC50b0JlTnVsbCgpKTsKLS0gICAgICAgIGV4cGVjdChHaW8uRGVza3RvcEFw cEluZm8ubmV3X2Zyb21fa2V5ZmlsZShrZXlGaWxlKSkubm90LnRvQmVOdWxsKCk7Ci0rICAgICAg ICBleHBlY3REZXByZWNhdGlvbldhcm5pbmcoKCkgPT4KLSsgICAgICAgICAgICBleHBlY3QoR2lv LkRlc2t0b3BBcHBJbmZvLm5ld19mcm9tX2tleWZpbGUoa2V5RmlsZSkpLm5vdC50b0JlTnVsbCgp KTsKLSAgICAgfSk7Ci0gCi0gICAgIGRlc2NyaWJlKCdwcm92aWRlcyBwbGF0Zm9ybS1pbmRlcGVu ZGVudCBmdW5jdGlvbnMnLCBmdW5jdGlvbiAoKSB7Ci1AQCAtNDQ4LDggKzQ0OSwxMyBAQCBFeGVj PSR7R0xpYi5maW5kX3Byb2dyYW1faW5fcGF0aCgnc2gnKX0KLSAgICAgICAgICAgICBpZiAoIXJl cXVpcmVkVmVyc2lvbikKLSAgICAgICAgICAgICAgICAgcGVuZGluZygnSW5zdGFsbGVkIEdpbyBp cyBub3QgbmV3IGVub3VnaCBmb3IgdGhpcyB0ZXN0Jyk7Ci0gCi0tICAgICAgICAgICAgY29uc3Qg YXBwSW5mbyA9IG5zLkRlc2t0b3BBcHBJbmZvLm5ld19mcm9tX2tleWZpbGUoa2V5RmlsZSk7Ci0t ICAgICAgICAgICAgZXhwZWN0KGFwcEluZm8uZ2V0X25hbWUoKSkudG9CZSgnU29tZSBBcHBsaWNh dGlvbicpOwotKyAgICAgICAgICAgIGNvbnN0IG1heWJlRXhwZWN0RGVwcmVjYXRpb25XYXJuaW5n ID0gbnMgPT09IEdpbwotKyAgICAgICAgICAgICAgICA/IGV4cGVjdERlcHJlY2F0aW9uV2Fybmlu ZyA6IHRmID0+IHRmKCk7Ci0rCi0rICAgICAgICAgICAgbWF5YmVFeHBlY3REZXByZWNhdGlvbldh cm5pbmcoKCkgPT4gewotKyAgICAgICAgICAgICAgICBjb25zdCBhcHBJbmZvID0gbnMuRGVza3Rv cEFwcEluZm8ubmV3X2Zyb21fa2V5ZmlsZShrZXlGaWxlKTsKLSsgICAgICAgICAgICAgICAgZXhw ZWN0KGFwcEluZm8uZ2V0X25hbWUoKSkudG9CZSgnU29tZSBBcHBsaWNhdGlvbicpOwotKyAgICAg ICAgICAgIH0pOwotICAgICAgICAgfSkpOwotICAgICB9KTsKLSAKLUBAIC00NTgsOSArNDY0LDE0 IEBAIEV4ZWM9JHtHTGliLmZpbmRfcHJvZ3JhbV9pbl9wYXRoKCdzaCcpfQotICAgICAgICAgICAg IGlmICghcmVxdWlyZWRWZXJzaW9uKQotICAgICAgICAgICAgICAgICBwZW5kaW5nKCdJbnN0YWxs ZWQgR2lvIGlzIG5vdCBuZXcgZW5vdWdoIGZvciB0aGlzIHRlc3QnKTsKLSAKLS0gICAgICAgICAg ICBjb25zdCBhcHBJbmZvID0gbnMuRGVza3RvcEFwcEluZm8ubmV3X2Zyb21fa2V5ZmlsZShrZXlG aWxlKTsKLS0gICAgICAgICAgICBleHBlY3QoYXBwSW5mby5oYXNfa2V5KCdOYW1lJykpLnRvQmVU cnVlKCk7Ci0tICAgICAgICAgICAgZXhwZWN0KGFwcEluZm8uZ2V0X3N0cmluZygnTmFtZScpKS50 b0JlKCdTb21lIEFwcGxpY2F0aW9uJyk7Ci0rICAgICAgICAgICAgY29uc3QgbWF5YmVFeHBlY3RE ZXByZWNhdGlvbldhcm5pbmcgPSBucyA9PT0gR2lvCi0rICAgICAgICAgICAgICAgID8gZXhwZWN0 RGVwcmVjYXRpb25XYXJuaW5nIDogdGYgPT4gdGYoKTsKLSsKLSsgICAgICAgICAgICBtYXliZUV4 cGVjdERlcHJlY2F0aW9uV2FybmluZygoKSA9PiB7Ci0rICAgICAgICAgICAgICAgIGNvbnN0IGFw cEluZm8gPSBucy5EZXNrdG9wQXBwSW5mby5uZXdfZnJvbV9rZXlmaWxlKGtleUZpbGUpOwotKyAg ICAgICAgICAgICAgICBleHBlY3QoYXBwSW5mby5oYXNfa2V5KCdOYW1lJykpLnRvQmVUcnVlKCk7 Ci0rICAgICAgICAgICAgICAgIGV4cGVjdChhcHBJbmZvLmdldF9zdHJpbmcoJ05hbWUnKSkudG9C ZSgnU29tZSBBcHBsaWNhdGlvbicpOwotKyAgICAgICAgICAgIH0pOwotICAgICAgICAgfSkpOwot ICAgICB9KTsKLSB9KTsKLWRpZmYgLS1naXQgYS9tb2R1bGVzL3ByaW50LmNwcCBiL21vZHVsZXMv cHJpbnQuY3BwCi1pbmRleCBjNmFhYTI2NC4uOWYwMjllZjggMTAwNjQ0Ci0tLS0gYS9tb2R1bGVz L3ByaW50LmNwcAotKysrIGIvbW9kdWxlcy9wcmludC5jcHAKLUBAIC0yMDYsNyArMjA2LDcgQEAg c3RhdGljIGJvb2wgd2Fybl9kZXByZWNhdGVkX29uY2VfcGVyX2NhbGxzaXRlKEpTQ29udGV4dCog Y3gsIHVuc2lnbmVkIGFyZ2MsCi0gCi0gICAgIGlmIChhcmdzLmxlbmd0aCgpID09IDEpIHsKLSAg ICAgICAgIF9nanNfd2Fybl9kZXByZWNhdGVkX29uY2VfcGVyX2NhbGxzaXRlKAotLSAgICAgICAg ICAgIGN4LCBHanNEZXByZWNhdGlvbk1lc3NhZ2VJZChtZXNzYWdlX2lkKSk7Ci0rICAgICAgICAg ICAgY3gsIEdqc0RlcHJlY2F0aW9uTWVzc2FnZUlkKG1lc3NhZ2VfaWQpLCAyKTsKLSAgICAgICAg IHJldHVybiB0cnVlOwotICAgICB9Ci0gCi1AQCAtMjI1LDcgKzIyNSw3IEBAIHN0YXRpYyBib29s IHdhcm5fZGVwcmVjYXRlZF9vbmNlX3Blcl9jYWxsc2l0ZShKU0NvbnRleHQqIGN4LCB1bnNpZ25l ZCBhcmdjLAotICAgICB9Ci0gCi0gICAgIF9nanNfd2Fybl9kZXByZWNhdGVkX29uY2VfcGVyX2Nh bGxzaXRlKAotLSAgICAgICAgY3gsIEdqc0RlcHJlY2F0aW9uTWVzc2FnZUlkKG1lc3NhZ2VfaWQp LCBmb3JtYXRfYXJncyk7Ci0rICAgICAgICBjeCwgR2pzRGVwcmVjYXRpb25NZXNzYWdlSWQobWVz c2FnZV9pZCksIGZvcm1hdF9hcmdzLCAyKTsKLSAgICAgcmV0dXJuIHRydWU7Ci0gfQotIAotCi1G cm9tIGEyMGQzNWJjYzk1YTJiMGMwM2ZjZWE4OGRjNjI4MjU4OTkwNjkyNTYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/TWFyY289MjBUcmV2aXNhbj0yMD0yOFRyZXZp PUMzPUIxbz0yOT89IDxtYWlsQDN2MW4wLm5ldD4KLURhdGU6IEZyaSwgMTIgU2VwIDIwMjUgMDA6 MzE6MzAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA1LzldIG92ZXJyaWRlcy9HaW86IFVzZSBQbGF0 Zm9ybSBwcmVmaXggZm9yIHBsYXRmb3JtLW9ubHkKLSBzeW1ib2xzCi0KLUluIHByZXZpb3VzIHZl cnNpb25zIG9mIEdMaWIsIHBsYXRmb3JtLXNwZWNpZmljIHN5bWJvbHMgc3VjaCBhcwotR1VuaXhN b3VudE1vbml0b3Igd2VyZSBtYXBwZWQgaW4gdGhlIEdpbyBuYW1lc3BhY2UgYXMgR2lvLlVuaXhN b3VudE1vbml0b3IsCi13aGlsZSBzaW5jZSBjb21taXQgMDU2NTY4Mjkgd2UgY3JlYXRlIHdyYXBw ZXJzIHN1Y2ggYXMKLUdpby5Nb3VudE1vbml0b3IuCi0KLVRoaXMgaXMgbm90IGNvcnJlY3QsIGFu ZCBkb2VzIG5vdCBzZXJ2ZSB0aGUgaW5pdGlhbCBwdXJwb3NlIG9mIHByb3ZpZGluZwotYSBiYWNr d2FyZCBjb21wYXRpYmxlIHdyYXBwZXIuCi0KLVNvLCB1c2UgdGhlIHNhbWUgbG9naWMgdGhhdCB3 ZSBoYWQgYmVmb3JlOiBpZiB0aGUgR1R5cGUgb2YgYSBzeW1ib2wgc3RhcnRzCi13aXRoIEd7VW5p eCxXaW4zMn0gd2UgdXNlIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBuYW1lIGFzIHByZWZpeCBvZiB0 aGUKLXdyYXBwZXIgdHlwZSwgc28gdGhhdCBpdCB3aWxsIGJlIEdpby57VW5peCxXaW4zMn1UeXBl TmFtZQotLS0tCi0gbW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMgfCAyMSArKysrKysrKysr KysrKy0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29yZS9vdmVycmlkZXMvR2lvLmpzIGIvbW9k dWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMKLWluZGV4IGY1YzI0ZmM2Li5lMTZlOGZkYyAxMDA2 NDQKLS0tLSBhL21vZHVsZXMvY29yZS9vdmVycmlkZXMvR2lvLmpzCi0rKysgYi9tb2R1bGVzL2Nv cmUvb3ZlcnJpZGVzL0dpby5qcwotQEAgLTQ5NiwyMyArNDk2LDMwIEBAIGZ1bmN0aW9uIF9pbml0 KCkgewotICAgICAgICAgfSBjYXRjaCB7fQotICAgICB9Ci0gCi0rICAgIGNvbnN0IHBsYXRmb3Jt TmFtZSA9IGAke0dpb1BsYXRmb3JtPy5fX25hbWVfXz8uc2xpY2UoMyAvKiAnR2lvJy5sZW5ndGgg Ki8pfWA7Ci0gICAgIE9iamVjdC5lbnRyaWVzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0 b3JzKEdpb1BsYXRmb3JtKSkuZm9yRWFjaCgoW3Byb3AsIGRlc2NdKSA9PiB7Ci0tICAgICAgICBp ZiAoT2JqZWN0Lmhhc093bihHaW8sIHByb3ApKSB7Ci0tICAgICAgICAgICAgY29uc29sZS5kZWJ1 ZyhgR2lvIGFscmVhZHkgY29udGFpbnMgcHJvcGVydHkgJHtwcm9wfWApOwotLSAgICAgICAgICAg IEdpb1twcm9wXSA9IEdpb1BsYXRmb3JtW3Byb3BdOwotKyAgICAgICAgbGV0IGdlbmVyaWNQcm9w ID0gcHJvcDsKLSsKLSsgICAgICAgIGNvbnN0IG9yaWdpbmFsVmFsdWUgPSBHaW9QbGF0Zm9ybVtw cm9wXTsKLSsgICAgICAgIGNvbnN0IGd0eXBlTmFtZSA9IG9yaWdpbmFsVmFsdWUuJGd0eXBlPy5u YW1lOwotKyAgICAgICAgaWYgKGd0eXBlTmFtZT8uc3RhcnRzV2l0aChgRyR7cGxhdGZvcm1OYW1l fWApKQotKyAgICAgICAgICAgIGdlbmVyaWNQcm9wID0gYCR7cGxhdGZvcm1OYW1lfSR7cHJvcH1g OwotKwotKyAgICAgICAgaWYgKE9iamVjdC5oYXNPd24oR2lvLCBnZW5lcmljUHJvcCkpIHsKLSsg ICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBHaW8gYWxyZWFkeSBjb250YWlucyBwcm9wZXJ0eSAk e2dlbmVyaWNQcm9wfWApOwotKyAgICAgICAgICAgIEdpb1tnZW5lcmljUHJvcF0gPSBvcmlnaW5h bFZhbHVlOwotICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGNv bnN0IG5ld0Rlc2MgPSB7Ci0rICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoR2lvLCBnZW5l cmljUHJvcCwgewotICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsCi0gICAgICAgICAgICAg Y29uZmlndXJhYmxlOiBmYWxzZSwKLSAgICAgICAgICAgICBnZXQoKSB7Ci0gICAgICAgICAgICAg ICAgIHdhcm5EZXByZWNhdGVkT25jZVBlckNhbGxzaXRlKFBMQVRGT1JNX1NQRUNJRklDX1RZUEVM SUIsCi0tICAgICAgICAgICAgICAgICAgICBgR2lvLiR7cHJvcH1gLCBgJHtHaW9QbGF0Zm9ybS5f X25hbWVfX30uJHtwcm9wfWApOwotKyAgICAgICAgICAgICAgICAgICAgYEdpby4ke2dlbmVyaWNQ cm9wfWAsIGAke0dpb1BsYXRmb3JtLl9fbmFtZV9ffS4ke3Byb3B9YCk7Ci0gICAgICAgICAgICAg ICAgIHJldHVybiBkZXNjLmdldD8uKCkgPz8gZGVzYy52YWx1ZTsKLSAgICAgICAgICAgICB9LAot LSAgICAgICAgfTsKLS0gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShHaW8sIHByb3AsIG5l d0Rlc2MpOwotKyAgICAgICAgfSk7Ci0gICAgIH0pOwotIAotICAgICBHaW8uREJ1cyA9IHsKLQot RnJvbSA0OGI2ZmJjOTVmODVmZjUxOGVmYjExYmQ3NDRlNTI0NDQ3YjJiNWU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2 aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+Ci1EYXRlOiBGcmksIDEyIFNlcCAyMDI1IDAw OjM0OjQ4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNi85XSBnaS9mdW5jdGlvbjogSW1wbGVtZW50 IG5hbWUgcHJvcGVydHkgZm9yIGZ1bmN0aW9ucwotCi1KUyBmdW5jdGlvbnMgaGF2ZSBhIG5hbWUg cHJvcGVydGllcyBieSBkZWZhdWx0LCBidXQgd2UgZGlkIG5vdCBpbXBsZW1lbnQKLWl0IGZvciBv dXIgZnVuY3Rpb24gd3JhcHBlcnMuCi0KLUdpdmVuIHRoYXQgdGhlcmUncyBubyBhIGRlZmluZWQg c3BlY2lmaWNhdGlvbiBmb3IgaXQgYW5kIHRoYXQgaXQgY2FuIGJlCi11c2VkIGZvciBkZWJ1Z2dp bmcgcHVycG9zZXMsIHVzZSBpdCB0byBzdG9yZSB0aGUgb3JpZ2luYWwgQyBmdW5jdGlvbgotbmFt ZS4KLS0tLQotIGdpL2Z1bmN0aW9uLmNwcCB8IDE0ICsrKysrKysrKysrKysrCi0gMSBmaWxlIGNo YW5nZWQsIDE0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2dpL2Z1bmN0aW9uLmNwcCBi L2dpL2Z1bmN0aW9uLmNwcAotaW5kZXggMTFhNDc3OTcuLmMyZDMwOGZkIDEwMDY0NAotLS0tIGEv Z2kvZnVuY3Rpb24uY3BwCi0rKysgYi9naS9mdW5jdGlvbi5jcHAKLUBAIC0xMTYsNiArMTE2LDkg QEAgY2xhc3MgRnVuY3Rpb24gOiBwdWJsaWMgQ1dyYXBwZXI8RnVuY3Rpb24+IHsKLSAgICAgR0pT X0pTQVBJX1JFVFVSTl9DT05WRU5USU9OCi0gICAgIHN0YXRpYyBib29sIGdldF9sZW5ndGgoSlND b250ZXh0KiBjeCwgdW5zaWduZWQgYXJnYywgSlM6OlZhbHVlKiB2cCk7Ci0gCi0rICAgIEdKU19K U0FQSV9SRVRVUk5fQ09OVkVOVElPTgotKyAgICBzdGF0aWMgYm9vbCBnZXRfbmFtZShKU0NvbnRl eHQqIGN4LCB1bnNpZ25lZCBhcmdjLCBKUzo6VmFsdWUqIHZwKTsKLSsKLSAgICAgR0pTX0pTQVBJ X1JFVFVSTl9DT05WRU5USU9OCi0gICAgIHN0YXRpYyBib29sIHRvX3N0cmluZyhKU0NvbnRleHQq IGN4LCB1bnNpZ25lZCBhcmdjLCBKUzo6VmFsdWUqIHZwKTsKLSAKLUBAIC0xMjUxLDYgKzEyNTQs MTYgQEAgYm9vbCBGdW5jdGlvbjo6Z2V0X2xlbmd0aChKU0NvbnRleHQqIGN4LCB1bnNpZ25lZCBh cmdjLCBKUzo6VmFsdWUqIHZwKSB7Ci0gICAgIHJldHVybiB0cnVlOwotIH0KLSAKLStib29sIEZ1 bmN0aW9uOjpnZXRfbmFtZShKU0NvbnRleHQqIGN4LCB1bnNpZ25lZCBhcmdjLCBKUzo6VmFsdWUq IHZwKSB7Ci0rICAgIEdKU19DSEVDS19XUkFQUEVSX1BSSVYoY3gsIGFyZ2MsIHZwLCByZWMsIHRo aXNfb2JqLCBGdW5jdGlvbiwgcHJpdik7Ci0rCi0rICAgIGlmIChwcml2LT5tX2luZm8udHlwZSgp ID09IEdJX0lORk9fVFlQRV9GVU5DVElPTikKLSsgICAgICAgIHJldHVybiBnanNfc3RyaW5nX2Zy b21fdXRmOChjeCwgZ19mdW5jdGlvbl9pbmZvX2dldF9zeW1ib2wocHJpdi0+bV9pbmZvKSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWMucnZhbCgpKTsKLSsKLSsgICAg cmV0dXJuIGdqc19zdHJpbmdfZnJvbV91dGY4KGN4LCBwcml2LT5mb3JtYXRfbmFtZSgpLmNfc3Ry KCksIHJlYy5ydmFsKCkpOwotK30KLSsKLSBib29sIEZ1bmN0aW9uOjp0b19zdHJpbmcoSlNDb250 ZXh0KiBjb250ZXh0LCB1bnNpZ25lZCBhcmdjLCBKUzo6VmFsdWUqIHZwKSB7Ci0gICAgIEdKU19D SEVDS19XUkFQUEVSX1BSSVYoY29udGV4dCwgYXJnYywgdnAsIHJlYywgdGhpc19vYmosIEZ1bmN0 aW9uLCBwcml2KTsKLSAgICAgcmV0dXJuIHByaXYtPnRvX3N0cmluZ19pbXBsKGNvbnRleHQsIHJl Yy5ydmFsKCkpOwotQEAgLTEzMDIsNiArMTMxNSw3IEBAIGNvbnN0IEpTQ2xhc3NPcHMgRnVuY3Rp b246OmNsYXNzX29wcyA9IHsKLSAKLSBjb25zdCBKU1Byb3BlcnR5U3BlYyBGdW5jdGlvbjo6cHJv dG9fcHJvcHNbXSA9IHsKLSAgICAgSlNfUFNHKCJsZW5ndGgiLCAmRnVuY3Rpb246OmdldF9sZW5n dGgsIEpTUFJPUF9QRVJNQU5FTlQpLAotKyAgICBKU19QU0coIm5hbWUiLCAmRnVuY3Rpb246Omdl dF9uYW1lLCBKU1BST1BfUEVSTUFORU5UKSwKLSAgICAgSlNfU1RSSU5HX1NZTV9QUyh0b1N0cmlu Z1RhZywgIkdJUmVwb3NpdG9yeUZ1bmN0aW9uIiwgSlNQUk9QX1JFQURPTkxZKSwKLSAgICAgSlNf UFNfRU5EfTsKLSAKLQotRnJvbSBhNmRkNTIyYmZmNGI0Nzk5ODUwNDY4OTRmOGFkMGM2MDdmMzgz NzIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJl dmlzYW49MjA9MjhUcmV2aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+Ci1EYXRlOiBGcmks IDEyIFNlcCAyMDI1IDAwOjM1OjU2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNy85XSBvdmVycmlk ZXMvR2lvOiBVc2UgUGxhdGZvcm0gcHJlZml4IGZvciBwbGF0Zm9ybS1vbmx5Ci0gZnVuY3Rpb25z Ci0KLUluIGNhc2UgYSBwbGF0Zm9ybS1vbmx5IGZ1bmN0aW9uIGlzIGJlaW5nIG1hcHBlZCBpbnNp ZGUgdGhlIEdpbwotbmFtZXNwYWNlIGFuZCB0aGF0IGhhcyBhIHBsYXRmb3JtLXNwZWNpZmljIHBy ZWZpeCwgdGhlbiB3ZSBzaG91bGQgdXNlIGl0Ci1pbnNpZGUgdGhlIG1vcmUgZ2VuZXJpYyBHaW8g bmFtZXNwYWNlLgotCi1UaGlzIGlzIHByZXNlcnZpbmcgdGhlIHByZS1naXJlcG9zaXRvcnktMi4w IGJlaGF2aW9yCi0tLS0KLSBpbnN0YWxsZWQtdGVzdHMvanMvdGVzdEludHJvc3BlY3Rpb24uanMg fCAxNiArKysrKysrKysrKysrKysrCi0gbW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMgICAg ICAgICAgIHwgIDQgKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQotCi1k aWZmIC0tZ2l0IGEvaW5zdGFsbGVkLXRlc3RzL2pzL3Rlc3RJbnRyb3NwZWN0aW9uLmpzIGIvaW5z dGFsbGVkLXRlc3RzL2pzL3Rlc3RJbnRyb3NwZWN0aW9uLmpzCi1pbmRleCBkZTc2YmQ2NC4uZjlj MGYzNWIgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsZWQtdGVzdHMvanMvdGVzdEludHJvc3BlY3Rpb24u anMKLSsrKyBiL2luc3RhbGxlZC10ZXN0cy9qcy90ZXN0SW50cm9zcGVjdGlvbi5qcwotQEAgLTIz Miw2ICsyMzIsMjIgQEAgZGVzY3JpYmUoJ0JhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBHTGli L0dpbyBwbGF0Zm9ybSBzcGVjaWZpYyBHSVJzJywgZnVuY3Rpb24KLSAgICAgICAgICAgICAnRXhw ZWN0ZWQgZGVwcmVjYXRpb24gbWVzc2FnZSBmb3IgR2lvLlVuaXggLT4gR2lvVW5peCcpOwotICAg ICB9KTsKLSAKLSsgICAgaXQoJ0dpb1VuaXggZnVuY3Rpb25zIGFyZSBsb29rZWQgdXAgaW4gR2lv VW5peCwgbm90IEdpbycsIGZ1bmN0aW9uICgpIHsKLSsgICAgICAgIGlmIChza2lwKSB7Ci0rICAg ICAgICAgICAgcGVuZGluZygnR2lvVW5peCByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0Jyk7Ci0rICAg ICAgICAgICAgcmV0dXJuOwotKyAgICAgICAgfQotKwotKyAgICAgICAgR0xpYi50ZXN0X2V4cGVj dF9tZXNzYWdlKCdDanMnLCBHTGliLkxvZ0xldmVsRmxhZ3MuTEVWRUxfV0FSTklORywKLSsgICAg ICAgICAgICAnKkdpby51bml4X21vdW50c19nZXQqR2lvVW5peC5tb3VudHNfZ2V0Kmluc3RlYWQq Jyk7Ci0rCi0rICAgICAgICBleHBlY3QoaW1wb3J0cy5naS5HaW8udW5peF9tb3VudHNfZ2V0Lm5h bWUpLnRvQmUoJ2dfdW5peF9tb3VudHNfZ2V0Jyk7Ci0rCi0rICAgICAgICBHTGliLnRlc3RfYXNz ZXJ0X2V4cGVjdGVkX21lc3NhZ2VzX2ludGVybmFsKCdDanMnLAotKyAgICAgICAgICAgICd0ZXN0 SW50cm9zcGVjdGlvbi5qcycsIDAsCi0rICAgICAgICAgICAgJ0V4cGVjdGVkIGRlcHJlY2F0aW9u IG1lc3NhZ2UgZm9yIEdpby5Vbml4IC0+IEdpb1VuaXgnKTsKLSsgICAgfSk7Ci0rCi0gICAgIGl0 KCJkb2Vzbid0IHByaW50IHRoZSBtZXNzYWdlIGlmIHRoZSB0eXBlIGlzbid0IHJlc29sdmVkIGRp cmVjdGx5IiwgZnVuY3Rpb24gKCkgewotICAgICAgICAgaWYgKHNraXApIHsKLSAgICAgICAgICAg ICBwZW5kaW5nKCdHaW9Vbml4IHJlcXVpcmVkIGZvciB0aGlzIHRlc3QnKTsKLWRpZmYgLS1naXQg YS9tb2R1bGVzL2NvcmUvb3ZlcnJpZGVzL0dpby5qcyBiL21vZHVsZXMvY29yZS9vdmVycmlkZXMv R2lvLmpzCi1pbmRleCBlMTZlOGZkYy4uZWFhMTJkYjggMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL2Nv cmUvb3ZlcnJpZGVzL0dpby5qcwotKysrIGIvbW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMK LUBAIC00OTcsNiArNDk3LDcgQEAgZnVuY3Rpb24gX2luaXQoKSB7Ci0gICAgIH0KLSAKLSAgICAg Y29uc3QgcGxhdGZvcm1OYW1lID0gYCR7R2lvUGxhdGZvcm0/Ll9fbmFtZV9fPy5zbGljZSgzIC8q ICdHaW8nLmxlbmd0aCAqLyl9YDsKLSsgICAgY29uc3QgcGxhdGZvcm1OYW1lTG93ZXIgPSBwbGF0 Zm9ybU5hbWUudG9Mb3dlckNhc2UoKTsKLSAgICAgT2JqZWN0LmVudHJpZXMoT2JqZWN0LmdldE93 blByb3BlcnR5RGVzY3JpcHRvcnMoR2lvUGxhdGZvcm0pKS5mb3JFYWNoKChbcHJvcCwgZGVzY10p ID0+IHsKLSAgICAgICAgIGxldCBnZW5lcmljUHJvcCA9IHByb3A7Ci0gCi1AQCAtNTA0LDYgKzUw NSw5IEBAIGZ1bmN0aW9uIF9pbml0KCkgewotICAgICAgICAgY29uc3QgZ3R5cGVOYW1lID0gb3Jp Z2luYWxWYWx1ZS4kZ3R5cGU/Lm5hbWU7Ci0gICAgICAgICBpZiAoZ3R5cGVOYW1lPy5zdGFydHNX aXRoKGBHJHtwbGF0Zm9ybU5hbWV9YCkpCi0gICAgICAgICAgICAgZ2VuZXJpY1Byb3AgPSBgJHtw bGF0Zm9ybU5hbWV9JHtwcm9wfWA7Ci0rICAgICAgICBlbHNlIGlmIChvcmlnaW5hbFZhbHVlIGlu c3RhbmNlb2YgRnVuY3Rpb24gJiYKLSsgICAgICAgICAgICBvcmlnaW5hbFZhbHVlLm5hbWUuc3Rh cnRzV2l0aChgZ18ke3BsYXRmb3JtTmFtZUxvd2VyfV9gKSkKLSsgICAgICAgICAgICBnZW5lcmlj UHJvcCA9IGAke3BsYXRmb3JtTmFtZUxvd2VyfV8ke3Byb3B9YDsKLSAKLSAgICAgICAgIGlmIChP YmplY3QuaGFzT3duKEdpbywgZ2VuZXJpY1Byb3ApKSB7Ci0gICAgICAgICAgICAgY29uc29sZS5k ZWJ1ZyhgR2lvIGFscmVhZHkgY29udGFpbnMgcHJvcGVydHkgJHtnZW5lcmljUHJvcH1gKTsKLQot RnJvbSA5OGUxZTM5YzczYTRkY2MyNWZiZmU2NDkxN2JhODgzYzI0NGI1YTg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP01hcmNvPTIwVHJldmlzYW49MjA9MjhUcmV2 aT1DMz1CMW89Mjk/PSA8bWFpbEAzdjFuMC5uZXQ+Ci1EYXRlOiBGcmksIDEyIFNlcCAyMDI1IDAw OjM3OjM2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggOC85XSBvdmVycmlkZXMvR2lvOiBFbmFibGUg cGxhdGZvcm0tc3BlY2lmaWMgd3JhcHBlcnMgb25seSBvbgotIG5ld2VyIEdMaWIKLQotLS0tCi0g bW9kdWxlcy9jb3JlL292ZXJyaWRlcy9HaW8uanMgfCAyMSArKysrKysrKysrKystLS0tLS0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL21vZHVsZXMvY29yZS9vdmVycmlkZXMvR2lvLmpzIGIvbW9kdWxlcy9jb3JlL292 ZXJyaWRlcy9HaW8uanMKLWluZGV4IGVhYTEyZGI4Li4yNzA0MWExYSAxMDA2NDQKLS0tLSBhL21v ZHVsZXMvY29yZS9vdmVycmlkZXMvR2lvLmpzCi0rKysgYi9tb2R1bGVzL2NvcmUvb3ZlcnJpZGVz L0dpby5qcwotQEAgLTQ4NCwxNiArNDg0LDE5IEBAIGZ1bmN0aW9uIF9pbml0KCkgewotIAotICAg ICBHaW8uQXBwbGljYXRpb24ucHJvdG90eXBlLnJ1bkFzeW5jID0gR0xpYi5NYWluTG9vcC5wcm90 b3R5cGUucnVuQXN5bmM7Ci0gCi0tICAgIC8vIFJlZGVmaW5lIEdpbyBmdW5jdGlvbnMgd2l0aCBw bGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgdG8gYmUKLS0gICAgLy8gYmFja3dhcmQg Y29tcGF0aWJsZSB3aXRoIGdpLXJlcG9zaXRvcnkgMS4wLCBob3dldmVyIHdoZW4gcG9zc2libGUg d2UKLS0gICAgLy8gbm90aWZ5IGEgZGVwcmVjYXRpb24gd2FybmluZywgdG8gZW5zdXJlIHRoYXQg dGhlIHN1cnJvdW5kaW5nIGNvZGUgaXMKLS0gICAgLy8gdXBkYXRlZC4KLS0gICAgdHJ5IHsKLS0g ICAgICAgIEdpb1BsYXRmb3JtID0gaW1wb3J0cy5naS5HaW9Vbml4OwotLSAgICB9IGNhdGNoIHsK LSsgICAgaWYgKEdMaWIuTUFKT1JfVkVSU0lPTiA+IDIgfHwKLSsgICAgICAgIChHTGliLk1BSk9S X1ZFUlNJT04gPT09IDIgJiYgR0xpYi5NSU5PUl9WRVJTSU9OID49IDg2KSkgewotKyAgICAgICAg Ly8gUmVkZWZpbmUgR2lvIGZ1bmN0aW9ucyB3aXRoIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVu dGF0aW9ucyB0byBiZQotKyAgICAgICAgLy8gYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIGdpLXJl cG9zaXRvcnkgMS4wLCBob3dldmVyIHdoZW4gcG9zc2libGUgd2UKLSsgICAgICAgIC8vIG5vdGlm eSBhIGRlcHJlY2F0aW9uIHdhcm5pbmcsIHRvIGVuc3VyZSB0aGF0IHRoZSBzdXJyb3VuZGluZyBj b2RlIGlzCi0rICAgICAgICAvLyB1cGRhdGVkLgotICAgICAgICAgdHJ5IHsKLS0gICAgICAgICAg ICBHaW9QbGF0Zm9ybSA9IGltcG9ydHMuZ2kuR2lvV2luMzI7Ci0tICAgICAgICB9IGNhdGNoIHt9 Ci0rICAgICAgICAgICAgR2lvUGxhdGZvcm0gPSBpbXBvcnRzLmdpLkdpb1VuaXg7Ci0rICAgICAg ICB9IGNhdGNoIHsKLSsgICAgICAgICAgICB0cnkgewotKyAgICAgICAgICAgICAgICBHaW9QbGF0 Zm9ybSA9IGltcG9ydHMuZ2kuR2lvV2luMzI7Ci0rICAgICAgICAgICAgfSBjYXRjaCB7fQotKyAg ICAgICAgfQotICAgICB9Ci0gCi0gICAgIGNvbnN0IHBsYXRmb3JtTmFtZSA9IGAke0dpb1BsYXRm b3JtPy5fX25hbWVfXz8uc2xpY2UoMyAvKiAnR2lvJy5sZW5ndGggKi8pfWA7Ci0KLUZyb20gYmIx NGJiNDAzZmFjODVkZGNhNGFiYjEwMWExYWJlZjA2NWY4MTE1MyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206ID0/VVRGLTg/cT9GbG9yaWFuPTIwTT1DMz1CQ2xsbmVyPz0gPGZtdWVsbG5l ckBnbm9tZS5vcmc+Ci1EYXRlOiBGcmksIDEyIFNlcCAyMDI1IDAwOjQ3OjU3ICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0ggOS85XSBtb2R1bGVzL3BhY2thZ2U6IEZpeCBjaGVja2luZyBpbnRlcmZhY2Ug cHJvcGVydGllcwotCi1HT2JqZWN0LnR5cGVfZGVmYXVsdF9pbnRlcmZhY2VfcmVmKCkgaXMgbm8g bG9uZ2VyCi1pbnRyb3NwZWN0YWJsZSBmb3Igc29tZSByZWFzb24sIGJ1dCBhcyBpdCBpcyBkZXBy ZWNhdGVkCi1pbiBmYXZvciBvZiBHT2JqZWN0LnR5cGVfZGVmYXVsdF9pbnRlcmZhY2VfZ2V0KCkg YW55d2F5LAotdXNlIHRoYXQgaW5zdGVhZC4KLS0tLQotIG1vZHVsZXMvc2NyaXB0L3BhY2thZ2Uu anMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p Ci0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL3NjcmlwdC9wYWNrYWdlLmpzIGIvbW9kdWxlcy9zY3Jp cHQvcGFja2FnZS5qcwotaW5kZXggY2MzMDhmOGQuLjllNWQyMTdkIDEwMDY0NAotLS0tIGEvbW9k dWxlcy9zY3JpcHQvcGFja2FnZS5qcwotKysrIGIvbW9kdWxlcy9zY3JpcHQvcGFja2FnZS5qcwot QEAgLTI4NSw3ICsyODUsNyBAQCBmdW5jdGlvbiBjaGVja1N5bWJvbChsaWIsIHZlciwgc3ltYm9s KSB7Ci0gICAgIC8vIEdPYmplY3QgcHJvcGVydHkKLSAgICAgbGV0IHBzcGVjID0gbnVsbDsKLSAg ICAgaWYgKEdPYmplY3QudHlwZV9pc19hKG9iai4kZ3R5cGUsIEdPYmplY3QuVFlQRV9JTlRFUkZB Q0UpKSB7Ci0tICAgICAgICBsZXQgaWZhY2UgPSBHT2JqZWN0LnR5cGVfZGVmYXVsdF9pbnRlcmZh Y2VfcmVmKG9iai4kZ3R5cGUpOwotKyAgICAgICAgbGV0IGlmYWNlID0gR09iamVjdC50eXBlX2Rl ZmF1bHRfaW50ZXJmYWNlX2dldChvYmouJGd0eXBlKTsKLSAgICAgICAgIHBzcGVjID0gR09iamVj dC5PYmplY3QuaW50ZXJmYWNlX2ZpbmRfcHJvcGVydHkoaWZhY2UsIHN5bSk7Ci0gICAgIH0gZWxz ZSBpZiAoR09iamVjdC50eXBlX2lzX2Eob2JqLiRndHlwZSwgR09iamVjdC5UWVBFX09CSkVDVCkp IHsKLSAgICAgICAgIHBzcGVjID0gR09iamVjdC5PYmplY3QuZmluZF9wcm9wZXJ0eS5jYWxsKG9i ai4kZ3R5cGUsIHN5bSk7Cg==