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: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: update to 109.0.5414.74 Date: Fri, 07 Aug 2026 16:04:25 GMT Message-ID: <178611866541.1.3196197667119187560.rpms-chromium-6c69a0f2ece7@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 6c69a0f2ece7070a6b1cc353ab0df8354c6208e3 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiA2YzY5YTBmMmVjZTcwNzBhNmIxY2MzNTNhYjBkZjgz NTRjNjIwOGUzCkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMDEtMTJUMTE6MjQ6NTMrMDE6MDAKU3RhdHMgIDogKzc5MS8tOTUzIGluIDE1IGZpbGUocykK VVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jaHJvbWl1bS9jLzZj NjlhMGYyZWNlNzA3MGE2YjFjYzM1M2FiMGRmODM1NGM2MjA4ZTM/YnJhbmNoPWVwZWw5LW5leHQK CkxvZzoKdXBkYXRlIHRvIDEwOS4wLjU0MTQuNzQKCi0tLQpkaWZmIC0tZ2l0IGEvY2hyb21pdW0t MTA3LjAuNTMwNC4xMDEtc3lzdGVtLW1pbml6aXAtaGVhZGVyLWZpeC5wYXRjaCBiL2Nocm9taXVt LTEwNy4wLjUzMDQuMTAxLXN5c3RlbS1taW5pemlwLWhlYWRlci1maXgucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjZTdmZTUuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTA3 LjAuNTMwNC4xMDEtc3lzdGVtLW1pbml6aXAtaGVhZGVyLWZpeC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDY1ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEwNy4wLjUzMDQuMTEwL3RoaXJk X3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0 YS9jYy9tZXRhZGF0YV9leHRyYWN0b3IuY2Muc3lzdGVtLW1pbml6aXAgY2hyb21pdW0tMTA3LjAu NTMwNC4xMTAvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9z dXBwb3J0L21ldGFkYXRhL2NjL21ldGFkYXRhX2V4dHJhY3Rvci5jYwotLS0tIGNocm9taXVtLTEw Ny4wLjUzMDQuMTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xp dGVfc3VwcG9ydC9tZXRhZGF0YS9jYy9tZXRhZGF0YV9leHRyYWN0b3IuY2Muc3lzdGVtLW1pbml6 aXAJMjAyMi0xMS0xNCAxMTo0ODozNi44NzcxNjQxNTAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDcu MC41MzA0LjExMC90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRl X3N1cHBvcnQvbWV0YWRhdGEvY2MvbWV0YWRhdGFfZXh0cmFjdG9yLmNjCTIwMjItMTEtMTQgMTE6 NTE6NTUuNzkxOTQ5NDk0ICswMTAwCi1AQCAtMjcsOCArMjcsOCBAQCBsaW1pdGF0aW9ucyB1bmRl ciB0aGUgTGljZW5zZS4KLSAjaW5jbHVkZSAidGVuc29yZmxvd19saXRlX3N1cHBvcnQvY2MvcG9y dC9zdGF0dXNfbWFjcm9zLmgiCi0gI2luY2x1ZGUgInRlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21l dGFkYXRhL2NjL3V0aWxzL3ppcF9yZWFkb25seV9tZW1fZmlsZS5oIgotICNpbmNsdWRlICJ0ZW5z b3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9tZXRhZGF0YV9zY2hlbWFfZ2VuZXJhdGVkLmgi Ci0tI2luY2x1ZGUgInRoaXJkX3BhcnR5L3psaWIvY29udHJpYi9taW5pemlwL2lvYXBpLmgiCi0t I2luY2x1ZGUgInRoaXJkX3BhcnR5L3psaWIvY29udHJpYi9taW5pemlwL3VuemlwLmgiCi0rI2lu Y2x1ZGUgPG1pbml6aXAvaW9hcGkuaD4KLSsjaW5jbHVkZSA8bWluaXppcC91bnppcC5oPgotIAot IG5hbWVzcGFjZSB0ZmxpdGUgewotIG5hbWVzcGFjZSBtZXRhZGF0YSB7Ci1kaWZmIC11cCBjaHJv bWl1bS0xMDcuMC41MzA0LjExMC90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29y Zmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvbWV0YWRhdGFfcG9wdWxhdG9yLmNjLnN5c3Rl bS1taW5pemlwIGNocm9taXVtLTEwNy4wLjUzMDQuMTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBw b3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy9tZXRhZGF0YV9wb3B1 bGF0b3IuY2MKLS0tLSBjaHJvbWl1bS0xMDcuMC41MzA0LjExMC90aGlyZF9wYXJ0eS90ZmxpdGVf c3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvbWV0YWRhdGFf cG9wdWxhdG9yLmNjLnN5c3RlbS1taW5pemlwCTIwMjItMTEtMTQgMTE6NDg6MzYuODc3MTY0MTUw ICswMTAwCi0rKysgY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvdGhpcmRfcGFydHkvdGZsaXRlX3N1 cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL21ldGFkYXRhX3Bv cHVsYXRvci5jYwkyMDIyLTExLTE0IDExOjUyOjM2LjIzMzczNjM0NyArMDEwMAotQEAgLTI2LDgg KzI2LDggQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2luY2x1ZGUgInRlbnNv cmZsb3dfbGl0ZV9zdXBwb3J0L2NjL3BvcnQvc3RhdHVzb3IuaCIKLSAjaW5jbHVkZSAidGVuc29y Zmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlwX3dyaXRhYmxlX21lbV9maWxl LmgiCi0gI2luY2x1ZGUgInRlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL21ldGFkYXRh X3NjaGVtYV9nZW5lcmF0ZWQuaCIKLS0jaW5jbHVkZSAidGhpcmRfcGFydHkvemxpYi9jb250cmli L21pbml6aXAvaW9hcGkuaCIKLS0jaW5jbHVkZSAidGhpcmRfcGFydHkvemxpYi9jb250cmliL21p bml6aXAvdW56aXAuaCIKLSsjaW5jbHVkZSA8bWluaXppcC9pb2FwaS5oPgotKyNpbmNsdWRlIDxt aW5pemlwL3ppcC5oPgotIAotIG5hbWVzcGFjZSB0ZmxpdGUgewotIG5hbWVzcGFjZSBtZXRhZGF0 YSB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDcuMC41MzA0LjExMC90aGlyZF9wYXJ0eS90ZmxpdGVf c3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlw X3JlYWRvbmx5X21lbV9maWxlLmNjLnN5c3RlbS1taW5pemlwIGNocm9taXVtLTEwNy4wLjUzMDQu MTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9y dC9tZXRhZGF0YS9jYy91dGlscy96aXBfcmVhZG9ubHlfbWVtX2ZpbGUuY2MKLS0tLSBjaHJvbWl1 bS0xMDcuMC41MzA0LjExMC90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29yZmxv d19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlwX3JlYWRvbmx5X21lbV9maWxlLmNj LnN5c3RlbS1taW5pemlwCTIwMjItMTEtMDkgMDE6NDE6MTMuMDAwMDAwMDAwICswMTAwCi0rKysg Y2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3Rl bnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0aWxzL3ppcF9yZWFkb25seV9tZW1f ZmlsZS5jYwkyMDIyLTExLTE0IDExOjQ4OjM2Ljg3NzE2NDE1MCArMDEwMAotQEAgLTE5LDcgKzE5 LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2luY2x1ZGUgPGNzdGRpbz4K LSAKLSAjaW5jbHVkZSAiYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgiICAvLyBmcm9tIEBjb21f Z29vZ2xlX2Fic2wKLS0jaW5jbHVkZSAiY29udHJpYi9taW5pemlwL2lvYXBpLmgiCi0rI2luY2x1 ZGUgPG1pbml6aXAvaW9hcGkuaD4KLSAKLSBuYW1lc3BhY2UgdGZsaXRlIHsKLSBuYW1lc3BhY2Ug bWV0YWRhdGEgewotZGlmZiAtdXAgY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvdGhpcmRfcGFydHkv dGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0 aWxzL3ppcF9yZWFkb25seV9tZW1fZmlsZS5oLnN5c3RlbS1taW5pemlwIGNocm9taXVtLTEwNy4w LjUzMDQuMTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVf c3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfcmVhZG9ubHlfbWVtX2ZpbGUuaAotZGlmZiAt dXAgY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3Jj L3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0aWxzL3ppcF93cml0YWJsZV9t ZW1fZmlsZS5jYy5zeXN0ZW0tbWluaXppcCBjaHJvbWl1bS0xMDcuMC41MzA0LjExMC90aGlyZF9w YXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEv Y2MvdXRpbHMvemlwX3dyaXRhYmxlX21lbV9maWxlLmNjCi0tLS0gY2hyb21pdW0tMTA3LjAuNTMw NC4xMTAvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBw b3J0L21ldGFkYXRhL2NjL3V0aWxzL3ppcF93cml0YWJsZV9tZW1fZmlsZS5jYy5zeXN0ZW0tbWlu aXppcAkyMDIyLTExLTE0IDExOjQ4OjM2Ljg3NzE2NDE1MCArMDEwMAotKysrIGNocm9taXVtLTEw Ny4wLjUzMDQuMTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xp dGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfd3JpdGFibGVfbWVtX2ZpbGUuY2MJMjAy Mi0xMS0xNCAxMTo1Mzo1Ny4zNjUyOTQ0NjIgKzAxMDAKLUBAIC0xOSw3ICsxOSw3IEBAIGxpbWl0 YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICNpbmNsdWRlIDxjc3RkaW8+Ci0gCi0gI2luY2x1 ZGUgImFic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oIiAgLy8gZnJvbSBAY29tX2dvb2dsZV9hYnNs Ci0tI2luY2x1ZGUgInRoaXJkX3BhcnR5L3psaWIvY29udHJpYi9taW5pemlwL2lvYXBpLmgiCi0r I2luY2x1ZGUgPG1pbml6aXAvaW9hcGkuaD4KLSAKLSBuYW1lc3BhY2UgdGZsaXRlIHsKLSBuYW1l c3BhY2UgbWV0YWRhdGEgewotZGlmZiAtdXAgY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvdGhpcmRf cGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRh L2NjL3V0aWxzL3ppcF93cml0YWJsZV9tZW1fZmlsZS5oLnN5c3RlbS1taW5pemlwIGNocm9taXVt LTEwNy4wLjUzMDQuMTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93 X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfd3JpdGFibGVfbWVtX2ZpbGUuaAot LS0tIGNocm9taXVtLTEwNy4wLjUzMDQuMTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3Ny Yy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfd3JpdGFibGVf bWVtX2ZpbGUuaC5zeXN0ZW0tbWluaXppcAkyMDIyLTExLTE0IDExOjQ4OjM2Ljg3NzE2NDE1MCAr MDEwMAotKysrIGNocm9taXVtLTEwNy4wLjUzMDQuMTEwL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBw b3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfd3Jp dGFibGVfbWVtX2ZpbGUuaAkyMDIyLTExLTE0IDExOjU0OjIxLjMxODc1NjczOCArMDEwMAotQEAg LTE5LDcgKzE5LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2luY2x1ZGUg PGNzdGRsaWI+Ci0gCi0gI2luY2x1ZGUgImFic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oIiAgLy8g ZnJvbSBAY29tX2dvb2dsZV9hYnNsCi0tI2luY2x1ZGUgInRoaXJkX3BhcnR5L3psaWIvY29udHJp Yi9taW5pemlwL2lvYXBpLmgiCi0rI2luY2x1ZGUgPG1pbml6aXAvaW9hcGkuaD4KLSAKLSBuYW1l c3BhY2UgdGZsaXRlIHsKLSBuYW1lc3BhY2UgbWV0YWRhdGEgewoKZGlmZiAtLWdpdCBhL2Nocm9t aXVtLTEwNy4wLjUzMDQuMTEwLWNzdHJpbmctbWVtc2V0LnBhdGNoIGIvY2hyb21pdW0tMTA3LjAu NTMwNC4xMTAtY3N0cmluZy1tZW1zZXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDNjZWY1ZWYuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAtY3N0cmlu Zy1tZW1zZXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1kaWZmIC11cCBj aHJvbWl1bS0xMDcuMC41MzA0LjExMC9yZW1vdGluZy9jb2RlYy92aWRlb19lbmNvZGVyX2FjdGl2 ZV9tYXAuY2MubWUgY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvcmVtb3RpbmcvY29kZWMvdmlkZW9f ZW5jb2Rlcl9hY3RpdmVfbWFwLmNjCi0tLS0gY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvcmVtb3Rp bmcvY29kZWMvdmlkZW9fZW5jb2Rlcl9hY3RpdmVfbWFwLmNjLm1lCTIwMjItMTEtMjAgMTk6MTc6 MzcuNzgxMjY0NTA5ICswMTAwCi0rKysgY2hyb21pdW0tMTA3LjAuNTMwNC4xMTAvcmVtb3Rpbmcv Y29kZWMvdmlkZW9fZW5jb2Rlcl9hY3RpdmVfbWFwLmNjCTIwMjItMTEtMjAgMTk6MTg6MTIuMDQw ODY1MDMzICswMTAwCi1AQCAtNiw2ICs2LDcgQEAKLSAKLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgot ICNpbmNsdWRlIDx1dGlsaXR5PgotKyNpbmNsdWRlIDxjc3RyaW5nPgotIAotICNpbmNsdWRlICJi YXNlL2NoZWNrX29wLmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2Rl c2t0b3BfY2FwdHVyZS9kZXNrdG9wX2dlb21ldHJ5LmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0t MTA4LWNsYW5nMTQtYysrMjAtbGluay1lcnJvci5wYXRjaCBiL2Nocm9taXVtLTEwOC1jbGFuZzE0 LWMrKzIwLWxpbmstZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2 OGFhYjIuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTA4LWNsYW5nMTQtYysrMjAtbGluay1lcnJv ci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVt LTEwOC4wLjUzNTkuMTI0L2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbi5tZSBjaHJvbWl1 bS0xMDguMC41MzU5LjEyNC9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24KLS0tLSBjaHJv bWl1bS0xMDguMC41MzU5LjEyNC9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ubWUJMjAy My0wMS0wMyAyMTowMjoxNi42MDIxODMwMzUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDguMC41MzU5 LjEyNC9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24JMjAyMy0wMS0wMyAyMTowNDoxMS42 MDYzMjA4NTkgKzAxMDAKLUBAIC01ODksMTUgKzU4OSw2IEBAIGNvbmZpZygiY29tcGlsZXIiKSB7 Ci0gICAgICAgaWYgKGlzX2NsYW5nKSB7Ci0gICAgICAgICBjZmxhZ3NfY2MgKz0gWyAiLWZuby10 cmlncmFwaHMiIF0KLSAgICAgICB9Ci0tICAgIH0gZWxzZSBpZiAoaXNfbGludXgpIHsKLS0gICAg ICAjIFRPRE8oY3JidWcuY29tLzEyODQyNzUpOiBTd2l0Y2ggdG8gQysrMjAgb24gYWxsIHBsYXRm b3Jtcy4KLS0gICAgICBpZiAoaXNfY2xhbmcpIHsKLS0gICAgICAgIGNmbGFnc19jYyArPSBbICIt c3RkPSR7c3RhbmRhcmRfcHJlZml4fSsrMjAiIF0KLS0gICAgICB9IGVsc2UgewotLSAgICAgICAg IyBUaGUgZ2NjIGJvdHMgYXJlIGN1cnJlbnRseSB1c2luZyBHQ0MgOSwgd2hpY2ggaXMgbm90IG5l dyBlbm91Z2ggdG8KLS0gICAgICAgICMgc3VwcG9ydCAiYysrMjAiLyJnbnUrKzIwIi4KLS0gICAg ICAgIGNmbGFnc19jYyArPSBbICItc3RkPSR7c3RhbmRhcmRfcHJlZml4fSsrMmEiIF0KLS0gICAg ICB9Ci0gICAgIH0gZWxzZSB7Ci0gICAgICAgY2ZsYWdzX2NjICs9IFsgIi1zdGQ9JHtzdGFuZGFy ZF9wcmVmaXh9KysxNyIgXQotICAgICB9CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTA4LWRpc2Fi bGUtR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AucGF0Y2ggYi9jaHJvbWl1bS0xMDgt ZGlzYWJsZS1HbG9iYWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggY2NmNTJhOS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMDgt ZGlzYWJsZS1HbG9iYWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDIwICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L2No cm9tZS9icm93c2VyL21lZGlhL3JvdXRlci9tZWRpYV9yb3V0ZXJfZmVhdHVyZS5jYy5tZSBjaHJv bWl1bS0xMDguMC41MzU5LjEyNC9jaHJvbWUvYnJvd3Nlci9tZWRpYS9yb3V0ZXIvbWVkaWFfcm91 dGVyX2ZlYXR1cmUuY2MKLS0tLSBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9jaHJvbWUvYnJvd3Nl ci9tZWRpYS9yb3V0ZXIvbWVkaWFfcm91dGVyX2ZlYXR1cmUuY2MubWUJMjAyMi0xMi0zMCAxMzow NToyNC41MjA1OTM0MjYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9jaHJvbWUv YnJvd3Nlci9tZWRpYS9yb3V0ZXIvbWVkaWFfcm91dGVyX2ZlYXR1cmUuY2MJMjAyMi0xMi0zMCAx NDowMzowOC45OTYyNTQzNTIgKzAxMDAKLUBAIC00NiwxNiArNDYsOSBAQCBCQVNFX0ZFQVRVUkUo a0RpYWxFbmZvcmNlVXJsSVBBZGRyZXNzLAotIEJBU0VfRkVBVFVSRShrTWVkaWFSZW1vdGluZ1dp dGhvdXRGdWxsc2NyZWVuLAotICAgICAgICAgICAgICAiTWVkaWFSZW1vdGluZ1dpdGhvdXRGdWxs c2NyZWVuIiwKLSAgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxU KTsKLS0KLS0jaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TKQotIEJBU0VfRkVBVFVSRShrR2xvYmFs TWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AsCi0gICAgICAgICAgICAgICJHbG9iYWxNZWRpYUNv bnRyb2xzQ2FzdFN0YXJ0U3RvcCIsCi0gICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVfRElTQUJM RURfQllfREVGQVVMVCk7Ci0tI2Vsc2UKLS1CQVNFX0ZFQVRVUkUoa0dsb2JhbE1lZGlhQ29udHJv bHNDYXN0U3RhcnRTdG9wLAotLSAgICAgICAgICAgICAiR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RT dGFydFN0b3AiLAotLSAgICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0VOQUJMRURfQllfREVGQVVM VCk7Ci0tI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1MpCi0gCi0gI2VuZGlmICAvLyAh QlVJTERGTEFHKElTX0FORFJPSUQpCi0gCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTA4LW96b25l LXdheWxhbmQtdmFhcGktc3VwcG9ydC5wYXRjaCBiL2Nocm9taXVtLTEwOC1vem9uZS13YXlsYW5k LXZhYXBpLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzMWNh OGMuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTA4LW96b25lLXdheWxhbmQtdmFhcGktc3VwcG9y dC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY1NSArMCwwIEBACi1hdXRob3IJSmlhbmh1aSBE YWkgPGppYW5odWkuai5kYWlAaW50ZWwuY29tPglUdWUgTm92IDE1IDA2OjE4OjA0IDIwMjIKLWNv bW1pdHRlcglKaWFuaHVpIERhaSA8amlhbmh1aS5qLmRhaUBpbnRlbC5jb20+CVR1ZSBOb3YgMTUg MDY6MTg6MDQgMjAyMgotCi1bT3pvbmUvTGludXhdIFN1cHBvcnQgVkEtQVBJIG9uIExpbnV4IE96 b25lL1dheWxhbmQKLQotVkEtQVBJIHN1cHBvcnRzIGRpZmZlcmVudCBkaXNwbGF5IGJhY2tlbmRz IFsxXS4gVkEvRFJNIGFuZCBWQS9YMTEgYXJlCi11c2VkIGJ5IENocm9taXVtIGF0IHRoZSBtb21l bnQuIEFsbCBPem9uZSBwbGF0Zm9ybXMgc3VwcG9ydCBWQS9EUk0gYnkKLWRlZmF1bHQuIFZBL1gx MSBpcyBzdXBwb3J0ZWQgb25seSBvbiBPem9uZS9YMTEuCi0KLVRoaXMgQ0wgcmVuYW1lcyAnc3Vw cG9ydHNfdmFhcGknIHRvICdzdXBwb3J0c192YWFwaV94MTEnOyBpdCBpbmRpY2F0ZXMKLWlmIFZB L1gxMSBzdXBwb3J0ZWQuIExpbnV4IE96b25lL1gxMSBzdXBwb3J0cyBib3RoIFZBL1gxMSBhbmQg VkEvRFJNOwotTGludXggT3pvbmUvV2F5bGFuZCBzdXBwb3J0cyBvbmx5IFZBL0RSTS4gYFZhYXBp UGljdHVyZUZhY3RvcnlgIGFsc28KLXRha2VzIHRoaXMgZmxhZyB0byBkZXRlcm1pbmUgcGljdHVy ZSBjcmVhdGlvbiBhbmQgZG93bmxvYWRpbmcgbWVjaGFuaXNtCi1vbiBMaW51eC4KLQotWzFdIGh0 dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9ibG9iL21hc3Rlci92YS92YV9iYWNrZW5kLmgK LQotVGVzdDogVkRBIHZpZGVvIHBsYXliYWNrIG9uIExpbnV4IFgxMSBhbmQgTGludXggV2F5bGFu ZAotQnVnOiAxMzI2NzU0LDExMTY3MDEKLUNoYW5nZS1JZDogSTZkNmJmNzgxODMzYTc3NTJkMjNk YWZiMmI2MzExMmMyZmM4MWIxN2EKLWRpZmYgLXVwIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21l ZGlhL2dwdS9hcmdzLmduaS53YXlsYW5kLXZhYXBpIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21l ZGlhL2dwdS9hcmdzLmduaQotLS0tIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS9h cmdzLmduaS53YXlsYW5kLXZhYXBpCTIwMjItMTItMTQgMDE6Mzk6NTIuMDAwMDAwMDAwICswMTAw Ci0rKysgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L2FyZ3MuZ25pCTIwMjMtMDEt MDUgMTA6MTM6MDguMjkxNDAzMjYxICswMTAwCi1AQCAtNiwxMCArNiwxNCBAQCBpbXBvcnQoIi8v YnVpbGQvY29uZmlnL2Nocm9tZW9zL3VpX21vZGUuCi0gaW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9v em9uZS5nbmkiKQotIAotIGRlY2xhcmVfYXJncygpIHsKLS0gICMgSW5kaWNhdGVzIGlmIFgxMSBW QS1BUEktYmFzZWQgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGlzIHRvIGJlIHVzZWQuCi0tICAjIFNl ZSBhbHNvIHRoZSBjb21tZW50IG5lYXIgdGhlIHx1c2VfdmFhcGl8IGFyZy4KLS0gIHVzZV92YWFw aV94MTEgPSBpc19saW51eCAmJiBvem9uZV9wbGF0Zm9ybV94MTEgJiYKLS0gICAgICAgICAgICAg ICAgICAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJnZXRfY3B1ID09ICJ4NjQiKSAmJiAhaXNf Y2FzdG9zCi0rICAjIEJ1aWxkIENocm9tZSBzdXBwb3J0IGZvciB1c2luZyBWQS1BUEkgb3ZlciBY MTEuIE5vdGUgdGhhdCBzZXR0aW5nIHRoaXMgdG8gdHJ1ZSBpcwotKyAgIyBub3QgYSBndWFyYW50 ZWUgdGhhdCBDaHJvbWUgd2lsbCB1c2UgKG9yIGV2ZW4gdHJ5IHRvIHVzZSkgVkEtQVBJIG92ZXIg WDExLiBJbgotKyAgIyBwYXJ0aWN1bGFyLCBpdCBpcyBwb3NzaWJsZSB0byBidWlsZCBDaHJvbWUg d2l0aCBzdXBwb3J0IGZvciBWQS1BUEkgb3ZlciBYMTEgYnV0Ci0rICAjIHBpY2sgV2F5bGFuZCBh cyB0aGUgT3pvbmUgYmFja2VuZCBhdCBydW50aW1lLiBJbiB0aGlzIGNhc2UsIENocm9tZSB3aWxs IHRyeSB0bwotKyAgIyB1c2UgVkEtQVBJIG92ZXIgRFJNLgotKyAgc3VwcG9ydF92YWFwaV9vdmVy X3gxMSA9Ci0rICAgICAgaXNfbGludXggJiYgb3pvbmVfcGxhdGZvcm1feDExICYmCi0rICAgICAg KHRhcmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2NwdSA9PSAieDY0IikgJiYgIWlzX2Nhc3Rv cwotIH0KLSAKLSBkZWNsYXJlX2FyZ3MoKSB7Ci1AQCAtMjksOCArMzMsOSBAQCBkZWNsYXJlX2Fy Z3MoKSB7Ci0gICAjIGlzIHR5cGljYWxseSB0aGUgY2FzZSBvbiB4ODYtYmFzZWQgQ2hyb21lT1Mg ZGV2aWNlcy4KLSAgICMgVkEtQVBJIHNob3VsZCBhbHNvIGJlIGNvbXBpbGVkIGJ5IGRlZmF1bHQg b24geDExLXVzaW5nIGxpbnV4IGRldmljZXMKLSAgICMgdXNpbmcgeDg2L3g2NC4KLS0gIHVzZV92 YWFwaSA9IHVzZV92YWFwaV94MTEgfHwgKGlzX2Nocm9tZW9zX2xhY3JvcyAmJgotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHRhcmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2Nw dSA9PSAieDY0IikpCi0rICB1c2VfdmFhcGkgPQotKyAgICAgIHN1cHBvcnRfdmFhcGlfb3Zlcl94 MTEgfHwKLSsgICAgICAoaXNfY2hyb21lb3NfbGFjcm9zICYmICh0YXJnZXRfY3B1ID09ICJ4ODYi IHx8IHRhcmdldF9jcHUgPT0gIng2NCIpKQotIAotICAgIyBJbmRpY2F0ZXMgaWYgQ2hyb21lT1Mg cHJvdGVjdGVkIG1lZGlhIHN1cHBvcnQgZXhpc3RzLiBUaGlzIGlzIHVzZWQKLSAgICMgdG8gZW5h YmxlIHRoZSBDRE0gZGFlbW9uIGluIENocm9tZSBPUyBhcyB3ZWxsIGFzIHN1cHBvcnQgZm9yCi1k aWZmIC11cCBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvQlVJTEQuZ24ud2F5bGFu ZC12YWFwaSBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvQlVJTEQuZ24KLS0tLSBj aHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvQlVJTEQuZ24ud2F5bGFuZC12YWFwaQky MDIyLTEyLTE0IDAxOjM5OjUyLjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTEwOC4wLjUz NTkuMTI0L21lZGlhL2dwdS9CVUlMRC5nbgkyMDIzLTAxLTA1IDEwOjEzOjA4LjI5MTQwMzI2MSAr MDEwMAotQEAgLTIwLDcgKzIwLDcgQEAgYnVpbGRmbGFnX2hlYWRlcigiYnVpbGRmbGFncyIpIHsK LSAgICAgIlVTRV9WQUFQSV9JTUFHRV9DT0RFQ1M9JHVzZV92YWFwaV9pbWFnZV9jb2RlY3MiLAot ICAgICAiVVNFX1Y0TDJfQ09ERUM9JHVzZV92NGwyX2NvZGVjIiwKLSAgICAgIlVTRV9MSUJWNEwy PSR1c2VfdjRscGx1Z2luIiwKLS0gICAgIlVTRV9WQUFQSV9YMTE9JHVzZV92YWFwaV94MTEiLAot KyAgICAiU1VQUE9SVF9WQUFQSV9PVkVSX1gxMT0kc3VwcG9ydF92YWFwaV9vdmVyX3gxMSIsCi0g ICBdCi0gfQotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3Zh YXBpL0JVSUxELmduLndheWxhbmQtdmFhcGkgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEv Z3B1L3ZhYXBpL0JVSUxELmduCi0tLS0gY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1 L3ZhYXBpL0JVSUxELmduLndheWxhbmQtdmFhcGkJMjAyMi0xMi0xNCAwMTozOTo1Mi4wMDAwMDAw MDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvQlVJ TEQuZ24JMjAyMy0wMS0wNSAxMDoxMzowOC4yOTE0MDMyNjEgKzAxMDAKLUBAIC0xNyw3ICsxNyw3 IEBAIGFzc2VydCh1c2VfdmFhcGkpCi0gZ2VuZXJhdGVfc3R1YnMoImxpYnZhX3N0dWJzIikgewot ICAgZXh0cmFfaGVhZGVyID0gInZhX3N0dWJfaGVhZGVyLmZyYWdtZW50IgotICAgc2lncyA9IFsg InZhLnNpZ3MiIF0KLS0gIGlmICh1c2VfdmFhcGlfeDExKSB7Ci0rICBpZiAoc3VwcG9ydF92YWFw aV9vdmVyX3gxMSkgewotICAgICBzaWdzICs9IFsgInZhX3gxMS5zaWdzIiBdCi0gICB9Ci0gICBp ZiAoaXNfY2hyb21lb3NfYXNoKSB7Ci1AQCAtMTM4LDcgKzEzOCw3IEBAIHNvdXJjZV9zZXQoInZh YXBpIikgewotICAgICBdCi0gICB9Ci0gCi0tICBpZiAodXNlX3ZhYXBpX3gxMSkgewotKyAgaWYg KHN1cHBvcnRfdmFhcGlfb3Zlcl94MTEpIHsKLSAgICAgZGVwcyArPSBbICIvL3VpL2dmeC94IiBd Ci0gICAgIHNvdXJjZXMgKz0gWwotICAgICAgICJ2YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBf YW5nbGUuY2MiLAotQEAgLTIxNCw3ICsyMTQsNyBAQCBzb3VyY2Vfc2V0KCJjb21tb24iKSB7Ci0g ICAgIGRlcHMgKz0gWyAiLy91aS9vem9uZSIgXQotICAgfQotIAotLSAgaWYgKHVzZV92YWFwaV94 MTEpIHsKLSsgIGlmIChzdXBwb3J0X3ZhYXBpX292ZXJfeDExKSB7Ci0gICAgIGRlcHMgKz0gWyAi Ly91aS9nZngveCIgXQotICAgfQotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQv bWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfZmFjdG9yeS5jYy53YXlsYW5kLXZhYXBpIGNo cm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3Rv cnkuY2MKLS0tLSBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlf cGljdHVyZV9mYWN0b3J5LmNjLndheWxhbmQtdmFhcGkJMjAyMi0xMi0xNCAwMTozOTo1My4wMDAw MDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkv dmFhcGlfcGljdHVyZV9mYWN0b3J5LmNjCTIwMjMtMDEtMDUgMTA6MzI6NTguNjE2NTE3NTcyICsw MTAwCi1AQCAtMTIsMTAgKzEyLDEwIEBACi0gI2lmIGRlZmluZWQoVVNFX09aT05FKQotICNpbmNs dWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX296b25lLmgi Ci0gI2VuZGlmICAvLyBkZWZpbmVkKFVTRV9PWk9ORSkKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQ SV9YMTEpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotICNpbmNsdWRl ICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX2FuZ2xlLmgiCi0g I2luY2x1ZGUgIm1lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX3RmcC5oIgotLSNlbmRpZiAg Ly8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9S VF9WQUFQSV9PVkVSX1gxMSkKLSAjaWYgZGVmaW5lZChVU0VfRUdMKQotICNpbmNsdWRlICJtZWRp YS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX2VnbC5oIgotICNlbmRpZgot QEAgLTQxLDIyICs0MSwzMiBAQCBzdGQ6OnVuaXF1ZV9wdHI8VmFhcGlQaWN0dXJlPiBDcmVhdGVW YWFwCi0gCi0gfSAgLy8gbmFtZXNwYWNlCi0gCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJ X09WRVJfWDExKQotK1ZhYXBpUGljdHVyZUZhY3Rvcnk6OlZhYXBpUGljdHVyZUZhY3RvcnkoCi0r ICAgIGFic2w6Om9wdGlvbmFsPGJvb2w+IG1heV91c2VfdmFhcGlfb3Zlcl94MTEpCi0rICAgIDog bWF5X3VzZV92YWFwaV9vdmVyX3gxMV8obWF5X3VzZV92YWFwaV9vdmVyX3gxMSkgewotKyNlbHNl Ci0gVmFhcGlQaWN0dXJlRmFjdG9yeTo6VmFhcGlQaWN0dXJlRmFjdG9yeSgpIHsKLSsjZW5kaWYg Ly8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gICB2YWFwaV9pbXBsX3BhaXJz Xy5pbnNlcnQoCi0gICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdM R0xFUzIsCi0gICAgICAgICAgICAgICAgICAgICAgVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBp SW1wbGVtZW50YXRpb25Ecm0pKTsKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0tICB2 YWFwaV9pbXBsX3BhaXJzXy5pbnNlcnQoCi0tICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTElt cGxlbWVudGF0aW9uRUdMQU5HTEUsCi0tICAgICAgICAgICAgICAgICAgICAgVmFhcGlQaWN0dXJl RmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25BbmdsZSkpOwotLSAgdmFhcGlfaW1wbF9wYWly c18uaW5zZXJ0KAotLSAgICAgIHN0ZDo6bWFrZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlvbkRl c2t0b3BHTCwKLS0gICAgICAgICAgICAgICAgICAgICBWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFh cGlJbXBsZW1lbnRhdGlvblgxMSkpOwotLSNlbGlmIGRlZmluZWQoVVNFX09aT05FKQotKwotKyNp ZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSsgIENIRUNLKG1heV91c2VfdmFh cGlfb3Zlcl94MTFfLmhhc192YWx1ZSgpKTsKLSsgIGlmIChtYXlfdXNlX3ZhYXBpX292ZXJfeDEx Xy52YWx1ZSgpKSB7Ci0rICAgIHZhYXBpX2ltcGxfcGFpcnNfLmluc2VydCgKLSsgICAgICAgIHN0 ZDo6bWFrZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xFLAotKyAgICAgICAgICAg ICAgICAgICAgICAgVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25Bbmds ZSkpOwotKyAgICB2YWFwaV9pbXBsX3BhaXJzXy5pbnNlcnQoCi0rICAgICAgICBzdGQ6Om1ha2Vf cGFpcihnbDo6a0dMSW1wbGVtZW50YXRpb25EZXNrdG9wR0wsCi0rICAgICAgICAgICAgICAgICAg ICAgICBWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvblgxMSkpOwotKyAg fQotKyNlbHNlCi0gICB2YWFwaV9pbXBsX3BhaXJzXy5pbnNlcnQoCi0gICAgICAgc3RkOjptYWtl X3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdMQU5HTEUsCi0gICAgICAgICAgICAgICAgICAg ICAgVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25Ecm0pKTsKLS0jZW5k aWYKLSsjZW5kaWYgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gCi0gICBE ZXRlcm1pbmVQaWN0dXJlQ3JlYXRpb25BbmREb3dubG9hZGluZ01lY2hhbmlzbSgpOwotIH0KLUBA IC05NywxOSArMTA3LDE5IEBAIFZhYXBpUGljdHVyZUZhY3Rvcnk6OkdldFZhYXBpSW1wbGVtZW50 YXQKLSB9Ci0gCi0gdWludDMyX3QgVmFhcGlQaWN0dXJlRmFjdG9yeTo6R2V0R0xUZXh0dXJlVGFy Z2V0KCkgewotLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLS0gIHJldHVybiBHTF9URVhU VVJFXzJEOwotLSNlbHNlCi0rI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPUykKLSAgIHJldHVybiBH TF9URVhUVVJFX0VYVEVSTkFMX09FUzsKLS0jZW5kaWYKLSsjZWxzZQotKyAgcmV0dXJuIEdMX1RF WFRVUkVfMkQ7Ci0rI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1MpCi0gfQotIAotIGdm eDo6QnVmZmVyRm9ybWF0IFZhYXBpUGljdHVyZUZhY3Rvcnk6OkdldEJ1ZmZlckZvcm1hdCgpIHsK LS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0tICByZXR1cm4gZ2Z4OjpCdWZmZXJGb3Jt YXQ6OlJHQlhfODg4ODsKLS0jZWxzZQotKyNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1MpCi0gICBy ZXR1cm4gZ2Z4OjpCdWZmZXJGb3JtYXQ6OllVVl80MjBfQklQTEFOQVI7Ci0tI2VuZGlmCi0rI2Vs c2UKLSsgIHJldHVybiBnZng6OkJ1ZmZlckZvcm1hdDo6UkdCWF84ODg4OwotKyNlbmRpZiAgLy8g QlVJTERGTEFHKElTX0NIUk9NRU9TKQotIH0KLSAKLSB2b2lkIFZhYXBpUGljdHVyZUZhY3Rvcnk6 OkRldGVybWluZVBpY3R1cmVDcmVhdGlvbkFuZERvd25sb2FkaW5nTWVjaGFuaXNtKCkgewotQEAg LTExNywyNSArMTI3LDMwIEBAIHZvaWQgVmFhcGlQaWN0dXJlRmFjdG9yeTo6RGV0ZXJtaW5lUGlj dHUKLSAjaWYgZGVmaW5lZChVU0VfT1pPTkUpCi0gICAgIC8vIFdlIGNhbiBiZSBjYWxsZWQgd2l0 aG91dCBHTCBpbml0aWFsaXplZCwgd2hpY2ggaXMgdmFsaWQgaWYgd2UgdXNlIE96b25lLgotICAg ICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9uTm9uZToKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRf VkFBUElfT1ZFUl9YMTEpCi0rICAgICAgRENIRUNLKG1heV91c2VfdmFhcGlfb3Zlcl94MTFfLnZh bHVlX29yKGZhbHNlKSk7Ci0rI2VuZGlmCi0gICAgICAgY3JlYXRlX3BpY3R1cmVfY2JfID0gYmFz ZTo6QmluZFJlcGVhdGluZygKLSAgICAgICAgICAgJkNyZWF0ZVZhYXBpUGljdHVyZU5hdGl2ZUlt cGw8VmFhcGlQaWN0dXJlTmF0aXZlUGl4bWFwT3pvbmU+KTsKLSAgICAgICBuZWVkc192cHBfZm9y X2Rvd25sb2FkaW5nXyA9IHRydWU7Ci0gICAgICAgYnJlYWs7Ci0gI2VuZGlmICAvLyBkZWZpbmVk KFVTRV9PWk9ORSkKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2lmIEJVSUxERkxB RyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9u WDExOgotKyAgICAgIERDSEVDSyhtYXlfdXNlX3ZhYXBpX292ZXJfeDExXy52YWx1ZV9vcihmYWxz ZSkpOwotICAgICAgIGNyZWF0ZV9waWN0dXJlX2NiXyA9Ci0gICAgICAgICAgIGJhc2U6OkJpbmRS ZXBlYXRpbmcoJkNyZWF0ZVZhYXBpUGljdHVyZU5hdGl2ZUltcGw8VmFhcGlURlBQaWN0dXJlPik7 Ci0gICAgICAgLy8gTmVpdGhlciBWYWFwaVRGUFBpY3R1cmUgb3IgVmFhcGlQaWN0dXJlTmF0aXZl UGl4bWFwQW5nbGUgbmVlZHMgdGhlIFZQUC4KLSAgICAgICBuZWVkc192cHBfZm9yX2Rvd25sb2Fk aW5nXyA9IGZhbHNlOwotICAgICAgIGJyZWFrOwotICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0 aW9uQW5nbGU6Ci0rICAgICAgRENIRUNLKG1heV91c2VfdmFhcGlfb3Zlcl94MTFfLnZhbHVlX29y KGZhbHNlKSk7Ci0gICAgICAgY3JlYXRlX3BpY3R1cmVfY2JfID0gYmFzZTo6QmluZFJlcGVhdGlu ZygKLSAgICAgICAgICAgJkNyZWF0ZVZhYXBpUGljdHVyZU5hdGl2ZUltcGw8VmFhcGlQaWN0dXJl TmF0aXZlUGl4bWFwQW5nbGU+KTsKLSAgICAgICAvLyBOZWl0aGVyIFZhYXBpVEZQUGljdHVyZSBv ciBWYWFwaVBpY3R1cmVOYXRpdmVQaXhtYXBBbmdsZSBuZWVkcyB0aGUgVlBQLgotICAgICAgIG5l ZWRzX3ZwcF9mb3JfZG93bmxvYWRpbmdfID0gZmFsc2U7Ci0gICAgICAgYnJlYWs7Ci0tI2VuZGlm ICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQ T1JUX1ZBQVBJX09WRVJfWDExKQotICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9uRHJtOgot ICNpZiBkZWZpbmVkKFVTRV9PWk9ORSkKLSAgICAgICBjcmVhdGVfcGljdHVyZV9jYl8gPSBiYXNl OjpCaW5kUmVwZWF0aW5nKAotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEv Z3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfZmFjdG9yeS5oLndheWxhbmQtdmFhcGkgY2hyb21pdW0t MTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfZmFjdG9yeS5oCi0t LS0gY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVf ZmFjdG9yeS5oLndheWxhbmQtdmFhcGkJMjAyMi0xMi0xNCAwMTozOTo1My4wMDAwMDAwMDAgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGlj dHVyZV9mYWN0b3J5LmgJMjAyMy0wMS0wNSAxMDoxMzowOC4yOTE0MDMyNjEgKzAxMDAKLUBAIC0z Niw3ICszNiwxMSBAQCBjbGFzcyBNRURJQV9HUFVfRVhQT1JUIFZhYXBpUGljdHVyZUZhY3RvCi0g ICAgIGtWYWFwaUltcGxlbWVudGF0aW9uQW5nbGUsCi0gICB9OwotIAotKyNpZiBCVUlMREZMQUco U1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSsgIGV4cGxpY2l0IFZhYXBpUGljdHVyZUZhY3Rvcnko YWJzbDo6b3B0aW9uYWw8Ym9vbD4gbWF5X3VzZV92YWFwaV9vdmVyX3gxMSk7Ci0rI2Vsc2UKLSAg IFZhYXBpUGljdHVyZUZhY3RvcnkoKTsKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZB QVBJX09WRVJfWDExKQotIAotICAgVmFhcGlQaWN0dXJlRmFjdG9yeShjb25zdCBWYWFwaVBpY3R1 cmVGYWN0b3J5JikgPSBkZWxldGU7Ci0gICBWYWFwaVBpY3R1cmVGYWN0b3J5JiBvcGVyYXRvcj0o Y29uc3QgVmFhcGlQaWN0dXJlRmFjdG9yeSYpID0gZGVsZXRlOwotQEAgLTg1LDYgKzg5LDExIEBA IGNsYXNzIE1FRElBX0dQVV9FWFBPUlQgVmFhcGlQaWN0dXJlRmFjdG8KLSAKLSAgIENyZWF0ZVBp Y3R1cmVDQiBjcmVhdGVfcGljdHVyZV9jYl87Ci0gICBib29sIG5lZWRzX3ZwcF9mb3JfZG93bmxv YWRpbmdfID0gZmFsc2U7Ci0rCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDEx KQotKyAgLy8gU2VlIGNvbW1lbnQgaW4gYFZhYXBpV3JhcHBlcjo6TWF5VXNlVmFhcGlPdmVyWDEx KClgLgotKyAgYWJzbDo6b3B0aW9uYWw8Ym9vbD4gbWF5X3VzZV92YWFwaV9vdmVyX3gxMV87Ci0r I2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSB9OwotIAotIH0g IC8vIG5hbWVzcGFjZSBtZWRpYQotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVk aWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9vem9uZS5jYy53YXlsYW5k LXZhYXBpIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0 dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuY2MKLWRpZmYgLXVwIGNocm9taXVtLTEwOC4wLjUzNTku MTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3IuY2Mud2F5 bGFuZC12YWFwaSBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlf dmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yLmNjCi0tLS0gY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQv bWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYy53YXlsYW5k LXZhYXBpCTIwMjMtMDEtMDUgMTA6MTM6MDguMjkwNDAzMjUxICswMTAwCi0rKysgY2hyb21pdW0t MTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVy YXRvci5jYwkyMDIzLTAxLTA1IDEwOjEzOjA4LjI5MjQwMzI3MSArMDEwMAotQEAgLTE4NCw3ICsx ODQsMTIgQEAgYm9vbCBWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkluaXRpYQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudCogY2xpZW50KSB7 Ci0gICBEQ0hFQ0sodGFza19ydW5uZXJfLT5CZWxvbmdzVG9DdXJyZW50VGhyZWFkKCkpOwotIAot KyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSsgIHZhYXBpX3BpY3R1cmVf ZmFjdG9yeV8gPQotKyAgICAgIHN0ZDo6bWFrZV91bmlxdWU8VmFhcGlQaWN0dXJlRmFjdG9yeT4o VmFhcGlXcmFwcGVyOjpNYXlVc2VWYWFwaU92ZXJYMTEoKSk7Ci0rI2Vsc2UKLSAgIHZhYXBpX3Bp Y3R1cmVfZmFjdG9yeV8gPSBzdGQ6Om1ha2VfdW5pcXVlPFZhYXBpUGljdHVyZUZhY3Rvcnk+KCk7 Ci0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAKLSAgIGlm IChjb25maWcuaXNfZW5jcnlwdGVkKCkpIHsKLSAgICAgTk9UUkVBQ0hFRCgpIDw8ICJFbmNyeXB0 ZWQgc3RyZWFtcyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBWREEiOwotQEAgLTEyMTAsNyAr MTIxNSw3IEBAIFZhYXBpVmlkZW9EZWNvZGVBY2NlbGVyYXRvcjo6R2V0U3VwcG9ydGUKLSAKLSBW YWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkJ1ZmZlckFsbG9jYXRpb25Nb2RlCi0gVmFhcGlW aWRlb0RlY29kZUFjY2VsZXJhdG9yOjpEZWNpZGVCdWZmZXJBbGxvY2F0aW9uTW9kZSgpIHsKLS0j aWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJ X09WRVJfWDExKQotICAgLy8gVGhlIElNUE9SVCBtb2RlIGlzIHVzZWQgZm9yIEFuZHJvaWQgb24g Q2hyb21lIE9TLCBzbyB0aGlzIGRvZXNuJ3QgYXBwbHkKLSAgIC8vIGhlcmUuCi0gICBEQ0hFQ0tf TkUob3V0cHV0X21vZGVfLCBWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpDb25maWc6Ok91dHB1dE1v ZGU6OklNUE9SVCk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUv dmFhcGkvdmFhcGlfdmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yX3VuaXR0ZXN0LmNjLndheWxhbmQt dmFhcGkgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVv X2RlY29kZV9hY2NlbGVyYXRvcl91bml0dGVzdC5jYwotLS0tIGNocm9taXVtLTEwOC4wLjUzNTku MTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3JfdW5pdHRl c3QuY2Mud2F5bGFuZC12YWFwaQkyMDIyLTEyLTE0IDAxOjM5OjUzLjAwMDAwMDAwMCArMDEwMAot KysrIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19k ZWNvZGVfYWNjZWxlcmF0b3JfdW5pdHRlc3QuY2MJMjAyMy0wMS0wNSAxMDozODoxNS4xNzY2MzE1 MDcgKzAxMDAKLUBAIC0zOCw2ICszOCwxMSBAQCBzdHJ1Y3QgVGVzdFBhcmFtcyB7Ci0gICBib29s IGRlY29kZV91c2luZ19jbGllbnRfcGljdHVyZV9idWZmZXJzOwotIH07Ci0gCi0rI2lmIEJVSUxE RkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKy8vIFRPRE86IEFkZCBpdCBpbiBUZXN0UGFy YW1zIHRvIGNvdmVyIE96b25lL1dheWxhbmQuCi0rYm9vbCBrTWF5VXNlVmFhcGlPdmVyWDExID0g dHJ1ZTsKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKwot IGNvbnN0ZXhwciBpbnQzMl90IGtCaXRzdHJlYW1JZCA9IDEyMzsKLSBjb25zdGV4cHIgc2l6ZV90 IGtJbnB1dFNpemUgPSAyNTY7Ci0gCi1AQCAtMTMwLDcgKzEzNSwxMyBAQCBjbGFzcyBNb2NrVmFh cGlQaWN0dXJlIDogcHVibGljIFZhYXBpUGljCi0gCi0gY2xhc3MgTW9ja1ZhYXBpUGljdHVyZUZh Y3RvcnkgOiBwdWJsaWMgVmFhcGlQaWN0dXJlRmFjdG9yeSB7Ci0gIHB1YmxpYzoKLSsjaWYgQlVJ TERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0rICBleHBsaWNpdCBNb2NrVmFhcGlQaWN0 dXJlRmFjdG9yeShhYnNsOjpvcHRpb25hbDxib29sPiBtYXlfdXNlX3ZhYXBpX292ZXJfeDExKQot KyAgICAgIDogVmFhcGlQaWN0dXJlRmFjdG9yeShtYXlfdXNlX3ZhYXBpX292ZXJfeDExKSB7fQot KyNlbHNlCi0gICBNb2NrVmFhcGlQaWN0dXJlRmFjdG9yeSgpID0gZGVmYXVsdDsKLSsjZW5kaWYg IC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKwotICAgfk1vY2tWYWFwaVBp Y3R1cmVGYWN0b3J5KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OwotIAotICAgTU9DS19NRVRIT0QzKE1v Y2tDcmVhdGVWYWFwaVBpY3R1cmUsCi1AQCAtMTY0LDcgKzE3NSwxMiBAQCBjbGFzcyBWYWFwaVZp ZGVvRGVjb2RlQWNjZWxlcmF0b3JUZXN0IDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgY2FuX2JpbmRfdG9fc2FtcGxlcikgeyByZXR1cm4gdHJ1ZTsgfSkpLAotICAg ICAgICAgZGVjb2Rlcl90aHJlYWRfKCJWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3JUZXN0VGhy ZWFkIiksCi0gICAgICAgICBtb2NrX2RlY29kZXJfKG5ldyA6OnRlc3Rpbmc6OlN0cmljdE1vY2s8 TW9ja0FjY2VsZXJhdGVkVmlkZW9EZWNvZGVyPiksCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZB QVBJX09WRVJfWDExKQotKyAgICAgICAgbW9ja192YWFwaV9waWN0dXJlX2ZhY3RvcnlfKAotKyAg ICAgICAgICAgIG5ldyBNb2NrVmFhcGlQaWN0dXJlRmFjdG9yeShrTWF5VXNlVmFhcGlPdmVyWDEx KSksCi0rI2Vsc2UKLSAgICAgICAgIG1vY2tfdmFhcGlfcGljdHVyZV9mYWN0b3J5XyhuZXcgTW9j a1ZhYXBpUGljdHVyZUZhY3RvcnkoKSksCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9W QUFQSV9PVkVSX1gxMSkKLSAgICAgICAgIG1vY2tfdmFhcGlfd3JhcHBlcl8obmV3IE1vY2tWYWFw aVdyYXBwZXIoVmFhcGlXcmFwcGVyOjprRGVjb2RlKSksCi0gICAgICAgICBtb2NrX3ZwcF92YWFw aV93cmFwcGVyXyhuZXcgTW9ja1ZhYXBpV3JhcHBlcihWYWFwaVdyYXBwZXI6OmtEZWNvZGUpKSwK LSAgICAgICAgIHdlYWtfcHRyX2ZhY3RvcnlfKHRoaXMpIHsKLUBAIC00MjAsMTQgKzQzNiwxNiBA QCBURVNUX1AoVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yVGVzdCwKLSAgICAgICAgICAgICBt b2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8tPkdldFZhYXBpSW1wbGVtZW50YXRpb24oCi0gICAg ICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEdMRVMyKSk7Ci0gCi0tI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotLSAgRVhQRUNUX0VRKFZhYXBpUGljdHVyZUZhY3Rvcnk6 OmtWYWFwaUltcGxlbWVudGF0aW9uQW5nbGUsCi0tICAgICAgICAgICAgbW9ja192YWFwaV9waWN0 dXJlX2ZhY3RvcnlfLT5HZXRWYWFwaUltcGxlbWVudGF0aW9uKAotLSAgICAgICAgICAgICAgICBn bDo6a0dMSW1wbGVtZW50YXRpb25FR0xBTkdMRSkpOwotLSAgRVhQRUNUX0VRKFZhYXBpUGljdHVy ZUZhY3Rvcnk6OmtWYWFwaUltcGxlbWVudGF0aW9uWDExLAotLSAgICAgICAgICAgIG1vY2tfdmFh cGlfcGljdHVyZV9mYWN0b3J5Xy0+R2V0VmFhcGlJbXBsZW1lbnRhdGlvbigKLS0gICAgICAgICAg ICAgICAgZ2w6OmtHTEltcGxlbWVudGF0aW9uRGVza3RvcEdMKSk7Ci0tI2VsaWYgZGVmaW5lZChV U0VfT1pPTkUpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKyAgaWYg KGtNYXlVc2VWYWFwaU92ZXJYMTEpIHsKLSsgICAgRVhQRUNUX0VRKFZhYXBpUGljdHVyZUZhY3Rv cnk6OmtWYWFwaUltcGxlbWVudGF0aW9uQW5nbGUsCi0rICAgICAgICAgICAgICBtb2NrX3ZhYXBp X3BpY3R1cmVfZmFjdG9yeV8tPkdldFZhYXBpSW1wbGVtZW50YXRpb24oCi0rICAgICAgICAgICAg ICAgICAgZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdMQU5HTEUpKTsKLSsgICAgRVhQRUNUX0VRKFZh YXBpUGljdHVyZUZhY3Rvcnk6OmtWYWFwaUltcGxlbWVudGF0aW9uWDExLAotKyAgICAgICAgICAg ICAgbW9ja192YWFwaV9waWN0dXJlX2ZhY3RvcnlfLT5HZXRWYWFwaUltcGxlbWVudGF0aW9uKAot KyAgICAgICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1lbnRhdGlvbkRlc2t0b3BHTCkpOwotKyAg fQotKyNlbHNlCi0gICBFWFBFQ1RfRVEoVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVt ZW50YXRpb25Ecm0sCi0gICAgICAgICAgICAgbW9ja192YWFwaV9waWN0dXJlX2ZhY3RvcnlfLT5H ZXRWYWFwaUltcGxlbWVudGF0aW9uKAotICAgICAgICAgICAgICAgICBnbDo6a0dMSW1wbGVtZW50 YXRpb25FR0xBTkdMRSkpOwotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEv Z3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2Mud2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMDguMC41 MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5jYwotLS0tIGNocm9taXVtLTEw OC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmNjLndheWxhbmQtdmFh cGkJMjAyMi0xMi0xNCAwMTozOTo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDgu MC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5jYwkyMDIzLTAxLTA1IDEw OjQxOjQxLjU5NTY0ODIyNyArMDEwMAotQEAgLTYyLDcgKzYyLDcgQEAKLSAjaW5jbHVkZSAidWkv Z2wvZ2xfYmluZGluZ3MuaCIKLSAjaW5jbHVkZSAidWkvZ2wvZ2xfaW1wbGVtZW50YXRpb24uaCIK LSAKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JU X1ZBQVBJX09WRVJfWDExKQotIHR5cGVkZWYgWElEIERyYXdhYmxlOwotIAotIGV4dGVybiAiQyIg ewotQEAgLTcwLDcgKzcwLDcgQEAgZXh0ZXJuICJDIiB7Ci0gfQotIAotICNpbmNsdWRlICJ1aS9n ZngveC9jb25uZWN0aW9uLmgiICAvLyBub2duY2hlY2sKLS0jZW5kaWYgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2VuZGlmICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKSAK LSAKLSAjaWYgZGVmaW5lZChVU0VfT1pPTkUpCi0gI2luY2x1ZGUgInVpL296b25lL3B1YmxpYy9v em9uZV9wbGF0Zm9ybS5oIgotQEAgLTg0LDE0ICs4NCwxNCBAQCB1c2luZyBtZWRpYV9ncHVfdmFh cGk6OmtNb2R1bGVWYV9wcm90OwotIAotIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6a01vZHVsZVZh OwotIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6a01vZHVsZVZhX2RybTsKLS0jaWYgQlVJTERGTEFH KFVTRV9WQUFQSV9YMTEpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQot IHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6a01vZHVsZVZhX3gxMTsKLS0jZW5kaWYgIC8vIEJVSUxE RkxBRyhVU0VfVkFBUElfWDExKQotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElf T1ZFUl9YMTEpCi0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJbml0aWFsaXplU3R1YnM7Ci0gdXNp bmcgbWVkaWFfZ3B1X3ZhYXBpOjpJc1ZhSW5pdGlhbGl6ZWQ7Ci0tI2lmIEJVSUxERkxBRyhVU0Vf VkFBUElfWDExKQotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSB1c2lu ZyBtZWRpYV9ncHVfdmFhcGk6OklzVmFfeDExSW5pdGlhbGl6ZWQ7Ci0tI2VuZGlmICAvLyBCVUlM REZMQUcoVVNFX1ZBQVBJX1gxMSkKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJ X09WRVJfWDExKQotIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6SXNWYV9kcm1Jbml0aWFsaXplZDsK LSB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OlN0dWJQYXRoTWFwOwotIAotQEAgLTY2OCw2ICs2Njgs MTIgQEAgY2xhc3MgVkFEaXNwbGF5U3RhdGUgewotIAotICAgdm9pZCBTZXREcm1GZChiYXNlOjpQ bGF0Zm9ybUZpbGUgZmQpIHsgZHJtX2ZkXy5yZXNldChIQU5ETEVfRUlOVFIoZHVwKGZkKSkpOyB9 Ci0gCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKyAgYWJzbDo6b3B0 aW9uYWw8Ym9vbD4gTWF5VXNlVmFhcGlPdmVyWDExKCkgY29uc3QgewotKyAgICByZXR1cm4gbWF5 X3VzZV92YWFwaV9vdmVyX3gxMV87Ci0rICB9Ci0rI2VuZGlmCi0rCi0gIHByaXZhdGU6Ci0gICBm cmllbmQgY2xhc3MgYmFzZTo6Tm9EZXN0cnVjdG9yPFZBRGlzcGxheVN0YXRlPjsKLSAKLUBAIC02 OTAsNiArNjk2LDEzIEBAIGNsYXNzIFZBRGlzcGxheVN0YXRlIHsKLSAgIC8vIERybSBmZCB1c2Vk IHRvIG9idGFpbiBhY2Nlc3MgdG8gdGhlIGRyaXZlciBpbnRlcmZhY2UgYnkgVkEuCi0gICBiYXNl OjpTY29wZWRGRCBkcm1fZmRfOwotIAotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVS X1gxMSkKLSsgIC8vIFdoZXRoZXIgd2UnbGwgYmUgcG9zc2libHkgdXNpbmcgVkEtQVBJIG92ZXIg T3pvbmUvWDExLiBUaGlzIHNob3VsZCBvbmx5IGJlCi0rICAvLyBzZXQgKGlmIGF0IGFsbCkgZHVy aW5nIHRoZSBwcmUtc2FuZGJveCBpbml0aWFsaXphdGlvbi4gSWYgYWJzbDo6bnVsbG9wdCwKLSsg IC8vIGFsbCBjYWxscyB0byBJbml0aWFsaXplKCkgd2lsbCByZXR1cm4gZmFsc2UgaW1tZWRpYXRl bHkuCi0rICBhYnNsOjpvcHRpb25hbDxib29sPiBtYXlfdXNlX3ZhYXBpX292ZXJfeDExXzsKLSsj ZW5kaWYKLSsKLSAgIC8vIFRoZSBWQURpc3BsYXkgaGFuZGxlLiBWYWxpZCBiZXR3ZWVuIEluaXRp YWxpemUoKSBhbmQgRGVpbml0aWFsaXplKCkuCi0gICBWQURpc3BsYXkgdmFfZGlzcGxheV87Ci0g Ci1AQCAtNzA4LDYgKzcyMSwxNSBAQCBWQURpc3BsYXlTdGF0ZSogVkFEaXNwbGF5U3RhdGU6Okdl dCgpIHsKLSAKLSAvLyBzdGF0aWMKLSB2b2lkIFZBRGlzcGxheVN0YXRlOjpQcmVTYW5kYm94SW5p dGlhbGl6YXRpb24oKSB7Ci0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQot KyAgaWYgKHVpOjpPem9uZVBsYXRmb3JtOjpJc0luaXRpYWxpemVkKCkpIHsKLSsgICAgVkFEaXNw bGF5U3RhdGU6OkdldCgpLT5tYXlfdXNlX3ZhYXBpX292ZXJfeDExXyA9Ci0rICAgICAgICB1aTo6 T3pvbmVQbGF0Zm9ybTo6R2V0SW5zdGFuY2UoKQotKyAgICAgICAgICAgIC0+R2V0UGxhdGZvcm1Q cm9wZXJ0aWVzKCkKLSsgICAgICAgICAgICAuc3VwcG9ydHNfdmFhcGlfeDExOwotKyAgfQotKyNl bmRpZgotKwotICAgY29uc3RleHByIGNoYXIga1JlbmRlck5vZGVGaWxlUGF0dGVybltdID0gIi9k ZXYvZHJpL3JlbmRlckQlZCI7Ci0gICAvLyBUaGlzIGxvb3AgZW5kcyBvbiBlaXRoZXIgdGhlIGZp cnN0IGNhcmQgdGhhdCBkb2VzIG5vdCBleGlzdCBvciB0aGUgZmlyc3QKLSAgIC8vIHJlbmRlciBu b2RlIHRoYXQgaXMgbm90IHZnZW0uCi1AQCAtNzQwLDIwICs3NjIsMTggQEAgVkFEaXNwbGF5U3Rh dGU6OlZBRGlzcGxheVN0YXRlKCkKLSBib29sIFZBRGlzcGxheVN0YXRlOjpJbml0aWFsaXplKCkg ewotICAgYmFzZTo6QXV0b0xvY2sgYXV0b19sb2NrKHZhX2xvY2tfKTsKLSAKLS0jaWYgZGVmaW5l ZChVU0VfT1pPTkUpICYmIEJVSUxERkxBRyhJU19MSU5VWCkKLS0gIC8vIFRPRE8oY3JidWcuY29t LzExMTY3MDEpOiBhZGQgdmFhcGkgc3VwcG9ydCBmb3Igb3RoZXIgT3pvbmUgcGxhdGZvcm1zIG9u Ci0tICAvLyBMaW51eC4gU2VlIGNvbW1lbnQgaW4gT3pvbmVQbGF0Zm9ybTo6UGxhdGZvcm1Qcm9w ZXJ0aWVzOjpzdXBwb3J0c192YWFwaQotLSAgLy8gZm9yIG1vcmUgZGV0YWlscy4gVGhpcyB3aWxs IGFsc28gcmVxdWlyZSByZXZpc2l0aW5nIGV2ZXJ5dGhpbmcgdGhhdCdzCi0tICAvLyBndWFyZGVk IGJ5IFVTRV9WQUFQSV9YMTEuIEZvciBleGFtcGxlLCBpZiBVU0VfVkFBUElfWDExIGlzIHRydWUs IGJ1dCB0aGUKLS0gIC8vIHVzZXIgY2hvb3NlcyB0aGUgV2F5bGFuZCBiYWNrZW5kIGZvciBPem9u ZSBhdCBydW50aW1lLCB0aGVuIG1hbnkgdGhpbmdzIChpZgotLSAgLy8gbm90IGFsbCkgdGhhdCB3 ZSBkbyBmb3IgWDExIHdvbid0IGFwcGx5LgotLSAgaWYgKCF1aTo6T3pvbmVQbGF0Zm9ybTo6R2V0 SW5zdGFuY2UoKS0+R2V0UGxhdGZvcm1Qcm9wZXJ0aWVzKCkuc3VwcG9ydHNfdmFhcGkpCi0rI2lm IEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKyAgaWYgKCFtYXlfdXNlX3ZhYXBp X292ZXJfeDExXy5oYXNfdmFsdWUoKSkKLSAgICAgcmV0dXJuIGZhbHNlOwotICNlbmRpZgotIAot ICAgYm9vbCBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQgPSBJc1ZhSW5pdGlhbGl6ZWQoKSAmJiBJc1Zh X2RybUluaXRpYWxpemVkKCk7Ci0tI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotLSAgbGli cmFyaWVzX2luaXRpYWxpemVkID0gbGlicmFyaWVzX2luaXRpYWxpemVkICYmIElzVmFfeDExSW5p dGlhbGl6ZWQoKTsKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0rICAv LyBJbml0aWFsaXplIFZBLUFQSSBYMTEgZGlzcGxheSBiYWNrZW5kIGZvciBMaW51eCBPem9uZS9Y MTEuCi0rICAvLyBTZWUgY29tbWVudCBpbiBPem9uZVBsYXRmb3JtOjpQbGF0Zm9ybVByb3BlcnRp ZXM6OnN1cHBvcnRzX3ZhYXBpX3gxMSBmb3IKLSsgIC8vIG1vcmUgZGV0YWlscy4KLSsgIGlmICht YXlfdXNlX3ZhYXBpX292ZXJfeDExXy52YWx1ZSgpKQotKyAgICBsaWJyYXJpZXNfaW5pdGlhbGl6 ZWQgPSBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQgJiYgSXNWYV94MTFJbml0aWFsaXplZCgpOwotICNl bmRpZgotICAgaWYgKCFsaWJyYXJpZXNfaW5pdGlhbGl6ZWQpCi0gICAgIHJldHVybiBmYWxzZTsK LUBAIC03NjgsNyArNzg4LDcgQEAgYm9vbCBWQURpc3BsYXlTdGF0ZTo6SW5pdGlhbGl6ZSgpIHsK LSAgIHJldHVybiBzdWNjZXNzOwotIH0KLSAKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEp Ci0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotIAotIGFic2w6Om9wdGlv bmFsPFZBRGlzcGxheT4gR2V0VkFEaXNwbGF5U3RhdGVYMTEoY29uc3QgYmFzZTo6U2NvcGVkRkQm IGRybV9mZCkgewotICAgc3dpdGNoIChnbDo6R2V0R0xJbXBsZW1lbnRhdGlvbigpKSB7Ci1AQCAt Nzk2LDEzICs4MTYsMTkgQEAgYWJzbDo6b3B0aW9uYWw8VkFEaXNwbGF5PiBHZXRWQURpc3BsYXlT dAotICAgfQotIH0KLSAKLS0jZWxzZQotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFB UElfT1ZFUl9YMTEpCi0gCi0gYWJzbDo6b3B0aW9uYWw8VkFEaXNwbGF5PiBHZXRWQURpc3BsYXlT dGF0ZShjb25zdCBiYXNlOjpTY29wZWRGRCYgZHJtX2ZkKSB7Ci0gICBzd2l0Y2ggKGdsOjpHZXRH TEltcGxlbWVudGF0aW9uKCkpIHsKLSAgICAgY2FzZSBnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xH TEVTMjoKLSsjaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TKQotKyAgICAvLyBHZXRWQURpc3BsYXlT dGF0ZSgpIHNob3VsZCBub3QgZ2V0IGNhbGxlZCBvbiBMaW51eCB3aXRoIE96b25lL1gxMQotKyAg ICAvLyAoR2V0VkFEaXNwbGF5U3RhdGVYMTEoKSBzaG91bGQgZ2V0IGNhbGxlZCBpbnN0ZWFkKSwg YW5kIHdlIGhhdmVuJ3QgdHJpZWQKLSsgICAgLy8gVkEtQVBJIGRlY29kaW5nIG9uIExpbnV4IHdp dGggT3pvbmUvV2F5bGFuZCBhbmQgYW55dGhpbmcgb3RoZXIgdGhhbgotKyAgICAvLyBuYXRpdmUg RUdML0dMRVMyLgotICAgICBjYXNlIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xFOgotICAg ICBjYXNlIGdsOjprR0xJbXBsZW1lbnRhdGlvbk5vbmU6Ci0rI2VuZGlmCi0gICAgICAgcmV0dXJu IHZhR2V0RGlzcGxheURSTShkcm1fZmQuZ2V0KCkpOwotICAgICBkZWZhdWx0OgotICAgICAgIExP RyhXQVJOSU5HKSA8PCAiVkFBUEkgdmlkZW8gYWNjZWxlcmF0aW9uIG5vdCBhdmFpbGFibGUgZm9y ICIKLUBAIC04MTIsMTggKzgzOCwyMyBAQCBhYnNsOjpvcHRpb25hbDxWQURpc3BsYXk+IEdldFZB RGlzcGxheVN0Ci0gICB9Ci0gfQotIAotLSNlbmRpZiAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9Y MTEpCi0tCi0gYm9vbCBWQURpc3BsYXlTdGF0ZTo6SW5pdGlhbGl6ZVZhRGlzcGxheV9Mb2NrZWQo KSB7Ci0tICBhYnNsOjpvcHRpb25hbDxWQURpc3BsYXk+IGRpc3BsYXkgPQotLSNpZiBCVUlMREZM QUcoVVNFX1ZBQVBJX1gxMSkKLS0gICAgICBHZXRWQURpc3BsYXlTdGF0ZVgxMShkcm1fZmRfKTsK LS0jZWxzZQotLSAgICAgIEdldFZBRGlzcGxheVN0YXRlKGRybV9mZF8pOwotLSNlbmRpZgotKyAg YWJzbDo6b3B0aW9uYWw8VkFEaXNwbGF5PiBkaXNwbGF5OwotIAotLSAgaWYgKCFkaXNwbGF5KQot LSAgICByZXR1cm4gZmFsc2U7Ci0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDEx KQotKyAgRENIRUNLKG1heV91c2VfdmFhcGlfb3Zlcl94MTFfLmhhc192YWx1ZSgpKTsKLSsgIGlm IChtYXlfdXNlX3ZhYXBpX292ZXJfeDExXy52YWx1ZSgpKSB7Ci0rICAgIGRpc3BsYXkgPSBHZXRW QURpc3BsYXlTdGF0ZVgxMShkcm1fZmRfKTsKLSsgICAgaWYgKCFkaXNwbGF5KQotKyAgICAgIHJl dHVybiBmYWxzZTsKLSsgIH0KLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09W RVJfWDExKQotKwotKyAgaWYgKCFkaXNwbGF5KSB7Ci0rICAgIGRpc3BsYXkgPSBHZXRWQURpc3Bs YXlTdGF0ZShkcm1fZmRfKTsKLSsgICAgaWYgKCFkaXNwbGF5KQotKyAgICAgIHJldHVybiBmYWxz ZTsKLSsgIH0KLSAKLSAgIHZhX2Rpc3BsYXlfID0gKmRpc3BsYXk7Ci0gICBpZiAoIXZhRGlzcGxh eUlzVmFsaWQodmFfZGlzcGxheV8pKSB7Ci1AQCAtMTY1Niw2ICsxNjg3LDEzIEBAIHNjb3BlZF9y ZWZwdHI8VmFhcGlXcmFwcGVyPiBWYWFwaVdyYXBwZXIKLSAgICAgICAgICAgICAgICAgZW5mb3Jj ZV9zZXF1ZW5jZV9hZmZpbml0eSk7Ci0gfQotIAotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQ SV9PVkVSX1gxMSkKLSsvLyBzdGF0aWMKLSthYnNsOjpvcHRpb25hbDxib29sPiBWYWFwaVdyYXBw ZXI6Ok1heVVzZVZhYXBpT3ZlclgxMSgpIHsKLSsgIHJldHVybiBWQURpc3BsYXlTdGF0ZTo6R2V0 KCktPk1heVVzZVZhYXBpT3ZlclgxMSgpOwotK30KLSsjZW5kaWYKLSsKLSAvLyBzdGF0aWMKLSBz dGQ6OnZlY3RvcjxTVkNTY2FsYWJpbGl0eU1vZGU+IFZhYXBpV3JhcHBlcjo6R2V0U3VwcG9ydGVk U2NhbGFiaWxpdHlNb2RlcygKLSAgICAgVmlkZW9Db2RlY1Byb2ZpbGUgbWVkaWFfcHJvZmlsZSwK LUBAIC0yNjY1LDEyICsyNzAzLDEzIEBAIGJvb2wgVmFhcGlXcmFwcGVyOjpNYXBBbmRDb3B5QW5k RXhlY3V0ZSgKLSAgIHJldHVybiBFeGVjdXRlX0xvY2tlZCh2YV9zdXJmYWNlX2lkLCB2YV9idWZm ZXJfaWRzKTsKLSB9Ci0gCi0tI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyNpZiBCVUlM REZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSBib29sIFZhYXBpV3JhcHBlcjo6UHV0U3Vy ZmFjZUludG9QaXhtYXAoVkFTdXJmYWNlSUQgdmFfc3VyZmFjZV9pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgeDExOjpQaXhtYXAgeF9waXhtYXAsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6U2l6ZSBkZXN0X3NpemUpIHsK LSAgIENIRUNLKCFlbmZvcmNlX3NlcXVlbmNlX2FmZmluaXR5XyB8fAotICAgICAgICAgc2VxdWVu Y2VfY2hlY2tlcl8uQ2FsbGVkT25WYWxpZFNlcXVlbmNlKCkpOwotKyAgQ0hFQ0soTWF5VXNlVmFh cGlPdmVyWDExKCkudmFsdWVfb3IoZmFsc2UpKTsKLSAgIGJhc2U6OkF1dG9Mb2NrTWF5YmUgYXV0 b19sb2NrKHZhX2xvY2tfLmdldCgpKTsKLSAKLSAgIFZBU3RhdHVzIHZhX3JlcyA9IHZhU3luY1N1 cmZhY2UodmFfZGlzcGxheV8sIHZhX3N1cmZhY2VfaWQpOwotQEAgLTI2ODQsNyArMjcyMyw3IEBA IGJvb2wgVmFhcGlXcmFwcGVyOjpQdXRTdXJmYWNlSW50b1BpeG1hcCgKLSAgIFZBX1NVQ0NFU1Nf T1JfUkVUVVJOKHZhX3JlcywgVmFhcGlGdW5jdGlvbnM6OmtWQVB1dFN1cmZhY2UsIGZhbHNlKTsK LSAgIHJldHVybiB0cnVlOwotIH0KLS0jZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDEx KQotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gCi0gc3Rk Ojp1bmlxdWVfcHRyPFNjb3BlZFZBSW1hZ2U+IFZhYXBpV3JhcHBlcjo6Q3JlYXRlVmFJbWFnZSgK LSAgICAgVkFTdXJmYWNlSUQgdmFfc3VyZmFjZV9pZCwKLUBAIC0zMDg2LDcgKzMxMjUsNyBAQCB2 b2lkIFZhYXBpV3JhcHBlcjo6UHJlU2FuZGJveEluaXRpYWxpemF0Ci0gCi0gICBwYXRoc1trTW9k dWxlVmFdLnB1c2hfYmFjayhzdGQ6OnN0cmluZygibGlidmEuc28uIikgKyB2YV9zdWZmaXgpOwot ICAgcGF0aHNba01vZHVsZVZhX2RybV0ucHVzaF9iYWNrKHN0ZDo6c3RyaW5nKCJsaWJ2YS1kcm0u c28uIikgKyB2YV9zdWZmaXgpOwotLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSsjaWYg QlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gICBwYXRoc1trTW9kdWxlVmFfeDEx XS5wdXNoX2JhY2soc3RkOjpzdHJpbmcoImxpYnZhLXgxMS5zby4iKSArIHZhX3N1ZmZpeCk7Ci0g I2VuZGlmCi0gI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPU19BU0gpCi1kaWZmIC11cCBjaHJvbWl1 bS0xMDguMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oLndheWxhbmQt dmFhcGkgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBw ZXIuaAotLS0tIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV93 cmFwcGVyLmgud2F5bGFuZC12YWFwaQkyMDIyLTEyLTE0IDAxOjM5OjUzLjAwMDAwMDAwMCArMDEw MAotKysrIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFw cGVyLmgJMjAyMy0wMS0wNSAxMDoxMzowOC4yOTI0MDMyNzEgKzAxMDAKLUBAIC0zNiw5ICszNiw5 IEBACi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC90eXBlcy9vcHRpb25h bC5oIgotICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkvc2l6ZS5oIgotIAotLSNpZiBCVUlMREZM QUcoVVNFX1ZBQVBJX1gxMSkKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEp Ci0gI2luY2x1ZGUgInVpL2dmeC94L3hwcm90by5oIiAgLy8gbm9nbmNoZWNrCi0tI2VuZGlmICAg ICAgICAgICAgICAgICAgICAgICAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2VuZGlm ICAgICAgICAgICAgICAgICAgICAgICAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9Y MTEpCi0gCi0gbmFtZXNwYWNlIGdmeCB7Ci0gZW51bSBjbGFzcyBCdWZmZXJGb3JtYXQ7Ci1AQCAt MTg2LDYgKzE4NiwxNiBAQCBjbGFzcyBNRURJQV9HUFVfRVhQT1JUIFZhYXBpV3JhcHBlcgotICAg VmFhcGlXcmFwcGVyKGNvbnN0IFZhYXBpV3JhcHBlciYpID0gZGVsZXRlOwotICAgVmFhcGlXcmFw cGVyJiBvcGVyYXRvcj0oY29uc3QgVmFhcGlXcmFwcGVyJikgPSBkZWxldGU7Ci0gCi0rI2lmIEJV SUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKyAgLy8gUmV0dXJucyB0cnVlIGlmIFZh YXBpV3JhcHBlciBpbnN0YW5jZXMgbWF5IHVzZSBWQS1BUEkgb3ZlciBYMTEgYW5kIGZhbHNlCi0r ICAvLyBvdGhlcndpc2UgKFZBLUFQSSBvdmVyIERSTSB3aWxsIGJlIHVzZWQpLiBJZiB0aGlzIHJl dHVybnMgYWJzbDo6bnVsbG9wdCwKLSsgIC8vIGl0J3MgYmVjYXVzZSBpdCB3YXMgbm90IHBvc3Np YmxlIHRvIGRldGVybWluZSBob3cgVkEtQVBJIG1heSBiZSB1c2VkLiBUaGlzCi0rICAvLyBzaG91 bGQgb25seSBiZSBjYWxsZWQgYWZ0ZXIgUHJlU2FuZGJveEluaXRpYWxpemF0aW9uKCkgKHdoaWNo IGlzIGFzc3VtZWQgdG8KLSsgIC8vIGJlIGNhbGxlZCBvbmx5IG9uY2UgZHVyaW5nIHRoZSBHUFUg cHJvY2VzcyBzdGFydHVwKSBhbmQgaXMgc2FmZSB0byBjYWxsCi0rICAvLyBmcm9tIGFueSB0aHJl YWQuIEFkZGl0aW9uYWxseSwgdGhpcyBzaG91bGQgYWx3YXlzIHJldHVybiB0aGUgc2FtZSB2YWx1 ZS4KLSsgIHN0YXRpYyBhYnNsOjpvcHRpb25hbDxib29sPiBNYXlVc2VWYWFwaU92ZXJYMTEoKTsK LSsjZW5kaWYKLSsKLSAgIC8vIFJldHVybnMgdGhlIHN1cHBvcnRlZCBTVkMgc2NhbGFiaWxpdHkg bW9kZXMgZm9yIHNwZWNpZmllZCBwcm9maWxlLgotICAgc3RhdGljIHN0ZDo6dmVjdG9yPFNWQ1Nj YWxhYmlsaXR5TW9kZT4gR2V0U3VwcG9ydGVkU2NhbGFiaWxpdHlNb2RlcygKLSAgICAgICBWaWRl b0NvZGVjUHJvZmlsZSBtZWRpYV9wcm9maWxlLAotQEAgLTQzOSwxMyArNDQ5LDEzIEBAIGNsYXNz IE1FRElBX0dQVV9FWFBPUlQgVmFhcGlXcmFwcGVyCi0gICAgICAgVkFTdXJmYWNlSUQgdmFfc3Vy ZmFjZV9pZCwKLSAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnBhaXI8VkFCdWZmZXJJRCwg VkFCdWZmZXJEZXNjcmlwdG9yPj4mIHZhX2J1ZmZlcnMpOwotIAotLSNpZiBCVUlMREZMQUcoVVNF X1ZBQVBJX1gxMSkKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gICAv LyBQdXQgZGF0YSBmcm9tIHx2YV9zdXJmYWNlX2lkfCBpbnRvIHx4X3BpeG1hcHwgb2Ygc2l6ZQot ICAgLy8gfGRlc3Rfc2l6ZXwsIGNvbnZlcnRpbmcvc2NhbGluZyB0byBpdC4KLSAgIFtbbm9kaXNj YXJkXV0gYm9vbCBQdXRTdXJmYWNlSW50b1BpeG1hcChWQVN1cmZhY2VJRCB2YV9zdXJmYWNlX2lk LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxMTo6UGl4bWFw IHhfcGl4bWFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdm eDo6U2l6ZSBkZXN0X3NpemUpOwotLSNlbmRpZiAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEp Ci0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAKLSAgIC8v IENyZWF0ZXMgYSBTY29wZWRWQUltYWdlIGZyb20gYSBWQVN1cmZhY2UgfHZhX3N1cmZhY2VfaWR8 IGFuZCBtYXAgaXQgaW50bwotICAgLy8gbWVtb3J5IHdpdGggdGhlIGdpdmVuIHxmb3JtYXR8IGFu ZCB8c2l6ZXwuIElmIHxmb3JtYXR8IGlzIG5vdCBlcXVhbCB0byB0aGUKLWRpZmYgLXVwIGNocm9t aXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YV9zdHViX2hlYWRlci5mcmFnbWVu dC53YXlsYW5kLXZhYXBpIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92 YV9zdHViX2hlYWRlci5mcmFnbWVudAotLS0tIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlh L2dwdS92YWFwaS92YV9zdHViX2hlYWRlci5mcmFnbWVudC53YXlsYW5kLXZhYXBpCTIwMjItMTIt MTQgMDE6Mzk6NTIuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQv bWVkaWEvZ3B1L3ZhYXBpL3ZhX3N0dWJfaGVhZGVyLmZyYWdtZW50CTIwMjMtMDEtMDUgMTA6MTM6 MDguMjkxNDAzMjYxICswMTAwCi1AQCAtNyw4ICs3LDggQEAgZXh0ZXJuICJDIiB7Ci0gCi0gI2lu Y2x1ZGUgPHZhL3ZhX2RybS5oPgotICNpbmNsdWRlIDx2YS92YS5oPgotLSNpZiBCVUlMREZMQUco VVNFX1ZBQVBJX1gxMSkKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0g I2luY2x1ZGUgPHZhL3ZhX3gxMS5oPgotLSNlbmRpZiAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9Y MTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAKLSB9 Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC91aS9vem9uZS9wbGF0Zm9ybS94MTEv b3pvbmVfcGxhdGZvcm1feDExLmNjLndheWxhbmQtdmFhcGkgY2hyb21pdW0tMTA4LjAuNTM1OS4x MjQvdWkvb3pvbmUvcGxhdGZvcm0veDExL296b25lX3BsYXRmb3JtX3gxMS5jYwotLS0tIGNocm9t aXVtLTEwOC4wLjUzNTkuMTI0L3VpL296b25lL3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94 MTEuY2Mud2F5bGFuZC12YWFwaQkyMDIyLTEyLTE0IDAxOjQwOjE0LjAwMDAwMDAwMCArMDEwMAot KysrIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L3VpL296b25lL3BsYXRmb3JtL3gxMS9vem9uZV9w bGF0Zm9ybV94MTEuY2MJMjAyMy0wMS0wNSAxMDoxMzowOC4yOTI0MDMyNzEgKzAxMDAKLUBAIC0x OTYsNyArMTk2LDcgQEAgY2xhc3MgT3pvbmVQbGF0Zm9ybVgxMSA6IHB1YmxpYyBPem9uZVBsYQot ICAgICAgIHByb3BlcnRpZXMtPmFwcF9tb2RhbF9kaWFsb2dzX3VzZV9ldmVudF9ibG9ja2VyID0g dHJ1ZTsKLSAgICAgICBwcm9wZXJ0aWVzLT5mZXRjaF9idWZmZXJfZm9ybWF0c19mb3JfZ21iX29u X2dwdSA9IHRydWU7Ci0gI2lmIEJVSUxERkxBRyhJU19MSU5VWCkKLS0gICAgICBwcm9wZXJ0aWVz LT5zdXBwb3J0c192YWFwaSA9IHRydWU7Ci0rICAgICAgcHJvcGVydGllcy0+c3VwcG9ydHNfdmFh cGlfeDExID0gdHJ1ZTsKLSAjZW5kaWYKLSAKLSAgICAgICBpbml0aWFsaXNlZCA9IHRydWU7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC91aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxh dGZvcm0uaC53YXlsYW5kLXZhYXBpIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L3VpL296b25lL3B1 YmxpYy9vem9uZV9wbGF0Zm9ybS5oCi0tLS0gY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvdWkvb3pv bmUvcHVibGljL296b25lX3BsYXRmb3JtLmgud2F5bGFuZC12YWFwaQkyMDIyLTEyLTE0IDAxOjQw OjE0LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L3VpL296b25l L3B1YmxpYy9vem9uZV9wbGF0Zm9ybS5oCTIwMjMtMDEtMDUgMTA6MTM6MDguMjkzNDAzMjgxICsw MTAwCi1AQCAtMTQ1LDEyICsxNDUsMTMgQEAgY2xhc3MgQ09NUE9ORU5UX0VYUE9SVChPWk9ORSkg T3pvbmVQbGF0ZgotICAgICBib29sIGZldGNoX2J1ZmZlcl9mb3JtYXRzX2Zvcl9nbWJfb25fZ3B1 ID0gZmFsc2U7Ci0gCi0gI2lmIEJVSUxERkxBRyhJU19MSU5VWCkKLS0gICAgLy8gVE9ETyhjcmJ1 Zy5jb20vMTExNjcwMSk6IGFkZCB2YWFwaSBzdXBwb3J0IGZvciBvdGhlciBPem9uZSBwbGF0Zm9y bXMgb24KLS0gICAgLy8gTGludXguIEF0IHRoZSBtb21lbnQsIFZBLUFQSSBMaW51eCBpbXBsZW1l bnRhdGlvbiBzdXBwb3J0cyBvbmx5IFgxMQotLSAgICAvLyBiYWNrZW5kLiBUaGlzIGltcGxlbWVu dGF0aW9uIG11c3QgYmUgcmVmYWN0b3JlZCB0byBzdXBwb3J0IE96b25lCi0tICAgIC8vIHByb3Bl cmx5LiBBcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiwgVkEtQVBJIG9uIExpbnV4IGNoZWNrcyBpZiB2 YWFwaSBpcwotLSAgICAvLyBzdXBwb3J0ZWQgKHdoaWNoIGltcGxpY2l0bHkgbWVhbnMgdGhhdCBp dCBpcyBPem9uZS9YMTEpLgotLSAgICBib29sIHN1cHBvcnRzX3ZhYXBpID0gZmFsc2U7Ci0rICAg IC8vIFZBLUFQSSBzdXBwb3J0cyBkaWZmZXJlbnQgZGlzcGxheSBiYWNrZW5kcy4KLSsgICAgLy8g U2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9ibG9iL21hc3Rlci92YS92YV9iYWNr ZW5kLmgKLSsgICAgLy8KLSsgICAgLy8gVkEvRFJNIGFuZCBWQS9YMTEgYXJlIHVzZWQgYnkgQ2hy b21pdW0gYXQgdGhlIG1vbWVudC4gQWxsIE96b25lIHBsYXRmb3JtcwotKyAgICAvLyBzdXBwb3J0 IFZBL0RSTSBieSBkZWZhdWx0LiBgc3VwcG9ydHNfdmFhcGlfeDExYCBpbmRpY2F0ZXMgaWYgVkEv WDExCi0rICAgIC8vIHN1cHBvcnRlZDsgaXQgaXMgdHJ1ZSBvbmx5IG9uIE96b25lL1gxMSBwbGF0 Zm9ybS4KLSsgICAgYm9vbCBzdXBwb3J0c192YWFwaV94MTEgPSBmYWxzZTsKLSAjZW5kaWYKLSAK LSAgICAgLy8gSW5kaWNhdGVzIHRoYXQgdGhlIHBsYXRmb3JtIGFsbG93cyBjbGllbnQgYXBwbGlj YXRpb25zIHRvIG1hbmlwdWxhdGUKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMDgtdmFhcGktZ3Vh cmQtdmFhcGl2aWRlb2RlY29kZXIucGF0Y2ggYi9jaHJvbWl1bS0xMDgtdmFhcGktZ3VhcmQtdmFh cGl2aWRlb2RlY29kZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNjg0 ZDIuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTA4LXZhYXBpLWd1YXJkLXZhYXBpdmlkZW9kZWNv ZGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotY29tbWl0CWY4ZjQ1Njk4 M2NmMjM4ZDA0MjlhYjYzNDY2ZDc1MzU3ZDc5YTMyZGEKLWF1dGhvcglUZWQgTWV5ZXIgPHRtYXRo bWV5ZXJAY2hyb21pdW0ub3JnPglUaHUgRGVjIDA4IDIxOjI0OjM3IDIwMjIKLWNvbW1pdHRlcglD aHJvbWl1bSBMVUNJIENRIDxjaHJvbWl1bS1zY29wZWRAbHVjaS1wcm9qZWN0LWFjY291bnRzLmlh bS5nc2VydmljZWFjY291bnQuY29tPglUaHUgRGVjIDA4IDIxOjI0OjM3IDIwMjIKLXRyZWUJZWJm ZGFiOTg1YjI2OWI3M2I0ODMyMmRiMGNhYTU5NDc2NmM5YmI1OAotcGFyZW50CWNiZjMxNjdlODBm ZDJkYzNhODdjZGM3MTQzZGNkYjFlZGZjYjFmNzIgW2RpZmZdCi1HdWFyZCBWYWFwaVZpZGVvRGVj b2RlciBiZWhpbmQgbW9yZSBjb3JyZWN0IGZsYWdzCi0KLVZ1bGthbiBvbiBsaW51eCBhbHNvIG5l ZWRzIHRoZSBmZWF0dXJlcyBrVnVsa2FuRnJvbUFOR0xFIGFuZAota0RlZmF1bHRBTkdMRVZ1bGth biB0byBmdW5jdGlvbiBwcm9wZXJseS4KLQotQWRkaXRpbm9hbGx5LCBWYWFwaSBvbiBHTCBuZWVk cyB0byBiZSBndWFyZGVkIGJlaGluZCBhIGZsYWcuCi0KLUJ1ZzogMTIzNjY5NwotQnVnOiAxMzk0 ODg4Ci1CdWc6IDEzODExMTQKLUJ1ZzogMTM4MzE0MAotQ2hhbmdlLUlkOiBJZmI5ZGE4NGI5NWU3 MWZhMzljMTU1OTQ1NWYyNWU3ZWZjZGMwODNmMQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21p dW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80MDg4NzMxCi1SZXZp ZXdlZC1ieTogRGFsZSBDdXJ0aXMgPGRhbGVjdXJ0aXNAY2hyb21pdW0ub3JnPgotQ29tbWl0LVF1 ZXVlOiBUZWQgKENocm9taXVtKSBNZXllciA8dG1hdGhtZXllckBjaHJvbWl1bS5vcmc+Ci1Dci1D b21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzEwODExMTh9Ci1kaWZmIC11cCBjaHJv bWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmNjLm9yaWcgY2hy b21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvYmFzZS9tZWRpYV9zd2l0Y2hlcy5jYwotLS0tIGNo cm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuY2Mub3JpZwky MDIzLTAxLTA4IDE2OjM3OjM5LjM3Mzg3NDE2NSArMDEwMAotKysrIGNocm9taXVtLTEwOC4wLjUz NTkuMTI0L21lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuY2MJMjAyMy0wMS0xMCAwODoxNjoyMy40 OTI3NjE3NDUgKzAxMDAKLUBAIC01NzcsNiArNTc3LDEwIEBAIEJBU0VfRkVBVFVSRShrVmFhcGlW aWRlb0RlY29kZUxpbnV4LAotICAgICAgICAgICAgICAiVmFhcGlWaWRlb0RlY29kZXIiLAotICAg ICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0VOQUJMRURfQllfREVGQVVMVCk7Ci0gCi0rQkFTRV9G RUFUVVJFKGtWYWFwaVZpZGVvRGVjb2RlTGludXhHTCwKLSsgICAgICAgICAgICAgIlZhYXBpVmlk ZW9EZWNvZGVMaW51eEdMIiwKLSsgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9C WV9ERUZBVUxUKTsKLSsKLSBCQVNFX0ZFQVRVUkUoa1ZhYXBpVmlkZW9FbmNvZGVMaW51eCwKLSAg ICAgICAgICAgICAgIlZhYXBpVmlkZW9FbmNvZGVyIiwKLSAgICAgICAgICAgICAgYmFzZTo6RkVB VFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxUKTsKLWRpZmYgLXVwIGNocm9taXVtLTEwOC4wLjUzNTku MTI0L21lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuaC5vcmlnIGNocm9taXVtLTEwOC4wLjUzNTku MTI0L21lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuaAotLS0tIGNocm9taXVtLTEwOC4wLjUzNTku MTI0L21lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuaC5vcmlnCTIwMjMtMDEtMDggMTY6Mzc6Mzku Mzc5ODc0MjI3ICswMTAwCi0rKysgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvYmFzZS9t ZWRpYV9zd2l0Y2hlcy5oCTIwMjMtMDEtMTAgMDg6MTY6MjMuNDkzNzYxNzYzICswMTAwCi1AQCAt MjE2LDYgKzIxNiw3IEBAIE1FRElBX0VYUE9SVCBCQVNFX0RFQ0xBUkVfRkVBVFVSRShrVXNlTWUK LSBNRURJQV9FWFBPUlQgQkFTRV9ERUNMQVJFX0ZFQVRVUkUoa1VzZVIxNlRleHR1cmUpOwotICNp ZiBCVUlMREZMQUcoSVNfTElOVVgpCi0gTUVESUFfRVhQT1JUIEJBU0VfREVDTEFSRV9GRUFUVVJF KGtWYWFwaVZpZGVvRGVjb2RlTGludXgpOwotK01FRElBX0VYUE9SVCBCQVNFX0RFQ0xBUkVfRkVB VFVSRShrVmFhcGlWaWRlb0RlY29kZUxpbnV4R0wpOwotIE1FRElBX0VYUE9SVCBCQVNFX0RFQ0xB UkVfRkVBVFVSRShrVmFhcGlWaWRlb0VuY29kZUxpbnV4KTsKLSBNRURJQV9FWFBPUlQgQkFTRV9E RUNMQVJFX0ZFQVRVUkUoa1ZhYXBpSWdub3JlRHJpdmVyQ2hlY2tzKTsKLSAjZW5kaWYgIC8vIEJV SUxERkxBRyhJU19MSU5VWCkKLWRpZmYgLXVwIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlh L21vam8vc2VydmljZXMvZ3B1X21vam9fbWVkaWFfY2xpZW50X2Nyb3MuY2Mub3JpZyBjaHJvbWl1 bS0xMDguMC41MzU5LjEyNC9tZWRpYS9tb2pvL3NlcnZpY2VzL2dwdV9tb2pvX21lZGlhX2NsaWVu dF9jcm9zLmNjCi0tLS0gY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvbW9qby9zZXJ2aWNl cy9ncHVfbW9qb19tZWRpYV9jbGllbnRfY3Jvcy5jYy5vcmlnCTIwMjMtMDEtMTAgMDg6MTY6MjMu NDkzNzYxNzYzICswMTAwCi0rKysgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvbW9qby9z ZXJ2aWNlcy9ncHVfbW9qb19tZWRpYV9jbGllbnRfY3Jvcy5jYwkyMDIzLTAxLTEwIDA4OjIxOjU1 LjYxNzkwOTAxNiArMDEwMAotQEAgLTc4LDEwICs3OCwxOSBAQCBWaWRlb0RlY29kZXJUeXBlIEdl dEFjdHVhbFBsYXRmb3JtRGVjb2RlCi0gICAgIH0KLSAgICAgY2FzZSBWaWRlb0RlY29kZXJUeXBl OjprVmFhcGk6IHsKLSAgICAgICAvLyBBbGxvdyBWYWFwaVZpZGVvRGVjb2RlciBvbiBHTC4KLS0g ICAgICBpZiAoZ3B1X3ByZWZlcmVuY2VzLmdyX2NvbnRleHRfdHlwZSA9PSBncHU6OkdyQ29udGV4 dFR5cGU6OmtHTCkKLS0gICAgICAgIHJldHVybiBWaWRlb0RlY29kZXJUeXBlOjprVmFhcGk7Ci0r ICAgICAgaWYgKGdwdV9wcmVmZXJlbmNlcy5ncl9jb250ZXh0X3R5cGUgPT0gZ3B1OjpHckNvbnRl eHRUeXBlOjprR0wpIHsKLSsgICAgICAgIGlmIChiYXNlOjpGZWF0dXJlTGlzdDo6SXNFbmFibGVk KGtWYWFwaVZpZGVvRGVjb2RlTGludXhHTCkpIHsKLSsgICAgICAgICAgcmV0dXJuIFZpZGVvRGVj b2RlclR5cGU6OmtWYWFwaTsKLSsgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgIHJldHVybiBW aWRlb0RlY29kZXJUeXBlOjprVW5rbm93bjsKLSsgICAgICAgIH0KLSsgICAgICB9Ci0gICAgICAg aWYgKGdwdV9wcmVmZXJlbmNlcy5ncl9jb250ZXh0X3R5cGUgIT0gZ3B1OjpHckNvbnRleHRUeXBl OjprVnVsa2FuKQotICAgICAgICAgcmV0dXJuIFZpZGVvRGVjb2RlclR5cGU6OmtVbmtub3duOwot KyAgICAgIGlmICghYmFzZTo6RmVhdHVyZUxpc3Q6OklzRW5hYmxlZChmZWF0dXJlczo6a1Z1bGth bkZyb21BTkdMRSkpCi0rICAgICAgICByZXR1cm4gVmlkZW9EZWNvZGVyVHlwZTo6a1Vua25vd247 Ci0rICAgICAgaWYgKCFiYXNlOjpGZWF0dXJlTGlzdDo6SXNFbmFibGVkKGZlYXR1cmVzOjprRGVm YXVsdEFOR0xFVnVsa2FuKSkKLSsgICAgICAgIHJldHVybiBWaWRlb0RlY29kZXJUeXBlOjprVW5r bm93bjsKLSAgICAgICAvLyBJZiBWdWxrYW4gaXMgYWN0aXZlLCBjaGVjayBWdWxrYW4gaW5mbyBp ZiBWYWFwaVZpZGVvRGVjb2RlciBpcyBhbGxvd2VkLgotICAgICAgIGlmICghZ3B1X2luZm8udnVs a2FuX2luZm8uaGFzX3ZhbHVlKCkpCi0gICAgICAgICByZXR1cm4gVmlkZW9EZWNvZGVyVHlwZTo6 a1Vua25vd247CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTA5LWNsYW5nMTQtYysrMjAtbGluay1l cnJvci5wYXRjaCBiL2Nocm9taXVtLTEwOS1jbGFuZzE0LWMrKzIwLWxpbmstZXJyb3IucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTMwOTE1YwotLS0gL2Rldi9udWxs CisrKyBiL2Nocm9taXVtLTEwOS1jbGFuZzE0LWMrKzIwLWxpbmstZXJyb3IucGF0Y2gKQEAgLTAs MCArMSwxNyBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9idWlsZC9jb25maWcv Y29tcGlsZXIvQlVJTEQuZ24ubGluay1lcnJvci1jbGFuZzE0IGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCistLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ubGluay1lcnJvci1jbGFuZzE0CTIw MjMtMDEtMTEgMTg6MDA6MzQuNjkyNTEyNjA2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24JMjAyMy0wMS0xMSAxODozMDoxMC45 MDU0MTAxMjIgKzAxMDAKK0BAIC02MDEsMTIgKzYwMSw3IEBAIGNvbmZpZygiY29tcGlsZXIiKSB7 CisgICAgICAgICBjZmxhZ3NfY2MgKz0gWyAiLWZuby10cmlncmFwaHMiIF0KKyAgICAgICB9Cisg ICAgIH0gZWxzZSBpZiAoaXNfY2xhbmcpIHsKKy0gICAgICBpZiAoaXNfY2hyb21lb3NfZGV2aWNl KSB7CistICAgICAgICAjIFRPRE8oY3JidWcuY29tLzEzOTI0NzEpOiBTdXBwb3J0IEMrKzIwIGlu IENyT1MgdG9vbGNoYWluLgorLSAgICAgICAgY2ZsYWdzX2NjICs9IFsgIi1zdGQ9JHtzdGFuZGFy ZF9wcmVmaXh9KysxNyIgXQorLSAgICAgIH0gZWxzZSB7CistICAgICAgICBjZmxhZ3NfY2MgKz0g WyAiLXN0ZD0ke3N0YW5kYXJkX3ByZWZpeH0rKzIwIiBdCistICAgICAgfQorKyAgICAgIGNmbGFn c19jYyArPSBbICItc3RkPSR7c3RhbmRhcmRfcHJlZml4fSsrMTciIF0KKyAgICAgfSBlbHNlIHsK KyAgICAgICAjIFRoZSBnY2MgYm90cyBhcmUgY3VycmVudGx5IHVzaW5nIEdDQyA5LCB3aGljaCBp cyBub3QgbmV3IGVub3VnaCB0bworICAgICAgICMgc3VwcG9ydCAiYysrMjAiLyJnbnUrKzIwIi4K CmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMDktZGlzYWJsZS1HbG9iYWxNZWRpYUNvbnRyb2xzQ2Fz dFN0YXJ0U3RvcC5wYXRjaCBiL2Nocm9taXVtLTEwOS1kaXNhYmxlLUdsb2JhbE1lZGlhQ29udHJv bHNDYXN0U3RhcnRTdG9wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmFlNDkyYTMKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMDktZGlzYWJsZS1HbG9iYWxN ZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitkaWZmIC11 cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL21lZGlhL3JvdXRlci9tZWRp YV9yb3V0ZXJfZmVhdHVyZS5jYy5kaXNhYmxlLUdsb2JhbE1lZGlhQ29udHJvbHNDYXN0U3RhcnRT dG9wIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvbWVkaWEvcm91dGVyL21l ZGlhX3JvdXRlcl9mZWF0dXJlLmNjCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUv YnJvd3Nlci9tZWRpYS9yb3V0ZXIvbWVkaWFfcm91dGVyX2ZlYXR1cmUuY2MuZGlzYWJsZS1HbG9i YWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcAkyMDIzLTAxLTExIDE1OjI3OjUwLjU4NzczNzA3 MCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvbWVkaWEv cm91dGVyL21lZGlhX3JvdXRlcl9mZWF0dXJlLmNjCTIwMjMtMDEtMTEgMTU6MzA6MzUuMTM2ODI5 OTUxICswMTAwCitAQCAtNDgsMTUgKzQ4LDkgQEAgQkFTRV9GRUFUVVJFKGtNZWRpYVJlbW90aW5n V2l0aG91dEZ1bGxzYworICAgICAgICAgICAgICAiTWVkaWFSZW1vdGluZ1dpdGhvdXRGdWxsc2Ny ZWVuIiwKKyAgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxUKTsK KyAKKy0jaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TKQorIEJBU0VfRkVBVFVSRShrR2xvYmFsTWVk aWFDb250cm9sc0Nhc3RTdGFydFN0b3AsCisgICAgICAgICAgICAgICJHbG9iYWxNZWRpYUNvbnRy b2xzQ2FzdFN0YXJ0U3RvcCIsCisgICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVfRElTQUJMRURf QllfREVGQVVMVCk7CistI2Vsc2UKKy1CQVNFX0ZFQVRVUkUoa0dsb2JhbE1lZGlhQ29udHJvbHND YXN0U3RhcnRTdG9wLAorLSAgICAgICAgICAgICAiR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFy dFN0b3AiLAorLSAgICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0VOQUJMRURfQllfREVGQVVMVCk7 CistI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1MpCisgCisgI2VuZGlmICAvLyBCVUlM REZMQUcoSVNfQU5EUk9JRCkKKyAKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMDktb3pvbmUtd2F5 bGFuZC12YWFwaS1zdXBwb3J0LnBhdGNoIGIvY2hyb21pdW0tMTA5LW96b25lLXdheWxhbmQtdmFh cGktc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWE2 MTMxCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTA5LW96b25lLXdheWxhbmQtdmFhcGkt c3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDY2NiBAQAorYXV0aG9yCUppYW5odWkgRGFpIDxqaWFu aHVpLmouZGFpQGludGVsLmNvbT4JVHVlIE5vdiAxNSAwNjoxODowNCAyMDIyCitjb21taXR0ZXIJ Smlhbmh1aSBEYWkgPGppYW5odWkuai5kYWlAaW50ZWwuY29tPglUdWUgTm92IDE1IDA2OjE4OjA0 IDIwMjIKKworW096b25lL0xpbnV4XSBTdXBwb3J0IFZBLUFQSSBvbiBMaW51eCBPem9uZS9XYXls YW5kCisKK1ZBLUFQSSBzdXBwb3J0cyBkaWZmZXJlbnQgZGlzcGxheSBiYWNrZW5kcyBbMV0uIFZB L0RSTSBhbmQgVkEvWDExIGFyZQordXNlZCBieSBDaHJvbWl1bSBhdCB0aGUgbW9tZW50LiBBbGwg T3pvbmUgcGxhdGZvcm1zIHN1cHBvcnQgVkEvRFJNIGJ5CitkZWZhdWx0LiBWQS9YMTEgaXMgc3Vw cG9ydGVkIG9ubHkgb24gT3pvbmUvWDExLgorCitUaGlzIENMIHJlbmFtZXMgJ3N1cHBvcnRzX3Zh YXBpJyB0byAnc3VwcG9ydHNfdmFhcGlfeDExJzsgaXQgaW5kaWNhdGVzCitpZiBWQS9YMTEgc3Vw cG9ydGVkLiBMaW51eCBPem9uZS9YMTEgc3VwcG9ydHMgYm90aCBWQS9YMTEgYW5kIFZBL0RSTTsK K0xpbnV4IE96b25lL1dheWxhbmQgc3VwcG9ydHMgb25seSBWQS9EUk0uIGBWYWFwaVBpY3R1cmVG YWN0b3J5YCBhbHNvCit0YWtlcyB0aGlzIGZsYWcgdG8gZGV0ZXJtaW5lIHBpY3R1cmUgY3JlYXRp b24gYW5kIGRvd25sb2FkaW5nIG1lY2hhbmlzbQorb24gTGludXguCisKK1sxXSBodHRwczovL2dp dGh1Yi5jb20vaW50ZWwvbGlidmEvYmxvYi9tYXN0ZXIvdmEvdmFfYmFja2VuZC5oCisKK1Rlc3Q6 IFZEQSB2aWRlbyBwbGF5YmFjayBvbiBMaW51eCBYMTEgYW5kIExpbnV4IFdheWxhbmQKK0J1Zzog MTMyNjc1NCwxMTE2NzAxCitDaGFuZ2UtSWQ6IEk2ZDZiZjc4MTgzM2E3NzUyZDIzZGFmYjJiNjMx MTJjMmZjODFiMTdhCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC9tZWRpYS9ncHUv YXJncy5nbmkud2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC9tZWRpYS9ncHUv YXJncy5nbmkKKy0tLSBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC9tZWRpYS9ncHUvYXJncy5nbmku d2F5bGFuZC12YWFwaQkyMDIyLTEyLTE0IDAxOjM5OjUyLjAwMDAwMDAwMCArMDEwMAorKysrIGNo cm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlhL2dwdS9hcmdzLmduaQkyMDIzLTAxLTA1IDEwOjEz OjA4LjI5MTQwMzI2MSArMDEwMAorQEAgLTYsMTAgKzYsMTQgQEAgaW1wb3J0KCIvL2J1aWxkL2Nv bmZpZy9jaHJvbWVvcy91aV9tb2RlLgorIGltcG9ydCgiLy9idWlsZC9jb25maWcvb3pvbmUuZ25p IikKKyAKKyBkZWNsYXJlX2FyZ3MoKSB7CistICAjIEluZGljYXRlcyBpZiBYMTEgVkEtQVBJLWJh c2VkIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiBpcyB0byBiZSB1c2VkLgorLSAgIyBTZWUgYWxzbyB0 aGUgY29tbWVudCBuZWFyIHRoZSB8dXNlX3ZhYXBpfCBhcmcuCistICB1c2VfdmFhcGlfeDExID0g aXNfbGludXggJiYgb3pvbmVfcGxhdGZvcm1feDExICYmCistICAgICAgICAgICAgICAgICAgKHRh cmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2NwdSA9PSAieDY0IikgJiYgIWlzX2Nhc3Rvcwor KyAgIyBCdWlsZCBDaHJvbWUgc3VwcG9ydCBmb3IgdXNpbmcgVkEtQVBJIG92ZXIgWDExLiBOb3Rl IHRoYXQgc2V0dGluZyB0aGlzIHRvIHRydWUgaXMKKysgICMgbm90IGEgZ3VhcmFudGVlIHRoYXQg Q2hyb21lIHdpbGwgdXNlIChvciBldmVuIHRyeSB0byB1c2UpIFZBLUFQSSBvdmVyIFgxMS4gSW4K KysgICMgcGFydGljdWxhciwgaXQgaXMgcG9zc2libGUgdG8gYnVpbGQgQ2hyb21lIHdpdGggc3Vw cG9ydCBmb3IgVkEtQVBJIG92ZXIgWDExIGJ1dAorKyAgIyBwaWNrIFdheWxhbmQgYXMgdGhlIE96 b25lIGJhY2tlbmQgYXQgcnVudGltZS4gSW4gdGhpcyBjYXNlLCBDaHJvbWUgd2lsbCB0cnkgdG8K KysgICMgdXNlIFZBLUFQSSBvdmVyIERSTS4KKysgIHN1cHBvcnRfdmFhcGlfb3Zlcl94MTEgPQor KyAgICAgIGlzX2xpbnV4ICYmIG96b25lX3BsYXRmb3JtX3gxMSAmJgorKyAgICAgICh0YXJnZXRf Y3B1ID09ICJ4ODYiIHx8IHRhcmdldF9jcHUgPT0gIng2NCIpICYmICFpc19jYXN0b3MKKyB9Cisg CisgZGVjbGFyZV9hcmdzKCkgeworQEAgLTI5LDggKzMzLDkgQEAgZGVjbGFyZV9hcmdzKCkgewor ICAgIyBpcyB0eXBpY2FsbHkgdGhlIGNhc2Ugb24geDg2LWJhc2VkIENocm9tZU9TIGRldmljZXMu CisgICAjIFZBLUFQSSBzaG91bGQgYWxzbyBiZSBjb21waWxlZCBieSBkZWZhdWx0IG9uIHgxMS11 c2luZyBsaW51eCBkZXZpY2VzCisgICAjIHVzaW5nIHg4Ni94NjQuCistICB1c2VfdmFhcGkgPSB1 c2VfdmFhcGlfeDExIHx8IChpc19jaHJvbWVvc19sYWNyb3MgJiYKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0YXJnZXRfY3B1ID09ICJ4ODYiIHx8IHRhcmdldF9jcHUgPT0gIng2 NCIpKQorKyAgdXNlX3ZhYXBpID0KKysgICAgICBzdXBwb3J0X3ZhYXBpX292ZXJfeDExIHx8Cisr ICAgICAgKGlzX2Nocm9tZW9zX2xhY3JvcyAmJiAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJn ZXRfY3B1ID09ICJ4NjQiKSkKKyAKKyAgICMgSW5kaWNhdGVzIGlmIENocm9tZU9TIHByb3RlY3Rl ZCBtZWRpYSBzdXBwb3J0IGV4aXN0cy4gVGhpcyBpcyB1c2VkCisgICAjIHRvIGVuYWJsZSB0aGUg Q0RNIGRhZW1vbiBpbiBDaHJvbWUgT1MgYXMgd2VsbCBhcyBzdXBwb3J0IGZvcgorZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L0JVSUxELmduLndheWxhbmQtdmFhcGkg Y2hyb21pdW0tMTA5LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L0JVSUxELmduCistLS0gY2hyb21pdW0t MTA5LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L0JVSUxELmduLndheWxhbmQtdmFhcGkJMjAyMi0xMi0x NCAwMTozOTo1Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC9t ZWRpYS9ncHUvQlVJTEQuZ24JMjAyMy0wMS0wNSAxMDoxMzowOC4yOTE0MDMyNjEgKzAxMDAKK0BA IC0yMCw3ICsyMCw3IEBAIGJ1aWxkZmxhZ19oZWFkZXIoImJ1aWxkZmxhZ3MiKSB7CisgICAgICJV U0VfVkFBUElfSU1BR0VfQ09ERUNTPSR1c2VfdmFhcGlfaW1hZ2VfY29kZWNzIiwKKyAgICAgIlVT RV9WNEwyX0NPREVDPSR1c2VfdjRsMl9jb2RlYyIsCisgICAgICJVU0VfTElCVjRMMj0kdXNlX3Y0 bHBsdWdpbiIsCistICAgICJVU0VfVkFBUElfWDExPSR1c2VfdmFhcGlfeDExIiwKKysgICAgIlNV UFBPUlRfVkFBUElfT1ZFUl9YMTE9JHN1cHBvcnRfdmFhcGlfb3Zlcl94MTEiLAorICAgXQorIH0K KyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS9CVUlM RC5nbi53YXlsYW5kLXZhYXBpIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFw aS9CVUlMRC5nbgorLS0tIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS9C VUlMRC5nbi53YXlsYW5kLXZhYXBpCTIwMjItMTItMTQgMDE6Mzk6NTIuMDAwMDAwMDAwICswMTAw CisrKysgY2hyb21pdW0tMTA5LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCTIw MjMtMDEtMDUgMTA6MTM6MDguMjkxNDAzMjYxICswMTAwCitAQCAtMTcsNyArMTcsNyBAQCBhc3Nl cnQodXNlX3ZhYXBpKQorIGdlbmVyYXRlX3N0dWJzKCJsaWJ2YV9zdHVicyIpIHsKKyAgIGV4dHJh X2hlYWRlciA9ICJ2YV9zdHViX2hlYWRlci5mcmFnbWVudCIKKyAgIHNpZ3MgPSBbICJ2YS5zaWdz IiBdCistICBpZiAodXNlX3ZhYXBpX3gxMSkgeworKyAgaWYgKHN1cHBvcnRfdmFhcGlfb3Zlcl94 MTEpIHsKKyAgICAgc2lncyArPSBbICJ2YV94MTEuc2lncyIgXQorICAgfQorICAgaWYgKGlzX2No cm9tZW9zX2FzaCkgeworQEAgLTEzOCw3ICsxMzgsNyBAQCBzb3VyY2Vfc2V0KCJ2YWFwaSIpIHsK KyAgICAgXQorICAgfQorIAorLSAgaWYgKHVzZV92YWFwaV94MTEpIHsKKysgIGlmIChzdXBwb3J0 X3ZhYXBpX292ZXJfeDExKSB7CisgICAgIGRlcHMgKz0gWyAiLy91aS9nZngveCIgXQorICAgICBz b3VyY2VzICs9IFsKKyAgICAgICAidmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX2FuZ2xlLmNj IiwKK0BAIC0yMTQsNyArMjE0LDcgQEAgc291cmNlX3NldCgiY29tbW9uIikgeworICAgICBkZXBz ICs9IFsgIi8vdWkvb3pvbmUiIF0KKyAgIH0KKyAKKy0gIGlmICh1c2VfdmFhcGlfeDExKSB7Cisr ICBpZiAoc3VwcG9ydF92YWFwaV9vdmVyX3gxMSkgeworICAgICBkZXBzICs9IFsgIi8vdWkvZ2Z4 L3giIF0KKyAgIH0KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlhL2dw dS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuaC53YXlsYW5kLXZhYXBpIGNocm9taXVtLTEw OS4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuaAorLS0t IGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2Zh Y3RvcnkuaC53YXlsYW5kLXZhYXBpCTIwMjItMTItMTQgMDE6Mzk6NTMuMDAwMDAwMDAwICswMTAw CisrKysgY2hyb21pdW0tMTA5LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1 cmVfZmFjdG9yeS5oCTIwMjMtMDEtMDUgMTA6MTM6MDguMjkxNDAzMjYxICswMTAwCitAQCAtMzYs NyArMzYsMTEgQEAgY2xhc3MgTUVESUFfR1BVX0VYUE9SVCBWYWFwaVBpY3R1cmVGYWN0bworICAg ICBrVmFhcGlJbXBsZW1lbnRhdGlvbkFuZ2xlLAorICAgfTsKKyAKKysjaWYgQlVJTERGTEFHKFNV UFBPUlRfVkFBUElfT1ZFUl9YMTEpCisrICBleHBsaWNpdCBWYWFwaVBpY3R1cmVGYWN0b3J5KGFi c2w6Om9wdGlvbmFsPGJvb2w+IG1heV91c2VfdmFhcGlfb3Zlcl94MTEpOworKyNlbHNlCisgICBW YWFwaVBpY3R1cmVGYWN0b3J5KCk7CisrI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQ SV9PVkVSX1gxMSkKKyAKKyAgIFZhYXBpUGljdHVyZUZhY3RvcnkoY29uc3QgVmFhcGlQaWN0dXJl RmFjdG9yeSYpID0gZGVsZXRlOworICAgVmFhcGlQaWN0dXJlRmFjdG9yeSYgb3BlcmF0b3I9KGNv bnN0IFZhYXBpUGljdHVyZUZhY3RvcnkmKSA9IGRlbGV0ZTsKK0BAIC04NSw2ICs4OSwxMSBAQCBj bGFzcyBNRURJQV9HUFVfRVhQT1JUIFZhYXBpUGljdHVyZUZhY3RvCisgCisgICBDcmVhdGVQaWN0 dXJlQ0IgY3JlYXRlX3BpY3R1cmVfY2JfOworICAgYm9vbCBuZWVkc192cHBfZm9yX2Rvd25sb2Fk aW5nXyA9IGZhbHNlOworKworKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkK KysgIC8vIFNlZSBjb21tZW50IGluIGBWYWFwaVdyYXBwZXI6Ok1heVVzZVZhYXBpT3ZlclgxMSgp YC4KKysgIGFic2w6Om9wdGlvbmFsPGJvb2w+IG1heV91c2VfdmFhcGlfb3Zlcl94MTFfOworKyNl bmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCisgfTsKKyAKKyB9ICAv LyBuYW1lc3BhY2UgbWVkaWEKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlh L2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3IuY2Mud2F5bGFuZC12YWFw aSBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfdmlkZW9fZGVj b2RlX2FjY2VsZXJhdG9yLmNjCistLS0gY2hyb21pdW0tMTA5LjAuNTM1OS4xMjQvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYy53YXlsYW5kLXZhYXBpCTIw MjMtMDEtMDUgMTA6MTM6MDguMjkwNDAzMjUxICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTM1 OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYwky MDIzLTAxLTA1IDEwOjEzOjA4LjI5MjQwMzI3MSArMDEwMAorQEAgLTE4NCw3ICsxODQsMTIgQEAg Ym9vbCBWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkluaXRpYQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudCogY2xpZW50KSB7CisgICBEQ0hF Q0sodGFza19ydW5uZXJfLT5CZWxvbmdzVG9DdXJyZW50VGhyZWFkKCkpOworIAorKyNpZiBCVUlM REZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKysgIHZhYXBpX3BpY3R1cmVfZmFjdG9yeV8g PQorKyAgICAgIHN0ZDo6bWFrZV91bmlxdWU8VmFhcGlQaWN0dXJlRmFjdG9yeT4oVmFhcGlXcmFw cGVyOjpNYXlVc2VWYWFwaU92ZXJYMTEoKSk7CisrI2Vsc2UKKyAgIHZhYXBpX3BpY3R1cmVfZmFj dG9yeV8gPSBzdGQ6Om1ha2VfdW5pcXVlPFZhYXBpUGljdHVyZUZhY3Rvcnk+KCk7CisrI2VuZGlm ICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKyAKKyAgIGlmIChjb25maWcu aXNfZW5jcnlwdGVkKCkpIHsKKyAgICAgTk9UUkVBQ0hFRCgpIDw8ICJFbmNyeXB0ZWQgc3RyZWFt cyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBWREEiOworQEAgLTEyMTAsNyArMTIxNSw3IEBA IFZhYXBpVmlkZW9EZWNvZGVBY2NlbGVyYXRvcjo6R2V0U3VwcG9ydGUKKyAKKyBWYWFwaVZpZGVv RGVjb2RlQWNjZWxlcmF0b3I6OkJ1ZmZlckFsbG9jYXRpb25Nb2RlCisgVmFhcGlWaWRlb0RlY29k ZUFjY2VsZXJhdG9yOjpEZWNpZGVCdWZmZXJBbGxvY2F0aW9uTW9kZSgpIHsKKy0jaWYgQlVJTERG TEFHKFVTRV9WQUFQSV9YMTEpCisrI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDEx KQorICAgLy8gVGhlIElNUE9SVCBtb2RlIGlzIHVzZWQgZm9yIEFuZHJvaWQgb24gQ2hyb21lIE9T LCBzbyB0aGlzIGRvZXNuJ3QgYXBwbHkKKyAgIC8vIGhlcmUuCisgICBEQ0hFQ0tfTkUob3V0cHV0 X21vZGVfLCBWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpDb25maWc6Ok91dHB1dE1vZGU6OklNUE9S VCk7CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC9tZWRpYS9ncHUvdmFhcGkvdmFh cGlfd3JhcHBlci5oLndheWxhbmQtdmFhcGkgY2hyb21pdW0tMTA5LjAuNTM1OS4xMjQvbWVkaWEv Z3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuaAorLS0tIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21l ZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmgud2F5bGFuZC12YWFwaQkyMDIyLTEyLTE0IDAx OjM5OjUzLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlh L2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmgJMjAyMy0wMS0wNSAxMDoxMzowOC4yOTI0MDMyNzEg KzAxMDAKK0BAIC0zNiw5ICszNiw5IEBACisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Fic2VpbC1j cHAvYWJzbC90eXBlcy9vcHRpb25hbC5oIgorICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkvc2l6 ZS5oIgorIAorLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKKysjaWYgQlVJTERGTEFHKFNV UFBPUlRfVkFBUElfT1ZFUl9YMTEpCisgI2luY2x1ZGUgInVpL2dmeC94L3hwcm90by5oIiAgLy8g bm9nbmNoZWNrCistI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgLy8gQlVJTERGTEFHKFVT RV9WQUFQSV9YMTEpCisrI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgLy8gQlVJTERGTEFH KFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCisgCisgbmFtZXNwYWNlIGdmeCB7CisgZW51bSBjbGFz cyBCdWZmZXJGb3JtYXQ7CitAQCAtMTg2LDYgKzE4NiwxNiBAQCBjbGFzcyBNRURJQV9HUFVfRVhQ T1JUIFZhYXBpV3JhcHBlcgorICAgVmFhcGlXcmFwcGVyKGNvbnN0IFZhYXBpV3JhcHBlciYpID0g ZGVsZXRlOworICAgVmFhcGlXcmFwcGVyJiBvcGVyYXRvcj0oY29uc3QgVmFhcGlXcmFwcGVyJikg PSBkZWxldGU7CisgCisrI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorKyAg Ly8gUmV0dXJucyB0cnVlIGlmIFZhYXBpV3JhcHBlciBpbnN0YW5jZXMgbWF5IHVzZSBWQS1BUEkg b3ZlciBYMTEgYW5kIGZhbHNlCisrICAvLyBvdGhlcndpc2UgKFZBLUFQSSBvdmVyIERSTSB3aWxs IGJlIHVzZWQpLiBJZiB0aGlzIHJldHVybnMgYWJzbDo6bnVsbG9wdCwKKysgIC8vIGl0J3MgYmVj YXVzZSBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIGRldGVybWluZSBob3cgVkEtQVBJIG1heSBiZSB1 c2VkLiBUaGlzCisrICAvLyBzaG91bGQgb25seSBiZSBjYWxsZWQgYWZ0ZXIgUHJlU2FuZGJveElu aXRpYWxpemF0aW9uKCkgKHdoaWNoIGlzIGFzc3VtZWQgdG8KKysgIC8vIGJlIGNhbGxlZCBvbmx5 IG9uY2UgZHVyaW5nIHRoZSBHUFUgcHJvY2VzcyBzdGFydHVwKSBhbmQgaXMgc2FmZSB0byBjYWxs CisrICAvLyBmcm9tIGFueSB0aHJlYWQuIEFkZGl0aW9uYWxseSwgdGhpcyBzaG91bGQgYWx3YXlz IHJldHVybiB0aGUgc2FtZSB2YWx1ZS4KKysgIHN0YXRpYyBhYnNsOjpvcHRpb25hbDxib29sPiBN YXlVc2VWYWFwaU92ZXJYMTEoKTsKKysjZW5kaWYKKysKKyAgIC8vIFJldHVybnMgdGhlIHN1cHBv cnRlZCBTVkMgc2NhbGFiaWxpdHkgbW9kZXMgZm9yIHNwZWNpZmllZCBwcm9maWxlLgorICAgc3Rh dGljIHN0ZDo6dmVjdG9yPFNWQ1NjYWxhYmlsaXR5TW9kZT4gR2V0U3VwcG9ydGVkU2NhbGFiaWxp dHlNb2RlcygKKyAgICAgICBWaWRlb0NvZGVjUHJvZmlsZSBtZWRpYV9wcm9maWxlLAorQEAgLTQz OSwxMyArNDQ5LDEzIEBAIGNsYXNzIE1FRElBX0dQVV9FWFBPUlQgVmFhcGlXcmFwcGVyCisgICAg ICAgVkFTdXJmYWNlSUQgdmFfc3VyZmFjZV9pZCwKKyAgICAgICBjb25zdCBzdGQ6OnZlY3Rvcjxz dGQ6OnBhaXI8VkFCdWZmZXJJRCwgVkFCdWZmZXJEZXNjcmlwdG9yPj4mIHZhX2J1ZmZlcnMpOwor IAorLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKKysjaWYgQlVJTERGTEFHKFNVUFBPUlRf VkFBUElfT1ZFUl9YMTEpCisgICAvLyBQdXQgZGF0YSBmcm9tIHx2YV9zdXJmYWNlX2lkfCBpbnRv IHx4X3BpeG1hcHwgb2Ygc2l6ZQorICAgLy8gfGRlc3Rfc2l6ZXwsIGNvbnZlcnRpbmcvc2NhbGlu ZyB0byBpdC4KKyAgIFtbbm9kaXNjYXJkXV0gYm9vbCBQdXRTdXJmYWNlSW50b1BpeG1hcChWQVN1 cmZhY2VJRCB2YV9zdXJmYWNlX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHgxMTo6UGl4bWFwIHhfcGl4bWFwLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdmeDo6U2l6ZSBkZXN0X3NpemUpOworLSNlbmRpZiAgLy8gQlVJ TERGTEFHKFVTRV9WQUFQSV9YMTEpCisrI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQ SV9PVkVSX1gxMSkKKyAKKyAgIC8vIENyZWF0ZXMgYSBTY29wZWRWQUltYWdlIGZyb20gYSBWQVN1 cmZhY2UgfHZhX3N1cmZhY2VfaWR8IGFuZCBtYXAgaXQgaW50bworICAgLy8gbWVtb3J5IHdpdGgg dGhlIGdpdmVuIHxmb3JtYXR8IGFuZCB8c2l6ZXwuIElmIHxmb3JtYXR8IGlzIG5vdCBlcXVhbCB0 byB0aGUKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92 YV9zdHViX2hlYWRlci5mcmFnbWVudC53YXlsYW5kLXZhYXBpIGNocm9taXVtLTEwOS4wLjUzNTku MTI0L21lZGlhL2dwdS92YWFwaS92YV9zdHViX2hlYWRlci5mcmFnbWVudAorLS0tIGNocm9taXVt LTEwOS4wLjUzNTkuMTI0L21lZGlhL2dwdS92YWFwaS92YV9zdHViX2hlYWRlci5mcmFnbWVudC53 YXlsYW5kLXZhYXBpCTIwMjItMTItMTQgMDE6Mzk6NTIuMDAwMDAwMDAwICswMTAwCisrKysgY2hy b21pdW0tMTA5LjAuNTM1OS4xMjQvbWVkaWEvZ3B1L3ZhYXBpL3ZhX3N0dWJfaGVhZGVyLmZyYWdt ZW50CTIwMjMtMDEtMDUgMTA6MTM6MDguMjkxNDAzMjYxICswMTAwCitAQCAtNyw4ICs3LDggQEAg ZXh0ZXJuICJDIiB7CisgCisgI2luY2x1ZGUgPHZhL3ZhX2RybS5oPgorICNpbmNsdWRlIDx2YS92 YS5oPgorLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKKysjaWYgQlVJTERGTEFHKFNVUFBP UlRfVkFBUElfT1ZFUl9YMTEpCisgI2luY2x1ZGUgPHZhL3ZhX3gxMS5oPgorLSNlbmRpZiAgLy8g QlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCisrI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9W QUFQSV9PVkVSX1gxMSkKKyAKKyB9CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC91 aS9vem9uZS9wbGF0Zm9ybS94MTEvb3pvbmVfcGxhdGZvcm1feDExLmNjLndheWxhbmQtdmFhcGkg Y2hyb21pdW0tMTA5LjAuNTM1OS4xMjQvdWkvb3pvbmUvcGxhdGZvcm0veDExL296b25lX3BsYXRm b3JtX3gxMS5jYworLS0tIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L3VpL296b25lL3BsYXRmb3Jt L3gxMS9vem9uZV9wbGF0Zm9ybV94MTEuY2Mud2F5bGFuZC12YWFwaQkyMDIyLTEyLTE0IDAxOjQw OjE0LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjUzNTkuMTI0L3VpL296b25l L3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94MTEuY2MJMjAyMy0wMS0wNSAxMDoxMzowOC4y OTI0MDMyNzEgKzAxMDAKK0BAIC0xOTYsNyArMTk2LDcgQEAgY2xhc3MgT3pvbmVQbGF0Zm9ybVgx MSA6IHB1YmxpYyBPem9uZVBsYQorICAgICAgIHByb3BlcnRpZXMtPmFwcF9tb2RhbF9kaWFsb2dz X3VzZV9ldmVudF9ibG9ja2VyID0gdHJ1ZTsKKyAgICAgICBwcm9wZXJ0aWVzLT5mZXRjaF9idWZm ZXJfZm9ybWF0c19mb3JfZ21iX29uX2dwdSA9IHRydWU7CisgI2lmIEJVSUxERkxBRyhJU19MSU5V WCkKKy0gICAgICBwcm9wZXJ0aWVzLT5zdXBwb3J0c192YWFwaSA9IHRydWU7CisrICAgICAgcHJv cGVydGllcy0+c3VwcG9ydHNfdmFhcGlfeDExID0gdHJ1ZTsKKyAjZW5kaWYKKyAKKyAgICAgICBp bml0aWFsaXNlZCA9IHRydWU7CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41MzU5LjEyNC91aS9v em9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaC53YXlsYW5kLXZhYXBpIGNocm9taXVtLTEwOS4w LjUzNTkuMTI0L3VpL296b25lL3B1YmxpYy9vem9uZV9wbGF0Zm9ybS5oCistLS0gY2hyb21pdW0t MTA5LjAuNTM1OS4xMjQvdWkvb3pvbmUvcHVibGljL296b25lX3BsYXRmb3JtLmgud2F5bGFuZC12 YWFwaQkyMDIyLTEyLTE0IDAxOjQwOjE0LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjUzNTkuMTI0L3VpL296b25lL3B1YmxpYy9vem9uZV9wbGF0Zm9ybS5oCTIwMjMtMDEtMDUg MTA6MTM6MDguMjkzNDAzMjgxICswMTAwCitAQCAtMTQ1LDEyICsxNDUsMTMgQEAgY2xhc3MgQ09N UE9ORU5UX0VYUE9SVChPWk9ORSkgT3pvbmVQbGF0ZgorICAgICBib29sIGZldGNoX2J1ZmZlcl9m b3JtYXRzX2Zvcl9nbWJfb25fZ3B1ID0gZmFsc2U7CisgCisgI2lmIEJVSUxERkxBRyhJU19MSU5V WCkKKy0gICAgLy8gVE9ETyhjcmJ1Zy5jb20vMTExNjcwMSk6IGFkZCB2YWFwaSBzdXBwb3J0IGZv ciBvdGhlciBPem9uZSBwbGF0Zm9ybXMgb24KKy0gICAgLy8gTGludXguIEF0IHRoZSBtb21lbnQs IFZBLUFQSSBMaW51eCBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBvbmx5IFgxMQorLSAgICAvLyBi YWNrZW5kLiBUaGlzIGltcGxlbWVudGF0aW9uIG11c3QgYmUgcmVmYWN0b3JlZCB0byBzdXBwb3J0 IE96b25lCistICAgIC8vIHByb3Blcmx5LiBBcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiwgVkEtQVBJ IG9uIExpbnV4IGNoZWNrcyBpZiB2YWFwaSBpcworLSAgICAvLyBzdXBwb3J0ZWQgKHdoaWNoIGlt cGxpY2l0bHkgbWVhbnMgdGhhdCBpdCBpcyBPem9uZS9YMTEpLgorLSAgICBib29sIHN1cHBvcnRz X3ZhYXBpID0gZmFsc2U7CisrICAgIC8vIFZBLUFQSSBzdXBwb3J0cyBkaWZmZXJlbnQgZGlzcGxh eSBiYWNrZW5kcy4KKysgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9i bG9iL21hc3Rlci92YS92YV9iYWNrZW5kLmgKKysgICAgLy8KKysgICAgLy8gVkEvRFJNIGFuZCBW QS9YMTEgYXJlIHVzZWQgYnkgQ2hyb21pdW0gYXQgdGhlIG1vbWVudC4gQWxsIE96b25lIHBsYXRm b3JtcworKyAgICAvLyBzdXBwb3J0IFZBL0RSTSBieSBkZWZhdWx0LiBgc3VwcG9ydHNfdmFhcGlf eDExYCBpbmRpY2F0ZXMgaWYgVkEvWDExCisrICAgIC8vIHN1cHBvcnRlZDsgaXQgaXMgdHJ1ZSBv bmx5IG9uIE96b25lL1gxMSBwbGF0Zm9ybS4KKysgICAgYm9vbCBzdXBwb3J0c192YWFwaV94MTEg PSBmYWxzZTsKKyAjZW5kaWYKKyAKKyAgICAgLy8gSW5kaWNhdGVzIHRoYXQgdGhlIHBsYXRmb3Jt IGFsbG93cyBjbGllbnQgYXBwbGljYXRpb25zIHRvIG1hbmlwdWxhdGUKK2RpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2Nl bGVyYXRvcl91bml0dGVzdC5jYy5vcmlnIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvcl91bml0dGVzdC5jYworLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9h Y2NlbGVyYXRvcl91bml0dGVzdC5jYy5vcmlnCTIwMjMtMDEtMDQgMjA6MjA6MTguMDAwMDAwMDAw ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlf dmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yX3VuaXR0ZXN0LmNjCTIwMjMtMDEtMTEgMTQ6MzE6MDEu MDMzNDk2MTIxICswMTAwCitAQCAtMzksNiArMzksMTEgQEAgc3RydWN0IFRlc3RQYXJhbXMgewor ICAgYm9vbCBkZWNvZGVfdXNpbmdfY2xpZW50X3BpY3R1cmVfYnVmZmVyczsKKyB9OworIAorKyNp ZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKysvLyBUT0RPOiBBZGQgaXQgaW4g VGVzdFBhcmFtcyB0byBjb3ZlciBPem9uZS9XYXlsYW5kLgorK2Jvb2wga01heVVzZVZhYXBpT3Zl clgxMSA9IHRydWU7CisrI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gx MSkKKysKKyBjb25zdGV4cHIgaW50MzJfdCBrQml0c3RyZWFtSWQgPSAxMjM7CisgY29uc3RleHBy IHNpemVfdCBrSW5wdXRTaXplID0gMjU2OworIAorQEAgLTEzMSw3ICsxMzYsMTMgQEAgY2xhc3Mg TW9ja1ZhYXBpUGljdHVyZSA6IHB1YmxpYyBWYWFwaVBpYworIAorIGNsYXNzIE1vY2tWYWFwaVBp Y3R1cmVGYWN0b3J5IDogcHVibGljIFZhYXBpUGljdHVyZUZhY3RvcnkgeworICBwdWJsaWM6Cisr I2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorKyAgZXhwbGljaXQgTW9ja1Zh YXBpUGljdHVyZUZhY3RvcnkoYWJzbDo6b3B0aW9uYWw8Ym9vbD4gbWF5X3VzZV92YWFwaV9vdmVy X3gxMSkKKysgICAgICA6IFZhYXBpUGljdHVyZUZhY3RvcnkobWF5X3VzZV92YWFwaV9vdmVyX3gx MSkge30KKysjZWxzZQorICAgTW9ja1ZhYXBpUGljdHVyZUZhY3RvcnkoKSA9IGRlZmF1bHQ7Cisr I2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKysKKyAgIH5Nb2Nr VmFhcGlQaWN0dXJlRmFjdG9yeSgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAKKyAgIE1PQ0tfTUVU SE9EMyhNb2NrQ3JlYXRlVmFhcGlQaWN0dXJlLAorQEAgLTE2NSw3ICsxNzYsMTIgQEAgY2xhc3Mg VmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yVGVzdCA6CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sIGNhbl9iaW5kX3RvX3NhbXBsZXIpIHsgcmV0dXJuIHRydWU7IH0p KSwKKyAgICAgICAgIGRlY29kZXJfdGhyZWFkXygiVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9y VGVzdFRocmVhZCIpLAorICAgICAgICAgbW9ja19kZWNvZGVyXyhuZXcgOjp0ZXN0aW5nOjpTdHJp Y3RNb2NrPE1vY2tBY2NlbGVyYXRlZFZpZGVvRGVjb2Rlcj4pLAorKyNpZiBCVUlMREZMQUcoU1VQ UE9SVF9WQUFQSV9PVkVSX1gxMSkKKysgICAgICAgIG1vY2tfdmFhcGlfcGljdHVyZV9mYWN0b3J5 XygKKysgICAgICAgICAgICBuZXcgTW9ja1ZhYXBpUGljdHVyZUZhY3Rvcnkoa01heVVzZVZhYXBp T3ZlclgxMSkpLAorKyNlbHNlCisgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8o bmV3IE1vY2tWYWFwaVBpY3R1cmVGYWN0b3J5KCkpLAorKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNV UFBPUlRfVkFBUElfT1ZFUl9YMTEpCisgICAgICAgICBtb2NrX3ZhYXBpX3dyYXBwZXJfKG5ldyBN b2NrVmFhcGlXcmFwcGVyKFZhYXBpV3JhcHBlcjo6a0RlY29kZSkpLAorICAgICAgICAgbW9ja192 cHBfdmFhcGlfd3JhcHBlcl8obmV3IE1vY2tWYWFwaVdyYXBwZXIoVmFhcGlXcmFwcGVyOjprRGVj b2RlKSksCisgICAgICAgICB3ZWFrX3B0cl9mYWN0b3J5Xyh0aGlzKSB7CitAQCAtNDIxLDE0ICs0 MzcsMTYgQEAgVEVTVF9QKFZhYXBpVmlkZW9EZWNvZGVBY2NlbGVyYXRvclRlc3QsCisgICAgICAg ICAgICAgbW9ja192YWFwaV9waWN0dXJlX2ZhY3RvcnlfLT5HZXRWYWFwaUltcGxlbWVudGF0aW9u KAorICAgICAgICAgICAgICAgICBnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xHTEVTMikpOworIAor LSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKKy0gIEVYUEVDVF9FUShWYWFwaVBpY3R1cmVG YWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvbkFuZ2xlLAorLSAgICAgICAgICAgIG1vY2tfdmFh cGlfcGljdHVyZV9mYWN0b3J5Xy0+R2V0VmFhcGlJbXBsZW1lbnRhdGlvbigKKy0gICAgICAgICAg ICAgICAgZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdMQU5HTEUpKTsKKy0gIEVYUEVDVF9FUShWYWFw aVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvblgxMSwKKy0gICAgICAgICAgICBt b2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8tPkdldFZhYXBpSW1wbGVtZW50YXRpb24oCistICAg ICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1lbnRhdGlvbkRlc2t0b3BHTCkpOworLSNlbGlmIEJV SUxERkxBRyhJU19PWk9ORSkKKysjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEp CisrICBpZiAoa01heVVzZVZhYXBpT3ZlclgxMSkgeworKyAgICBFWFBFQ1RfRVEoVmFhcGlQaWN0 dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25BbmdsZSwKKysgICAgICAgICAgICAgIG1v Y2tfdmFhcGlfcGljdHVyZV9mYWN0b3J5Xy0+R2V0VmFhcGlJbXBsZW1lbnRhdGlvbigKKysgICAg ICAgICAgICAgICAgICBnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xBTkdMRSkpOworKyAgICBFWFBF Q1RfRVEoVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25YMTEsCisrICAg ICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8tPkdldFZhYXBpSW1wbGVtZW50 YXRpb24oCisrICAgICAgICAgICAgICAgICAgZ2w6OmtHTEltcGxlbWVudGF0aW9uRGVza3RvcEdM KSk7CisrICB9CisrI2Vsc2UKKyAgIEVYUEVDVF9FUShWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFh cGlJbXBsZW1lbnRhdGlvbkRybSwKKyAgICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFj dG9yeV8tPkdldFZhYXBpSW1wbGVtZW50YXRpb24oCisgICAgICAgICAgICAgICAgIGdsOjprR0xJ bXBsZW1lbnRhdGlvbkVHTEFOR0xFKSk7CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2Mub3JpZyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2MKKy0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2Zh Y3RvcnkuY2Mub3JpZwkyMDIzLTAxLTA0IDIwOjIwOjE4LjAwMDAwMDAwMCArMDEwMAorKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfZmFjdG9y eS5jYwkyMDIzLTAxLTExIDE0OjQ1OjM2LjQwNTUwNjQ3OSArMDEwMAorQEAgLTEzLDEwICsxMywx MCBAQAorICNpZiBCVUlMREZMQUcoSVNfT1pPTkUpCisgI2luY2x1ZGUgIm1lZGlhL2dwdS92YWFw aS92YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuaCIKKyAjZW5kaWYgIC8vIEJVSUxE RkxBRyhJU19PWk9ORSkKKy0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCisrI2lmIEJVSUxE RkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkv dmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX2FuZ2xlLmgiCisgI2luY2x1ZGUgIm1lZGlhL2dw dS92YWFwaS92YWFwaV9waWN0dXJlX3RmcC5oIgorLSNlbmRpZiAgLy8gQlVJTERGTEFHKFVTRV9W QUFQSV9YMTEpCisrI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkK KyAjaWYgZGVmaW5lZChVU0VfRUdMKQorICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlf cGljdHVyZV9uYXRpdmVfcGl4bWFwX2VnbC5oIgorICNlbmRpZgorQEAgLTQyLDIyICs0MiwzMiBA QAorIAorIH0gIC8vIG5hbWVzcGFjZQorIAorKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9P VkVSX1gxMSkKKytWYWFwaVBpY3R1cmVGYWN0b3J5OjpWYWFwaVBpY3R1cmVGYWN0b3J5KAorKyAg ICBhYnNsOjpvcHRpb25hbDxib29sPiBtYXlfdXNlX3ZhYXBpX292ZXJfeDExKQorKyAgICA6IG1h eV91c2VfdmFhcGlfb3Zlcl94MTFfKG1heV91c2VfdmFhcGlfb3Zlcl94MTEpIHsKKysjZWxzZQor IFZhYXBpUGljdHVyZUZhY3Rvcnk6OlZhYXBpUGljdHVyZUZhY3RvcnkoKSB7CisrI2VuZGlmICAg Ly8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCisgICB2YWFwaV9pbXBsX3BhaXJz Xy5pbnNlcnQoCisgICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdM R0xFUzIsCisgICAgICAgICAgICAgICAgICAgICAgVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBp SW1wbGVtZW50YXRpb25Ecm0pKTsKKy0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCistICB2 YWFwaV9pbXBsX3BhaXJzXy5pbnNlcnQoCistICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTElt cGxlbWVudGF0aW9uRUdMQU5HTEUsCistICAgICAgICAgICAgICAgICAgICAgVmFhcGlQaWN0dXJl RmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25BbmdsZSkpOworLSAgdmFhcGlfaW1wbF9wYWly c18uaW5zZXJ0KAorLSAgICAgIHN0ZDo6bWFrZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlvbkRl c2t0b3BHTCwKKy0gICAgICAgICAgICAgICAgICAgICBWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFh cGlJbXBsZW1lbnRhdGlvblgxMSkpOworLSNlbGlmIEJVSUxERkxBRyhJU19PWk9ORSkKKysKKysj aWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCisrICBDSEVDSyhtYXlfdXNlX3Zh YXBpX292ZXJfeDExXy5oYXNfdmFsdWUoKSk7CisrICBpZiAobWF5X3VzZV92YWFwaV9vdmVyX3gx MV8udmFsdWUoKSkgeworKyAgICB2YWFwaV9pbXBsX3BhaXJzXy5pbnNlcnQoCisrICAgICAgICBz dGQ6Om1ha2VfcGFpcihnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xBTkdMRSwKKysgICAgICAgICAg ICAgICAgICAgICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtWYWFwaUltcGxlbWVudGF0aW9uQW5n bGUpKTsKKysgICAgdmFhcGlfaW1wbF9wYWlyc18uaW5zZXJ0KAorKyAgICAgICAgc3RkOjptYWtl X3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRGVza3RvcEdMLAorKyAgICAgICAgICAgICAgICAg ICAgICAgVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25YMTEpKTsKKysg IH0KKysjZWxzZQorICAgdmFhcGlfaW1wbF9wYWlyc18uaW5zZXJ0KAorICAgICAgIHN0ZDo6bWFr ZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xFLAorICAgICAgICAgICAgICAgICAg ICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtWYWFwaUltcGxlbWVudGF0aW9uRHJtKSk7CistI2Vu ZGlmCisrI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKyAKKyAg IERldGVybWluZVBpY3R1cmVDcmVhdGlvbkFuZERvd25sb2FkaW5nTWVjaGFuaXNtKCk7CisgfQor QEAgLTk4LDE5ICsxMDgsMTkgQEAKKyB9CisgCisgdWludDMyX3QgVmFhcGlQaWN0dXJlRmFjdG9y eTo6R2V0R0xUZXh0dXJlVGFyZ2V0KCkgeworLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkK Ky0gIHJldHVybiBHTF9URVhUVVJFXzJEOworLSNlbHNlCisrI2lmIEJVSUxERkxBRyhJU19DSFJP TUVPUykKKyAgIHJldHVybiBHTF9URVhUVVJFX0VYVEVSTkFMX09FUzsKKy0jZW5kaWYKKysjZWxz ZQorKyAgcmV0dXJuIEdMX1RFWFRVUkVfMkQ7CisrI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hS T01FT1MpCisgfQorIAorIGdmeDo6QnVmZmVyRm9ybWF0IFZhYXBpUGljdHVyZUZhY3Rvcnk6Okdl dEJ1ZmZlckZvcm1hdCgpIHsKKy0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCistICByZXR1 cm4gZ2Z4OjpCdWZmZXJGb3JtYXQ6OlJHQlhfODg4ODsKKy0jZWxzZQorKyNpZiBCVUlMREZMQUco SVNfQ0hST01FT1MpCisgICByZXR1cm4gZ2Z4OjpCdWZmZXJGb3JtYXQ6OllVVl80MjBfQklQTEFO QVI7CistI2VuZGlmCisrI2Vsc2UKKysgIHJldHVybiBnZng6OkJ1ZmZlckZvcm1hdDo6UkdCWF84 ODg4OworKyNlbmRpZiAgLy8gQlVJTERGTEFHKElTX0NIUk9NRU9TKQorIH0KKyAKKyB2b2lkIFZh YXBpUGljdHVyZUZhY3Rvcnk6OkRldGVybWluZVBpY3R1cmVDcmVhdGlvbkFuZERvd25sb2FkaW5n TWVjaGFuaXNtKCkgeworQEAgLTExOCwyNSArMTI4LDMwIEBACisgI2lmIEJVSUxERkxBRyhJU19P Wk9ORSkKKyAgICAgLy8gV2UgY2FuIGJlIGNhbGxlZCB3aXRob3V0IEdMIGluaXRpYWxpemVkLCB3 aGljaCBpcyB2YWxpZCBpZiB3ZSB1c2UgT3pvbmUuCisgICAgIGNhc2Uga1ZhYXBpSW1wbGVtZW50 YXRpb25Ob25lOgorKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKysgICAg ICBEQ0hFQ0sobWF5X3VzZV92YWFwaV9vdmVyX3gxMV8udmFsdWVfb3IoZmFsc2UpKTsKKysjZW5k aWYKKyAgICAgICBjcmVhdGVfcGljdHVyZV9jYl8gPSBiYXNlOjpCaW5kUmVwZWF0aW5nKAorICAg ICAgICAgICAmQ3JlYXRlVmFhcGlQaWN0dXJlTmF0aXZlSW1wbDxWYWFwaVBpY3R1cmVOYXRpdmVQ aXhtYXBPem9uZT4pOworICAgICAgIG5lZWRzX3ZwcF9mb3JfZG93bmxvYWRpbmdfID0gdHJ1ZTsK KyAgICAgICBicmVhazsKKyAjZW5kaWYgIC8vIEJVSUxERkxBRyhJU19PWk9ORSkKKy0jaWYgQlVJ TERGTEFHKFVTRV9WQUFQSV9YMTEpCisrI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJf WDExKQorICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9uWDExOgorKyAgICAgIERDSEVDSyht YXlfdXNlX3ZhYXBpX292ZXJfeDExXy52YWx1ZV9vcihmYWxzZSkpOworICAgICAgIGNyZWF0ZV9w aWN0dXJlX2NiXyA9CisgICAgICAgICAgIGJhc2U6OkJpbmRSZXBlYXRpbmcoJkNyZWF0ZVZhYXBp UGljdHVyZU5hdGl2ZUltcGw8VmFhcGlURlBQaWN0dXJlPik7CisgICAgICAgLy8gTmVpdGhlciBW YWFwaVRGUFBpY3R1cmUgb3IgVmFhcGlQaWN0dXJlTmF0aXZlUGl4bWFwQW5nbGUgbmVlZHMgdGhl IFZQUC4KKyAgICAgICBuZWVkc192cHBfZm9yX2Rvd25sb2FkaW5nXyA9IGZhbHNlOworICAgICAg IGJyZWFrOworICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9uQW5nbGU6CisrICAgICAgRENI RUNLKG1heV91c2VfdmFhcGlfb3Zlcl94MTFfLnZhbHVlX29yKGZhbHNlKSk7CisgICAgICAgY3Jl YXRlX3BpY3R1cmVfY2JfID0gYmFzZTo6QmluZFJlcGVhdGluZygKKyAgICAgICAgICAgJkNyZWF0 ZVZhYXBpUGljdHVyZU5hdGl2ZUltcGw8VmFhcGlQaWN0dXJlTmF0aXZlUGl4bWFwQW5nbGU+KTsK KyAgICAgICAvLyBOZWl0aGVyIFZhYXBpVEZQUGljdHVyZSBvciBWYWFwaVBpY3R1cmVOYXRpdmVQ aXhtYXBBbmdsZSBuZWVkcyB0aGUgVlBQLgorICAgICAgIG5lZWRzX3ZwcF9mb3JfZG93bmxvYWRp bmdfID0gZmFsc2U7CisgICAgICAgYnJlYWs7CistI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZB QVBJX1gxMSkKKysjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQor ICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9uRHJtOgorICNpZiBCVUlMREZMQUcoSVNfT1pP TkUpCisgICAgICAgY3JlYXRlX3BpY3R1cmVfY2JfID0gYmFzZTo6QmluZFJlcGVhdGluZygKK2Rp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBw ZXIuY2Mub3JpZyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L21lZGlhL2dwdS92YWFwaS92YWFwaV93 cmFwcGVyLmNjCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9tZWRpYS9ncHUvdmFhcGkvdmFh cGlfd3JhcHBlci5jYy5vcmlnCTIwMjMtMDEtMDQgMjA6MjA6MTguMDAwMDAwMDAwICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5j YwkyMDIzLTAxLTExIDE1OjA4OjAyLjcyMTc2ODI0MyArMDEwMAorQEAgLTYyLDcgKzYyLDcgQEAK KyAjaW5jbHVkZSAidWkvZ2wvZ2xfYmluZGluZ3MuaCIKKyAjaW5jbHVkZSAidWkvZ2wvZ2xfaW1w bGVtZW50YXRpb24uaCIKKyAKKy0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCisrI2lmIEJV SUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorIHR5cGVkZWYgWElEIERyYXdhYmxlOwor IAorIGV4dGVybiAiQyIgeworQEAgLTcwLDcgKzcwLDcgQEAKKyB9CisgCisgI2luY2x1ZGUgInVp L2dmeC94L2Nvbm5lY3Rpb24uaCIgIC8vIG5vZ25jaGVjaworLSNlbmRpZiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKKysjZW5kaWYgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEp IAorIAorICNpZiBCVUlMREZMQUcoSVNfT1pPTkUpCisgI2luY2x1ZGUgInVpL296b25lL3B1Ymxp Yy9vem9uZV9wbGF0Zm9ybS5oIgorQEAgLTg0LDE0ICs4NCwxNCBAQAorIAorIHVzaW5nIG1lZGlh X2dwdV92YWFwaTo6a01vZHVsZVZhOworIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6a01vZHVsZVZh X2RybTsKKy0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCisrI2lmIEJVSUxERkxBRyhTVVBQ T1JUX1ZBQVBJX09WRVJfWDExKQorIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6a01vZHVsZVZhX3gx MTsKKy0jZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQorKyNlbmRpZiAgLy8gQlVJ TERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCisgdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJ bml0aWFsaXplU3R1YnM7CisgdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJc1ZhSW5pdGlhbGl6ZWQ7 CistI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQorKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9W QUFQSV9PVkVSX1gxMSkKKyB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OklzVmFfeDExSW5pdGlhbGl6 ZWQ7CistI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKKysjZW5kaWYgIC8vIEJV SUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6 SXNWYV9kcm1Jbml0aWFsaXplZDsKKyB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OlN0dWJQYXRoTWFw OworIAorQEAgLTY2OCw2ICs2NjgsMTIgQEAKKyAKKyAgIHZvaWQgU2V0RHJtRmQoYmFzZTo6UGxh dGZvcm1GaWxlIGZkKSB7IGRybV9mZF8ucmVzZXQoSEFORExFX0VJTlRSKGR1cChmZCkpKTsgfQor IAorKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKysgIGFic2w6Om9wdGlv bmFsPGJvb2w+IE1heVVzZVZhYXBpT3ZlclgxMSgpIGNvbnN0IHsKKysgICAgcmV0dXJuIG1heV91 c2VfdmFhcGlfb3Zlcl94MTFfOworKyAgfQorKyNlbmRpZgorKworICBwcml2YXRlOgorICAgZnJp ZW5kIGNsYXNzIGJhc2U6Ok5vRGVzdHJ1Y3RvcjxWQURpc3BsYXlTdGF0ZT47CisgCitAQCAtNjkw LDYgKzY5NiwxMyBAQAorICAgLy8gRHJtIGZkIHVzZWQgdG8gb2J0YWluIGFjY2VzcyB0byB0aGUg ZHJpdmVyIGludGVyZmFjZSBieSBWQS4KKyAgIGJhc2U6OlNjb3BlZEZEIGRybV9mZF87CisgCisr I2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorKyAgLy8gV2hldGhlciB3ZSds bCBiZSBwb3NzaWJseSB1c2luZyBWQS1BUEkgb3ZlciBPem9uZS9YMTEuIFRoaXMgc2hvdWxkIG9u bHkgYmUKKysgIC8vIHNldCAoaWYgYXQgYWxsKSBkdXJpbmcgdGhlIHByZS1zYW5kYm94IGluaXRp YWxpemF0aW9uLiBJZiBhYnNsOjpudWxsb3B0LAorKyAgLy8gYWxsIGNhbGxzIHRvIEluaXRpYWxp emUoKSB3aWxsIHJldHVybiBmYWxzZSBpbW1lZGlhdGVseS4KKysgIGFic2w6Om9wdGlvbmFsPGJv b2w+IG1heV91c2VfdmFhcGlfb3Zlcl94MTFfOworKyNlbmRpZgorKworICAgLy8gVGhlIFZBRGlz cGxheSBoYW5kbGUuIFZhbGlkIGJldHdlZW4gSW5pdGlhbGl6ZSgpIGFuZCBEZWluaXRpYWxpemUo KS4KKyAgIFZBRGlzcGxheSB2YV9kaXNwbGF5XzsKKyAKK0BAIC03MDgsNiArNzIxLDE1IEBACisg CisgLy8gc3RhdGljCisgdm9pZCBWQURpc3BsYXlTdGF0ZTo6UHJlU2FuZGJveEluaXRpYWxpemF0 aW9uKCkgeworKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKysgIGlmICh1 aTo6T3pvbmVQbGF0Zm9ybTo6SXNJbml0aWFsaXplZCgpKSB7CisrICAgIFZBRGlzcGxheVN0YXRl OjpHZXQoKS0+bWF5X3VzZV92YWFwaV9vdmVyX3gxMV8gPQorKyAgICAgICAgdWk6Ok96b25lUGxh dGZvcm06OkdldEluc3RhbmNlKCkKKysgICAgICAgICAgICAtPkdldFBsYXRmb3JtUHJvcGVydGll cygpCisrICAgICAgICAgICAgLnN1cHBvcnRzX3ZhYXBpX3gxMTsKKysgIH0KKysjZW5kaWYKKysK KyAgIGNvbnN0ZXhwciBjaGFyIGtSZW5kZXJOb2RlRmlsZVBhdHRlcm5bXSA9ICIvZGV2L2RyaS9y ZW5kZXJEJWQiOworICAgLy8gVGhpcyBsb29wIGVuZHMgb24gZWl0aGVyIHRoZSBmaXJzdCBjYXJk IHRoYXQgZG9lcyBub3QgZXhpc3Qgb3IgdGhlIGZpcnN0CisgICAvLyByZW5kZXIgbm9kZSB0aGF0 IGlzIG5vdCB2Z2VtLgorQEAgLTc0MCwyMCArNzYyLDE4IEBACisgYm9vbCBWQURpc3BsYXlTdGF0 ZTo6SW5pdGlhbGl6ZSgpIHsKKyAgIGJhc2U6OkF1dG9Mb2NrIGF1dG9fbG9jayh2YV9sb2NrXyk7 CisgCistI2lmIEJVSUxERkxBRyhJU19PWk9ORSkgJiYgQlVJTERGTEFHKElTX0xJTlVYKQorLSAg Ly8gVE9ETyhjcmJ1Zy5jb20vMTExNjcwMSk6IGFkZCB2YWFwaSBzdXBwb3J0IGZvciBvdGhlciBP em9uZSBwbGF0Zm9ybXMgb24KKy0gIC8vIExpbnV4LiBTZWUgY29tbWVudCBpbiBPem9uZVBsYXRm b3JtOjpQbGF0Zm9ybVByb3BlcnRpZXM6OnN1cHBvcnRzX3ZhYXBpCistICAvLyBmb3IgbW9yZSBk ZXRhaWxzLiBUaGlzIHdpbGwgYWxzbyByZXF1aXJlIHJldmlzaXRpbmcgZXZlcnl0aGluZyB0aGF0 J3MKKy0gIC8vIGd1YXJkZWQgYnkgVVNFX1ZBQVBJX1gxMS4gRm9yIGV4YW1wbGUsIGlmIFVTRV9W QUFQSV9YMTEgaXMgdHJ1ZSwgYnV0IHRoZQorLSAgLy8gdXNlciBjaG9vc2VzIHRoZSBXYXlsYW5k IGJhY2tlbmQgZm9yIE96b25lIGF0IHJ1bnRpbWUsIHRoZW4gbWFueSB0aGluZ3MgKGlmCistICAv LyBub3QgYWxsKSB0aGF0IHdlIGRvIGZvciBYMTEgd29uJ3QgYXBwbHkuCistICBpZiAoIXVpOjpP em9uZVBsYXRmb3JtOjpHZXRJbnN0YW5jZSgpLT5HZXRQbGF0Zm9ybVByb3BlcnRpZXMoKS5zdXBw b3J0c192YWFwaSkKKysjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCisrICBp ZiAoIW1heV91c2VfdmFhcGlfb3Zlcl94MTFfLmhhc192YWx1ZSgpKQorICAgICByZXR1cm4gZmFs c2U7CisgI2VuZGlmCisgCisgICBib29sIGxpYnJhcmllc19pbml0aWFsaXplZCA9IElzVmFJbml0 aWFsaXplZCgpICYmIElzVmFfZHJtSW5pdGlhbGl6ZWQoKTsKKy0jaWYgQlVJTERGTEFHKFVTRV9W QUFQSV9YMTEpCistICBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQgPSBsaWJyYXJpZXNfaW5pdGlhbGl6 ZWQgJiYgSXNWYV94MTFJbml0aWFsaXplZCgpOworKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQ SV9PVkVSX1gxMSkKKysgIC8vIEluaXRpYWxpemUgVkEtQVBJIFgxMSBkaXNwbGF5IGJhY2tlbmQg Zm9yIExpbnV4IE96b25lL1gxMS4KKysgIC8vIFNlZSBjb21tZW50IGluIE96b25lUGxhdGZvcm06 OlBsYXRmb3JtUHJvcGVydGllczo6c3VwcG9ydHNfdmFhcGlfeDExIGZvcgorKyAgLy8gbW9yZSBk ZXRhaWxzLgorKyAgaWYgKG1heV91c2VfdmFhcGlfb3Zlcl94MTFfLnZhbHVlKCkpCisrICAgIGxp YnJhcmllc19pbml0aWFsaXplZCA9IGxpYnJhcmllc19pbml0aWFsaXplZCAmJiBJc1ZhX3gxMUlu aXRpYWxpemVkKCk7CisgI2VuZGlmCisgICBpZiAoIWxpYnJhcmllc19pbml0aWFsaXplZCkKKyAg ICAgcmV0dXJuIGZhbHNlOworQEAgLTc2OCw3ICs3ODgsNyBAQAorICAgcmV0dXJuIHN1Y2Nlc3M7 CisgfQorIAorLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKKysjaWYgQlVJTERGTEFHKFNV UFBPUlRfVkFBUElfT1ZFUl9YMTEpCisgCisgYWJzbDo6b3B0aW9uYWw8VkFEaXNwbGF5PiBHZXRW QURpc3BsYXlTdGF0ZVgxMShjb25zdCBiYXNlOjpTY29wZWRGRCYgZHJtX2ZkKSB7CisgICBzd2l0 Y2ggKGdsOjpHZXRHTEltcGxlbWVudGF0aW9uKCkpIHsKK0BAIC03OTYsMTMgKzgxNiwxOSBAQAor ICAgfQorIH0KKyAKKy0jZWxzZQorKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElf T1ZFUl9YMTEpCisgCisgYWJzbDo6b3B0aW9uYWw8VkFEaXNwbGF5PiBHZXRWQURpc3BsYXlTdGF0 ZShjb25zdCBiYXNlOjpTY29wZWRGRCYgZHJtX2ZkKSB7CisgICBzd2l0Y2ggKGdsOjpHZXRHTElt cGxlbWVudGF0aW9uKCkpIHsKKyAgICAgY2FzZSBnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xHTEVT MjoKKysjaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TKQorKyAgICAvLyBHZXRWQURpc3BsYXlTdGF0 ZSgpIHNob3VsZCBub3QgZ2V0IGNhbGxlZCBvbiBMaW51eCB3aXRoIE96b25lL1gxMQorKyAgICAv LyAoR2V0VkFEaXNwbGF5U3RhdGVYMTEoKSBzaG91bGQgZ2V0IGNhbGxlZCBpbnN0ZWFkKSwgYW5k IHdlIGhhdmVuJ3QgdHJpZWQKKysgICAgLy8gVkEtQVBJIGRlY29kaW5nIG9uIExpbnV4IHdpdGgg T3pvbmUvV2F5bGFuZCBhbmQgYW55dGhpbmcgb3RoZXIgdGhhbgorKyAgICAvLyBuYXRpdmUgRUdM L0dMRVMyLgorICAgICBjYXNlIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xFOgorICAgICBj YXNlIGdsOjprR0xJbXBsZW1lbnRhdGlvbk5vbmU6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIHZh R2V0RGlzcGxheURSTShkcm1fZmQuZ2V0KCkpOworICAgICBkZWZhdWx0OgorICAgICAgIExPRyhX QVJOSU5HKSA8PCAiVkFBUEkgdmlkZW8gYWNjZWxlcmF0aW9uIG5vdCBhdmFpbGFibGUgZm9yICIK K0BAIC04MTIsMTggKzgzOCwyMyBAQAorICAgfQorIH0KKyAKKy0jZW5kaWYgIC8vIEJVSUxERkxB RyhVU0VfVkFBUElfWDExKQorLQorIGJvb2wgVkFEaXNwbGF5U3RhdGU6OkluaXRpYWxpemVWYURp c3BsYXlfTG9ja2VkKCkgeworLSAgYWJzbDo6b3B0aW9uYWw8VkFEaXNwbGF5PiBkaXNwbGF5ID0K Ky0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCistICAgICAgR2V0VkFEaXNwbGF5U3RhdGVY MTEoZHJtX2ZkXyk7CistI2Vsc2UKKy0gICAgICBHZXRWQURpc3BsYXlTdGF0ZShkcm1fZmRfKTsK Ky0jZW5kaWYKKysgIGFic2w6Om9wdGlvbmFsPFZBRGlzcGxheT4gZGlzcGxheTsKKyAKKy0gIGlm ICghZGlzcGxheSkKKy0gICAgcmV0dXJuIGZhbHNlOworKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9W QUFQSV9PVkVSX1gxMSkKKysgIERDSEVDSyhtYXlfdXNlX3ZhYXBpX292ZXJfeDExXy5oYXNfdmFs dWUoKSk7CisrICBpZiAobWF5X3VzZV92YWFwaV9vdmVyX3gxMV8udmFsdWUoKSkgeworKyAgICBk aXNwbGF5ID0gR2V0VkFEaXNwbGF5U3RhdGVYMTEoZHJtX2ZkXyk7CisrICAgIGlmICghZGlzcGxh eSkKKysgICAgICByZXR1cm4gZmFsc2U7CisrICB9CisrI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQ UE9SVF9WQUFQSV9PVkVSX1gxMSkKKysKKysgIGlmICghZGlzcGxheSkgeworKyAgICBkaXNwbGF5 ID0gR2V0VkFEaXNwbGF5U3RhdGUoZHJtX2ZkXyk7CisrICAgIGlmICghZGlzcGxheSkKKysgICAg ICByZXR1cm4gZmFsc2U7CisrICB9CisgCisgICB2YV9kaXNwbGF5XyA9ICpkaXNwbGF5OworICAg aWYgKCF2YURpc3BsYXlJc1ZhbGlkKHZhX2Rpc3BsYXlfKSkgeworQEAgLTE2NTYsNiArMTY4Nywx MyBAQAorICAgICAgICAgICAgICAgICBlbmZvcmNlX3NlcXVlbmNlX2FmZmluaXR5KTsKKyB9Cisg CisrI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorKy8vIHN0YXRpYworK2Fi c2w6Om9wdGlvbmFsPGJvb2w+IFZhYXBpV3JhcHBlcjo6TWF5VXNlVmFhcGlPdmVyWDExKCkgewor KyAgcmV0dXJuIFZBRGlzcGxheVN0YXRlOjpHZXQoKS0+TWF5VXNlVmFhcGlPdmVyWDExKCk7Cisr fQorKyNlbmRpZgorKworIC8vIHN0YXRpYworIHN0ZDo6dmVjdG9yPFNWQ1NjYWxhYmlsaXR5TW9k ZT4gVmFhcGlXcmFwcGVyOjpHZXRTdXBwb3J0ZWRTY2FsYWJpbGl0eU1vZGVzKAorICAgICBWaWRl b0NvZGVjUHJvZmlsZSBtZWRpYV9wcm9maWxlLAorQEAgLTI2NjUsMTIgKzI3MDMsMTMgQEAKKyAg IHJldHVybiBFeGVjdXRlX0xvY2tlZCh2YV9zdXJmYWNlX2lkLCB2YV9idWZmZXJfaWRzKTsKKyB9 CisgCistI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQorKyNpZiBCVUlMREZMQUcoU1VQUE9S VF9WQUFQSV9PVkVSX1gxMSkKKyBib29sIFZhYXBpV3JhcHBlcjo6UHV0U3VyZmFjZUludG9QaXht YXAoVkFTdXJmYWNlSUQgdmFfc3VyZmFjZV9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeDExOjpQaXhtYXAgeF9waXhtYXAsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdmeDo6U2l6ZSBkZXN0X3NpemUpIHsKKyAgIENIRUNLKCFl bmZvcmNlX3NlcXVlbmNlX2FmZmluaXR5XyB8fAorICAgICAgICAgc2VxdWVuY2VfY2hlY2tlcl8u Q2FsbGVkT25WYWxpZFNlcXVlbmNlKCkpOworKyAgQ0hFQ0soTWF5VXNlVmFhcGlPdmVyWDExKCku dmFsdWVfb3IoZmFsc2UpKTsKKyAgIGJhc2U6OkF1dG9Mb2NrTWF5YmUgYXV0b19sb2NrKHZhX2xv Y2tfLmdldCgpKTsKKyAKKyAgIFZBU3RhdHVzIHZhX3JlcyA9IHZhU3luY1N1cmZhY2UodmFfZGlz cGxheV8sIHZhX3N1cmZhY2VfaWQpOworQEAgLTI2ODQsNyArMjcyMyw3IEBACisgICBWQV9TVUND RVNTX09SX1JFVFVSTih2YV9yZXMsIFZhYXBpRnVuY3Rpb25zOjprVkFQdXRTdXJmYWNlLCBmYWxz ZSk7CisgICByZXR1cm4gdHJ1ZTsKKyB9CistI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJ X1gxMSkKKysjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQorIAor IHN0ZDo6dW5pcXVlX3B0cjxTY29wZWRWQUltYWdlPiBWYWFwaVdyYXBwZXI6OkNyZWF0ZVZhSW1h Z2UoCisgICAgIFZBU3VyZmFjZUlEIHZhX3N1cmZhY2VfaWQsCitAQCAtMzA4Niw3ICszMTI1LDcg QEAKKyAKKyAgIHBhdGhzW2tNb2R1bGVWYV0ucHVzaF9iYWNrKHN0ZDo6c3RyaW5nKCJsaWJ2YS5z by4iKSArIHZhX3N1ZmZpeCk7CisgICBwYXRoc1trTW9kdWxlVmFfZHJtXS5wdXNoX2JhY2soc3Rk OjpzdHJpbmcoImxpYnZhLWRybS5zby4iKSArIHZhX3N1ZmZpeCk7CistI2lmIEJVSUxERkxBRyhV U0VfVkFBUElfWDExKQorKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKyAg IHBhdGhzW2tNb2R1bGVWYV94MTFdLnB1c2hfYmFjayhzdGQ6OnN0cmluZygibGlidmEteDExLnNv LiIpICsgdmFfc3VmZml4KTsKKyAjZW5kaWYKKyAjaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TX0FT SCkKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBp X3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9vem9uZS5jYy5vcmlnIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9vem9uZS5jYwor LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVf bmF0aXZlX3BpeG1hcF9vem9uZS5jYy5vcmlnCTIwMjMtMDEtMTEgMjA6NDU6MTcuMzQ3OTQwNDI2 ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9tZWRpYS9ncHUvdmFhcGkvdmFhcGlf cGljdHVyZV9uYXRpdmVfcGl4bWFwX296b25lLmNjCTIwMjMtMDEtMTEgMjA6NDU6NTguMzE0Njcw NzUyICswMTAwCitAQCAtMTA5LDcgKzEwOSw3IEBACisgICB1aTo6T3pvbmVQbGF0Zm9ybSogcGxh dGZvcm0gPSB1aTo6T3pvbmVQbGF0Zm9ybTo6R2V0SW5zdGFuY2UoKTsKKyAgIHVpOjpTdXJmYWNl RmFjdG9yeU96b25lKiBmYWN0b3J5ID0gcGxhdGZvcm0tPkdldFN1cmZhY2VGYWN0b3J5T3pvbmUo KTsKKyAgIGdmeDo6QnVmZmVyVXNhZ2UgYnVmZmVyX3VzYWdlID0gZ2Z4OjpCdWZmZXJVc2FnZTo6 U0NBTk9VVF9WREFfV1JJVEU7CistI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQorKyNpZiBC VUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKKyAgIC8vIFRoZSAnVmFhcGlWaWRlb0Rl Y29kZUFjY2VsZXJhdG9yJyByZXF1aXJlcyB0aGUgVlBQIHRvIGRvd25sb2FkIHRoZSBkZWNvZGVk CisgICAvLyBmcmFtZSBmcm9tIHRoZSBpbnRlcm5hbCBzdXJmYWNlIHRvIHRoZSBhbGxvY2F0ZWQg bmF0aXZlIHBpeG1hcC4KKyAgIC8vICdTQ0FOT1VUX1ZEQV9XUklURScgaXMgdXNlZCBmb3IgJ1lV Vl80MjBfQklQTEFOQVInIG9uIENocm9tZU9TOyBGb3IgTGludXgsCgpkaWZmIC0tZ2l0IGEvY2hy b21pdW0tMTA5LXN5c3RlbS1taW5pemlwLWhlYWRlci1maXgucGF0Y2ggYi9jaHJvbWl1bS0xMDkt c3lzdGVtLW1pbml6aXAtaGVhZGVyLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5mMTdjN2ZhCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTA5LXN5c3Rl bS1taW5pemlwLWhlYWRlci1maXgucGF0Y2gKQEAgLTAsMCArMSw2NCBAQAorZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29y Zmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvbWV0YWRhdGFfZXh0cmFjdG9yLmNjLnN5c3Rl bS1taW5pemlwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBv cnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL21ldGFkYXRhX2V4dHJh Y3Rvci5jYworLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlX3N1 cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL21ldGFkYXRhX2V4 dHJhY3Rvci5jYy5zeXN0ZW0tbWluaXppcAkyMDIzLTAxLTA0IDIwOjIwOjM3LjAwMDAwMDAwMCAr MDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBv cnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL21ldGFkYXRhX2V4dHJh Y3Rvci5jYwkyMDIzLTAxLTA4IDE1OjQ4OjA4LjY1NDc5MzA4NiArMDEwMAorQEAgLTI3LDggKzI3 LDggQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgI2luY2x1ZGUgInRlbnNvcmZs b3dfbGl0ZV9zdXBwb3J0L2NjL3BvcnQvc3RhdHVzX21hY3Jvcy5oIgorICNpbmNsdWRlICJ0ZW5z b3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfcmVhZG9ubHlfbWVtX2Zp bGUuaCIKKyAjaW5jbHVkZSAidGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvbWV0YWRh dGFfc2NoZW1hX2dlbmVyYXRlZC5oIgorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS96bGliL2NvbnRy aWIvbWluaXppcC9pb2FwaS5oIgorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS96bGliL2NvbnRyaWIv bWluaXppcC91bnppcC5oIgorKyNpbmNsdWRlIDxtaW5pemlwL2lvYXBpLmg+CisrI2luY2x1ZGUg PG1pbml6aXAvdW56aXAuaD4KKyAKKyBuYW1lc3BhY2UgdGZsaXRlIHsKKyBuYW1lc3BhY2UgbWV0 YWRhdGEgeworZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90Zmxp dGVfc3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvbWV0YWRh dGFfcG9wdWxhdG9yLmNjLnN5c3RlbS1taW5pemlwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFk YXRhL2NjL21ldGFkYXRhX3BvcHVsYXRvci5jYworLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21l dGFkYXRhL2NjL21ldGFkYXRhX3BvcHVsYXRvci5jYy5zeXN0ZW0tbWluaXppcAkyMDIzLTAxLTA0 IDIwOjIwOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFk YXRhL2NjL21ldGFkYXRhX3BvcHVsYXRvci5jYwkyMDIzLTAxLTA4IDE1OjQ4OjA4LjY1NTc5MzA5 NyArMDEwMAorQEAgLTI2LDggKzI2LDggQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2Uu CisgI2luY2x1ZGUgInRlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L2NjL3BvcnQvc3RhdHVzb3IuaCIK KyAjaW5jbHVkZSAidGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlw X3dyaXRhYmxlX21lbV9maWxlLmgiCisgI2luY2x1ZGUgInRlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0 L21ldGFkYXRhL21ldGFkYXRhX3NjaGVtYV9nZW5lcmF0ZWQuaCIKKy0jaW5jbHVkZSAidGhpcmRf cGFydHkvemxpYi9jb250cmliL21pbml6aXAvaW9hcGkuaCIKKy0jaW5jbHVkZSAidGhpcmRfcGFy dHkvemxpYi9jb250cmliL21pbml6aXAvdW56aXAuaCIKKysjaW5jbHVkZSA8bWluaXppcC9pb2Fw aS5oPgorKyNpbmNsdWRlIDxtaW5pemlwL3ppcC5oPgorIAorIG5hbWVzcGFjZSB0ZmxpdGUgewor IG5hbWVzcGFjZSBtZXRhZGF0YSB7CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRh ZGF0YS9jYy91dGlscy96aXBfcmVhZG9ubHlfbWVtX2ZpbGUuY2Muc3lzdGVtLW1pbml6aXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29y Zmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlwX3JlYWRvbmx5X21lbV9maWxl LmNjCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9y dC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlwX3JlYWRv bmx5X21lbV9maWxlLmNjLnN5c3RlbS1taW5pemlwCTIwMjMtMDEtMDggMTU6NDg6MDguNjU1Nzkz MDk3ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGVf c3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlw X3JlYWRvbmx5X21lbV9maWxlLmNjCTIwMjMtMDEtMDggMTU6NTM6MTcuNDk4MzI5NjQwICswMTAw CitAQCAtMTksNyArMTksNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAjaW5j bHVkZSA8Y3N0ZGlvPgorIAorICNpbmNsdWRlICJhYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaCIg IC8vIGZyb20gQGNvbV9nb29nbGVfYWJzbAorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS96bGliL2Nv bnRyaWIvbWluaXppcC9pb2FwaS5oIgorKyNpbmNsdWRlIDxtaW5pemlwL2lvYXBpLmg+CisgCisg bmFtZXNwYWNlIHRmbGl0ZSB7CisgbmFtZXNwYWNlIG1ldGFkYXRhIHsKK2RpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZs b3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0aWxzL3ppcF93cml0YWJsZV9tZW1fZmlsZS5j Yy5zeXN0ZW0tbWluaXppcCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0 ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96 aXBfd3JpdGFibGVfbWVtX2ZpbGUuY2MKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0 YS9jYy91dGlscy96aXBfd3JpdGFibGVfbWVtX2ZpbGUuY2Muc3lzdGVtLW1pbml6aXAJMjAyMy0w MS0wNCAyMDoyMDozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9t ZXRhZGF0YS9jYy91dGlscy96aXBfd3JpdGFibGVfbWVtX2ZpbGUuY2MJMjAyMy0wMS0wOCAxNTo0 ODowOC42NTU3OTMwOTcgKzAxMDAKK0BAIC0xOSw3ICsxOSw3IEBAIGxpbWl0YXRpb25zIHVuZGVy IHRoZSBMaWNlbnNlLgorICNpbmNsdWRlIDxjc3RkaW8+CisgCisgI2luY2x1ZGUgImFic2wvc3Ry aW5ncy9zdHJpbmdfdmlldy5oIiAgLy8gZnJvbSBAY29tX2dvb2dsZV9hYnNsCistI2luY2x1ZGUg InRoaXJkX3BhcnR5L3psaWIvY29udHJpYi9taW5pemlwL2lvYXBpLmgiCisrI2luY2x1ZGUgPG1p bml6aXAvaW9hcGkuaD4KKyAKKyBuYW1lc3BhY2UgdGZsaXRlIHsKKyBuYW1lc3BhY2UgbWV0YWRh dGEgeworZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGVf c3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlw X3dyaXRhYmxlX21lbV9maWxlLmguc3lzdGVtLW1pbml6aXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQv bWV0YWRhdGEvY2MvdXRpbHMvemlwX3dyaXRhYmxlX21lbV9maWxlLmgKKy0tLSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xp dGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfd3JpdGFibGVfbWVtX2ZpbGUuaC5zeXN0 ZW0tbWluaXppcAkyMDIzLTAxLTA0IDIwOjIwOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZs b3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0aWxzL3ppcF93cml0YWJsZV9tZW1fZmlsZS5o CTIwMjMtMDEtMDggMTU6NDg6MDguNjU1NzkzMDk3ICswMTAwCitAQCAtMTksNyArMTksNyBAQCBs aW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAjaW5jbHVkZSA8Y3N0ZGxpYj4KKyAKKyAj aW5jbHVkZSAiYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgiICAvLyBmcm9tIEBjb21fZ29vZ2xl X2Fic2wKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvemxpYi9jb250cmliL21pbml6aXAvaW9hcGku aCIKKysjaW5jbHVkZSA8bWluaXppcC9pb2FwaS5oPgorIAorIG5hbWVzcGFjZSB0ZmxpdGUgewor IG5hbWVzcGFjZSBtZXRhZGF0YSB7CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tODQuMC40MTQ3LjEy NS1pNjg2LWZpeF90ZXh0cmVscy5wYXRjaCBiL2Nocm9taXVtLTg0LjAuNDE0Ny4xMjUtaTY4Ni1m aXhfdGV4dHJlbHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwZmQ1ZWMu LjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tODQuMC40MTQ3LjEyNS1pNjg2LWZpeF90ZXh0cmVscy5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTg0 LjAuNDE0Ny4xMjUvdGhpcmRfcGFydHkvZmZtcGVnL0JVSUxELmduLmk2ODYtdGV4dHJlbHMgY2hy b21pdW0tODQuMC40MTQ3LjEyNS90aGlyZF9wYXJ0eS9mZm1wZWcvQlVJTEQuZ24KLS0tLSBjaHJv bWl1bS04NC4wLjQxNDcuMTI1L3RoaXJkX3BhcnR5L2ZmbXBlZy9CVUlMRC5nbi5pNjg2LXRleHRy ZWxzCTIwMjAtMDgtMTcgMDk6MzM6NTMuMTUzNjUzNzQxIC0wNDAwCi0rKysgY2hyb21pdW0tODQu MC40MTQ3LjEyNS90aGlyZF9wYXJ0eS9mZm1wZWcvQlVJTEQuZ24JMjAyMC0wOC0xNyAwOTozNDoy NS4wOTk1NjQ2NjkgLTA0MDAKLUBAIC02OCw3ICs2OCw3IEBAIGlmIChoYXNfbmFzbV9kZXBzKSB7 Ci0gICAgIH0KLSAKLSAgICAgIyBTZWUgY29tbWVudHMgb24gZml4X3RleHRyZWxzIGNvbmZpZy4K LS0gICAgaWYgKHVzZV9sbGQgJiYgY3VycmVudF9jcHUgPT0gIng4NiIgJiYgIWlzX3dpbikgewot KyAgICBpZiAoY3VycmVudF9jcHUgPT0gIng4NiIgJiYgIWlzX3dpbikgewotICAgICAgIGFsbF9k ZXBlbmRlbnRfY29uZmlncyA9IFsgIjpmaXhfdGV4dHJlbHMiIF0KLSAgICAgfQotICAgfQoKZGlm ZiAtLWdpdCBhL2Nocm9taXVtLTk4LjAuNDc1OC44MC1yZW1vdGluZy1jc3RyaW5nLnBhdGNoIGIv Y2hyb21pdW0tOTguMC40NzU4LjgwLXJlbW90aW5nLWNzdHJpbmcucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDVjOTY5MjEuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tOTguMC40 NzU4LjgwLXJlbW90aW5nLWNzdHJpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCww IEBACi1kaWZmIC11cCBjaHJvbWl1bS05OC4wLjQ3NTguODAvcmVtb3RpbmcvYmFzZS91dGlsLmNj LnJlbW90aW5nLWNzdHJpbmcgY2hyb21pdW0tOTguMC40NzU4LjgwL3JlbW90aW5nL2Jhc2UvdXRp bC5jYwotLS0tIGNocm9taXVtLTk4LjAuNDc1OC44MC9yZW1vdGluZy9iYXNlL3V0aWwuY2MucmVt b3RpbmctY3N0cmluZwkyMDIyLTAyLTAxIDAwOjQxOjU0LjAwMDAwMDAwMCArMDAwMAotKysrIGNo cm9taXVtLTk4LjAuNDc1OC44MC9yZW1vdGluZy9iYXNlL3V0aWwuY2MJMjAyMi0wMi0wMiAxNTo1 NTowMS4zNTIzNDA5MDEgKzAwMDAKLUBAIC00LDYgKzQsNyBAQAotIAotICNpbmNsdWRlICJyZW1v dGluZy9iYXNlL3V0aWwuaCIKLSAKLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSAjaW5jbHVkZSA8bWF0 aC5oPgotIAotICNpbmNsdWRlICJiYXNlL2xvZ2dpbmcuaCIKLWRpZmYgLXVwIGNocm9taXVtLTk4 LjAuNDc1OC44MC9yZW1vdGluZy9jbGllbnQvZGlzcGxheS9nbF9oZWxwZXJzLmNjLnJlbW90aW5n LWNzdHJpbmcgY2hyb21pdW0tOTguMC40NzU4LjgwL3JlbW90aW5nL2NsaWVudC9kaXNwbGF5L2ds X2hlbHBlcnMuY2MKLS0tLSBjaHJvbWl1bS05OC4wLjQ3NTguODAvcmVtb3RpbmcvY2xpZW50L2Rp c3BsYXkvZ2xfaGVscGVycy5jYy5yZW1vdGluZy1jc3RyaW5nCTIwMjItMDItMDEgMDA6NDE6NTQu MDAwMDAwMDAwICswMDAwCi0rKysgY2hyb21pdW0tOTguMC40NzU4LjgwL3JlbW90aW5nL2NsaWVu dC9kaXNwbGF5L2dsX2hlbHBlcnMuY2MJMjAyMi0wMi0wMiAxNTo1NTowMS4zNTMzNDA4NTQgKzAw MDAKLUBAIC01LDYgKzUsNyBAQAotICNpbmNsdWRlICJyZW1vdGluZy9jbGllbnQvZGlzcGxheS9n bF9oZWxwZXJzLmgiCi0gCi0gI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgotKyNpbmNsdWRlIDxj c3RyaW5nPgotIAotIG5hbWVzcGFjZSByZW1vdGluZyB7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS05 OC4wLjQ3NTguODAvcmVtb3RpbmcvaG9zdC9mYWtlX21vdXNlX2N1cnNvcl9tb25pdG9yLmNjLnJl bW90aW5nLWNzdHJpbmcgY2hyb21pdW0tOTguMC40NzU4LjgwL3JlbW90aW5nL2hvc3QvZmFrZV9t b3VzZV9jdXJzb3JfbW9uaXRvci5jYwotLS0tIGNocm9taXVtLTk4LjAuNDc1OC44MC9yZW1vdGlu Zy9ob3N0L2Zha2VfbW91c2VfY3Vyc29yX21vbml0b3IuY2MucmVtb3RpbmctY3N0cmluZwkyMDIy LTAyLTAxIDAwOjQxOjU0LjAwMDAwMDAwMCArMDAwMAotKysrIGNocm9taXVtLTk4LjAuNDc1OC44 MC9yZW1vdGluZy9ob3N0L2Zha2VfbW91c2VfY3Vyc29yX21vbml0b3IuY2MJMjAyMi0wMi0wMiAx NTo1NTowMS4zNTMzNDA4NTQgKzAwMDAKLUBAIC00LDYgKzQsNyBAQAotIAotICNpbmNsdWRlICJy ZW1vdGluZy9ob3N0L2Zha2VfbW91c2VfY3Vyc29yX21vbml0b3IuaCIKLSAKLSsjaW5jbHVkZSA8 Y3N0cmluZz4KLSAjaW5jbHVkZSA8bWVtb3J5PgotIAotICNpbmNsdWRlICJiYXNlL2NoZWNrLmgi Ci1kaWZmIC11cCBjaHJvbWl1bS05OC4wLjQ3NTguODAvcmVtb3RpbmcvaG9zdC9ob3N0X2NvbmZp Z191bml0dGVzdC5jYy5yZW1vdGluZy1jc3RyaW5nIGNocm9taXVtLTk4LjAuNDc1OC44MC9yZW1v dGluZy9ob3N0L2hvc3RfY29uZmlnX3VuaXR0ZXN0LmNjCi0tLS0gY2hyb21pdW0tOTguMC40NzU4 LjgwL3JlbW90aW5nL2hvc3QvaG9zdF9jb25maWdfdW5pdHRlc3QuY2MucmVtb3RpbmctY3N0cmlu ZwkyMDIyLTAyLTAyIDE1OjU1OjAxLjM1MzM0MDg1NCArMDAwMAotKysrIGNocm9taXVtLTk4LjAu NDc1OC44MC9yZW1vdGluZy9ob3N0L2hvc3RfY29uZmlnX3VuaXR0ZXN0LmNjCTIwMjItMDItMDIg MTU6NTc6MjAuMjk1Nzk0MTcyICswMDAwCi1AQCAtMTAsNiArMTAsNyBAQAotICNpbmNsdWRlICJi YXNlL3ZhbHVlcy5oIgotICNpbmNsdWRlICJ0ZXN0aW5nL2d0ZXN0L2luY2x1ZGUvZ3Rlc3QvZ3Rl c3QuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3R5cGVzL29wdGlv bmFsLmgiCi0rI2luY2x1ZGUgPGNzdHJpbmc+Ci0gCi0gbmFtZXNwYWNlIHJlbW90aW5nIHsKLSAK LWRpZmYgLXVwIGNocm9taXVtLTk4LjAuNDc1OC44MC9yZW1vdGluZy9ob3N0L2hvc3Rfc2VjcmV0 LmNjLnJlbW90aW5nLWNzdHJpbmcgY2hyb21pdW0tOTguMC40NzU4LjgwL3JlbW90aW5nL2hvc3Qv aG9zdF9zZWNyZXQuY2MKLS0tLSBjaHJvbWl1bS05OC4wLjQ3NTguODAvcmVtb3RpbmcvaG9zdC9o b3N0X3NlY3JldC5jYy5yZW1vdGluZy1jc3RyaW5nCTIwMjItMDItMDEgMDA6NDE6NTQuMDAwMDAw MDAwICswMDAwCi0rKysgY2hyb21pdW0tOTguMC40NzU4LjgwL3JlbW90aW5nL2hvc3QvaG9zdF9z ZWNyZXQuY2MJMjAyMi0wMi0wMiAxNTo1NTowMS4zNTMzNDA4NTQgKzAwMDAKLUBAIC02LDcgKzYs NyBAQAotIAotICNpbmNsdWRlIDxzdGRpbnQuaD4KLSAKLS0jaW5jbHVkZSA8c3RyaW5nPgotKyNp bmNsdWRlIDxjc3RyaW5nPgotIAotICNpbmNsdWRlICJiYXNlL3JhbmRfdXRpbC5oIgotICNpbmNs dWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX251bWJlcl9jb252ZXJzaW9ucy5oIgoKZGlmZiAtLWdp dCBhL2Nocm9taXVtLnNwZWMgYi9jaHJvbWl1bS5zcGVjCmluZGV4IDU0ZmE3OTAuLjAyYjVmM2Qg MTAwNjQ0Ci0tLSBhL2Nocm9taXVtLnNwZWMKKysrIGIvY2hyb21pdW0uc3BlYwpAQCAtNywxMyAr NywxMyBAQAogJWVuZGlmCiAKICVnbG9iYWwgbnVtam9icyAxMAotJWlmYXJjaCBhYXJjaDY0IGk2 ODYKKyVpZmFyY2ggYWFyY2g2NAogJWdsb2JhbCBudW1qb2JzIDgKICVlbmRpZgogCiAjIFRoaXMg ZmxhZyBpcyBzbyBJIGNhbiBidWlsZCB0aGluZ3MgdmVyeSBmYXN0IG9uIGEgZ2lhbnQgc3lzdGVt LgogIyBFbmFibGluZyB0aGlzIGluIGtvamkgY2F1c2VzIGFhcmNoNjQgYnVpbGRzIHRvIHRpbWVv dXQgaW5kZWZpbml0ZWx5LgotJWdsb2JhbCB1c2VfYWxsX2NwdXMgMAorJWdsb2JhbCB1c2VfYWxs X2NwdXMgMQogCiAlaWYgJXt1c2VfYWxsX2NwdXN9CiAlZ2xvYmFsIG51bWpvYnMgJXtfc21wX2J1 aWxkX25jcHVzfQpAQCAtMzAsNyArMzAsNyBAQAogCW5pbmphIC1qICV7bnVtam9ic30gLUMgJyUx JyAnJTInCiAKICMgZW5hYmxlfGRpc2FibGUgaGVhZGxlc3MgY2xpZW50IGJ1aWxkCi0lZ2xvYmFs IGJ1aWxkX2hlYWRsZXNzIDEKKyVnbG9iYWwgYnVpbGRfaGVhZGxlc3MgMAogCiAjIGVuYWJsZXxk aXNhYmxlIGNocm9tZS1yZW1vdGUtZGVza3RvcCBidWlsZAogJWdsb2JhbCBidWlsZF9yZW1vdGlu ZyAwCkBAIC0xMTEsMTQgKzExMSw5IEBACiAjIGVuYWJsZSBzeXN0ZW0gYnJvdGxpCiAlZ2xvYmFs IGJ1bmRsZWJyb3RsaSAwCiAKLSVpZiAwCiAjIENocm9taXVtJ3MgZm9yayBvZiBJQ1UgaXMgbm93 IHNvbWV0aGluZyB3ZSBjYW4ndCB1bmJ1bmRsZS4KICMgVGhpcyBpcyBsZWZ0IGhlcmUgdG8gZWFz ZSB0aGUgY2hhbmdlIGlmIHRoYXQgZXZlciBzd2l0Y2hlcy4KLUJ1aWxkUmVxdWlyZXM6IGxpYmlj dS1kZXZlbCA+PSA1LjQKLSVnbG9iYWwgYnVuZGxlaWN1IDAKLSVlbHNlCiAlZ2xvYmFsIGJ1bmRs ZWljdSAxCi0lZW5kaWYKIAogJWdsb2JhbCBidW5kbGVyZTIgMQogCkBAIC0yMTUsOCArMjEwLDgg QEAgQnVpbGRSZXF1aXJlczogbGliaWN1LWRldmVsID49IDUuNAogJWVuZGlmCiAKIE5hbWU6CWNo cm9taXVtJXtjaHJvbWl1bV9jaGFubmVsfQotVmVyc2lvbjogMTA4LjAuNTM1OS4xMjQKLVJlbGVh c2U6IDUlez9kaXN0fQorVmVyc2lvbjogMTA5LjAuNTQxNC43NAorUmVsZWFzZTogMSV7P2Rpc3R9 CiBTdW1tYXJ5OiBBIFdlYktpdCAoQmxpbmspIHBvd2VyZWQgd2ViIGJyb3dzZXIgdGhhdCBHb29n bGUgZG9lc24ndCB3YW50IHlvdSB0byB1c2UKIFVybDogaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcv SG9tZQogTGljZW5zZTogQlNEIGFuZCBMR1BMdjIrIGFuZCBBU0wgMi4wIGFuZCBJSkcgYW5kIE1J VCBhbmQgR1BMdjIrIGFuZCBJU0MgYW5kIE9wZW5TU0wgYW5kIChNUEx2MS4xIG9yIEdQTHYyIG9y IExHUEx2MikKQEAgLTI1NiwzOCArMjUxLDMyIEBAIFBhdGNoMTE6IGNocm9taXVtLTkzLjAuNDU3 Ny42My1weTMtYm9vdHN0cmFwLnBhdGNoCiBQYXRjaDEyOiBjaHJvbWl1bS0xMDEuMC40OTUxLjQx LWZlZG9yYS11c2VyLWFnZW50LnBhdGNoCiAKICMgTmVlZHMgdG8gYmUgc3VibWl0dGVkLi4KLVBh dGNoNTE6CWNocm9taXVtLTk2LjAuNDY2NC40NS1nY2MtcmVtb3RpbmctY29uc3RleHByLnBhdGNo CitQYXRjaDUxOiBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUtZ2NjLXJlbW90aW5nLWNvbnN0ZXhwci5w YXRjaAogCiAjIGh0dHBzOi8vZ2l0d2ViLmdlbnRvby5vcmcvcmVwby9nZW50b28uZ2l0L3RyZWUv d3d3LWNsaWVudC9jaHJvbWl1bS9maWxlcy9jaHJvbWl1bS11bmJ1bmRsZS16bGliLnBhdGNoCi1Q YXRjaDUyOgljaHJvbWl1bS04MS4wLjQwNDQuOTItdW5idW5kbGUtemxpYi5wYXRjaAorUGF0Y2g1 MjogY2hyb21pdW0tODEuMC40MDQ0LjkyLXVuYnVuZGxlLXpsaWIucGF0Y2gKIAogIyAuLi8uLi90 aGlyZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3BlcmZldHRvL2Jhc2UvdGFza19ydW5uZXIuaDo0 ODo1NTogZXJyb3I6ICd1aW50MzJfdCcgaGFzIG5vdCBiZWVuIGRlY2xhcmVkCi1QYXRjaDU2Oglj aHJvbWl1bS05Ni4wLjQ2NjQuNDUtbWlzc2luZy1jc3RkaW50LWhlYWRlci5wYXRjaAorUGF0Y2g1 NjogY2hyb21pdW0tOTYuMC40NjY0LjQ1LW1pc3NpbmctY3N0ZGludC1oZWFkZXIucGF0Y2gKIAog IyBNaXNzaW5nIDxjc3RyaW5nPiAodGhhbmtzIGMrKzE3KQotUGF0Y2g1NzoJY2hyb21pdW0tOTYu MC40NjY0LjQ1LW1pc3NpbmctY3N0cmluZy5wYXRjaAorUGF0Y2g1NzogY2hyb21pdW0tOTYuMC40 NjY0LjQ1LW1pc3NpbmctY3N0cmluZy5wYXRjaAogCiAjIGh0dHBzOi8vZ2l0aHViLmNvbS9zdGhh MDkvY2hyb21pdW0tcGF0Y2hlcy9ibG9iL21hc3Rlci9jaHJvbWl1bS0xMDMtVmlydHVhbEN1cnNv ci1zdGQtbGF5b3V0LnBhdGNoCi1QYXRjaDU5OgljaHJvbWl1bS0xMDMtVmlydHVhbEN1cnNvci1z dGQtbGF5b3V0LnBhdGNoCitQYXRjaDU5OiBjaHJvbWl1bS0xMDMtVmlydHVhbEN1cnNvci1zdGQt bGF5b3V0LnBhdGNoCiAKICMgRml4IGhlYWRlcnMgdG8gbG9vayBmb3Igc3lzdGVtIHBhdGhzIHdo ZW4gd2UgYXJlIHVzaW5nIHN5c3RlbSBtaW5pemlwCi1QYXRjaDYxOgljaHJvbWl1bS0xMDcuMC41 MzA0LjEwMS1zeXN0ZW0tbWluaXppcC1oZWFkZXItZml4LnBhdGNoCitQYXRjaDYxOiBjaHJvbWl1 bS0xMDktc3lzdGVtLW1pbml6aXAtaGVhZGVyLWZpeC5wYXRjaAogCiAjIFVwZGF0ZSBidW5kbGVk IGNvcHkgb2Ygd2F5bGFuZC1jbGllbnQtY29yZS5oCi1QYXRjaDYyOgljaHJvbWl1bS0xMDUuMC41 MTk1LjUyLXVwZGF0ZS13YXlsYW5kLWNsaWVudC1jb3JlLnBhdGNoCitQYXRjaDYyOiBjaHJvbWl1 bS0xMDUuMC41MTk1LjUyLXVwZGF0ZS13YXlsYW5kLWNsaWVudC1jb3JlLnBhdGNoCiAKICMgRml4 IGlzc3VlIHdoZXJlIGNsb3N1cmVfY29tcGlsZXIgdGhpbmtzIGphdmEgaXMgb25seSBhbGxvd2Vk IGluIGFuZHJvaWQgYnVpbGRzCiAjIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1 bS9pc3N1ZXMvZGV0YWlsP2lkPTExOTI4NzUKLVBhdGNoNjU6CWNocm9taXVtLTkxLjAuNDQ3Mi43 Ny1qYXZhLW9ubHktYWxsb3dlZC1pbi1hbmRyb2lkLWJ1aWxkcy5wYXRjaAotCi0jIEZpeCBtaXNz aW5nIGNzdHJpbmcgaW4gcmVtb3RpbmcgY29kZQotUGF0Y2g2NzoJY2hyb21pdW0tOTguMC40NzU4 LjgwLXJlbW90aW5nLWNzdHJpbmcucGF0Y2gKLQotIyBBcHBseSBmaXhfdGV4dHJlbHMgaGFjayBm b3IgaTY4NiAoZXZlbiB3aXRob3V0IGxsZCkKLVBhdGNoNjg6CWNocm9taXVtLTg0LjAuNDE0Ny4x MjUtaTY4Ni1maXhfdGV4dHJlbHMucGF0Y2gKK1BhdGNoNjU6IGNocm9taXVtLTkxLjAuNDQ3Mi43 Ny1qYXZhLW9ubHktYWxsb3dlZC1pbi1hbmRyb2lkLWJ1aWxkcy5wYXRjaAogCiAjIFVwZGF0ZSBy anNtaW4gdG8gMS4yLjAKLVBhdGNoNjk6CWNocm9taXVtLTEwMy4wLjUwNjAuNTMtdXBkYXRlLXJq c21pbi10by0xLjIuMC5wYXRjaAorUGF0Y2g2OTogY2hyb21pdW0tMTAzLjAuNTA2MC41My11cGRh dGUtcmpzbWluLXRvLTEuMi4wLnBhdGNoCiAKICMgVXBkYXRlIHNpeCB0byAxLjE2LjAKIFBhdGNo NzA6CWNocm9taXVtLTEwNS4wLjUxOTUuNTItcHl0aG9uLXNpeC0xLjE2LjAucGF0Y2gKQEAgLTMx OCw3ICszMDcsNyBAQCBQYXRjaDg5OiBjaHJvbWl1bS0xMDgtc3lzdGVtLWJyb3RsaS5wYXRjaAog CiAjIGRpc2FibGUgR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AgdG8gYXZvaWQgY3Jh c2gKICMgd2hlbiB1c2luZyB0aGUgYWRkcmVzcyBiYXIgbWVkaWEgcGxheWVyIGJ1dHRvbgotUGF0 Y2g5MDogY2hyb21pdW0tMTA4LWRpc2FibGUtR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0 b3AucGF0Y2gKK1BhdGNoOTA6IGNocm9taXVtLTEwOS1kaXNhYmxlLUdsb2JhbE1lZGlhQ29udHJv bHNDYXN0U3RhcnRTdG9wLnBhdGNoCiAKICMgcGF0Y2ggZm9yIHVzaW5nIHN5c3RlbSBvcHVzCiBQ YXRjaDkxOiBjaHJvbWl1bS0xMDgtc3lzdGVtLW9wdXMucGF0Y2gKQEAgLTM2MSw5ICszNTAsNiBA QCBQYXRjaDEwNzogY2hyb21pdW0tOTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvcj09LnBh dGNoCiAjIEFBUkNINjQgbmVvbiBzeW1ib2xzIG5lZWQgdG8gYmUgcHJlZml4ZWQgdG9vIHRvIHBy ZXZlbnQgbXVsdGlwbGUgZGVmaW5pdGlvbiBpc3N1ZSBhdCBsaW5rdGltZQogUGF0Y2gxMTA6IGNo cm9taXVtLTkwLjAuNDQzMC45My1lcGVsOC1hYXJjaDY0LWxpYnBuZzE2LXN5bWJvbC1wcmVmaXhl cy5wYXRjaAogCi0jIG1lbXNldCB3YXMgbm90IGRlY2xhcmVkIGluIHRoaXMgc2NvcGUKLVBhdGNo MTEzOiBjaHJvbWl1bS0xMDcuMC41MzA0LjExMC1jc3RyaW5nLW1lbXNldC5wYXRjaAotCiAjIHN5 c3RlbSBmZm1wZWcKIFBhdGNoMTE0OiBjaHJvbWl1bS0xMDctZmZtcGVnLWR1cmF0aW9uLnBhdGNo CiBQYXRjaDExNTogY2hyb21pdW0tMTA3LXByb3ByaWV0YXJ5LWNvZGVjcy5wYXRjaApAQCAtMzc0 LDcgKzM2MCw3IEBAIFBhdGNoMTE3OiBjaHJvbWl1bS0xMDgtZmZtcGVnLXJldmVydC1uZXctY2hh bm5lbC1sYXlvdXQtYXBpLnBhdGNoCiAKICMgY2xhbmcgPTwgMTQgYW5kIEMrKzIwLCBsaW5rZXIg ZXJyb3JzIHN0ZDo6dTE2c3RyaW5nCiAjIGJ1aWxkIGZhaWx1cmUgb24gcmhlbCBhbmQgZmVkb3Jh IDM2Ci1QYXRjaDEyMDogY2hyb21pdW0tMTA4LWNsYW5nMTQtYysrMjAtbGluay1lcnJvci5wYXRj aAorUGF0Y2gxMjA6IGNocm9taXVtLTEwOS1jbGFuZzE0LWMrKzIwLWxpbmstZXJyb3IucGF0Y2gK IAogIyBlbmFibGUgUXQKIFBhdGNoMTIxOiBjaHJvbWl1bS0xMDgtZW5hYmxlLWFsbG93cXQucGF0 Y2gKQEAgLTM4Myw4ICszNjksNyBAQCBQYXRjaDEyMTogY2hyb21pdW0tMTA4LWVuYWJsZS1hbGxv d3F0LnBhdGNoCiAjIFVwc3RyZWFtIHR1cm5lZCBWQUFQSSBvbiBpbiBMaW51eCBpbiA4NgogUGF0 Y2gyMDI6IGNocm9taXVtLTEwNC4wLjUxMTIuMTAxLWVuYWJsZS1oYXJkd2FyZS1hY2NlbGVyYXRl ZC1tanBlZy5wYXRjaAogUGF0Y2gyMDU6IGNocm9taXVtLTg2LjAuNDI0MC43NS1maXgtdmFhcGkt b24taW50ZWwucGF0Y2gKLVBhdGNoMjA2OiBjaHJvbWl1bS0xMDgtb3pvbmUtd2F5bGFuZC12YWFw aS1zdXBwb3J0LnBhdGNoCi1QYXRjaDIwNzogY2hyb21pdW0tMTA4LXZhYXBpLWd1YXJkLXZhYXBp dmlkZW9kZWNvZGVyLnBhdGNoCitQYXRjaDIwNjogY2hyb21pdW0tMTA5LW96b25lLXdheWxhbmQt dmFhcGktc3VwcG9ydC5wYXRjaAogCiAjIEFwcGx5IHRoZXNlIHBhdGNoZXMgdG8gd29yayBhcm91 bmQgRVBFTDggaXNzdWVzCiBQYXRjaDMwMDogY2hyb21pdW0tOTkuMC40ODQ0LjUxLXJoZWw4LWZv cmNlLWRpc2FibGUtdXNlX2dub21lX2tleXJpbmcucGF0Y2gKQEAgLTYyNCw2ICs2MDksMTAgQEAg QnVpbGRSZXF1aXJlczoJcHl0aG9uMy1kZXZlbAogQnVpbGRSZXF1aXJlczogcHl0aG9uMy16aXBw CiBCdWlsZFJlcXVpcmVzOiBweXRob24zLXNpbXBsZWpzb24KIAorJWlmIDAlez9yaGVsfSA8PSA4 CitCdWlsZFJlcXVpcmVzOiBweXRob24zLWRhdGFjbGFzc2VzCislZW5kaWYKKwogJWlmICEgMCV7 P2J1bmRsZXB5bGlic30KICVpZiAwJXs/ZmVkb3JhfSB8fCAwJXs/cmhlbH0gPj0gOAogQnVpbGRS ZXF1aXJlczogcHl0aG9uMy1iZWF1dGlmdWxzb3VwNApAQCAtNjQ3LDEwICs2MzYsNiBAQCBCdWls ZFJlcXVpcmVzOglyZTItZGV2ZWwgPj0gMjAxNjA0MDEKIEJ1aWxkUmVxdWlyZXM6IGJyb3RsaS1k ZXZlbAogJWVuZGlmCiAKLSVpZiAhICV7YnVuZGxlb3B1c30KLUJ1aWxkUmVxdWlyZXM6IG9wdXMt ZGV2ZWwKLSVlbmRpZgotCiBCdWlsZFJlcXVpcmVzOglzcGVlY2gtZGlzcGF0Y2hlci1kZXZlbAog QnVpbGRSZXF1aXJlczoJeWFzbQogQnVpbGRSZXF1aXJlczoJemxpYi1kZXZlbApAQCAtOTc1LDgg Kzk2MCw2IEBAIHVkZXYuCiAlZW5kaWYKIAogJXBhdGNoNjUgLXAxIC1iIC5qYXZhLW9ubHktYWxs b3dlZAotJXBhdGNoNjcgLXAxIC1iIC5yZW1vdGluZy1jc3RyaW5nCi0lcGF0Y2g2OCAtcDEgLWIg Lmk2ODYtdGV4dHJlbHMKICVwYXRjaDY5IC1wMSAtYiAudXBkYXRlLXJqc21pbi10by0xLjIuMAog JXBhdGNoNzAgLXAxIC1iIC51cGRhdGUtc2l4LXRvLTEuMTYuMAogJXBhdGNoODAgLXAxIC1iIC5F bnVtVGFibGUtY3Jhc2gKQEAgLTEwMDksOCArOTkyLDYgQEAgdWRldi4KICVwYXRjaDEyIC1wMSAt YiAuZmVkb3JhLXVzZXItYWdlbnQKICVlbmRpZgogCi0lcGF0Y2gxMTMgLXAxIC1iIC5tZW1zZXQK LQogJWlmICEgMCV7P2J1bmRsZWZmbXBlZ2ZyZWV9CiAlcGF0Y2gxMTQgLXAxIC1iIC5zeXN0ZW0t ZmZtcHBlZwogJXBhdGNoMTE1IC1wMSAtYiAucHJvcC1jb2RlY3MKQEAgLTEwNDQsNyArMTAyNSw2 IEBAIHVkZXYuCiAlcGF0Y2gyMDIgLXAxIC1iIC5hY2NlbC1tanBlZwogJXBhdGNoMjA1IC1wMSAt YiAudmFhcGktaW50ZWwtZml4CiAlcGF0Y2gyMDYgLXAxIC1iIC53YXlsYW5kLXZhYXBpCi0lcGF0 Y2gyMDcgLXAxIC1iIC5ndWFyZC12YWFwaVZpZGVvRGVjb2RlcgogJWVuZGlmCiAKICVpZiAwJXs/ dXNlX3F0fQpAQCAtMTI3Miw3ICsxMjUyLDYgQEAgQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0n IHVzZV9jdXN0b21fbGliY3h4PWZhbHNlJwogQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIHVz ZV9rZXJiZXJvcz10cnVlJwogQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIHRhcmdldF9vcz0i bGludXgiJwogQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIGN1cnJlbnRfb3M9ImxpbnV4IicK LUNIUk9NSVVNX0NPUkVfR05fREVGSU5FUys9JyB1c2VfYWxsb2NhdG9yPSJub25lIicKIENIUk9N SVVNX0NPUkVfR05fREVGSU5FUys9JyBlbmFibGVfdnI9ZmFsc2UnCiBDSFJPTUlVTV9DT1JFX0dO X0RFRklORVMrPScgYnVpbGRfZGF3bl90ZXN0cz1mYWxzZScKIENIUk9NSVVNX0NPUkVfR05fREVG SU5FUys9JyBlbmFibGVfaXRlcmF0b3JfZGVidWdnaW5nPWZhbHNlJwpAQCAtMTc3Niw2ICsxNzU1 LDkgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3RvcCA+L2Rldi9udWxsIHx8IGdy b3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICV7Y2hyb21pdW1fcGF0aH0vY2hyb21lZHJp dmVyCiAKICVjaGFuZ2Vsb2cKKyogV2VkIEphbiAxMSAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhh dC5jb20+IC0gMTA5LjAuNTQxNC43NC0xCistIHVwZGF0ZSB0byAxMDkuMC41NDE0Ljc0CisKICog VHVlIEphbiAxMCAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IC0gMTA4LjAuNTM1OS4x MjQtNQogLSBlbmFibGUgcXQgYmFja2VuZCBmb3IgZWwgPj0gOSBhbmQgZmVkb3JhID49IDM1CiAt IGRyb3AgaTY4NgoKZGlmZiAtLWdpdCBhL2NsZWFuX2ZmbXBlZy5zaCBiL2NsZWFuX2ZmbXBlZy5z aAppbmRleCAwMDM1MzgxLi4yMWY0M2YxIDEwMDc1NQotLS0gYS9jbGVhbl9mZm1wZWcuc2gKKysr IGIvY2xlYW5fZmZtcGVnLnNoCkBAIC0xMjIsNyArMTIyLDYgQEAgaGVhZGVyX2ZpbGVzPSIJbGli YXZjb2RlYy94ODYvaW5saW5lX2FzbS5oIFwKIAkJbGliYXZjb2RlYy9tcGVndXRpbHMuaCBcCiAJ CWxpYmF2Y29kZWMvbXBlZ3ZpZGVvLmggXAogCQlsaWJhdmNvZGVjL21wZWd2aWRlb2RhdGEuaCBc Ci0JCWxpYmF2Y29kZWMvbXBlZ3ZpZGVvZHNwLmggXAogCQlsaWJhdmNvZGVjL21wZWd2aWRlb2Vu Y2RzcC5oIFwKIAkJbGliYXZjb2RlYy9vcHRpb25zX3RhYmxlLmggXAogCQlsaWJhdmNvZGVjL29w dXNkc3AuaCBcCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggYWRiN2M3Ny4u ODJhN2QyZCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xOSw0ICsxOSw0 IEBAIFNIQTUxMiAoTm90b1NhbnNTeW1ib2xzMi1SZWd1bGFyLnR0ZikgPSAyNjQ0YjQyYzNmZGNj ZmUxMjM5NWY5YjYxNTUzYWNlZDE2OWEwZjFkCiBTSEE1MTIgKE5vdG9TYW5zVGliZXRhbi1SZWd1 bGFyLnR0ZikgPSBmYjVhNDhmY2FlYTgwZWViZTdkNjkyZjZmY2YwMGQ1OWQ0NzY1OGEzNThkMGVj OGUwNDZmYzU1OTg3M2Y4OGJkNTk1YjJkYTQ3NGQyODI2YWJkOWU5MzA1ZjM3NDFjNjkwNThkODY3 YjFlNjA0OGYzN2ZlN2Q3MWI1ZDNhZjM2YQogU0hBNTEyIChub2RlLXYxNi4xNy4wLWxpbnV4LXg2 NC50YXIueHopID0gYWVkZmVlYjcxNDIwYTdmYmNiMDdmYmM0YzVkMmJhNzRmZmU0Zjg4YzE1OTk4 ODA5MzQ2YTg0MTQ4MTMyZWM4NjZkYmFlNGU4NDg1MzFhMmE3N2NhNDE0MTNmNDQyZTEwNDZmOTgx ZDRmMTg4YmRmNjY3ZmFmODgwNjlhYTI4Y2QKIFNIQTUxMiAobm9kZS12MTYuMTcuMC1saW51eC1h cm02NC50YXIueHopID0gYWU0YWFiYzIzODk3NzljOWUxYjRhMTU2MjJjYWUzYmE1MGUwYzMxM2Nh M2Q3YTFkYzdiMjM0NGRmMDZhZGUxZjMwM2Q2YTc1Yjk0MWQzN2UyYTBlZjM2OGNmMDQ3Yzg2MmE4 MjJhODkzNjg0NDk0ZjU1NDQ2YWZkNmFiMDYxMGUKLVNIQTUxMiAoY2hyb21pdW0tMTA4LjAuNTM1 OS4xMjQtY2xlYW4udGFyLnh6KSA9IGE0N2ZiMDQ2YjViZTJmMjZmNjVmNDY3YTIwZmUzMDBhODY1 NDJiZWJmM2Q3ZThkOGE2MDY0NDU4YmY0Y2ZjYzAyNDNhMWY1MjEyNzU1ZDFkNDEyMWI3OWY3OWJj MmQzYjYxZDc5MTg0MzFkYWVmMjY1MzhmMDc1NTYwOGU0NDRiCitTSEE1MTIgKGNocm9taXVtLTEw OS4wLjU0MTQuNzQtY2xlYW4udGFyLnh6KSA9IDYyMDgzNmYyN2FlZmZhODI4ZjNmZjQzNGFhMDgw MjU5NzliZDk4Njk5Mjg4YTE0NzgzYTY4ZTdmOTA1ZDExN2VjN2QyZmVlYzgyYzM0YzA1ZGVlMTY1 OWMxZTJhNGM3YmVjMWUyNzlhMzRmZjI1YjY2MjQ2MDgzMzY0YTVkMTJlCg==