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: - remove unneeded BRs Date: Fri, 07 Aug 2026 16:06:28 GMT Message-ID: <178611878814.1.7326991348268465059.rpms-chromium-1a12f7ee444f@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 1a12f7ee444fa78396a24da2c4eea5ff380c0468 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAg ICAgICAgICBDb21taXQgOiAxYTEyZjdlZTQ0NGZhNzgzOTZhMjRkYTJjNGVlYTVmZjM4MGMwNDY4 CiAgICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjQtMDUtMjBUMTQ6NDE6MzMrMDI6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzM0NC8tMjYxIGluIDUgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3Ny Yy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2MvMWExMmY3ZWU0NDRmYTc4Mzk2YTI0 ZGEyYzRlZWE1ZmYzODBjMDQ2OD9icmFuY2g9ZXBlbDktbmV4dAoKICAgICAgICAgICAgTG9nOgog ICAgICAgICAgICAtIHJlbW92ZSB1bm5lZWRlZCBCUnMKLSB3b3JrYXJvdW5kcyBmb3IgZWw3IGJ1 aWxkCgotLS0KZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEyNS1kZXZ0b29scy1idWlsZC1kZXBlbmRl bmN5LnBhdGNoIGIvY2hyb21pdW0tMTI1LWRldnRvb2xzLWJ1aWxkLWRlcGVuZGVuY3kucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYxNmFjMQotLS0gL2Rldi9udWxs CisrKyBiL2Nocm9taXVtLTEyNS1kZXZ0b29scy1idWlsZC1kZXBlbmRlbmN5LnBhdGNoCkBAIC0w LDAgKzEsMjcgQEAKK2NvbW1pdCBhOTc2Y2IwNWI0MDI0YjdhNjQ1MmQxNTQxMzc4ZDcxOGNkZmUz M2U2CitBdXRob3I6IFRha3V0byBJa3V0YSA8dGlrdXRhQGNocm9taXVtLm9yZz4KK0RhdGU6ICAg VGh1IEFwciAyNSAwNzoyNTozMiAyMDI0ICswMDAwCisKKyAgICBbZGV2dG9vbHNdIGZpeCBhIG1p c3NpbmcgYnVpbGQgZGVwZW5kZW5jeSB0byBhIGdlbmVyYXRlZCBmaWxlCisgICAgCisgICAgQnVn OiAzMzY5MTE0OTgKKyAgICBDaGFuZ2UtSWQ6IEk2ZTZkM2FmYWYzM2FjZTUzYTY4MjcxYjcwMTY1 YjhjM2FiNTk2MzQwCisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdv b2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy81NDg3NTM4CisgICAgQXV0by1TdWJtaXQ6 IFRha3V0byBJa3V0YSA8dGlrdXRhQGNocm9taXVtLm9yZz4KKyAgICBDb21taXQtUXVldWU6IFRh a3V0byBJa3V0YSA8dGlrdXRhQGNocm9taXVtLm9yZz4KKyAgICBSZXZpZXdlZC1ieTogRGFuaWwg U29tc2lrb3YgPGRzdkBjaHJvbWl1bS5vcmc+CisgICAgQ29tbWl0LVF1ZXVlOiBEYW5pbCBTb21z aWtvdiA8ZHN2QGNocm9taXVtLm9yZz4KKyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVh ZHMvbWFpbkB7IzEyOTIzMDB9CisKK2RpZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci9kZXZ0b29s cy9CVUlMRC5nbiBiL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL0JVSUxELmduCitpbmRleCBmMGMw N2NhZDhjZmI0Li4wNTMxOTllNDYyZjU1IDEwMDY0NAorLS0tIGEvY2hyb21lL2Jyb3dzZXIvZGV2 dG9vbHMvQlVJTEQuZ24KKysrKyBiL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL0JVSUxELmduCitA QCAtMTE3LDYgKzExNyw3IEBAIHN0YXRpY19saWJyYXJ5KCJkZXZ0b29scyIpIHsKKyAgICAgIi8v Y2hyb21lL2Jyb3dzZXIvYXV0b2ZpbGw6YXV0b2ZpbGwiLAorICAgICAiLy9jb21wb25lbnRzL2F1 dG9maWxsL2NvbnRlbnQvYnJvd3Nlcjpicm93c2VyIiwKKyAgICAgIi8vY29tcG9uZW50cy9hdXRv ZmlsbC9jb3JlL2Jyb3dzZXI6YnJvd3NlciIsCisrICAgICIvL2NvbXBvbmVudHMvZW50ZXJwcmlz ZS9idWlsZGZsYWdzIiwKKyAgICAgIi8vY29tcG9uZW50cy9wYWludF9wcmV2aWV3L2J1aWxkZmxh Z3M6YnVpbGRmbGFncyIsCisgICAgICIvL2NvbXBvbmVudHMvdmFyaWF0aW9ucy9zZXJ2aWNlOnNl cnZpY2UiLAorICAgICAiLy9jb21wb25lbnRzL3dlYmFwcHMvY29tbW9uOmNvbW1vbiIsCgpkaWZm IC0tZ2l0IGEvY2hyb21pdW0tMTI1LWVsNy1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaCBi L2Nocm9taXVtLTEyNS1lbDctbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2gKaW5kZXggYTY3 M2Q0MS4uZTZhY2NhNCAxMDA2NDQKLS0tIGEvY2hyb21pdW0tMTI1LWVsNy1ub19tYXRjaGluZ19j b25zdHJ1Y3Rvci5wYXRjaAorKysgYi9jaHJvbWl1bS0xMjUtZWw3LW5vX21hdGNoaW5nX2NvbnN0 cnVjdG9yLnBhdGNoCkBAIC0xNTEsMjEgKzE1MSw2IEBAIGRpZmYgLXVwIGNocm9taXVtLTEyNS4w LjY0MjIuNjAvY2hyb21lL2Jyb3dzZXIvcmVuZGVyZXJfY29udGV4dF9tZW51L3JlbmRlcl92aWV3 CiAgICAgICAgICBjb21wb3NlOjpDb21wb3NlTWFuYWdlckltcGw6OlVpRW50cnlQb2ludDo6a0Nv bnRleHRNZW51KTsKICAgICAgR2V0QnJvd3NlcigpLT53aW5kb3coKS0+Tm90aWZ5UHJvbW9GZWF0 dXJlVXNlZCgKICAgICAgICAgIGNvbXBvc2U6OmZlYXR1cmVzOjprRW5hYmxlQ29tcG9zZSk7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3N5bmMvdGVzdC9p bnRlZ3JhdGlvbi9wcm9kdWN0X3NwZWNpZmljYXRpb25zX2hlbHBlci5jYy5ub19tYXRjaGluZ19j b25zdHJ1Y3RvciBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3N5bmMvdGVz dC9pbnRlZ3JhdGlvbi9wcm9kdWN0X3NwZWNpZmljYXRpb25zX2hlbHBlci5jYwotLS0tIGNocm9t aXVtLTEyNS4wLjY0MjIuNjAvY2hyb21lL2Jyb3dzZXIvc3luYy90ZXN0L2ludGVncmF0aW9uL3By b2R1Y3Rfc3BlY2lmaWNhdGlvbnNfaGVscGVyLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIw MjQtMDUtMTcgMTM6MDU6MDIuMTk5NjMxNjk4ICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAuNjQy Mi42MC9jaHJvbWUvYnJvd3Nlci9zeW5jL3Rlc3QvaW50ZWdyYXRpb24vcHJvZHVjdF9zcGVjaWZp Y2F0aW9uc19oZWxwZXIuY2MJMjAyNC0wNS0xNyAxNTo1NzowNS4xOTY2NTMxNTAgKzAyMDAKLUBA IC00MSw5ICs0MSw5IEBAIGJvb2wgUHJvZHVjdFNwZWNpZmljYXRpb25zQ2hlY2tlcjo6SXNFeGkK LSBib29sIFByb2R1Y3RTcGVjaWZpY2F0aW9uc0NoZWNrZXI6OklzU3BlY2lmaWNzQXZhaWxhYmxl QW5kRXF1YWwoKSB7Ci0gICBmb3IgKGNvbnN0IFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldCYgcHJv ZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQgOgotICAgICAgICBzZXJ2aWNlXy0+R2V0QWxsUHJvZHVj dFNwZWNpZmljYXRpb25zKCkpIHsKLS0gICAgc3RkOjp2ZWN0b3I8Y29uc3QgR1VSTD4gc3BlY2lm aWNzX3VybHM7Ci0rICAgIHN0ZDo6dmVjdG9yPEdVUkw+IHNwZWNpZmljc191cmxzOwotICAgICBm b3IgKHN5bmNfcGI6OkNvbXBhcmlzb25EYXRhIGRhdGEgOiBjb21wYXJlX3NwZWNpZmljc18tPmRh dGEoKSkgewotLSAgICAgIHNwZWNpZmljc191cmxzLnB1c2hfYmFjayhHVVJMKGRhdGEudXJsKCkp KTsKLSsgICAgICBzcGVjaWZpY3NfdXJscy5lbXBsYWNlX2JhY2soKSA9IHtkYXRhLnVybCgpfTsK LSAgICAgfQotICAgICBpZiAocHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQudXVpZCgpLkFzTG93 ZXJjYXNlU3RyaW5nKCkgPT0KLSAgICAgICAgICAgICBjb21wYXJlX3NwZWNpZmljc18tPnV1aWQo KSAmJgogZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jaHJvbWUvYnJvd3Nlci91aS9h dXRvZmlsbC9hdXRvZmlsbF9jb250ZXh0X21lbnVfbWFuYWdlci5jYy5ub19tYXRjaGluZ19jb25z dHJ1Y3RvciBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3VpL2F1dG9maWxs L2F1dG9maWxsX2NvbnRleHRfbWVudV9tYW5hZ2VyLmNjCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQy Mi42MC9jaHJvbWUvYnJvd3Nlci91aS9hdXRvZmlsbC9hdXRvZmlsbF9jb250ZXh0X21lbnVfbWFu YWdlci5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDI0LTA1LTE1IDIzOjQ2OjA1LjAwMDAw MDAwMCArMDIwMAogKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY2hyb21lL2Jyb3dzZXIvdWkv YXV0b2ZpbGwvYXV0b2ZpbGxfY29udGV4dF9tZW51X21hbmFnZXIuY2MJMjAyNC0wNS0xNyAxMjoz Mzo1OC43MTE2NTA0NjggKzAyMDAKQEAgLTQ1Niw1OCArNDQxLDYgQEAgZGlmZiAtdXAgY2hyb21p dW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci93ZWJkYXRh L2FkZHJlc3MKICAgICAgICB9CiAgICAgIH0KICAgIH0KLWRpZmYgLXVwIGNocm9taXVtLTEyNS4w LjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMv cHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXJ2aWNlLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9y IGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rf c3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXJ2aWNlLmNjCi0tLS0gY2hy b21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVj aWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3NlcnZpY2UuY2Mubm9fbWF0Y2hpbmdf Y29uc3RydWN0b3IJMjAyNC0wNS0xNSAyMzo0NjoxMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJv bWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNp ZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2VydmljZS5jYwkyMDI0LTA1LTE4IDE0 OjE5OjIxLjI1NjM4MTc5NyArMDIwMAotQEAgLTI0LDExICsyNCwxMSBAQCBQcm9kdWN0U3BlY2lm aWNhdGlvbnNTZXJ2aWNlOjpHZXRTeW5jQ29uCi0gICByZXR1cm4gYnJpZGdlXy0+Y2hhbmdlX3By b2Nlc3NvcigpLT5HZXRDb250cm9sbGVyRGVsZWdhdGUoKTsKLSB9Ci0gCi0tY29uc3Qgc3RkOjp2 ZWN0b3I8Y29uc3QgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0PgotK2NvbnN0IHN0ZDo6dmVjdG9y PFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldD4KLSBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXJ2aWNl OjpHZXRBbGxQcm9kdWN0U3BlY2lmaWNhdGlvbnMoKSB7Ci0tICBzdGQ6OnZlY3Rvcjxjb25zdCBQ cm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ+IHByb2R1Y3Rfc3BlY2lmaWNhdGlvbnM7Ci0rICBzdGQ6 OnZlY3RvcjxQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ+IHByb2R1Y3Rfc3BlY2lmaWNhdGlvbnM7 Ci0gICBmb3IgKGF1dG8mIGVudHJ5IDogYnJpZGdlXy0+ZW50cmllcygpKSB7Ci0tICAgIHN0ZDo6 dmVjdG9yPGNvbnN0IEdVUkw+IHVybHM7Ci0rICAgIHN0ZDo6dmVjdG9yPEdVUkw+IHVybHM7Ci0g ICAgIGZvciAoYXV0byYgZGF0YSA6IGVudHJ5LnNlY29uZC5kYXRhKCkpIHsKLSAgICAgICB1cmxz LmVtcGxhY2VfYmFjayhkYXRhLnVybCgpKTsKLSAgICAgfQotQEAgLTQzLDcgKzQzLDcgQEAgUHJv ZHVjdFNwZWNpZmljYXRpb25zU2VydmljZTo6R2V0QWxsUHJvZAotIGNvbnN0IHN0ZDo6b3B0aW9u YWw8Y29uc3QgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0PgotIFByb2R1Y3RTcGVjaWZpY2F0aW9u c1NlcnZpY2U6OkFkZFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldCgKLSAgICAgY29uc3Qgc3RkOjpz dHJpbmcmIG5hbWUsCi0tICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IEdVUkw+JiB1cmxzKSB7 Ci0rICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdVUkw+JiB1cmxzKSB7Ci0gICAvLyBUT0RPKGNyYnVn LmNvbS8zMzI1NDUwNjQpIGFkZCBmb3IgYSBwcm9kdWN0IHNwZWNpZmljYXRpb24gc2V0IGJlaW5n IGFkZGVkLgotICAgc3RkOjpvcHRpb25hbDxzeW5jX3BiOjpDb21wYXJlU3BlY2lmaWNzPiBzcGVj aWZpY3MgPQotICAgICAgIGJyaWRnZV8tPkFkZFByb2R1Y3RTcGVjaWZpY2F0aW9ucyhuYW1lLCB1 cmxzKTsKLWRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJj ZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXJ2 aWNlX3VuaXR0ZXN0LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyNS4wLjY0 MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJv ZHVjdF9zcGVjaWZpY2F0aW9uc19zZXJ2aWNlX3VuaXR0ZXN0LmNjCi1kaWZmIC11cCBjaHJvbWl1 bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmlj YXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2V0LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVj dG9yIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1 Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQuY2MKLS0tLSBjaHJv bWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNp ZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2V0LmNjLm5vX21hdGNoaW5nX2NvbnN0 cnVjdG9yCTIwMjQtMDUtMTUgMjM6NDY6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0t MTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0 aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3NldC5jYwkyMDI0LTA1LTE4IDE0OjE3OjE5Ljcw NTk4ODkxNCArMDIwMAotQEAgLTEyLDcgKzEyLDcgQEAgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0 OjpQcm9kdWN0U3BlY2lmaQotICAgICBjb25zdCBzdGQ6OnN0cmluZyYgdXVpZCwKLSAgICAgY29u c3QgaW50NjRfdCBjcmVhdGlvbl90aW1lX3VzZWNfc2luY2VfZXBvY2gsCi0gICAgIGNvbnN0IGlu dDY0X3QgdXBkYXRlX3RpbWVfdXNlY19zaW5jZV9lcG9jaCwKLS0gICAgY29uc3Qgc3RkOjp2ZWN0 b3I8Y29uc3QgR1VSTD4mIHVybHMsCi0rICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdVUkw+JiB1cmxz LAotICAgICBjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSkKLSAgICAgOiB1dWlkXyhiYXNlOjpVdWlk OjpQYXJzZUxvd2VyY2FzZSh1dWlkKSksCi0gICAgICAgY3JlYXRpb25fdGltZV8oYmFzZTo6VGlt ZTo6RnJvbU1pbGxpc2Vjb25kc1NpbmNlVW5peEVwb2NoKAotQEAgLTM0LDkgKzM0LDkgQEAgUHJv ZHVjdFNwZWNpZmljYXRpb25zU2V0Ojp+UHJvZHVjdFNwZWNpZgotIAotIFByb2R1Y3RTcGVjaWZp Y2F0aW9uc1NldCBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ6OkZyb21Qcm90bygKLSAgICAgY29u c3Qgc3luY19wYjo6Q29tcGFyZVNwZWNpZmljcyYgc3BlY2lmaWNzKSB7Ci0tICBzdGQ6OnZlY3Rv cjxjb25zdCBHVVJMPiB1cmxzOwotKyAgc3RkOjp2ZWN0b3I8R1VSTD4gdXJsczsKLSAgIGZvciAo Y29uc3Qgc3luY19wYjo6Q29tcGFyaXNvbkRhdGEmIGRhdGEgOiBzcGVjaWZpY3MuZGF0YSgpKSB7 Ci0tICAgIHVybHMucHVzaF9iYWNrKEdVUkwoZGF0YS51cmwoKSkpOwotKyAgICB1cmxzLmVtcGxh Y2VfYmFjayhkYXRhLnVybCgpKTsKLSAgIH0KLSAgIHJldHVybiBQcm9kdWN0U3BlY2lmaWNhdGlv bnNTZXQoCi0gICAgICAgc3BlY2lmaWNzLnV1aWQoKSwgc3BlY2lmaWNzLmNyZWF0aW9uX3RpbWVf dW5peF9lcG9jaF9taWNyb3MoKSwKIGRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29t cG9uZW50cy9pbnZhbGlkYXRpb24vaW1wbC9mY21faW52YWxpZGF0aW9uX3NlcnZpY2UuY2Mubm9f bWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2lu dmFsaWRhdGlvbi9pbXBsL2ZjbV9pbnZhbGlkYXRpb25fc2VydmljZS5jYwogLS0tIGNocm9taXVt LTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9pbnZhbGlkYXRpb24vaW1wbC9mY21faW52YWxpZGF0 aW9uX3NlcnZpY2UuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyNC0wNS0xNyAxNjoyNDoy OS45OTM2ODk4MzggKzAyMDAKICsrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMv aW52YWxpZGF0aW9uL2ltcGwvZmNtX2ludmFsaWRhdGlvbl9zZXJ2aWNlLmNjCTIwMjQtMDUtMTcg MTY6MjQ6NDguNDAyMDczODMwICswMjAwCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTI1LWVsNy1v cHRpb25hbC13b3JrYXJvdW5kLWFzc2VydC5wYXRjaCBiL2Nocm9taXVtLTEyNS1lbDctb3B0aW9u YWwtd29ya2Fyb3VuZC1hc3NlcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uN2U3ODA4NQotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTEyNS1lbDctb3B0aW9u YWwtd29ya2Fyb3VuZC1hc3NlcnQucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGNocm9taXVt LTEyNS4wLjY0MjIuNjAvb3B0aW9uYWwub3JpZwkyMDI0LTA1LTIwIDAwOjEyOjUwLjE1MjMwNjI4 OSArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvb3B0aW9uYWwJMjAyNC0wNS0yMCAw MDoxMjoyOC4wNDE4MjM2MzEgKzAyMDAKK0BAIC00NzQsNyArNDc0LDcgQEAKKyAgICAgICBjb25z dGV4cHIgX1RwJgorICAgICAgIF9NX2dldCgpIG5vZXhjZXB0CisgICAgICAgeworLQlfX2dsaWJj eHhfYXNzZXJ0KHRoaXMtPl9NX2lzX2VuZ2FnZWQoKSk7CisrCS8vX19nbGliY3h4X2Fzc2VydCh0 aGlzLT5fTV9pc19lbmdhZ2VkKCkpOworIAlyZXR1cm4gc3RhdGljX2Nhc3Q8X0RwKj4odGhpcykt Pl9NX3BheWxvYWQuX01fZ2V0KCk7CisgICAgICAgfQorIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LTEyNS1zeXN0ZW0tbGlic3RkYysrLnBhdGNoIGIvY2hyb21pdW0tMTI1LXN5c3RlbS1saWJzdGRj KysucGF0Y2gKaW5kZXggNmMxZTI0Ni4uNzU5ODA3ZCAxMDA2NDQKLS0tIGEvY2hyb21pdW0tMTI1 LXN5c3RlbS1saWJzdGRjKysucGF0Y2gKKysrIGIvY2hyb21pdW0tMTI1LXN5c3RlbS1saWJzdGRj KysucGF0Y2gKQEAgLTEsNiArMSw2IEBACiBkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYw L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9z dGFyc2Nhbi9zdGF0c19jb2xsZWN0b3IuaC5zeXN0ZW0tbGlic3RkYysrIGNocm9taXVtLTEyNS4w LjY0MjIuNjAvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9u X2FsbG9jL3N0YXJzY2FuL3N0YXRzX2NvbGxlY3Rvci5oCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQy Mi42MC9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxs b2Mvc3RhcnNjYW4vc3RhdHNfY29sbGVjdG9yLmguc3lzdGVtLWxpYnN0ZGMrKwkyMDI0LTA1LTE1 IDIzOjQ1OjQ5LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvYmFz ZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3N0YXJz Y2FuL3N0YXRzX2NvbGxlY3Rvci5oCTIwMjQtMDUtMTcgMTI6MzM6NTguNzYxNjUxNTA1ICswMjAw CisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxs b2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2Mvc3RhcnNjYW4vc3RhdHNfY29sbGVjdG9yLmgJMjAy NC0wNS0xOSAwOTowNzozOC4xOTk0Mzc2MTcgKzAyMDAKIEBAIC0xNCw3ICsxNCw3IEBACiAgI2lu Y2x1ZGUgPHVub3JkZXJlZF9tYXA+CiAgI2luY2x1ZGUgPHV0aWxpdHk+CkBAIC0xMSw4ICsxMSw4 IEBAIGRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uCiAgI2luY2x1ZGUgInBhcnRpdGlvbl9hbGxvYy9w YXJ0aXRpb25fYWxsb2NfYmFzZS90aW1lL3RpbWUuaCIKICAjaW5jbHVkZSAicGFydGl0aW9uX2Fs bG9jL3BhcnRpdGlvbl9hbGxvY19jaGVjay5oIgogZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQy Mi42MC9jaHJvbWUvYnJvd3Nlci9sZW5zL2xlbnNfb3ZlcmxheS9sZW5zX292ZXJsYXlfdXJsX2J1 aWxkZXIuaC5zeXN0ZW0tbGlic3RkYysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY2hyb21lL2Jy b3dzZXIvbGVucy9sZW5zX292ZXJsYXkvbGVuc19vdmVybGF5X3VybF9idWlsZGVyLmgKLS0tLSBj aHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL2xlbnMvbGVuc19vdmVybGF5L2xl bnNfb3ZlcmxheV91cmxfYnVpbGRlci5oLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0xOCAxOToy MjowNC41MzQ5NDI0NjkgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9i cm93c2VyL2xlbnMvbGVuc19vdmVybGF5L2xlbnNfb3ZlcmxheV91cmxfYnVpbGRlci5oCTIwMjQt MDUtMTggMTk6MjI6MTguMzcxMjk2OTM0ICswMjAwCistLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42 MC9jaHJvbWUvYnJvd3Nlci9sZW5zL2xlbnNfb3ZlcmxheS9sZW5zX292ZXJsYXlfdXJsX2J1aWxk ZXIuaC5zeXN0ZW0tbGlic3RkYysrCTIwMjQtMDUtMTUgMjM6NDY6MDEuMDAwMDAwMDAwICswMjAw CisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jaHJvbWUvYnJvd3Nlci9sZW5zL2xlbnNfb3Zl cmxheS9sZW5zX292ZXJsYXlfdXJsX2J1aWxkZXIuaAkyMDI0LTA1LTE5IDA5OjA3OjM4LjIwMDQz NzYzOCArMDIwMAogQEAgLTUsNiArNSw3IEBACiAgI2lmbmRlZiBDSFJPTUVfQlJPV1NFUl9MRU5T X0xFTlNfT1ZFUkxBWV9MRU5TX09WRVJMQVlfVVJMX0JVSUxERVJfSF8KICAjZGVmaW5lIENIUk9N RV9CUk9XU0VSX0xFTlNfTEVOU19PVkVSTEFZX0xFTlNfT1ZFUkxBWV9VUkxfQlVJTERFUl9IXwpA QCAtMjEsOSArMjEsMjM4IEBAIGRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY2hyb21l L2Jyb3dzZXIvbGVucy9sZW5zX292ZXJsYXkvbGVuc19vdmVybGF5X3VyCiAgI2luY2x1ZGUgPHN0 cmluZz4KICAKICAjaW5jbHVkZSAidGhpcmRfcGFydHkvbGVuc19zZXJ2ZXJfcHJvdG8vbGVuc19v dmVybGF5X2NsdXN0ZXJfaW5mby5wYi5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42 MC9jaHJvbWUvYnJvd3Nlci9zeW5jL3Rlc3QvaW50ZWdyYXRpb24vcHJvZHVjdF9zcGVjaWZpY2F0 aW9uc19oZWxwZXIuY2Muc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2No cm9tZS9icm93c2VyL3N5bmMvdGVzdC9pbnRlZ3JhdGlvbi9wcm9kdWN0X3NwZWNpZmljYXRpb25z X2hlbHBlci5jYworLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY2hyb21lL2Jyb3dzZXIvc3lu Yy90ZXN0L2ludGVncmF0aW9uL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfaGVscGVyLmNjLnN5c3Rl bS1saWJzdGRjKysJMjAyNC0wNS0xOSAxMzoxNjowMS4xNDA0NDI0MjMgKzAyMDAKKysrKyBjaHJv bWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3N5bmMvdGVzdC9pbnRlZ3JhdGlvbi9w cm9kdWN0X3NwZWNpZmljYXRpb25zX2hlbHBlci5jYwkyMDI0LTA1LTE5IDEzOjE2OjM4LjAyOTI0 NjAxNSArMDIwMAorQEAgLTQxLDkgKzQxLDkgQEAgYm9vbCBQcm9kdWN0U3BlY2lmaWNhdGlvbnND aGVja2VyOjpJc0V4aQorIGJvb2wgUHJvZHVjdFNwZWNpZmljYXRpb25zQ2hlY2tlcjo6SXNTcGVj aWZpY3NBdmFpbGFibGVBbmRFcXVhbCgpIHsKKyAgIGZvciAoY29uc3QgUHJvZHVjdFNwZWNpZmlj YXRpb25zU2V0JiBwcm9kdWN0X3NwZWNpZmljYXRpb25zX3NldCA6CisgICAgICAgIHNlcnZpY2Vf LT5HZXRBbGxQcm9kdWN0U3BlY2lmaWNhdGlvbnMoKSkgeworLSAgICBzdGQ6OnZlY3Rvcjxjb25z dCBHVVJMPiBzcGVjaWZpY3NfdXJsczsKKysgICAgc3RkOjp2ZWN0b3I8R1VSTD4gc3BlY2lmaWNz X3VybHM7CisgICAgIGZvciAoc3luY19wYjo6Q29tcGFyaXNvbkRhdGEgZGF0YSA6IGNvbXBhcmVf c3BlY2lmaWNzXy0+ZGF0YSgpKSB7CistICAgICAgc3BlY2lmaWNzX3VybHMucHVzaF9iYWNrKEdV UkwoZGF0YS51cmwoKSkpOworKyAgICAgIHNwZWNpZmljc191cmxzLmVtcGxhY2VfYmFjayhkYXRh LnVybCgpKTsKKyAgICAgfQorICAgICBpZiAocHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQudXVp ZCgpLkFzTG93ZXJjYXNlU3RyaW5nKCkgPT0KKyAgICAgICAgICAgICBjb21wYXJlX3NwZWNpZmlj c18tPnV1aWQoKSAmJgorZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jaHJvbWUvYnJv d3Nlci91aS90YWJzL3RhYl9zdHJpcF9tb2RlbC5oLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0t MTI1LjAuNjQyMi42MC9jaHJvbWUvYnJvd3Nlci91aS90YWJzL3RhYl9zdHJpcF9tb2RlbC5oCist LS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jaHJvbWUvYnJvd3Nlci91aS90YWJzL3RhYl9zdHJp cF9tb2RlbC5oLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0xNSAyMzo0NjowNS4wMDAwMDAwMDAg KzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3VpL3RhYnMv dGFiX3N0cmlwX21vZGVsLmgJMjAyNC0wNS0xOSAwOTowNzozOC4yMDA0Mzc2MzggKzAyMDAKK0BA IC0xMiw2ICsxMiw3IEBACisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8b3B0aW9uYWw+ CisgI2luY2x1ZGUgPHN0cmluZz4KKysjaW5jbHVkZSA8dmFyaWFudD4KKyAjaW5jbHVkZSA8dmVj dG9yPgorIAorICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgorZGlmZiAtdXAgY2hy b21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVj aWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3NlcnZpY2UuY2Muc3lzdGVtLWxpYnN0 ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9k dWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2VydmljZS5jYworLS0t IGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rf c3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXJ2aWNlLmNjLnN5c3RlbS1s aWJzdGRjKysJMjAyNC0wNS0xOSAxMzowODo0NC45MjA1NzE3NjUgKzAyMDAKKysrKyBjaHJvbWl1 bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmlj YXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2VydmljZS5jYwkyMDI0LTA1LTE5IDEzOjEx OjA4LjQ1MTc3NTE4OCArMDIwMAorQEAgLTI0LDExICsyNCwxMSBAQCBQcm9kdWN0U3BlY2lmaWNh dGlvbnNTZXJ2aWNlOjpHZXRTeW5jQ29uCisgICByZXR1cm4gYnJpZGdlXy0+Y2hhbmdlX3Byb2Nl c3NvcigpLT5HZXRDb250cm9sbGVyRGVsZWdhdGUoKTsKKyB9CisgCistY29uc3Qgc3RkOjp2ZWN0 b3I8Y29uc3QgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0PgorK2NvbnN0IHN0ZDo6dmVjdG9yPFBy b2R1Y3RTcGVjaWZpY2F0aW9uc1NldD4KKyBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXJ2aWNlOjpH ZXRBbGxQcm9kdWN0U3BlY2lmaWNhdGlvbnMoKSB7CistICBzdGQ6OnZlY3Rvcjxjb25zdCBQcm9k dWN0U3BlY2lmaWNhdGlvbnNTZXQ+IHByb2R1Y3Rfc3BlY2lmaWNhdGlvbnM7CisrICBzdGQ6OnZl Y3RvcjxQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ+IHByb2R1Y3Rfc3BlY2lmaWNhdGlvbnM7Cisg ICBmb3IgKGF1dG8mIGVudHJ5IDogYnJpZGdlXy0+ZW50cmllcygpKSB7CistICAgIHN0ZDo6dmVj dG9yPGNvbnN0IEdVUkw+IHVybHM7CisrICAgIHN0ZDo6dmVjdG9yPEdVUkw+IHVybHM7CisgICAg IGZvciAoYXV0byYgZGF0YSA6IGVudHJ5LnNlY29uZC5kYXRhKCkpIHsKKyAgICAgICB1cmxzLmVt cGxhY2VfYmFjayhkYXRhLnVybCgpKTsKKyAgICAgfQorQEAgLTQzLDcgKzQzLDcgQEAgUHJvZHVj dFNwZWNpZmljYXRpb25zU2VydmljZTo6R2V0QWxsUHJvZAorIGNvbnN0IHN0ZDo6b3B0aW9uYWw8 Y29uc3QgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0PgorIFByb2R1Y3RTcGVjaWZpY2F0aW9uc1Nl cnZpY2U6OkFkZFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldCgKKyAgICAgY29uc3Qgc3RkOjpzdHJp bmcmIG5hbWUsCistICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IEdVUkw+JiB1cmxzKSB7Cisr ICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdVUkw+JiB1cmxzKSB7CisgICAvLyBUT0RPKGNyYnVnLmNv bS8zMzI1NDUwNjQpIGFkZCBmb3IgYSBwcm9kdWN0IHNwZWNpZmljYXRpb24gc2V0IGJlaW5nIGFk ZGVkLgorICAgc3RkOjpvcHRpb25hbDxzeW5jX3BiOjpDb21wYXJlU3BlY2lmaWNzPiBzcGVjaWZp Y3MgPQorICAgICAgIGJyaWRnZV8tPkFkZFByb2R1Y3RTcGVjaWZpY2F0aW9ucyhuYW1lLCB1cmxz KTsKK2RpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9j b3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXJ2aWNl Lmguc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29t bWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNf c2VydmljZS5oCistLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNl L2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3NlcnZp Y2UuaC5zeXN0ZW0tbGlic3RkYysrCTIwMjQtMDUtMTUgMjM6NDY6MTEuMDAwMDAwMDAwICswMjAw CisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJv ZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3NlcnZpY2UuaAkyMDI0 LTA1LTE5IDA5OjA3OjM4LjIwMTQzNzY1OSArMDIwMAorQEAgLTI2LDE0ICsyNiwxMyBAQCBjbGFz cyBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXJ2aWNlIDogcHViCisgICBiYXNlOjpXZWFrUHRyPHN5 bmNlcjo6TW9kZWxUeXBlQ29udHJvbGxlckRlbGVnYXRlPgorICAgR2V0U3luY0NvbnRyb2xsZXJE ZWxlZ2F0ZSgpOworIAorLSAgY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgUHJvZHVjdFNwZWNpZmlj YXRpb25zU2V0PgorLSAgR2V0QWxsUHJvZHVjdFNwZWNpZmljYXRpb25zKCk7CisrICBjb25zdCBz dGQ6OnZlY3RvcjxQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ+IEdldEFsbFByb2R1Y3RTcGVjaWZp Y2F0aW9ucygpOworIAorICAgLy8gQWRkIG5ldyBwcm9kdWN0IHNwZWNpZmljYXRpb25zIHNldCBj YWxsZWQgfG5hbWV8IHdpdGggcHJvZHVjdCBwYWdlcworICAgLy8gY29ycmVzcG9uZGluZyB0byB8 dXJsc3wuCisgICBjb25zdCBzdGQ6Om9wdGlvbmFsPGNvbnN0IFByb2R1Y3RTcGVjaWZpY2F0aW9u c1NldD4KKyAgIEFkZFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldChjb25zdCBzdGQ6OnN0cmluZyYg bmFtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3Rvcjxj b25zdCBHVVJMPiYgdXJscyk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg c3RkOjp2ZWN0b3I8R1VSTD4mIHVybHMpOworIAorICAgLy8gRGVsZXRlcyBwcm9kdWN0IHNwZWNp ZmljYXRpb24gc2V0IGNvcnJlc3BvbmRpbmcgdG8gaWRlbnRpZmllciB8dXVpZHwuCisgICB2b2lk IERlbGV0ZVByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldChjb25zdCBzdGQ6OnN0cmluZyYgdXVpZCk7 CitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29y ZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2VydmljZV91 bml0dGVzdC5jYy5zeXN0ZW0tbGlic3RkYysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9u ZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZp Y2F0aW9uc19zZXJ2aWNlX3VuaXR0ZXN0LmNjCistLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9j b21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9kdWN0X3Nw ZWNpZmljYXRpb25zX3NlcnZpY2VfdW5pdHRlc3QuY2Muc3lzdGVtLWxpYnN0ZGMrKwkyMDI0LTA1 LTE5IDEzOjEyOjAxLjg0MDAyODg3MyArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAv Y29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9z cGVjaWZpY2F0aW9uc19zZXJ2aWNlX3VuaXR0ZXN0LmNjCTIwMjQtMDUtMTkgMTM6MTM6NDQuMzYz NDczOTQ4ICswMjAwCitAQCAtODIsOSArODIsOSBAQCB2b2lkIEFkZFRlc3RTcGVjaWZpY3MoY29t bWVyY2U6OlByb2R1Y3RTCisgfQorIAorIE1BVENIRVJfUChIYXNBbGxQcm9kdWN0U3BlY3MsIGNv bXBhcmVfc3BlY2lmaWNzLCAiIikgeworLSAgc3RkOjp2ZWN0b3I8Y29uc3QgR1VSTD4gc3BlY2lm aWNzX3VybHM7CisrICBzdGQ6OnZlY3RvcjxHVVJMPiBzcGVjaWZpY3NfdXJsczsKKyAgIGZvciAo Y29uc3Qgc3luY19wYjo6Q29tcGFyaXNvbkRhdGEmIGRhdGEgOiBjb21wYXJlX3NwZWNpZmljcy5k YXRhKCkpIHsKKy0gICAgc3BlY2lmaWNzX3VybHMucHVzaF9iYWNrKEdVUkwoZGF0YS51cmwoKSkp OworKyAgICBzcGVjaWZpY3NfdXJscy5lbXBsYWNlX2JhY2soZGF0YS51cmwoKSk7CisgICB9Cisg ICByZXR1cm4gYXJnLnV1aWQoKS5Bc0xvd2VyY2FzZVN0cmluZygpID09IGNvbXBhcmVfc3BlY2lm aWNzLnV1aWQoKSAmJgorICAgICAgICAgIGFyZy5jcmVhdGlvbl90aW1lKCkgPT0KK0BAIC0yMTcs NyArMjE3LDcgQEAgY2xhc3MgUHJvZHVjdFNwZWNpZmljYXRpb25zU2VydmljZVRlc3QgOgorICAg ICAgICAgICAgICAgICAgIHNwZWNpZmljcy51cGRhdGVfdGltZV91bml4X2Vwb2NoX21pY3Jvcygp KSwKKyAgICAgICAgICAgICAgIHNwZWNpZmljYXRpb25zLnVwZGF0ZV90aW1lKCkpOworICAgICBF WFBFQ1RfRVEoc3BlY2lmaWNzLm5hbWUoKSwgc3BlY2lmaWNhdGlvbnMubmFtZSgpKTsKKy0gICAg c3RkOjp2ZWN0b3I8Y29uc3QgR1VSTD4gdXJsczsKKysgICAgc3RkOjp2ZWN0b3I8R1VSTD4gdXJs czsKKyAgICAgZm9yIChjb25zdCBzeW5jX3BiOjpDb21wYXJpc29uRGF0YSYgZGF0YSA6IHNwZWNp Zmljcy5kYXRhKCkpIHsKKyAgICAgICB1cmxzLmVtcGxhY2VfYmFjayhkYXRhLnVybCgpKTsKKyAg ICAgfQorQEAgLTI0Myw3ICsyNDMsNyBAQCBURVNUX0YoUHJvZHVjdFNwZWNpZmljYXRpb25zU2Vy dmljZVRlc3QsCisgICBmb3IgKGNvbnN0IHN5bmNfcGI6OkNvbXBhcmVTcGVjaWZpY3MmIHNwZWNp ZmljcyA6IGtDb21wYXJlU3BlY2lmaWNzKSB7CisgICAgIGJyaWRnZSgpLT5BZGRDb21wYXJlU3Bl Y2lmaWNzKHNwZWNpZmljcyk7CisgICB9CistICBjb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBQcm9k dWN0U3BlY2lmaWNhdGlvbnNTZXQ+IHNwZWNpZmljYXRpb25zID0KKysgIGNvbnN0IHN0ZDo6dmVj dG9yPFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldD4gc3BlY2lmaWNhdGlvbnMgPQorICAgICAgIHNl cnZpY2UoKS0+R2V0QWxsUHJvZHVjdFNwZWNpZmljYXRpb25zKCk7CisgICBFWFBFQ1RfRVEoMnUs IHNwZWNpZmljYXRpb25zLnNpemUoKSk7CisgICBmb3IgKHVpbnQ2NF90IGkgPSAwOyBpIDwgc3Bl Y2lmaWNhdGlvbnMuc2l6ZSgpOyBpKyspIHsKK0BAIC0yNTIsNyArMjUyLDcgQEAgVEVTVF9GKFBy b2R1Y3RTcGVjaWZpY2F0aW9uc1NlcnZpY2VUZXN0LAorIH0KKyAKKyBURVNUX0YoUHJvZHVjdFNw ZWNpZmljYXRpb25zU2VydmljZVRlc3QsIFRlc3RBZGRQcm9kdWN0U3BlY2lmaWNhdGlvbnNTdWNj ZXNzKSB7CistICBzdGQ6OnZlY3Rvcjxjb25zdCBHVVJMPiBleHBlY3RlZF9wcm9kdWN0X3VybHN7 R1VSTChrUHJvZHVjdE9uZVVybCksCisrICBzdGQ6OnZlY3RvcjxHVVJMPiBleHBlY3RlZF9wcm9k dWN0X3VybHN7R1VSTChrUHJvZHVjdE9uZVVybCksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR1VSTChrUHJvZHVjdFR3b1VybCl9OworICAgRVhQRUNU X0NBTEwoKm9ic2VydmVyKCksCisgICAgICAgICAgICAgICBPblByb2R1Y3RTcGVjaWZpY2F0aW9u c1NldEFkZGVkKEhhc1Byb2R1Y3RTcGVjc05hbWVVcmwoCitkaWZmIC11cCBjaHJvbWl1bS0xMjUu MC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25z L3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2V0LmNjLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0t MTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0 aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3NldC5jYworLS0tIGNocm9taXVtLTEyNS4wLjY0 MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJv ZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQuY2Muc3lzdGVtLWxpYnN0ZGMrKwkyMDI0LTA1LTE5IDEz OjA2OjIwLjg3MDQ0NTE2MyArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9u ZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZp Y2F0aW9uc19zZXQuY2MJMjAyNC0wNS0xOSAxMzowNzo0NC4zODUyNzgyMzMgKzAyMDAKK0BAIC0x Miw3ICsxMiw3IEBAIFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldDo6UHJvZHVjdFNwZWNpZmkKKyAg ICAgY29uc3Qgc3RkOjpzdHJpbmcmIHV1aWQsCisgICAgIGNvbnN0IGludDY0X3QgY3JlYXRpb25f dGltZV91c2VjX3NpbmNlX2Vwb2NoLAorICAgICBjb25zdCBpbnQ2NF90IHVwZGF0ZV90aW1lX3Vz ZWNfc2luY2VfZXBvY2gsCistICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IEdVUkw+JiB1cmxz LAorKyAgICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJMPiYgdXJscywKKyAgICAgY29uc3Qgc3RkOjpz dHJpbmcmIG5hbWUpCisgICAgIDogdXVpZF8oYmFzZTo6VXVpZDo6UGFyc2VMb3dlcmNhc2UodXVp ZCkpLAorICAgICAgIGNyZWF0aW9uX3RpbWVfKGJhc2U6OlRpbWU6OkZyb21NaWxsaXNlY29uZHNT aW5jZVVuaXhFcG9jaCgKK0BAIC0zNCw5ICszNCw5IEBAIFByb2R1Y3RTcGVjaWZpY2F0aW9uc1Nl dDo6flByb2R1Y3RTcGVjaWYKKyAKKyBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQgUHJvZHVjdFNw ZWNpZmljYXRpb25zU2V0OjpGcm9tUHJvdG8oCisgICAgIGNvbnN0IHN5bmNfcGI6OkNvbXBhcmVT cGVjaWZpY3MmIHNwZWNpZmljcykgeworLSAgc3RkOjp2ZWN0b3I8Y29uc3QgR1VSTD4gdXJsczsK KysgIHN0ZDo6dmVjdG9yPEdVUkw+IHVybHM7CisgICBmb3IgKGNvbnN0IHN5bmNfcGI6OkNvbXBh cmlzb25EYXRhJiBkYXRhIDogc3BlY2lmaWNzLmRhdGEoKSkgeworLSAgICB1cmxzLnB1c2hfYmFj ayhHVVJMKGRhdGEudXJsKCkpKTsKKysgICAgdXJscy5lbXBsYWNlX2JhY2soZGF0YS51cmwoKSk7 CisgICB9CisgICByZXR1cm4gUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0KAorICAgICAgIHNwZWNp Zmljcy51dWlkKCksIHNwZWNpZmljcy5jcmVhdGlvbl90aW1lX3VuaXhfZXBvY2hfbWljcm9zKCks CitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29y ZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2V0Lmguc3lz dGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2Uv Y29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2V0LmgK Ky0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9k dWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2V0Lmguc3lzdGVtLWxp YnN0ZGMrKwkyMDI0LTA1LTE1IDIzOjQ2OjExLjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVt LTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNh dGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQuaAkyMDI0LTA1LTE5IDA5OjA3OjM4LjIw MTQzNzY1OSArMDIwMAorQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgUHJvZHVjdFNwZWNpZmljYXRp b25zU2V0IHsKKyAgIFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldChjb25zdCBzdGQ6OnN0cmluZyYg dXVpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ2NF90IGNyZWF0aW9u X3RpbWVfdXNlY19zaW5jZV9lcG9jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBpbnQ2NF90IHVwZGF0ZV90aW1lX3VzZWNfc2luY2VfZXBvY2gsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgR1VSTD4mIHVybHMsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8R1VSTD4mIHVybHMsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUpOworIAorICAg UHJvZHVjdFNwZWNpZmljYXRpb25zU2V0KGNvbnN0IFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldCYp OworQEAgLTYxLDcgKzYxLDcgQEAgY2xhc3MgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0IHsKKyAg IGNvbnN0IGJhc2U6OlRpbWUmIHVwZGF0ZV90aW1lKCkgY29uc3QgeyByZXR1cm4gdXBkYXRlX3Rp bWVfOyB9CisgCisgICAvLyBQcm9kdWN0IHVybHMgZm9yIGVhY2ggaXRlbSBpbiB0aGUgc2V0Cist ICBjb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBHVVJMPiYgdXJscygpIGNvbnN0IHsgcmV0dXJuIHVy bHNfOyB9CisrICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJMPiYgdXJscygpIGNvbnN0IHsgcmV0dXJu IHVybHNfOyB9CisgCisgICAvLyBOYW1lIG9mIHRoZSBzZXQKKyAgIGNvbnN0IHN0ZDo6c3RyaW5n JiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbmFtZV87IH0KK0BAIC03Niw3ICs3Niw3IEBAIGNsYXNz IFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldCB7CisgICBjb25zdCBiYXNlOjpVdWlkIHV1aWRfOwor ICAgY29uc3QgYmFzZTo6VGltZSBjcmVhdGlvbl90aW1lXzsKKyAgIGNvbnN0IGJhc2U6OlRpbWUg dXBkYXRlX3RpbWVfOworLSAgY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgR1VSTD4gdXJsc187Cisr ICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJMPiB1cmxzXzsKKyAgIGNvbnN0IHN0ZDo6c3RyaW5nIG5h bWVfOworIH07CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMv Y29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlv bnNfc3luY19icmlkZ2UuY2Muc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYw L2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rf c3BlY2lmaWNhdGlvbnNfc3luY19icmlkZ2UuY2MKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjYw L2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rf c3BlY2lmaWNhdGlvbnNfc3luY19icmlkZ2UuY2Muc3lzdGVtLWxpYnN0ZGMrKwkyMDI0LTA1LTE1 IDIzOjQ2OjExLjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29t cG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVj aWZpY2F0aW9uc19zeW5jX2JyaWRnZS5jYwkyMDI0LTA1LTE5IDA5OjA3OjM4LjIwMTQzNzY1OSAr MDIwMAorQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIFByb2R1Y3RTcGVjaWZpY2F0aW9uc1N5bmNC cmlkZ2U6OkdlCisgY29uc3Qgc3RkOjpvcHRpb25hbDxzeW5jX3BiOjpDb21wYXJlU3BlY2lmaWNz PgorIFByb2R1Y3RTcGVjaWZpY2F0aW9uc1N5bmNCcmlkZ2U6OkFkZFByb2R1Y3RTcGVjaWZpY2F0 aW9ucygKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsCistICAgIGNvbnN0IHN0ZDo6dmVj dG9yPGNvbnN0IEdVUkw+JiB1cmxzKSB7CisrICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdVUkw+JiB1 cmxzKSB7CisgICBpZiAoIWNoYW5nZV9wcm9jZXNzb3IoKS0+SXNUcmFja2luZ01ldGFkYXRhKCkp IHsKKyAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgIH0KK2RpZmYgLXVwIGNocm9taXVtLTEy NS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlv bnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zeW5jX2JyaWRnZS5oLnN5c3RlbS1saWJzdGRjKysg Y2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9z cGVjaWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlLmgKKy0tLSBj aHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3Nw ZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc3luY19icmlkZ2UuaC5zeXN0ZW0t bGlic3RkYysrCTIwMjQtMDUtMTUgMjM6NDY6MTEuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21p dW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZp Y2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlLmgJMjAyNC0wNS0xOSAw OTowNzozOC4yMDE0Mzc2NTkgKzAyMDAKK0BAIC02NCw3ICs2NCw3IEBAIGNsYXNzIFByb2R1Y3RT cGVjaWZpY2F0aW9uc1N5bmNCcmlkZ2UgOgorIAorICAgdmlydHVhbCBjb25zdCBzdGQ6Om9wdGlv bmFsPHN5bmNfcGI6OkNvbXBhcmVTcGVjaWZpY3M+CisgICBBZGRQcm9kdWN0U3BlY2lmaWNhdGlv bnMoY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgR1VSTD4mIHVybHMpOworKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPEdVUkw+JiB1cmxzKTsKKyAKKyAgIHZvaWQgRGVs ZXRlUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0KGNvbnN0IHN0ZDo6c3RyaW5nJiB1dWlkKTsKKyAK K2RpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3Jl L3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zeW5jX2JyaWRn ZV91bml0dGVzdC5jYy5zeXN0ZW0tbGlic3RkYysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29t cG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVj aWZpY2F0aW9uc19zeW5jX2JyaWRnZV91bml0dGVzdC5jYworLS0tIGNocm9taXVtLTEyNS4wLjY0 MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJv ZHVjdF9zcGVjaWZpY2F0aW9uc19zeW5jX2JyaWRnZV91bml0dGVzdC5jYy5zeXN0ZW0tbGlic3Rk YysrCTIwMjQtMDUtMTUgMjM6NDY6MTEuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTI1 LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9u cy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlX3VuaXR0ZXN0LmNjCTIwMjQtMDUt MTkgMDk6MDc6MzguMjAxNDM3NjU5ICswMjAwCitAQCAtMTc4LDcgKzE3OCw3IEBAIGNsYXNzIFBy b2R1Y3RTcGVjaWZpY2F0aW9uc1N5bmNCcmlkZ2VUZXMKKyAKKyAgIHN0ZDo6b3B0aW9uYWw8c3lu Y19wYjo6Q29tcGFyZVNwZWNpZmljcz4gQWRkUHJvZHVjdFNwZWNpZmljYXRpb25zKAorICAgICAg IGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLAorLSAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0 IEdVUkw+IHVybHMpIHsKKysgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJMPiB1cmxzKSB7Cisg ICAgIHJldHVybiBicmlkZ2UoKS5BZGRQcm9kdWN0U3BlY2lmaWNhdGlvbnMobmFtZSwgdXJscyk7 CisgICB9CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29t bWVyY2UvY29yZS9zaG9wcGluZ19zZXJ2aWNlLmNjLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0t MTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvc2hvcHBpbmdfc2VydmljZS5j YworLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3No b3BwaW5nX3NlcnZpY2UuY2Muc3lzdGVtLWxpYnN0ZGMrKwkyMDI0LTA1LTE1IDIzOjQ2OjExLjAw MDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21t ZXJjZS9jb3JlL3Nob3BwaW5nX3NlcnZpY2UuY2MJMjAyNC0wNS0xOSAwOTowNzozOC4yMDE0Mzc2 NTkgKzAyMDAKK0BAIC0xNzM0LDcgKzE3MzQsNyBAQCB2b2lkIFNob3BwaW5nU2VydmljZTo6R2V0 UHJvZHVjdElkZW50aWZpCisgICAgICAgICAgIHN0ZDo6bW92ZShjYWxsYmFjaykpKTsKKyB9Cisg CistY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0PgorK2Nv bnN0IHN0ZDo6dmVjdG9yPFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldD4KKyBTaG9wcGluZ1NlcnZp Y2U6OkdldEFsbFByb2R1Y3RTcGVjaWZpY2F0aW9uU2V0cygpIHsKKyAgIHJldHVybiBwcm9kdWN0 X3NwZWNpZmljYXRpb25zX3NlcnZpY2VfLT5HZXRBbGxQcm9kdWN0U3BlY2lmaWNhdGlvbnMoKTsK KyB9CitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2Uv Y29yZS9zaG9wcGluZ19zZXJ2aWNlLmguc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42 NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9zaG9wcGluZ19zZXJ2aWNlLmgKKy0tLSBj aHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9zaG9wcGluZ19z ZXJ2aWNlLmguc3lzdGVtLWxpYnN0ZGMrKwkyMDI0LTA1LTE1IDIzOjQ2OjExLjAwMDAwMDAwMCAr MDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3Jl L3Nob3BwaW5nX3NlcnZpY2UuaAkyMDI0LTA1LTE5IDA5OjA3OjM4LjIwMTQzNzY1OSArMDIwMAor QEAgLTYyNCw3ICs2MjQsNyBAQCBjbGFzcyBTaG9wcGluZ1NlcnZpY2UgOiBwdWJsaWMgS2V5ZWRT ZXJ2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVybFByb2R1Y3RJZGVudGlm aWVyVHVwbGVDYWxsYmFjayBjYWxsYmFjayk7CisgCisgICAvLyBSZXR1cm4gYWxsIFByb2R1Y3RT cGVjaWZpY2F0aW9uc1NldHMgZnJvbSBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXJ2aWNlLgorLSAg dmlydHVhbCBjb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ+ CisrICB2aXJ0dWFsIGNvbnN0IHN0ZDo6dmVjdG9yPFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldD4K KyAgIEdldEFsbFByb2R1Y3RTcGVjaWZpY2F0aW9uU2V0cygpOworIAorICAgLy8gVXBkYXRlcyB0 aGUgYm9va21hcmsgbW9kZWwgdXNlZCBmb3Igc3luYyAoYW5kIHNob3BwaW5nKSBpZiBuZWVkZWQu IEludm9rZWQKIGRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9zZXJ2 aWNlcy9hcHBfc2VydmljZS9wdWJsaWMvY3BwL2FwcF90eXBlcy5oLnN5c3RlbS1saWJzdGRjKysg Y2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL3NlcnZpY2VzL2FwcF9zZXJ2aWNlL3B1 YmxpYy9jcHAvYXBwX3R5cGVzLmgKLS0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVu dHMvc2VydmljZXMvYXBwX3NlcnZpY2UvcHVibGljL2NwcC9hcHBfdHlwZXMuaC5zeXN0ZW0tbGli c3RkYysrCTIwMjQtMDUtMTggMTM6MzE6MDAuMzgxNTE3Mjk0ICswMjAwCi0rKysgY2hyb21pdW0t MTI1LjAuNjQyMi42MC9jb21wb25lbnRzL3NlcnZpY2VzL2FwcF9zZXJ2aWNlL3B1YmxpYy9jcHAv YXBwX3R5cGVzLmgJMjAyNC0wNS0xOCAxMzozMToxOS43NDA5NDY5NjQgKzAyMDAKKy0tLSBjaHJv bWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvc2VydmljZXMvYXBwX3NlcnZpY2UvcHVibGlj L2NwcC9hcHBfdHlwZXMuaC5zeXN0ZW0tbGlic3RkYysrCTIwMjQtMDUtMTUgMjM6NDY6MTQuMDAw MDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL3NlcnZp Y2VzL2FwcF9zZXJ2aWNlL3B1YmxpYy9jcHAvYXBwX3R5cGVzLmgJMjAyNC0wNS0xOSAwOTowNzoz OC4yMDI0Mzc2NzkgKzAyMDAKIEBAIC01LDYgKzUsNyBAQAogICNpZm5kZWYgQ09NUE9ORU5UU19T RVJWSUNFU19BUFBfU0VSVklDRV9QVUJMSUNfQ1BQX0FQUF9UWVBFU19IXwogICNkZWZpbmUgQ09N UE9ORU5UU19TRVJWSUNFU19BUFBfU0VSVklDRV9QVUJMSUNfQ1BQX0FQUF9UWVBFU19IXwpAQCAt MzQsNyArMjYzLDcgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRz L3NlcnZpY2VzL2FwcF9zZXJ2aWNlL3B1YmxpYy9jcHAvYXBwX3QKICAjaW5jbHVkZSAiY29tcG9u ZW50cy9zZXJ2aWNlcy9hcHBfc2VydmljZS9wdWJsaWMvcHJvdG9zL2FwcF90eXBlcy5wYi5oIgog ZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rp c3BsYXkvc3VyZmFjZV9hZ2dyZWdhdG9yLmNjLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0tMTI1 LjAuNjQyMi42MC9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXkvc3VyZmFjZV9hZ2dyZWdh dG9yLmNjCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL3Zpei9zZXJ2aWNl L2Rpc3BsYXkvc3VyZmFjZV9hZ2dyZWdhdG9yLmNjLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0x NSAyMzo0NjoxNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nv bXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheS9zdXJmYWNlX2FnZ3JlZ2F0b3IuY2MJMjAyNC0w NS0xNyAxMjozMzo1OC43NjE2NTE1MDUgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYw L2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheS9zdXJmYWNlX2FnZ3JlZ2F0b3IuY2MJMjAy NC0wNS0xOSAwOTowNzozOC4yMDI0Mzc2NzkgKzAyMDAKIEBAIC0yMjc1LDcgKzIyNzUsNyBAQCBB Z2dyZWdhdGVkRnJhbWUgU3VyZmFjZUFnZ3JlZ2F0b3I6OkFnZ3JlCiAgICByb290X3N1cmZhY2Vf aWRfID0gc3VyZmFjZV9pZDsKICAKQEAgLTQ2LDcgKzI3NSw3IEBAIGRpZmYgLXVwIGNocm9taXVt LTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy92aXovc2VydmljZS9kaXNwbGF5L3N1cmZhY2VfYWdn cmVnYXRvCiAgICBSZXNvbHZlZEZyYW1lRGF0YSogcmVzb2x2ZWRfZnJhbWUgPSBHZXRSZXNvbHZl ZEZyYW1lKHN1cmZhY2VfaWQpOwogZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb250 ZW50L2Jyb3dzZXIvZmlyc3RfcGFydHlfc2V0cy9maXJzdF9wYXJ0eV9zZXRzX2hhbmRsZXJfZGF0 YWJhc2VfaGVscGVyLmNjLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9j b250ZW50L2Jyb3dzZXIvZmlyc3RfcGFydHlfc2V0cy9maXJzdF9wYXJ0eV9zZXRzX2hhbmRsZXJf ZGF0YWJhc2VfaGVscGVyLmNjCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb250ZW50L2Jy b3dzZXIvZmlyc3RfcGFydHlfc2V0cy9maXJzdF9wYXJ0eV9zZXRzX2hhbmRsZXJfZGF0YWJhc2Vf aGVscGVyLmNjLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0xNSAyMzo0NjoxNy4wMDAwMDAwMDAg KzAyMDAKLSsrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbnRlbnQvYnJvd3Nlci9maXJzdF9w YXJ0eV9zZXRzL2ZpcnN0X3BhcnR5X3NldHNfaGFuZGxlcl9kYXRhYmFzZV9oZWxwZXIuY2MJMjAy NC0wNS0xNyAxMjozMzo1OC43NjI2NTE1MjYgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIy LjYwL2NvbnRlbnQvYnJvd3Nlci9maXJzdF9wYXJ0eV9zZXRzL2ZpcnN0X3BhcnR5X3NldHNfaGFu ZGxlcl9kYXRhYmFzZV9oZWxwZXIuY2MJMjAyNC0wNS0xOSAwOTowNzozOC4yMDI0Mzc2NzkgKzAy MDAKIEBAIC0yLDYgKzIsNyBAQAogIC8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAvLyBmb3VuZCBpbiB0aGUg TElDRU5TRSBmaWxlLgpAQCAtNTcsNyArMjg2LDcgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAu NjQyMi42MC9jb250ZW50L2Jyb3dzZXIvZmlyc3RfcGFydHlfc2V0cy9maXJzdF9wYXJ0eV9zZXQK ICAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL2NvbnRhaW5zLmgiCiBkaWZmIC11cCBjaHJvbWl1 bS0xMjUuMC42NDIyLjYwL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9z aGFyZWRfaW1hZ2VfYmFja2luZy5oLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0tMTI1LjAuNjQy Mi42MC9ncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9zaGFyZWRfaW1hZ2Uvc2hhcmVkX2ltYWdl X2JhY2tpbmcuaAogLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvZ3B1L2NvbW1hbmRfYnVmZmVy L3NlcnZpY2Uvc2hhcmVkX2ltYWdlL3NoYXJlZF9pbWFnZV9iYWNraW5nLmguc3lzdGVtLWxpYnN0 ZGMrKwkyMDI0LTA1LTE1IDIzOjQ2OjIyLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTEy NS4wLjY0MjIuNjAvZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2Uvc2hhcmVkX2ltYWdlL3NoYXJl ZF9pbWFnZV9iYWNraW5nLmgJMjAyNC0wNS0xNyAxMjozMzo1OC43NjI2NTE1MjYgKzAyMDAKKysr KyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJl ZF9pbWFnZS9zaGFyZWRfaW1hZ2VfYmFja2luZy5oCTIwMjQtMDUtMTkgMDk6MDc6MzguMjAyNDM3 Njc5ICswMjAwCiBAQCAtMTExLDYgKzExMSwyNSBAQCB1c2luZyBWaWRlb0RlY29kZURldmljZSA9 IE1pY3Jvc29mdDo6V1JMCiAgdXNpbmcgVmlkZW9EZWNvZGVEZXZpY2UgPSB2b2lkKjsKICAjZW5k aWYgIC8vIEJVSUxERkxBRyhJU19XSU4pCkBAIC0xMTAsOSArMzM5LDMyIEBAIGRpZmYgLXVwIGNo cm9taXVtLTEyNS4wLjY0MjIuNjAvZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2Uvc2hhcmVkX2lt YWdlL3NoYXJlZF9pCiAgICBjb25zdCBNYWlsYm94IG1haWxib3hfOwogICAgY29uc3Qgdml6OjpT aGFyZWRJbWFnZUZvcm1hdCBmb3JtYXRfOwogICAgY29uc3QgZ2Z4OjpTaXplIHNpemVfOworZGlm ZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1YmxpYy9jcHAvYmFzZS9wcm90b193 cmFwcGVyLmNjLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1 YmxpYy9jcHAvYmFzZS9wcm90b193cmFwcGVyLmNjCistLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42 MC9tb2pvL3B1YmxpYy9jcHAvYmFzZS9wcm90b193cmFwcGVyLmNjLnN5c3RlbS1saWJzdGRjKysJ MjAyNC0wNS0xNSAyMzo0NjoyOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42 NDIyLjYwL21vam8vcHVibGljL2NwcC9iYXNlL3Byb3RvX3dyYXBwZXIuY2MJMjAyNC0wNS0xOSAw OTowNzozOC4yMDM0Mzc3MDAgKzAyMDAKK0BAIC01Nyw3ICs1Nyw3IEBAIGJvb2wgUHJvdG9XcmFw cGVyOjpEZXNlcmlhbGl6ZVRvTWVzc2FnZSgKKyAgICAgLy8gTWFrZSBhbiBpbi1wcm9jZXNzIGNv cHkgaGVyZSBhcyBwcm90b2J1ZiBpcyBub3QgZGVzaWduZWQgdG8KKyAgICAgLy8gc2FmZWx5IHBh cnNlIGRhdGEgdGhhdCBtaWdodCBiZSBjaGFuZ2luZyB1bmRlcm5lYXRoIGl0LgorICAgICBhdXRv IGFzX3NwYW4gPSBiYXNlOjptYWtlX3NwYW4oYnl0ZXNfLT5kYXRhKCksIGJ5dGVzXy0+c2l6ZSgp KTsKKy0gICAgY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgdWludDhfdD4gY29weShhc19zcGFuLmJl Z2luKCksIGFzX3NwYW4uZW5kKCkpOworKyAgICBjb25zdCBzdGQ6OnZlY3Rvcjx1aW50OF90PiBj b3B5KGFzX3NwYW4uYmVnaW4oKSwgYXNfc3Bhbi5lbmQoKSk7CisgICAgIHJldHVybiBtZXNzYWdl LlBhcnNlRnJvbUFycmF5KGNvcHkuZGF0YSgpLCBjb3B5LnNpemUoKSk7CisgICB9CisgfQorZGlm ZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGli L2JpbmRpbmdzX2ludGVybmFsLmguc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIy LjYwL21vam8vcHVibGljL2NwcC9iaW5kaW5ncy9saWIvYmluZGluZ3NfaW50ZXJuYWwuaAorLS0t IGNocm9taXVtLTEyNS4wLjY0MjIuNjAvbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL2xpYi9iaW5k aW5nc19pbnRlcm5hbC5oLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0xNSAyMzo0NjoyOS4wMDAw MDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL21vam8vcHVibGljL2NwcC9i aW5kaW5ncy9saWIvYmluZGluZ3NfaW50ZXJuYWwuaAkyMDI0LTA1LTE5IDA5OjA3OjM4LjIwMzQz NzcwMCArMDIwMAorQEAgLTgsNiArOCw3IEBACisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorICNp bmNsdWRlIDxmdW5jdGlvbmFsPgorKyNpbmNsdWRlIDxvcHRpb25hbD4KKyAjaW5jbHVkZSA8dHlw ZV90cmFpdHM+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCiBkaWZmIC11cCBjaHJvbWl1bS0xMjUu MC42NDIyLjYwL21vam8vcHVibGljL2NwcC9iaW5kaW5ncy9saWIvbXVsdGlwbGV4X3JvdXRlci5j Yy5zeXN0ZW0tbGlic3RkYysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvbW9qby9wdWJsaWMvY3Bw L2JpbmRpbmdzL2xpYi9tdWx0aXBsZXhfcm91dGVyLmNjCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQy Mi42MC9tb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL211bHRpcGxleF9yb3V0ZXIuY2Muc3lz dGVtLWxpYnN0ZGMrKwkyMDI0LTA1LTE1IDIzOjQ2OjI5LjAwMDAwMDAwMCArMDIwMAotKysrIGNo cm9taXVtLTEyNS4wLjY0MjIuNjAvbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL2xpYi9tdWx0aXBs ZXhfcm91dGVyLmNjCTIwMjQtMDUtMTcgMTI6MzM6NTguNzYyNjUxNTI2ICswMjAwCisrKysgY2hy b21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGliL211bHRpcGxl eF9yb3V0ZXIuY2MJMjAyNC0wNS0xOSAwOTowNzozOC4yMDM0Mzc3MDAgKzAyMDAKIEBAIC04OTIs NyArODkyLDcgQEAgYm9vbCBNdWx0aXBsZXhSb3V0ZXI6OkV4Y2x1c2l2ZVN5bmNXYWl0RgogICAg RENIRUNLKCFleGNsdXNpdmVfc3luY193YWl0Xyk7CiAgCkBAIC0xMjQsNyArMzc2LDcgQEAgZGlm ZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvbGli L211bHRpcGxleF9yb3V0ZXIuY2MKICAgIHdoaWxlICghZXhjbHVzaXZlX3N5bmNfd2FpdF8tPmZp bmlzaGVkKSB7CiBkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2Js aW5rL2NvbW1vbi9pbnRlcmVzdF9ncm91cC9hdWN0aW9uX2NvbmZpZ19tb2pvbV90cmFpdHMuY2Mu c3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5r L2NvbW1vbi9pbnRlcmVzdF9ncm91cC9hdWN0aW9uX2NvbmZpZ19tb2pvbV90cmFpdHMuY2MKIC0t LSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9pbnRlcmVz dF9ncm91cC9hdWN0aW9uX2NvbmZpZ19tb2pvbV90cmFpdHMuY2Muc3lzdGVtLWxpYnN0ZGMrKwky MDI0LTA1LTE1IDIzOjQ2OjM4LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTEyNS4wLjY0 MjIuNjAvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2ludGVyZXN0X2dyb3VwL2F1Y3Rpb25fY29u ZmlnX21vam9tX3RyYWl0cy5jYwkyMDI0LTA1LTE3IDEyOjMzOjU4Ljc2MzY1MTU0NyArMDIwMAor KysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2ludGVy ZXN0X2dyb3VwL2F1Y3Rpb25fY29uZmlnX21vam9tX3RyYWl0cy5jYwkyMDI0LTA1LTE5IDA5OjA3 OjM4LjIwNjQzNzc2MyArMDIwMAogQEAgLTIxOCw4ICsyMTgsNiBAQCBib29sIFN0cnVjdFRyYWl0 czxibGluazo6bW9qb206OkF1Y3Rpb25BCiAgICAgICAgIWRhdGEuUmVhZEFsbEJ1eWVyc1ByaW9y aXR5U2lnbmFscygmb3V0LT5hbGxfYnV5ZXJzX3ByaW9yaXR5X3NpZ25hbHMpIHx8CiAgICAgICAg IWRhdGEuUmVhZEF1Y3Rpb25SZXBvcnRCdXllcktleXMoJm91dC0+YXVjdGlvbl9yZXBvcnRfYnV5 ZXJfa2V5cykgfHwKQEAgLTEzNiw3ICszODgsNyBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42 NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9pbnRlcmVzdF9ncm91cC9hdWN0aW9uXwog ICAgICAgICFkYXRhLlJlYWRSZXF1ZXN0ZWRTaXplKCZvdXQtPnJlcXVlc3RlZF9zaXplKSB8fAog ZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL2xvYWRlci9oaXN0b3J5X2l0ZW0uY2Muc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0x MjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbG9hZGVyL2hpc3Rv cnlfaXRlbS5jYwogLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9sb2FkZXIvaGlzdG9yeV9pdGVtLmNjLnN5c3RlbS1saWJzdGRjKysJMjAy NC0wNS0xNSAyMzo0Njo0MS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMjUuMC42NDIy LjYwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbG9hZGVyL2hpc3RvcnlfaXRlbS5j YwkyMDI0LTA1LTE3IDEyOjMzOjU4Ljc2MzY1MTU0NyArMDIwMAorKysrIGNocm9taXVtLTEyNS4w LjY0MjIuNjAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sb2FkZXIvaGlzdG9yeV9p dGVtLmNjCTIwMjQtMDUtMTkgMDk6MDc6MzguMjA5NDM3ODI1ICswMjAwCiBAQCAtMTgyLDI2ICsx ODIsMjYgQEAgdm9pZCBIaXN0b3J5SXRlbTo6U2V0UmVmZXJyZXJQb2xpY3kobmV0dwogIAogIHZv aWQgSGlzdG9yeUl0ZW06OlNldFZpc3VhbFZpZXdwb3J0U2Nyb2xsT2Zmc2V0KGNvbnN0IFNjcm9s bE9mZnNldCYgb2Zmc2V0KSB7CkBAIC0xNzAsNyArNDIyLDcgQEAgZGlmZiAtdXAgY2hyb21pdW0t MTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xvYWRlci9oaXN0 b3J5X2kKICAKIGRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9wYWludC9mcmFnbWVudF9kYXRhX2l0ZXJhdG9yLmguc3lzdGVtLWxp YnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvcGFpbnQvZnJhZ21lbnRfZGF0YV9pdGVyYXRvci5oCiAtLS0gY2hyb21pdW0tMTI1LjAu NjQyMi42MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L2ZyYWdtZW50X2Rh dGFfaXRlcmF0b3IuaC5zeXN0ZW0tbGlic3RkYysrCTIwMjQtMDUtMTUgMjM6NDY6NDEuMDAwMDAw MDAwICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9jb3JlL3BhaW50L2ZyYWdtZW50X2RhdGFfaXRlcmF0b3IuaAkyMDI0LTA1LTE3IDEy OjMzOjU4Ljc2MzY1MTU0NyArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9mcmFnbWVudF9kYXRhX2l0ZXJhdG9yLmgJ MjAyNC0wNS0xOSAwOTowNzozOC4yMDk0Mzc4MjUgKzAyMDAKIEBAIC0yMiw3ICsyMiw3IEBAIGNs YXNzIEZyYWdtZW50RGF0YUl0ZXJhdG9yQmFzZSB7CiAgCiAgIHB1YmxpYzoKQEAgLTE4Miw3ICs0 MzQsNyBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvcGFpbnQvZnJhZ21lbnRfZAogICAgICByZXR1cm4gIUlzRG9uZSgpID8g JmZyYWdtZW50X2hlYWRfLmF0KGlkeF8pIDogbnVsbHB0cjsKIGRpZmYgLXVwIGNocm9taXVtLTEy NS4wLjY0MjIuNjAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9tZWRpYV9jb250 cm9scy9lbGVtZW50cy9tZWRpYV9jb250cm9sX3RpbWVsaW5lX2VsZW1lbnQuY2Muc3lzdGVtLWxp YnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L21vZHVsZXMvbWVkaWFfY29udHJvbHMvZWxlbWVudHMvbWVkaWFfY29udHJvbF90aW1lbGluZV9l bGVtZW50LmNjCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9tb2R1bGVzL21lZGlhX2NvbnRyb2xzL2VsZW1lbnRzL21lZGlhX2NvbnRyb2xfdGlt ZWxpbmVfZWxlbWVudC5jYy5zeXN0ZW0tbGlic3RkYysrCTIwMjQtMDUtMTUgMjM6NDY6NDIuMDAw MDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9tb2R1bGVzL21lZGlhX2NvbnRyb2xzL2VsZW1lbnRzL21lZGlhX2NvbnRyb2xf dGltZWxpbmVfZWxlbWVudC5jYwkyMDI0LTA1LTE3IDEyOjMzOjU4Ljc2NDY1MTU2NyArMDIwMAor KysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9k dWxlcy9tZWRpYV9jb250cm9scy9lbGVtZW50cy9tZWRpYV9jb250cm9sX3RpbWVsaW5lX2VsZW1l bnQuY2MJMjAyNC0wNS0xOSAwOTowNzozOC4yMTA0Mzc4NDYgKzAyMDAKIEBAIC0xMDEsNyArMTAx LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OlVwZGF0ZQogIHZvaWQgTWVk aWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpTZXRQb3NpdGlvbihkb3VibGUgY3VycmVudF90aW1l LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHN1 cHByZXNzX2FyaWEpIHsKQEAgLTE5NCw3ICs0NDYsNyBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMjUu MC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvbWVkaWFfY29udHJv bAogICAgfQogZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9wYWludC9nZW9tZXRyeV9tYXBwZXJfdHJhbnNm b3JtX2NhY2hlLmNjLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9wYWludC9nZW9tZXRyeV9t YXBwZXJfdHJhbnNmb3JtX2NhY2hlLmNjCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9wYWludC9nZW9tZXRyeV9t YXBwZXJfdHJhbnNmb3JtX2NhY2hlLmNjLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0xNSAyMzo0 Njo0Mi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL3BhaW50L2dlb21ldHJ5X21hcHBl cl90cmFuc2Zvcm1fY2FjaGUuY2MJMjAyNC0wNS0xNyAxMjozMzo1OC43NjQ2NTE1NjcgKzAyMDAK KysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2dyYXBoaWNzL3BhaW50L2dlb21ldHJ5X21hcHBlcl90cmFuc2Zvcm1fY2FjaGUuY2MJ MjAyNC0wNS0xOSAwOTowNzozOC4yMTA0Mzc4NDYgKzAyMDAKIEBAIC03MCw3ICs3MCw3IEBAIHZv aWQgR2VvbWV0cnlNYXBwZXJUcmFuc2Zvcm1DYWNoZTo6VXBkYXQKICAgICAgdG9fMmRfdHJhbnNs YXRpb25fcm9vdF8gKz0gdHJhbnNsYXRpb247CiAgCkBAIC0yMjIsOSArNDc0LDMxIEBAIGRpZmYg LXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxh dGZvcm0vZ3JhcGhpY3MvcGFpCiAgICBwYXJlbnQuQXBwbHlUb1NjcmVlbihzY3JlZW5fdHJhbnNm b3JtXy0+dG9fc2NyZWVuKTsKICAgIGlmIChub2RlLkZsYXR0ZW5zSW5oZXJpdGVkVHJhbnNmb3Jt KCkpCiAgICAgIHNjcmVlbl90cmFuc2Zvcm1fLT50b19zY3JlZW4uRmxhdHRlbigpOworZGlmZiAt dXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxl ci9pbnN0cnVtZW50YXRpb24uaC5zeXN0ZW0tbGlic3RkYysrIGNocm9taXVtLTEyNS4wLjY0MjIu NjAvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgKKy0t LSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVy L2luc3RydW1lbnRhdGlvbi5oLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0xNSAyMzo0Nzo0OS4w MDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L3J1 eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oCTIwMjQtMDUtMTkgMDk6MDc6Mzgu MjExNDM3ODY3ICswMjAwCitAQCAtMTksNiArMTksNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUg TGljZW5zZS4KKyAjaWZkZWYgUlVZX1BST0ZJTEVSCisgI2luY2x1ZGUgPGNzdGRpbz4KKyAjaW5j bHVkZSA8bXV0ZXg+CisrI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorICNl bmRpZgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS92dWxr YW4tZGVwcy92dWxrYW4tdXRpbGl0eS1saWJyYXJpZXMvc3JjL2luY2x1ZGUvdnVsa2FuL3V0aWxp dHkvdmtfc21hbGxfY29udGFpbmVycy5ocHAuc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUu MC42NDIyLjYwL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi11dGlsaXR5LWxpYnJhcmll cy9zcmMvaW5jbHVkZS92dWxrYW4vdXRpbGl0eS92a19zbWFsbF9jb250YWluZXJzLmhwcAorLS0t IGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXV0 aWxpdHktbGlicmFyaWVzL3NyYy9pbmNsdWRlL3Z1bGthbi91dGlsaXR5L3ZrX3NtYWxsX2NvbnRh aW5lcnMuaHBwLnN5c3RlbS1saWJzdGRjKysJMjAyNC0wNS0xNSAyMzo0ODowNS4wMDAwMDAwMDAg KzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBz L3Z1bGthbi11dGlsaXR5LWxpYnJhcmllcy9zcmMvaW5jbHVkZS92dWxrYW4vdXRpbGl0eS92a19z bWFsbF9jb250YWluZXJzLmhwcAkyMDI0LTA1LTE5IDA5OjA3OjM4LjIxMTQzNzg2NyArMDIwMAor QEAgLTgsNiArOCw3IEBACisgCisgI3ByYWdtYSBvbmNlCisgCisrI2luY2x1ZGUgPG1lbW9yeT4K KyAjaW5jbHVkZSA8Y2Fzc2VydD4KKyAjaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KKyAjaW5jbHVk ZSA8dW5vcmRlcmVkX3NldD4KIGRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRf cGFydHkvd2VicnRjL21vZHVsZXMvY29uZ2VzdGlvbl9jb250cm9sbGVyL2dvb2dfY2MvbG9zc19i YXNlZF9id2VfdjIuY2Muc3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3Ro aXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2Nvbmdlc3Rpb25fY29udHJvbGxlci9nb29nX2NjL2xv c3NfYmFzZWRfYndlX3YyLmNjCiAtLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0 eS93ZWJydGMvbW9kdWxlcy9jb25nZXN0aW9uX2NvbnRyb2xsZXIvZ29vZ19jYy9sb3NzX2Jhc2Vk X2J3ZV92Mi5jYy5zeXN0ZW0tbGlic3RkYysrCTIwMjQtMDUtMTUgMjM6NDg6MDkuMDAwMDAwMDAw ICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS93ZWJydGMvbW9k dWxlcy9jb25nZXN0aW9uX2NvbnRyb2xsZXIvZ29vZ19jYy9sb3NzX2Jhc2VkX2J3ZV92Mi5jYwky MDI0LTA1LTE3IDEyOjMzOjU4Ljc2NTY1MTU4OCArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0 MjIuNjAvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvY29uZ2VzdGlvbl9jb250cm9sbGVyL2dv b2dfY2MvbG9zc19iYXNlZF9id2VfdjIuY2MJMjAyNC0wNS0xOSAwOTowNzozOC4yMTI0Mzc4ODgg KzAyMDAKIEBAIC01NDksNyArNTQ5LDcgQEAgYWJzbDo6b3B0aW9uYWw8TG9zc0Jhc2VkQndlVjI6 OkNvbmZpZz4gTAogICAgaWYgKCFlbmFibGVkLkdldCgpKSB7CiAgICAgIHJldHVybiBjb25maWc7 CkBAIC0yMzYsNyArNTEwLDcgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGly ZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9jb25nZXN0aW9uX2NvbnRyb2xsZXIKICAgIGNvbmZpZy0+ YmFuZHdpZHRoX3JhbXB1cF91cHBlcl9ib3VuZF9mYWN0b3JfaW5faG9sZCA9CiBkaWZmIC11cCBj aHJvbWl1bS0xMjUuMC42NDIyLjYwL3VpL2dmeC94L2dlbmVyYXRlZF9wcm90b3MvcmFuZHIuY2Mu c3lzdGVtLWxpYnN0ZGMrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3VpL2dmeC94L2dlbmVyYXRl ZF9wcm90b3MvcmFuZHIuY2MKIC0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3VpL2dmeC94L2dl bmVyYXRlZF9wcm90b3MvcmFuZHIuY2Muc3lzdGVtLWxpYnN0ZGMrKwkyMDI0LTA1LTE1IDIzOjQ3 OjMzLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdWkvZ2Z4L3gv Z2VuZXJhdGVkX3Byb3Rvcy9yYW5kci5jYwkyMDI0LTA1LTE3IDEyOjMzOjU4Ljc2NTY1MTU4OCAr MDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdWkvZ2Z4L3gvZ2VuZXJhdGVkX3Byb3Rv cy9yYW5kci5jYwkyMDI0LTA1LTE5IDA5OjA3OjM4LjIxMjQzNzg4OCArMDIwMAogQEAgLTMwNSw3 ICszMDUsNyBAQCB2b2lkIFJlYWRFdmVudDxSYW5kUjo6Tm90aWZ5RXZlbnQ+KFJhbmRSCiAgICAv LyBkYXRhCiAgICBhdXRvIGRhdGFfZXhwciA9IHN1YkNvZGU7CkBAIC0zMDIsNyArNTc2LDcgQEAg ZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC91aS9nZngveC9nZW5lcmF0ZWRfcHJvdG9z L3JhbmRyLmNjLnN5c3RlbS1saWJzdGQKICAgICAgYXV0byYgbGVhc2UgPSAoKmRhdGEubGMpLmxl YXNlOwogZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC91aS9nZngveC9nZW5lcmF0ZWRf cHJvdG9zL3hpbnB1dC5jYy5zeXN0ZW0tbGlic3RkYysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAv dWkvZ2Z4L3gvZ2VuZXJhdGVkX3Byb3Rvcy94aW5wdXQuY2MKIC0tLSBjaHJvbWl1bS0xMjUuMC42 NDIyLjYwL3VpL2dmeC94L2dlbmVyYXRlZF9wcm90b3MveGlucHV0LmNjLnN5c3RlbS1saWJzdGRj KysJMjAyNC0wNS0xNSAyMzo0NzozMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMjUu MC42NDIyLjYwL3VpL2dmeC94L2dlbmVyYXRlZF9wcm90b3MveGlucHV0LmNjCTIwMjQtMDUtMTcg MTI6MzM6NTguNzY3NjUxNjI5ICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC91aS9n ZngveC9nZW5lcmF0ZWRfcHJvdG9zL3hpbnB1dC5jYwkyMDI0LTA1LTE5IDA5OjA3OjM4LjIxNjQz Nzk3MSArMDIwMAogQEAgLTU2Nyw3ICs1NjcsNyBAQCB2b2lkIFJlYWRFdmVudDxJbnB1dDo6RGV2 aWNlQ2hhbmdlZEV2ZW50CiAgICAgICAgLy8gZGF0YQogICAgICAgIGF1dG8gZGF0YV9leHByID0g dHlwZTsKQEAgLTU2NSw3ICs4MzksNyBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYw L3VpL2dmeC94L2dlbmVyYXRlZF9wcm90b3MveGlucHV0LmNjLnN5c3RlbS1saWJzdAogICAgICAg ICAgICAgIC8vIG51bV90b3VjaGVzCiBkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3Vp L2dmeC94L2dlbmVyYXRlZF9wcm90b3MveGtiLmNjLnN5c3RlbS1saWJzdGRjKysgY2hyb21pdW0t MTI1LjAuNjQyMi42MC91aS9nZngveC9nZW5lcmF0ZWRfcHJvdG9zL3hrYi5jYwogLS0tIGNocm9t aXVtLTEyNS4wLjY0MjIuNjAvdWkvZ2Z4L3gvZ2VuZXJhdGVkX3Byb3Rvcy94a2IuY2Muc3lzdGVt LWxpYnN0ZGMrKwkyMDI0LTA1LTE1IDIzOjQ3OjMzLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9t aXVtLTEyNS4wLjY0MjIuNjAvdWkvZ2Z4L3gvZ2VuZXJhdGVkX3Byb3Rvcy94a2IuY2MJMjAyNC0w NS0xNyAxMjozMzo1OC43Njg2NTE2NTAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYw L3VpL2dmeC94L2dlbmVyYXRlZF9wcm90b3MveGtiLmNjCTIwMjQtMDUtMTkgMDk6MDc6MzguMjIw NDM4MDU0ICswMjAwCiBAQCAtMjM0Niw3ICsyMzQ2LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFhrYjo6 R2V0TWFwUmVwbHk+IGRldGFpbAogICAgLy8gbWFwCiAgICBhdXRvIG1hcF9leHByID0gcHJlc2Vu dDsKQEAgLTYyMCwxNTggKzg5NCwzIEBAIGRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAv dWkvZ2Z4L3gvZ2VuZXJhdGVkX3Byb3Rvcy94a2IuY2Muc3lzdGVtLWxpYnN0ZGMrCiAgICAgIGF1 dG8mIGdlb21ldHJ5X3R5cGUgPSAoKnJlcGxpZXMuZ2VvbWV0cnkpLmdlb21ldHJ5X3R5cGU7CiAg ICAgIGF1dG8mIGdlb21ldHJ5RGV2aWNlSUQgPSAoKnJlcGxpZXMuZ2VvbWV0cnkpLmdlb21ldHJ5 RGV2aWNlSUQ7CiAgICAgIGF1dG8mIGdlb21ldHJ5X3NlcXVlbmNlID0gKCpyZXBsaWVzLmdlb21l dHJ5KS5nZW9tZXRyeV9zZXF1ZW5jZTsKLWRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNjAv Y2hyb21lL2Jyb3dzZXIvdWkvdGFicy90YWJfc3RyaXBfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMjUu MC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3VpL3RhYnMvdGFiX3N0cmlwX21vZGVsLmgKLS0tLSBj aHJvbWl1bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3VpL3RhYnMvdGFiX3N0cmlwX21v ZGVsLmgubWUJMjAyNC0wNS0xNyAxMzowMzo0Ny4xMjA3OTY5ODkgKzAyMDAKLSsrKyBjaHJvbWl1 bS0xMjUuMC42NDIyLjYwL2Nocm9tZS9icm93c2VyL3VpL3RhYnMvdGFiX3N0cmlwX21vZGVsLmgJ MjAyNC0wNS0xNyAxMzowNDowNy4zOTIyMTczNjcgKzAyMDAKLUBAIC0xMiw2ICsxMiw3IEBACi0g I2luY2x1ZGUgPG1lbW9yeT4KLSAjaW5jbHVkZSA8b3B0aW9uYWw+Ci0gI2luY2x1ZGUgPHN0cmlu Zz4KLSsjaW5jbHVkZSA8dmFyaWFudD4KLSAjaW5jbHVkZSA8dmVjdG9yPgotIAotICNpbmNsdWRl ICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42 MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9kdWN0 X3NwZWNpZmljYXRpb25zX3NlcnZpY2UuaC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBv bmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rfc3BlY2lm aWNhdGlvbnNfc2VydmljZS5oCi0tLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRz L2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRp b25zX3NlcnZpY2UuaC5tZQkyMDI0LTA1LTE1IDIzOjQ2OjExLjAwMDAwMDAwMCArMDIwMAotKysr IGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rf c3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXJ2aWNlLmgJMjAyNC0wNS0x NyAxMzowOTozOC40OTUzNzY1MTQgKzAyMDAKLUBAIC0yNiwxNCArMjYsMTMgQEAgY2xhc3MgUHJv ZHVjdFNwZWNpZmljYXRpb25zU2VydmljZSA6IHB1YgotICAgYmFzZTo6V2Vha1B0cjxzeW5jZXI6 Ok1vZGVsVHlwZUNvbnRyb2xsZXJEZWxlZ2F0ZT4KLSAgIEdldFN5bmNDb250cm9sbGVyRGVsZWdh dGUoKTsKLSAKLS0gIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IFByb2R1Y3RTcGVjaWZpY2F0aW9u c1NldD4KLS0gIEdldEFsbFByb2R1Y3RTcGVjaWZpY2F0aW9ucygpOwotKyAgY29uc3Qgc3RkOjp2 ZWN0b3I8UHJvZHVjdFNwZWNpZmljYXRpb25zU2V0PiBHZXRBbGxQcm9kdWN0U3BlY2lmaWNhdGlv bnMoKTsKLSAKLSAgIC8vIEFkZCBuZXcgcHJvZHVjdCBzcGVjaWZpY2F0aW9ucyBzZXQgY2FsbGVk IHxuYW1lfCB3aXRoIHByb2R1Y3QgcGFnZXMKLSAgIC8vIGNvcnJlc3BvbmRpbmcgdG8gfHVybHN8 LgotICAgY29uc3Qgc3RkOjpvcHRpb25hbDxjb25zdCBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ+ Ci0gICBBZGRQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQoY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUs Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3Qg R1VSTD4mIHVybHMpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6 dmVjdG9yPEdVUkw+JiB1cmxzKTsKLSAKLSAgIC8vIERlbGV0ZXMgcHJvZHVjdCBzcGVjaWZpY2F0 aW9uIHNldCBjb3JyZXNwb25kaW5nIHRvIGlkZW50aWZpZXIgfHV1aWR8LgotICAgdm9pZCBEZWxl dGVQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQoY29uc3Qgc3RkOjpzdHJpbmcmIHV1aWQpOwotZGlm ZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJv ZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3NldC5oLm1lIGNocm9t aXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lm aWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQuaAotLS0tIGNocm9taXVtLTEyNS4w LjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMv cHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQuaC5tZQkyMDI0LTA1LTE1IDIzOjQ2OjExLjAwMDAw MDAwMCArMDIwMAotKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21tZXJj ZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19zZXQu aAkyMDI0LTA1LTE3IDEzOjA5OjM4LjQ5NjM3NjU0MCArMDIwMAotQEAgLTQzLDcgKzQzLDcgQEAg Y2xhc3MgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0IHsKLSAgIFByb2R1Y3RTcGVjaWZpY2F0aW9u c1NldChjb25zdCBzdGQ6OnN0cmluZyYgdXVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBpbnQ2NF90IGNyZWF0aW9uX3RpbWVfdXNlY19zaW5jZV9lcG9jaCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ2NF90IHVwZGF0ZV90aW1lX3VzZWNfc2luY2Vf ZXBvY2gsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8Y29u c3QgR1VSTD4mIHVybHMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2 ZWN0b3I8R1VSTD4mIHVybHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Rk OjpzdHJpbmcmIG5hbWUpOwotIAotICAgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0KGNvbnN0IFBy b2R1Y3RTcGVjaWZpY2F0aW9uc1NldCYpOwotQEAgLTYxLDcgKzYxLDcgQEAgY2xhc3MgUHJvZHVj dFNwZWNpZmljYXRpb25zU2V0IHsKLSAgIGNvbnN0IGJhc2U6OlRpbWUmIHVwZGF0ZV90aW1lKCkg Y29uc3QgeyByZXR1cm4gdXBkYXRlX3RpbWVfOyB9Ci0gCi0gICAvLyBQcm9kdWN0IHVybHMgZm9y IGVhY2ggaXRlbSBpbiB0aGUgc2V0Ci0tICBjb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBHVVJMPiYg dXJscygpIGNvbnN0IHsgcmV0dXJuIHVybHNfOyB9Ci0rICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJM PiYgdXJscygpIGNvbnN0IHsgcmV0dXJuIHVybHNfOyB9Ci0gCi0gICAvLyBOYW1lIG9mIHRoZSBz ZXQKLSAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbmFtZV87IH0K LUBAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldCB7Ci0gICBj b25zdCBiYXNlOjpVdWlkIHV1aWRfOwotICAgY29uc3QgYmFzZTo6VGltZSBjcmVhdGlvbl90aW1l XzsKLSAgIGNvbnN0IGJhc2U6OlRpbWUgdXBkYXRlX3RpbWVfOwotLSAgY29uc3Qgc3RkOjp2ZWN0 b3I8Y29uc3QgR1VSTD4gdXJsc187Ci0rICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJMPiB1cmxzXzsK LSAgIGNvbnN0IHN0ZDo6c3RyaW5nIG5hbWVfOwotIH07Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0x MjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRp b25zL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc3luY19icmlkZ2UuY2MubWUgY2hyb21pdW0tMTI1 LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9u cy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlLmNjCi0tLS0gY2hyb21pdW0tMTI1 LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9u cy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlLmNjLm1lCTIwMjQtMDUtMTUgMjM6 NDY6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9jb21wb25l bnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9kdWN0X3NwZWNpZmlj YXRpb25zX3N5bmNfYnJpZGdlLmNjCTIwMjQtMDUtMTcgMTM6MDk6MzguNDk3Mzc2NTY3ICswMjAw Ci1AQCAtMTMxLDcgKzEzMSw3IEBAIHZvaWQgUHJvZHVjdFNwZWNpZmljYXRpb25zU3luY0JyaWRn ZTo6R2UKLSBjb25zdCBzdGQ6Om9wdGlvbmFsPHN5bmNfcGI6OkNvbXBhcmVTcGVjaWZpY3M+Ci0g UHJvZHVjdFNwZWNpZmljYXRpb25zU3luY0JyaWRnZTo6QWRkUHJvZHVjdFNwZWNpZmljYXRpb25z KAotICAgICBjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwKLS0gICAgY29uc3Qgc3RkOjp2ZWN0b3I8 Y29uc3QgR1VSTD4mIHVybHMpIHsKLSsgICAgY29uc3Qgc3RkOjp2ZWN0b3I8R1VSTD4mIHVybHMp IHsKLSAgIGlmICghY2hhbmdlX3Byb2Nlc3NvcigpLT5Jc1RyYWNraW5nTWV0YWRhdGEoKSkgewot ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgfQotZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAu NjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9w cm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlLmgubWUgY2hyb21pdW0tMTI1LjAuNjQy Mi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9wcm9k dWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlLmgKLS0tLSBjaHJvbWl1bS0xMjUuMC42NDIy LjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1 Y3Rfc3BlY2lmaWNhdGlvbnNfc3luY19icmlkZ2UuaC5tZQkyMDI0LTA1LTE1IDIzOjQ2OjExLjAw MDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29tcG9uZW50cy9jb21t ZXJjZS9jb3JlL3Byb2R1Y3Rfc3BlY2lmaWNhdGlvbnMvcHJvZHVjdF9zcGVjaWZpY2F0aW9uc19z eW5jX2JyaWRnZS5oCTIwMjQtMDUtMTcgMTM6MDk6MzguNDk3Mzc2NTY3ICswMjAwCi1AQCAtNjQs NyArNjQsNyBAQCBjbGFzcyBQcm9kdWN0U3BlY2lmaWNhdGlvbnNTeW5jQnJpZGdlIDoKLSAKLSAg IHZpcnR1YWwgY29uc3Qgc3RkOjpvcHRpb25hbDxzeW5jX3BiOjpDb21wYXJlU3BlY2lmaWNzPgot ICAgQWRkUHJvZHVjdFNwZWNpZmljYXRpb25zKGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLAotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IEdVUkw+JiB1 cmxzKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJM PiYgdXJscyk7Ci0gCi0gICB2b2lkIERlbGV0ZVByb2R1Y3RTcGVjaWZpY2F0aW9uc1NldChjb25z dCBzdGQ6OnN0cmluZyYgdXVpZCk7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYw L2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9wcm9kdWN0X3NwZWNpZmljYXRpb25zL3Byb2R1Y3Rf c3BlY2lmaWNhdGlvbnNfc3luY19icmlkZ2VfdW5pdHRlc3QuY2MubWUgY2hyb21pdW0tMTI1LjAu NjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9w cm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlX3VuaXR0ZXN0LmNjCi0tLS0gY2hyb21p dW0tMTI1LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZp Y2F0aW9ucy9wcm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlX3VuaXR0ZXN0LmNjLm1l CTIwMjQtMDUtMTUgMjM6NDY6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAu NjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvcHJvZHVjdF9zcGVjaWZpY2F0aW9ucy9w cm9kdWN0X3NwZWNpZmljYXRpb25zX3N5bmNfYnJpZGdlX3VuaXR0ZXN0LmNjCTIwMjQtMDUtMTcg MTM6MDk6MzguNDk3Mzc2NTY3ICswMjAwCi1AQCAtMTc4LDcgKzE3OCw3IEBAIGNsYXNzIFByb2R1 Y3RTcGVjaWZpY2F0aW9uc1N5bmNCcmlkZ2VUZXMKLSAKLSAgIHN0ZDo6b3B0aW9uYWw8c3luY19w Yjo6Q29tcGFyZVNwZWNpZmljcz4gQWRkUHJvZHVjdFNwZWNpZmljYXRpb25zKAotICAgICAgIGNv bnN0IHN0ZDo6c3RyaW5nJiBuYW1lLAotLSAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IEdV Ukw+IHVybHMpIHsKLSsgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxHVVJMPiB1cmxzKSB7Ci0gICAg IHJldHVybiBicmlkZ2UoKS5BZGRQcm9kdWN0U3BlY2lmaWNhdGlvbnMobmFtZSwgdXJscyk7Ci0g ICB9Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVy Y2UvY29yZS9zaG9wcGluZ19zZXJ2aWNlLmNjLm1lIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvY29t cG9uZW50cy9jb21tZXJjZS9jb3JlL3Nob3BwaW5nX3NlcnZpY2UuY2MKLS0tLSBjaHJvbWl1bS0x MjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9zaG9wcGluZ19zZXJ2aWNlLmNj Lm1lCTIwMjQtMDUtMTUgMjM6NDY6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTI1 LjAuNjQyMi42MC9jb21wb25lbnRzL2NvbW1lcmNlL2NvcmUvc2hvcHBpbmdfc2VydmljZS5jYwky MDI0LTA1LTE3IDEzOjA5OjM4LjQ5ODM3NjU5MyArMDIwMAotQEAgLTE3MzQsNyArMTczNCw3IEBA IHZvaWQgU2hvcHBpbmdTZXJ2aWNlOjpHZXRQcm9kdWN0SWRlbnRpZmkKLSAgICAgICAgICAgc3Rk Ojptb3ZlKGNhbGxiYWNrKSkpOwotIH0KLSAKLS1jb25zdCBzdGQ6OnZlY3Rvcjxjb25zdCBQcm9k dWN0U3BlY2lmaWNhdGlvbnNTZXQ+Ci0rY29uc3Qgc3RkOjp2ZWN0b3I8UHJvZHVjdFNwZWNpZmlj YXRpb25zU2V0PgotIFNob3BwaW5nU2VydmljZTo6R2V0QWxsUHJvZHVjdFNwZWNpZmljYXRpb25T ZXRzKCkgewotICAgcmV0dXJuIHByb2R1Y3Rfc3BlY2lmaWNhdGlvbnNfc2VydmljZV8tPkdldEFs bFByb2R1Y3RTcGVjaWZpY2F0aW9ucygpOwotIH0KLWRpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0 MjIuNjAvY29tcG9uZW50cy9jb21tZXJjZS9jb3JlL3Nob3BwaW5nX3NlcnZpY2UuaC5tZSBjaHJv bWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9zaG9wcGluZ19zZXJ2 aWNlLmgKLS0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29y ZS9zaG9wcGluZ19zZXJ2aWNlLmgubWUJMjAyNC0wNS0xNSAyMzo0NjoxMS4wMDAwMDAwMDAgKzAy MDAKLSsrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL2NvbXBvbmVudHMvY29tbWVyY2UvY29yZS9z aG9wcGluZ19zZXJ2aWNlLmgJMjAyNC0wNS0xNyAxMzowOTozOC40OTkzNzY2MTkgKzAyMDAKLUBA IC02MjQsNyArNjI0LDcgQEAgY2xhc3MgU2hvcHBpbmdTZXJ2aWNlIDogcHVibGljIEtleWVkU2Vy dgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVcmxQcm9kdWN0SWRlbnRpZmll clR1cGxlQ2FsbGJhY2sgY2FsbGJhY2spOwotIAotICAgLy8gUmV0dXJuIGFsbCBQcm9kdWN0U3Bl Y2lmaWNhdGlvbnNTZXRzIGZyb20gUHJvZHVjdFNwZWNpZmljYXRpb25zU2VydmljZS4KLS0gIHZp cnR1YWwgY29uc3Qgc3RkOjp2ZWN0b3I8Y29uc3QgUHJvZHVjdFNwZWNpZmljYXRpb25zU2V0Pgot KyAgdmlydHVhbCBjb25zdCBzdGQ6OnZlY3RvcjxQcm9kdWN0U3BlY2lmaWNhdGlvbnNTZXQ+Ci0g ICBHZXRBbGxQcm9kdWN0U3BlY2lmaWNhdGlvblNldHMoKTsKLSAKLSAgIC8vIFVwZGF0ZXMgdGhl IGJvb2ttYXJrIG1vZGVsIHVzZWQgZm9yIHN5bmMgKGFuZCBzaG9wcGluZykgaWYgbmVlZGVkLiBJ bnZva2VkCi1kaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL21vam8vcHVibGljL2NwcC9i YXNlL3Byb3RvX3dyYXBwZXIuY2MubWUgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1Ymxp Yy9jcHAvYmFzZS9wcm90b193cmFwcGVyLmNjCi0tLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9t b2pvL3B1YmxpYy9jcHAvYmFzZS9wcm90b193cmFwcGVyLmNjLm1lCTIwMjQtMDUtMTUgMjM6NDY6 MjkuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1Ymxp Yy9jcHAvYmFzZS9wcm90b193cmFwcGVyLmNjCTIwMjQtMDUtMTcgMTM6MDk6MzguNDk5Mzc2NjE5 ICswMjAwCi1AQCAtNTcsNyArNTcsNyBAQCBib29sIFByb3RvV3JhcHBlcjo6RGVzZXJpYWxpemVU b01lc3NhZ2UoCi0gICAgIC8vIE1ha2UgYW4gaW4tcHJvY2VzcyBjb3B5IGhlcmUgYXMgcHJvdG9i dWYgaXMgbm90IGRlc2lnbmVkIHRvCi0gICAgIC8vIHNhZmVseSBwYXJzZSBkYXRhIHRoYXQgbWln aHQgYmUgY2hhbmdpbmcgdW5kZXJuZWF0aCBpdC4KLSAgICAgYXV0byBhc19zcGFuID0gYmFzZTo6 bWFrZV9zcGFuKGJ5dGVzXy0+ZGF0YSgpLCBieXRlc18tPnNpemUoKSk7Ci0tICAgIGNvbnN0IHN0 ZDo6dmVjdG9yPGNvbnN0IHVpbnQ4X3Q+IGNvcHkoYXNfc3Bhbi5iZWdpbigpLCBhc19zcGFuLmVu ZCgpKTsKLSsgICAgY29uc3Qgc3RkOjp2ZWN0b3I8dWludDhfdD4gY29weShhc19zcGFuLmJlZ2lu KCksIGFzX3NwYW4uZW5kKCkpOwotICAgICByZXR1cm4gbWVzc2FnZS5QYXJzZUZyb21BcnJheShj b3B5LmRhdGEoKSwgY29weS5zaXplKCkpOwotICAgfQotIH0KLWRpZmYgLXVwIGNocm9taXVtLTEy NS4wLjY0MjIuNjAvbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL2xpYi9iaW5kaW5nc19pbnRlcm5h bC5oLm1lIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL2xp Yi9iaW5kaW5nc19pbnRlcm5hbC5oCi0tLS0gY2hyb21pdW0tMTI1LjAuNjQyMi42MC9tb2pvL3B1 YmxpYy9jcHAvYmluZGluZ3MvbGliL2JpbmRpbmdzX2ludGVybmFsLmgubWUJMjAyNC0wNS0xNyAx NDo1NDoxMS4xNTg3MjM3MzUgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL21vam8v cHVibGljL2NwcC9iaW5kaW5ncy9saWIvYmluZGluZ3NfaW50ZXJuYWwuaAkyMDI0LTA1LTE3IDE0 OjU1OjIwLjIxNDI4NTgyNSArMDIwMAotQEAgLTgsNiArOCw3IEBACi0gI2luY2x1ZGUgPHN0ZGlu dC5oPgotIAotICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotKyNpbmNsdWRlIDxvcHRpb25hbD4KLSAj aW5jbHVkZSA8dHlwZV90cmFpdHM+Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gCi1kaWZmIC11cCBj aHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi11dGls aXR5LWxpYnJhcmllcy9zcmMvaW5jbHVkZS92dWxrYW4vdXRpbGl0eS92a19zbWFsbF9jb250YWlu ZXJzLmhwcC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjYwL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBz L3Z1bGthbi11dGlsaXR5LWxpYnJhcmllcy9zcmMvaW5jbHVkZS92dWxrYW4vdXRpbGl0eS92a19z bWFsbF9jb250YWluZXJzLmhwcAotLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNjAvdGhpcmRfcGFy dHkvdnVsa2FuLWRlcHMvdnVsa2FuLXV0aWxpdHktbGlicmFyaWVzL3NyYy9pbmNsdWRlL3Z1bGth bi91dGlsaXR5L3ZrX3NtYWxsX2NvbnRhaW5lcnMuaHBwLm1lCTIwMjQtMDUtMTcgMTI6NTk6MjYu NzE0ODA5ODIyICswMjAwCi0rKysgY2hyb21pdW0tMTI1LjAuNjQyMi42MC90aGlyZF9wYXJ0eS92 dWxrYW4tZGVwcy92dWxrYW4tdXRpbGl0eS1saWJyYXJpZXMvc3JjL2luY2x1ZGUvdnVsa2FuL3V0 aWxpdHkvdmtfc21hbGxfY29udGFpbmVycy5ocHAJMjAyNC0wNS0xNyAxMjo1OTo0OS4yMzYyMzU0 NDYgKzAyMDAKLUBAIC04LDYgKzgsNyBAQAotIAotICNwcmFnbWEgb25jZQotIAotKyNpbmNsdWRl IDxtZW1vcnk+Ci0gI2luY2x1ZGUgPGNhc3NlcnQ+Ci0gI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+ Ci0gI2luY2x1ZGUgPHVub3JkZXJlZF9zZXQ+CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0uc3BlYyBi L2Nocm9taXVtLnNwZWMKaW5kZXggOGRhYjliYS4uNWI4M2EyYSAxMDA2NDQKLS0tIGEvY2hyb21p dW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0yMTcsNiArMjE3LDcgQEAKICVnbG9iYWwg YnVuZGxlcHlsaWJzIDAKICVnbG9iYWwgYnVuZGxlbGlieHNsdCAwCiAlZ2xvYmFsIGJ1bmRsZWZs YWMgMAorJWdsb2JhbCBidW5kbGVkb3VibGVjb252ZXJzaW9uIDAKIAogIyBSSEVMIDcuOSBkcm9w cGVkIG1pbml6aXAuCiAjIGVuYWJsZSBidW5kbGVtaW5pemlwIGZvciBGZWRvcmEgPiAzOSBkdWUg dG8gc3dpdGNoIHRvIG1pbml6aXAtbmcKQEAgLTI0Miw3ICsyNDMsNiBAQAogJWdsb2JhbCBidW5k bGVsY21zMiAxCiAlZ2xvYmFsIGJ1bmRsZWxpYnRpZmYgMQogJWdsb2JhbCBidW5kbGVjcmMzMmMg MQotJWdsb2JhbCBidW5kbGVkb3VibGVjb252ZXJzaW9uIDEKICVnbG9iYWwgYnVuZGxlbGlic2Vj cmV0IDEKICVnbG9iYWwgYnVuZGxlbGliWE5WQ3RybCAxCiAlZ2xvYmFsIGJ1bmRsZWxpYnhtbCAx CkBAIC0yNzYsNyArMjc2LDYgQEAKICVnbG9iYWwgYnVuZGxlY3JjMzJjIDAKICVnbG9iYWwgYnVu ZGxlaGFyZmJ1enogMAogJWVuZGlmCi0lZ2xvYmFsIGJ1bmRsZWRvdWJsZWNvbnZlcnNpb24gMAog JWdsb2JhbCBidW5kbGVsaWJzZWNyZXQgMAogJWdsb2JhbCBidW5kbGVsaWJYTlZDdHJsIDAKICVn bG9iYWwgYnVuZGxlbGlieG1sIDAKQEAgLTMxOCw3ICszMTcsNyBAQAogCiBOYW1lOgljaHJvbWl1 bSV7Y2hyb21pdW1fY2hhbm5lbH0KIFZlcnNpb246IDEyNS4wLjY0MjIuNjAKLVJlbGVhc2U6IDIl ez9kaXN0fQorUmVsZWFzZTogMyV7P2Rpc3R9CiBTdW1tYXJ5OiBBIFdlYktpdCAoQmxpbmspIHBv d2VyZWQgd2ViIGJyb3dzZXIgdGhhdCBHb29nbGUgZG9lc24ndCB3YW50IHlvdSB0byB1c2UKIFVy bDogaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvSG9tZQogTGljZW5zZTogQlNELTMtQ2xhdXNlIEFO RCBMR1BMLTIuMS1vci1sYXRlciBBTkQgQXBhY2hlLTIuMCBBTkQgSUpHIEFORCBNSVQgQU5EIEdQ TC0yLjAtb3ItbGF0ZXIgQU5EIElTQyBBTkQgT3BlblNTTCBBTkQgKE1QTC0xLjEgT1IgR1BMLTIu MC1vbmx5IE9SIExHUEwtMi4wLW9ubHkpCkBAIC00MzAsNiArNDI5LDcgQEAgUGF0Y2gxMjA6IGNo cm9taXVtLTExNy1lbDctc3RyaW5nLWNvbnZlcnQucGF0Y2gKIFBhdGNoMTIxOiBjaHJvbWl1bS0x MjUtZWw3LWFzc2VydC5wYXRjaAogUGF0Y2gxMjI6IGNocm9taXVtLTEyNS1lbDctY29uc3RleHBy LnBhdGNoCiBQYXRjaDEyMzogY2hyb21pdW0tMTI1LWVsNy10eXBlLWFsaWFzLnBhdGNoCitQYXRj aDEyNDogY2hyb21pdW0tMTI1LWVsNy1vcHRpb25hbC13b3JrYXJvdW5kLWFzc2VydC5wYXRjaAog CiAjIHN5c3RlbSBmZm1wZWcKICMgbmVlZCBmb3Igb2xkIGZmbXBlZyA1Lnggb24gZXBlbDkKQEAg LTU2Nyw3ICs1NjcsMTAgQEAgUGF0Y2g0MTM6IGZpeC11bmtub3duLXdhcm5pbmctb3B0aW9uLW1l c3NhZ2VzLmRpZmYKICMgdXBzdHJlYW0gcGF0Y2hlcwogIyA2NGtwYWdlIHN1cHBvcnQgb24gZWw4 CiBQYXRjaDUwMDogY2hyb21pdW0tMTI0LWVsOC1zdXBwb3J0LTY0a3BhZ2UucGF0Y2gKKyMgYWRk IG1pc3NpbmcgaW5jbHVkZSBmb3IgdXNhZ2Ugb2YgRmllbGREYXRhTWFuYWdlciBpbiBhdXRvZmls bF9hZ2VudC5oCiBQYXRjaDUwMTogY2hyb21pdW0tMTI1LW1pc3NpbmctaW5jbHVkZS1GaWVsZERh dGFNYW5hZ2VyLnBhdGNoCisjIFtkZXZ0b29sc10gZml4IGEgbWlzc2luZyBidWlsZCBkZXBlbmRl bmN5IHRvIGEgZ2VuZXJhdGVkIGZpbGUKK1BhdGNoNTAyOiBjaHJvbWl1bS0xMjUtZGV2dG9vbHMt YnVpbGQtZGVwZW5kZW5jeS5wYXRjaAogCiAjIFVzZSBjaHJvbWl1bS1sYXRlc3QucHkgdG8gZ2Vu ZXJhdGUgY2xlYW4gdGFyYmFsbCBmcm9tIHJlbGVhc2VkIGJ1aWxkIHRhcmJhbGxzLCBmb3VuZCBo ZXJlOgogIyBodHRwOi8vYnVpbGQuY2hyb21pdW0ub3JnL2J1aWxkYm90L29mZmljaWFsLwpAQCAt ODc4LDMwICs4ODEsMTMgQEAgQnVpbGRSZXF1aXJlczoJbWVzYS1saWJHTC1kZXZlbAogQnVpbGRS ZXF1aXJlczoJb3B1cy1kZXZlbAogJWVuZGlmCiAKLUJ1aWxkUmVxdWlyZXM6CXBlcmwoU3dpdGNo KQogQnVpbGRSZXF1aXJlczogJXtjaHJvbWl1bV9weWJpbn0KIEJ1aWxkUmVxdWlyZXM6CXBrZ2Nv bmZpZyhndGsrLTMuMCkKLUJ1aWxkUmVxdWlyZXM6CXB5dGhvbjMtZGV2ZWwKLUJ1aWxkUmVxdWly ZXM6IHB5dGhvbjMtemlwcAotQnVpbGRSZXF1aXJlczogcHl0aG9uMy1zaW1wbGVqc29uCi1CdWls ZFJlcXVpcmVzOiBweXRob24zLWltcG9ydGxpYi1tZXRhZGF0YQotCi0laWYgMCV7P3JoZWx9ID09 IDcgfHwgMCV7P3JoZWx9ID09IDggIAotQnVpbGRSZXF1aXJlczogcHl0aG9uMy1kYXRhY2xhc3Nl cwotJWVuZGlmCiAKICVpZiAhICV7YnVuZGxlcHlsaWJzfQogJWlmIDAlez9mZWRvcmF9IHx8IDAl ez9yaGVsfSA+PSA4Ci1CdWlsZFJlcXVpcmVzOiBweXRob24zLWJlYXV0aWZ1bHNvdXA0Ci1CdWls ZFJlcXVpcmVzOiBweXRob24zLWh0bWw1bGliCi1CdWlsZFJlcXVpcmVzOiBweXRob24zLW1hcmt1 cHNhZmUKLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbjMtcGx5CiBCdWlsZFJlcXVpcmVzOiBweXRob24z LWppbmphMgogJWVsc2UKLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbi1iZWF1dGlmdWxzb3VwNAotQnVp bGRSZXF1aXJlczogcHl0aG9uLWh0bWw1bGliCi1CdWlsZFJlcXVpcmVzOiBweXRob24tbWFya3Vw c2FmZQotQnVpbGRSZXF1aXJlczogcHl0aG9uLXBseQogQnVpbGRSZXF1aXJlczogcHl0aG9uLWpp bmphMgogJWVuZGlmCiAlZW5kaWYKQEAgLTExOTIsNiArMTE3OCw3IEBAIHVkZXYuCiAKICMgRVBF TCBzcGVjaWZpYyBwYXRjaGVzCiAlaWYgMCV7P3JoZWx9ID09IDcKK2NwIC9vcHQvcmgvJXt0b29s c2V0fS0le2R0c192ZXJzaW9ufS9yb290L3Vzci9pbmNsdWRlL2MrKy8le2R0c192ZXJzaW9ufS9v cHRpb25hbCAuCiAlcGF0Y2ggLVAxMDAgLXAxIC1iIC5lbDctbWVtZmQtZmNudGwtaW5jbHVkZQog JXBhdGNoIC1QMTAxIC1wMSAtYiAud2F5bGFuZC1zdHJuZHVwLWVycm9yCiAlcGF0Y2ggLVAxMDIg LXAxIC1iIC5kZWZhdWx0LWNvbnN0cnVjdG9yLWludm9sdmluZy1hbm9ueW1vdXMtdW5pb24KQEAg LTEyMTYsNiArMTIwMyw3IEBAIHVkZXYuCiAlcGF0Y2ggLVAxMjEgLXAxIC1iIC5hc3NlcnQKICVw YXRjaCAtUDEyMiAtcDEgLWIgLmNvbnN0ZXhwcgogJXBhdGNoIC1QMTIzIC1wMSAtYiAuZWw3LXR5 cGUtYWxpYXMKKyVwYXRjaCAtUDEyNCAtcDEgLWIgLmVsNy13b3JrYXJvdW5kLWFzc2VydAogJWVu ZGlmCiAKICVpZiAwJXs/cmhlbH0gPT0gOQpAQCAtMTMzNSw2ICsxMzIzLDcgQEAgdWRldi4KICVl bmRpZgogJWVuZGlmCiAlcGF0Y2ggLVA1MDEgLXAxIC1iIC5taXNzaW5nLWluY2x1ZGUtRmllbGRE YXRhTWFuYWdlCislcGF0Y2ggLVA1MDIgLXAxIC1iIC5kZXZ0b29scy1idWlsZC1kZXBlbmRlbmN5 CiAKICMgQ2hhbmdlIHNoZWJhbmcgaW4gYWxsIHJlbGV2YW50IGZpbGVzIGluIHRoaXMgZGlyZWN0 b3J5IGFuZCBhbGwgc3ViZGlyZWN0b3JpZXMKICMgU2VlIGBtYW4gZmluZGAgZm9yIGhvdyB0aGUg YC1leGVjIGNvbW1hbmQge30gK2Agc3ludGF4IHdvcmtzCkBAIC0xNTQ3LDcgKzE1MzYsNyBAQCBD SFJPTUlVTV9DT1JFX0dOX0RFRklORVMrPScgZW5hYmxlX2l0ZXJhdG9yX2RlYnVnZ2luZz1mYWxz ZScKIENIUk9NSVVNX0NPUkVfR05fREVGSU5FUys9JyBlbmFibGVfdnI9ZmFsc2UnCiBDSFJPTUlV TV9DT1JFX0dOX0RFRklORVMrPScgYnVpbGRfZGF3bl90ZXN0cz1mYWxzZSBlbmFibGVfcGVyZmV0 dG9fdW5pdHRlc3RzPWZhbHNlJwogQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIGRpc2FibGVf ZmllbGR0cmlhbF90ZXN0aW5nX2NvbmZpZz10cnVlJwotQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVT Kz0nIHN5bWJvbF9sZXZlbD0le2RlYnVnX2xldmVsfScKK0NIUk9NSVVNX0NPUkVfR05fREVGSU5F Uys9JyBzeW1ib2xfbGV2ZWw9JXtkZWJ1Z19sZXZlbH0gYmxpbmtfc3ltYm9sX2xldmVsPSV7ZGVi dWdfbGV2ZWx9JwogQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIGFuZ2xlX2hhc19oaXN0b2dy YW1zPWZhbHNlJwogZXhwb3J0IENIUk9NSVVNX0NPUkVfR05fREVGSU5FUwogCkBAIC0yMTI5LDYg KzIxMTgsMTAgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3RvcCA+L2Rldi9udWxs IHx8IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICVlbmRpZgogCiAlY2hhbmdlbG9n CisqIE1vbiBNYXkgMjAgMjAyNCBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDEyNS4wLjY0 MjIuNjAtMworLSByZW1vdmUgdW5uZWVkZWQgQlJzCistIHdvcmthcm91bmRzIGZvciBlbDcgYnVp bGQKKwogKiBTdW4gTWF5IDE5IDIwMjQgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAxMjUu MC42NDIyLjYwLTIKIC0gZml4IGJ1aWxkIGVycm9ycyBvbiBlbDcKIAo=