[qt/clang/llvm]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 00:12:21 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IHJlcG9zaXRvcnkgY2hhbmdlIHN1bW1hcnkgZm9yIHF0L2NsYW5nL2xsdm0KUHVzaGVkIGJ5 IG1pcnJvci1zZXJ2aWNlIGludG8gYnJhbmNoICd1cHN0cmVhbS91c2Vycy9jY2hlbi9mbGFuZ19v cGVubXBfbW90aW9uX21hcF9pdGVyYXRvcicuCkNoYW5nZWQgZnJvbSBmMmNkYWI0YzJlOGJjZTg5 NWE3OGY5ZjAwYzI3YjkwMjQwMGM0OTIzIHRvIDQ1OWQ2YTkzNjhiM2UxZjM5YmU4ZjEzY2Q0NTVk ZTFmYjc1OTJiZTYKQWNrbm93bGVkZ2VtZW50IHdhcyByZWNlaXZlZCB0aGF0IHRoaXMgY2hhbmdl IGludHJvZHVjZXMgb25seSBleGlzdGluZyBjb2RlIHRoYXQgaGFzIGJlZW4gcHVzaGVkIHRvIGFu b3RoZXIgcHVibGljIG9wZW4gc291cmNlIHJlcG9zaXRvcnkuCgpUaGlzIGNoYW5nZSBjb250YWlu cyB0aGUgZm9sbG93aW5nIG5ldyBjb21taXRzOgoKR2l0IGNvbW1pdCA3NjA5Y2I4M2JmNWZjNWMy NWUyODc3NzBkYjI3N2RiYjM0ZTY3NGI4IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEZpbm4gUGx1 bW1lcikgb24gMDQvMDgvMjAyNiBhdCAxNzozMy4uCltEaXJlY3RYXSBQcmV2ZW50IGBkeGlsLXJl c291cmNlLWFjY2Vzc2AgZnJvbSBpbnNlcnRpbmcgYSByZXNvdXJjZSBhY2Nlc3MgaW4tYmV0d2Vl biBwaGkgbm9kZXMgKCMyMTEzNDMpCgpUaGUgcGFzcyBjYW4gaW5jb3JyZWN0bHkgcGxhY2UgYSBs b2FkL3N0b3JlIHdpdGhpbiB0aGUgcGhpIG5vZGVzIGF0IHRvcApvZiB0aGUgYmFzaWMgYmxvY2s6 IGh0dHBzOi8vZ29kYm9sdC5vcmcvei94NUVjNEdXR1QKClRoaXMgaXMgcmVzb2x2ZWQgYnkgdXBk YXRpbmcgYHJlcGxhY2VIYW5kbGVXaXRoSW5kaWNlc2AgdG8gYWRqdXN0IHRoZQppbnNlcnRpb24g cG9pbnQgd2hlbiB0aGUgcHRyIGNvbWVzIGZyb20gYSBwaGkgbm9kZS4KClJlc29sdmVzLCBpbiBw YXJ0LCBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNzdWVzLzIxMTEyMQoK QXNzaXN0ZWQgYnk6IENsYXVkZSBPcHVzIDQuOApodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0vLS9jb21taXQvNzYwOWNiODNiZjVmYzVjMjVlMjg3NzcwZGIyNzdkYmIzNGU2NzRi OAoKR2l0IGNvbW1pdCA1MzgyZjdkNjRmZjU5ZDE5ODA5MWZmZDI2M2Q3YWRlY2Y1ZDdkZDVhIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEJlbmphbWluIE1heHdlbGwpIG9uIDA0LzA4LzIwMjYgYXQg MTc6NDguLgpbQ29zdE1vZGVsXVtBQXJjaDY0XSBBZGQgaW5pdGlhbCBjb3N0cyBmb3IgYG1hc2tl ZC5jb21wcmVzc3N0b3JlYCAoIzIxMzcxMikKClRoaXMgYWRkcyBhbiBpbml0aWFsIGNvc3QgbW9k ZWwgZm9yIGBtYXNrZWQuY29tcHJlc3NzdG9yZWAuIFRoZSB0ZXN0cwphcmUgYmFzZWQgb24gYG1h c2tlZF9leHBhbmRfbG9hZC5sbGAsIHdoaWNoIGNvdmVycyBhbGwgY29uZmlndXJhdGlvbnMKZm9y IHRoZSBgZXhwYW5kYC9gY29tcGFjdGAgaW5zdHJ1Y3Rpb25zLgoKTm90ZTogUmlnaHQgbm93LCB3 ZSBvbmx5IHJlcG9ydCB2YWxpZCBjb3N0cyBmb3IgYG1hc2tlZC5jb21wcmVzc3N0b3JlYApvcGVy YXRpb25zIHRoYXQgY2FuIGJlIGxvd2VyZWQgd2l0aCBTVkUxIChhcyB0aGF0J3MgYWxsIHdlIGhh bmRsZSBJU0VMCmZvciBhdCB0aGUgbW9tZW50KS4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9j bGFuZy9sbHZtLy0vY29tbWl0LzUzODJmN2Q2NGZmNTlkMTk4MDkxZmZkMjYzZDdhZGVjZjVkN2Rk NWEKCkdpdCBjb21taXQgYWYxNDQ1NmEyYmFjNTUwMjZiMmQ1N2NiZjE0YjM5MDVjNDUyYjhhNCBi eSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBhcnNueWRlcjE2KSBvbiAwNC8wOC8yMDI2IGF0IDE3OjUy Li4KW09wZW5NUF0gU2ltcGxpZnkgZ2VuZXJpYyBtaWNyb3Rhc2sgZGlzcGF0Y2ggKCMyMTQwMDQp CgpSZXBsYWNlIHRoZSBnZW5lcmljIG1pY3JvdGFzayBkaXNwYXRjaGVyJ3MgaGFuZHdyaXR0ZW4g ZnVuY3Rpb24tcG9pbnRlcgp0eXBlcyBhbmQgY2FsbHMgd2l0aCBhIHZhcmlhZGljLXRlbXBsYXRl IGhlbHBlciBhbmQgYSBtYWNybyBmb3IgZWFjaApzdXBwb3J0ZWQgYXJndW1lbnQgY291bnQuCgpU aGUgZGlzcGF0Y2hlciBzdGlsbCBjYXN0cyBlYWNoIG1pY3JvdGFzayB0byB0aGUgZXhhY3QgZml4 ZWQtYXJpdHkKc2lnbmF0dXJlIHJlcXVpcmVkIGJ5IHBsYXRmb3JtcyBzdWNoIGFzIFdlYkFzc2Vt Ymx5LiBUaGlzIGlzIGludGVuZGVkIGFzCmEgcmVmYWN0b3Igb25seTogdGhlIGV4aXN0aW5nIGxp bWl0IG9mIDE1IG1pY3JvdGFzayBhcmd1bWVudHMgYW5kIHRoZQpkaWFnbm9zdGljIGZvciBsYXJn ZXIgYXJndW1lbnQgY291bnRzIHJlbWFpbiB1bmNoYW5nZWQuCgpUaGlzIHJlZHVjZXMgdGhlIHJl cGV0aXRpdmUgY29kZSBhbmQgbWFrZXMgZnV0dXJlIGNoYW5nZXMgdG8gdGhlCnN1cHBvcnRlZCBh cmd1bWVudCByYW5nZSBlYXNpZXIgdG8gcmV2aWV3LgoKU3BsaXQgb3V0IGZyb20gIzIxMTA3MQpo dHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvYWYxNDQ1NmEyYmFj NTUwMjZiMmQ1N2NiZjE0YjM5MDVjNDUyYjhhNAoKR2l0IGNvbW1pdCAyYTJhZGRlMzU5Mzc2Njdk ZDkzZGM1NTk0YWM1ZDUyODQyZTExNmQyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIENoaW5tYXkg RGVzaHBhbmRlKSBvbiAwNC8wOC8yMDI2IGF0IDE3OjU2Li4KW0FNREdQVV1bR0lTZWxdIEFkZCBS ZWdCYW5rTGVnYWxpemUgcnVsZXMgZm9yIGxsdm0uYW1kZ2NuLmZkb3QyLmJmMTYuYmYxNiAoIzIx NDAxMykKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzJhMmFk ZGUzNTkzNzY2N2RkOTNkYzU1OTRhYzVkNTI4NDJlMTE2ZDIKCkdpdCBjb21taXQgNTAwOTYyMjk4 ZDYyNGE3NGFkZTU4YzJhZWI2NTMxM2ZiMzJkZGE1YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBB bGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0IDE3OjU3Li4KW0luc3RDb21iaW5lXUZvbGQg ZmNtcCtzZWxlY3QgdG8gbWluL21heCBpZiBpdHMgemVybyBzaWduIGlzIG1pc3NpbmcKCkxvb2sg dGhyb3VnaCBwaGlzLCBjaGFpbmVkIHNlbGVjdHMgYW5kIHRoZSBsb29wIGJhY2sgZWRnZSB0byB0 aGUKc2VsZWN0IGl0c2VsZiBhbmQgZm9sZCBpZiBubyB1c2UgY2FuIG9ic2VydmUgdGhlIHNpZ24g b2YgemVybyBvZiB0aGUKcmVzdWx0LiBUaGlzIHJlc3RvcmVzIHRoZSBmb2xkIGZvciBsb29wLWNh cnJpZWQgYW5kIHVucm9sbGVkIHJ1bm5pbmcKbWluL21heCB2YWx1ZXMgKGZjc2VsIC0+IGZtaW5u bSBvbiBBQXJjaDY0KSBsb3N0IHRvIHRoZSBzaWduZWQgemVybwpoYW5kbGluZyBmaXggaW4gbWF0 Y2hTZWxlY3RQYXR0ZXJuICgjMjEwMDc3KS4KClJldmlld2VyczogbmlraWMsIGR0Y3h6eXcKClB1 bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEz MTMzCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC81MDA5NjIy OThkNjI0YTc0YWRlNThjMmFlYjY1MzEzZmIzMmRkYTVhCgpHaXQgY29tbWl0IDcwZWNjNWJiNjIx ODdjYTcwZTZmZTRlNTYzZGJkNjBmODhjMmU3YTAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVGlt dXIgR29sdWJvdmljaCkgb24gMDQvMDgvMjAyNiBhdCAxNzo1OC4uClJldmVydCAiW0dsb2JhbElT ZWxdIENvbWJpbmUgbWVyZ2UtdW5tZXJnZSB3aXRoIG1peGVkIHNjYWxhciBhbmQgdmVjdG9yIHR5 cGVzIiAoIzIxNDAxMCkKClJldmVydHMgbGx2bS9sbHZtLXByb2plY3QjMjEzMDg2Cmh0dHBzOi8v aW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC83MGVjYzViYjYyMTg3Y2E3MGU2 ZmU0ZTU2M2RiZDYwZjg4YzJlN2EwCgpHaXQgY29tbWl0IDYzMjZmMTRjZGMxMmJhYmZkYzQzNTlm NWRkZDRkZmNkNjZiNTNmMzMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWRhbSBTbWl0aCkgb24g MDQvMDgvMjAyNiBhdCAxODowMy4uCltDSVJdIExvd2VyIHZhcmlhZGljIGNhbGxzIGluIENhbGxD b252TG93ZXJpbmcgZm9yIHg4Nl82NCAoIzIxMzMxNSkKCkNhbGxDb252TG93ZXJpbmcgY2xhc3Np ZmllZCBlYWNoIGZ1bmN0aW9uIG9uY2UgZnJvbSBpdHMgZGVjbGFyZWQKc2lnbmF0dXJlIGFuZCBy ZXVzZWQgdGhhdCBjbGFzc2lmaWNhdGlvbiBhdCBldmVyeSBjYWxsIHNpdGUuIEFuIGFyZ3VtZW50 CnBhc3NlZCB0aHJvdWdoIGFuIGVsbGlwc2lzIGhhcyBubyBlbnRyeSBpbiB0aGUgY2FsbGVlJ3Mg cGFyYW1ldGVyIGxpc3QsCnNvIG9uIHg4Nl82NCBhbiBlbGxpcHNpcyBhcmd1bWVudCB0aGF0IG5l ZWRlZCBhbiBleHRlbnNpb24gYXR0cmlidXRlLCBhCnJlZ2lzdGVyIGNvZXJjaW9uLCBvciBhIGJ5 dmFsIHNsb3Qgd2FzIGVtaXR0ZWQgdW5jaGFuZ2VkIHdoZW5ldmVyIHRoZQpjYWxsZWUncyBkZWNs YXJlZCBwYXJhbWV0ZXJzIGhhcHBlbmVkIHRvIG5lZWQgbm8gcmV3cml0ZSwgYW5kIHJlcG9ydGVk Ck5ZSSB3aGVuIHRoZXkgZGlkLgoKQW4gZWxsaXBzaXMgYXJndW1lbnQgY29tcGV0ZXMgZm9yIHRo ZSBzYW1lIHJlZ2lzdGVycyBhcyBhIGRlY2xhcmVkIG9uZSwKc28gdGhlIHNhbWUgdHdvLWVpZ2h0 Ynl0ZSByZWNvcmQgZ29lcyBpbiBhIHJlZ2lzdGVyIHBhaXIgZWFybHkgaW4gdGhlCmxpc3QgYW5k IGJ5dmFsIG9uY2UgdGhlIGludGVnZXIgcmVnaXN0ZXJzIGFyZSBnb25lLiBWYXJpYWRpYyBjYWxs IHNpdGVzCnVuZGVyIHRoZSB4ODZfNjQgZHJpdmVyIGFyZSBub3cgY2xhc3NpZmllZCBmcm9tIHRo ZSBjYWxsJ3Mgb3duIG9wZXJhbmQKdHlwZXMsIGFuZCB0aGUgZGVjbGFyZWQgcGFyYW1ldGVyIGNv dW50IHJlYWNoZXMKYGxsdm06OmFiaTo6RnVuY3Rpb25JbmZvOjpjcmVhdGVgIGFzIGl0cyBgTnVt UmVxdWlyZWRgIGFyZ3VtZW50LCB3aGljaAppcyB3aGF0IGxldHMgdGhlIGNsYXNzaWZpZXIgdGVs bCBhIG5hbWVkIGFyZ3VtZW50IGZyb20gb25lIHBhc3NlZAp0aHJvdWdoIHRoZSBlbGxpcHNpcy4g VG9kYXkgdGhhdCBmbGFnIG9ubHkgZGVjaWRlcyB3aGV0aGVyIGEgbGFyZ2UKdmVjdG9yIGdvZXMg aW4gYSByZWdpc3RlciwgYW5kIHRoZSBDSVIgdHlwZSBicmlkZ2UgYWRtaXRzIG5vIHZlY3Rvcgp0 eXBlcywgc28gdGhlIGJvdW5kYXJ5IGNoYW5nZXMgbm8gb3V0cHV0IHlldC4KCmBwcmVwZW5kSW5k aXJlY3RDYWxsZWVgIGFsc28gcmVidWlsdCB0aGUgY2FsbGVlIHBvaW50ZXIncyBwb2ludGVlCndp dGhvdXQgYGlzVmFyQXJnYCwgZHJvcHBpbmcgdGhlIGVsbGlwc2lzIGZyb20gYSBsb3dlcmVkIGlu ZGlyZWN0IGNhbGwKYW5kIHdpdGggaXQgdGhlIHZlY3Rvci1yZWdpc3RlciBjb3VudCB0aGUgeDg2 XzY0IFN5c1YgQUJJIHBhc3NlcyBpbiBBTC4KQSB2b2lkIHJldHVybiBhbmQgYSByZXR1cm4gdGhl IEFCSSBkcm9wcywgc3VjaCBhcyBhbiBlbXB0eSByZWNvcmQsIGJvdGgKY2xhc3NpZnkgYXMgYEln bm9yZWAgd2hpbGUgbmVlZGluZyBvcHBvc2l0ZSB0cmVhdG1lbnQsIHNvCmBGdW5jdGlvbkNsYXNz aWZpY2F0aW9uYCBub3cgcmVjb3JkcyB3aGljaCBvbmUgaXQgd2FzIHdoZXJlIHRoZQpjbGFzc2lm aWNhdGlvbiBpcyBwcm9kdWNlZC4gYG5lZWRzUmV3cml0ZWAgbW92ZXMgZnJvbSB0aGUgQ0lSIHJl d3JpdGVyCnRvIGBtbGlyL2luY2x1ZGUvbWxpci9BQkkvQUJJUmV3cml0ZUNvbnRleHQuaGAsIG92 ZXIgYSBuZXcgcGVyLWFyZ3VtZW50CmBpc1Bhc3NUaHJvdWdoYCwgc28gdGhlIHBhc3MgYW5kIHRo ZSByZXdyaXRlciBzaGFyZSBvbmUgZGVmaW5pdGlvbi4KClR3byB0aGluZ3MgYXJlIG5ld2x5IGRp YWdub3NlZCByYXRoZXIgdGhhbiBuZXdseSBicm9rZW4uIFRoZQpvcGVyYW5kLWNvdW50IGNoZWNr IG1vdmVzIGFoZWFkIG9mIHRoZSBwYXNzLXRocm91Z2ggZWFybHkgcmV0dXJuLCBzbyBhCmNhbGwg d2hvc2Ugb3BlcmFuZCBjb3VudCBkaXNhZ3JlZXMgd2l0aCBhIGBub19wcm90b2AgY2FsbGVlJ3MK ZGVjbGFyYXRpb24gaXMgcmVwb3J0ZWQgaW5zdGVhZCBvZiBsb3dlcmVkIHdpdGggb3BlcmFuZHMg dGhlCmNsYXNzaWZpY2F0aW9uIG5ldmVyIGNvdmVyZWQuIEFuZCB0aGUgaW5kaXJlY3QtY2FsbCB3 YWxrIHZpc2l0cwpgY2lyOjpDSVJDYWxsT3BJbnRlcmZhY2VgIHJhdGhlciB0aGFuIG9ubHkgYGNp ci5jYWxsYCwgc28gYSB2YXJpYWRpYwppbmRpcmVjdCBgY2lyLnRyeV9jYWxsYCBpcyBhY2NvdW50 ZWQgZm9yLCBhbmQgb25lIHRoYXQgbmVlZHMgYSByZXdyaXRlCmlzIHJlcG9ydGVkIGluc3RlYWQg b2YgbGVmdCBhcyB3cml0dGVuIHdoaWxlIHRoZSBzaWduYXR1cmUgYXJvdW5kIGl0IGlzCmNvZXJj ZWQuIEEgbm9uLXZhcmlhZGljIGluZGlyZWN0IGBjaXIudHJ5X2NhbGxgIGlzIGZpbHRlcmVkIG91 dCB3aGVyZQp0aGUgd2FsayBjb2xsZWN0cywgc2luY2UgcmV3cml0aW5nIG9uZSBpcyB1bmltcGxl bWVudGVkIGVpdGhlciB3YXkgYW5kCnRoYXQgZ2FwIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhl IGVsbGlwc2lzLiBSZXBvcnRlZCBOWUk6IHZhcmlhZGljCmluZGlyZWN0IGNhbGxzIHRoYXQgbmVl ZCBhIHJld3JpdGUsIHZhcmlhZGljIGNhbGxzIHVuZGVyIHRoZSBvdGhlcgpkcml2ZXJzLCBhbmQg YW4gZWxsaXBzaXMgYXJndW1lbnQgd2hvc2UgQUJJIGNvZXJjaW9uIHRoZSB0eXBlIGJyaWRnZQpj YW5ub3QgcmVwcmVzZW50LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9j b21taXQvNjMyNmYxNGNkYzEyYmFiZmRjNDM1OWY1ZGRkNGRmY2Q2NmI1M2YzMwoKR2l0IGNvbW1p dCBjOWYyYmEyMjg0OWU1MGRmMTI3N2RiODIyNWE2NDEwYmE5ZGRjYjVlIGJ5IEdpdEh1YiAob24g YmVoYWxmIG9mIFNhbSBFbGxpb3R0KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjA5Li4KW1JJU0NWXSBG aXggWHFjaSBGdXNpb25zIHdpdGggRnJhbWUgSW5kZXhlcyAoIzIxMzgxNSkKClByZS1SQSwgdGhl IEFEREkgY2FuIGNvbnRhaW4gYSBmcmFtZSBpbmRleCByYXRoZXIgdGhhbiBhIHJlZ2lzdGVyLCB3 aGljaApjYXVzZXMgYGdldFJlZygpYCB0byBhc3NlcnQuIFRoZXNlIHdlcmUgbWlzc2luZyB0aGUg YENoZWNrSXNSZWdPcGVyYW5kYAp0aGF0IG1vc3Qgb3RoZXIgZnVzaW9ucyBoYXZlLgpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvYzlmMmJhMjI4NDllNTBkZjEy NzdkYjgyMjVhNjQxMGJhOWRkY2I1ZQoKR2l0IGNvbW1pdCBjYWZkMzZiZmNlNjc2ODIxOTNjM2Q1 ZGE1OTFiMDUxYTQ2MGU1MGY2IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEVyaWNoIEtlYW5lKSBv biAwNC8wOC8yMDI2IGF0IDE4OjExLi4KW05GQ11bQ0lSXSBQcm9wYWdhdGUgU3ltYm9sVGFibGVz IGJldHRlciAoIzIxMzk3MikKClRoaXMgY2FtZSB1cCBkdXJpbmcgc2VsZi1idWlsZCwgd2UgYXJl IHNwZW5kaW5nIGEgbG90IG9mIHRpbWUgaW4gc29tZQpjYXNlcyBsb29raW5nIHVwIHVzaW5nIHRo ZSBnbG9iYWwgc3ltYm9sIHRhYmxlLCB3aGljaCBkb2VzIG5vIGNhY2hpbmcuClByZXZpb3VzbHkg d2UnZCBwcm9wYWdhdGVkIHRoaXMgaW4gYSBmZXcgcGxhY2VzLCBidXQgdGhpcyBwYXRjaCByZW1v dmVzCmFsbCB1c2VzIG9mIFN5bWJvbFRhYmxlOjpsb29rdXAgYW5kIGFkZHMgdGhlIGNhY2hlIGV2 ZXJ5d2hlcmUuCgpUaGlzIGludm9sdmVkIGNoYW5naW5nIHRoZSB0YWJsZWdlbiB0byBpbmNsdWRl IGl0IGluIGVhY2ggb2Ygb3VyCnJld3JpdGVycywgcGx1cyB0aGUgQ2lyQXR0ciBsb3dlcmluZyBl dmVyeXdoZXJlLgoKVGhlIG9ubHkgdGhpbmcgd2UgaGF2ZSB0byB0YWtlIGNhcmUgb2YgaXMgdG8g bWFrZSBzdXJlIHdlIGludmFsaWRhdGUgdGhlCmNhY2hlL3VwZGF0ZSB0aGUgY2FjaGUgd2hlbmV2 ZXIgd2UgYWRkIHNvbWV0aGluZyB3aXRoIGEgbmFtZSAoc2VlCmNyZWF0ZUxMVk1GdW5jT3BJZk5v dEV4aXN0KS4KClRoaXMgaXMgTkZDLCBhcyBpdCBpc24ndCBvYnNlcnZhYmxlLCBvdGhlciB0aGFu IGJlaW5nIGEgYnVpbGQgdGltZQppbXByb3ZlbWVudC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9x dC9jbGFuZy9sbHZtLy0vY29tbWl0L2NhZmQzNmJmY2U2NzY4MjE5M2MzZDVkYTU5MWIwNTFhNDYw ZTUwZjYKCkdpdCBjb21taXQgMWY2OWExNjI4OTQ3OGM5YTdiMmNkYTVkZjRjZDE2ZDY2MDllYjJj MiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBTaW1vbiBQaWxncmltKSBvbiAwNC8wOC8yMDI2IGF0 IDE4OjE1Li4KW0Nvc3RNb2RlbF1bWDg2XSBnZXRBcml0aG1ldGljUmVkdWN0aW9uQ29zdCAtIGVu c3VyZSB3ZSB0ZXN0IHRoZSB2WGkxIHJlZHVjdGlvbnMgdHlwZXMgYmVmb3JlIGxlZ2FsaXNhdGlv biAoIzIxMTA0MykKClByZS1BVlg1MTIgdGhlc2Ugd2lsbCBiZSBsZWdhbGl6ZWQgdG8gd2lkZXIg dmVjdG9yIHR5cGVzIGFuZCBtaWdodCBtYXRjaAphZ2FpbnN0IG90aGVyIHJlZHVjdGlvbnMgdGFi bGVzLgoKTm90aWNlZCB3aGlsZSB3b3JraW5nIG9uIGltcHJvdmluZyBsb2dpYyByZWR1Y3Rpb25z LCBidXQgaGl0IGEgY2FzZQp3aXRoL3dpdGhvdXQgcG9wY250IGZvciBib29sIHN1bSByZWR1Y3Rp b24gcGF0dGVybnMgLSBJJ3ZlIGFkZGVkIGEgQVZYMgp0ZXN0IHBhc3MgdG8gY2hlY2sgdGhlIChj b3JyZWN0ZWQpIGNvc3RzIGFyZSBzdGlsbCB3b3JraW5nCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcv cXQvY2xhbmcvbGx2bS8tL2NvbW1pdC8xZjY5YTE2Mjg5NDc4YzlhN2IyY2RhNWRmNGNkMTZkNjYw OWViMmMyCgpHaXQgY29tbWl0IDA4YTg3MzlhYzg5YTI3YzdkYmQwMzQ5MjY2NjExY2E5NDg2NmFl MmYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTmVyaXh5eikgb24gMDQvMDgvMjAyNiBhdCAxODox Ni4uCltsbGRiXVtQeXRob25dIElubGluZSBgbGxkYl9pdGVyYCBmb3IgYmV0dGVyIHR5cGUgaW5m ZXJlbmNlICgjMjE0MDAwKQoKQ3VycmVudGx5LCB0aGUgYGxsZGJfaXRlcmAgaGVscGVyIGlzIHVz ZWQgZm9yIHByb3ZpZGluZyBgX19pdGVyX19gIGluCnRoZSBQeXRob24gYmluZGluZ3M6CmBgYHB5 dGhvbgpkZWYgbGxkYl9pdGVyKG9iaiwgZ2V0c2l6ZSwgZ2V0ZWxlbSk6CiAgICAiIiJBIGdlbmVy YXRvciBhZGFwdG9yIHRvIHN1cHBvcnQgaXRlcmF0aW9uIGZvciBsbGRiIGNvbnRhaW5lciBvYmpl Y3RzLiIiIgogICAgc2l6ZSA9IGdldGF0dHIob2JqLCBnZXRzaXplKQogICAgZWxlbSA9IGdldGF0 dHIob2JqLCBnZXRlbGVtKQogICAgZm9yIGkgaW4gcmFuZ2Uoc2l6ZSgpKToKICAgICAgICB5aWVs ZCBlbGVtKGkpCmBgYAoKQSB0eXBlIGNoZWNrZXIgb3IgTFNQIGNhbid0IHNlZSB0aHJvdWdoIHRo aXMgZnVuY3Rpb24uIEN1cnJlbnRseSwgdGhhdCdzCm5vIHByb2JsZW0sIGJlY2F1c2UgaXQgZG9l c24ndCBrbm93IHRoZSByZXR1cm4gdHlwZSBvZiBhbnkgU3dpZyB3cmFwcGVyLApidXQgd2hlbiB3 ZSBhZGQgdHlwZSBhbm5vdGF0aW9ucyAoaG9wZWZ1bGx5IHdpdGggU3dpZyA0LjUgaW4gIzIxMzQ2 MyksCmBfX2l0ZXJfX2AgcmVtYWlucyB1bnR5cGVkLiBTbyBpdGVyYXRpbmcgdGhyb3VnaCB0aGUg d3JhcHBlcnMgd29uJ3Qgc2hvdwp0aGUgY29ycmVjdCB0eXBlLgoKQXMgdGhlIGZ1bmN0aW9uYWxp dHkgaXMgZmFpcmx5IHNpbXBsZSwgaXQncyBlYXNpZXIgdG8gaW5saW5lIGl0LiBUaGF0J3MKd2hh dCB0aGlzIFBSIGRvZXMuIFRoZW4gYSB0eXBlIGNoZWNrZXIgY2FuIGluZmVyIHRoZSByZXR1cm4g dHlwZS4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzA4YTg3 MzlhYzg5YTI3YzdkYmQwMzQ5MjY2NjExY2E5NDg2NmFlMmYKCkdpdCBjb21taXQgYWI0ZjIxMGEz MTI3ZTNiYTE3NzM4MTg5MTE5NDE0NGY5Mjc5OGJhNiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBN YXR0IEFyc2VuYXVsdCkgb24gMDQvMDgvMjAyNiBhdCAxODoxNy4uCmNsYW5nOiBSZXBsYWNlIElz Kk9mZmxvYWRBcmNoIGZyZWUgZnVuY3Rpb25zIHdpdGggT2ZmbG9hZEFyY2ggbWV0aG9kcyAoIzIx MzM2MykKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2FiNGYy MTBhMzEyN2UzYmExNzczODE4OTExOTQxNDRmOTI3OThiYTYKCkdpdCBjb21taXQgYTlhNmVkYjU5 MzVjOWY0MmM1OTI4MzY2MTIzNTZiZWE1NmUzYzA4YiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBB bGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjE4Li4KW1NMUF1WZWN0b3JpemUgc2lu Z2xlLXVzZXIgaW5zdHJ1Y3Rpb25zIGFzIHRoZSBsYXN0LWF0dGVtcHQgc2VlZHMKCkluc3RydWN0 aW9ucyB3aXRoIHRoZSBzaW5nbGUgdXNlciBjb3N0IG9uZSBleHRyYWN0IHBlciBsYW5lLCBzbyB0 aGV5IGFyZQp2ZWN0b3JpemVkIGFmdGVyIGFsbCBvdGhlciByb290cyBpbiB0aGUgZnVuY3Rpb24g YXJlIGV4aGF1c3RlZCwgZ3JvdXBlZCBieQp0aGUga2V5L3N1YmtleSBwYWlycy4gTG9hZHMsIGFk ZHJlc3NlcywgY29tcGFyZXMgYW5kIHRoZSBvcGVyYXRpb25zLCBmb2xkZWQKYXdheSBvciBjb250 cmFjdGVkIGludG8gdGhlIHNjYWxhciBGTUEsIGFyZSBleGNsdWRlZC4gVGhlIHJlamVjdGVkIGJ1 bmRsZXMKYW5kIHRoZSBtZW1iZXJzIG9mIHRoZSBwcmljZWQgbWluaW1hbCBub2RlcyBhcmUgbm90 IHJldHJpZWQsIHVubGVzcyB0aGUKdHJlZSB3YXMgZHJvcHBlZCBieSB0aGUgcmVwYWNraW5nIG92 ZXJoZWFkIHJhdGhlciB0aGFuIGJ5IHRoZSBtZW1iZXJzLgoKUmV2aWV3ZXJzOiBoaXJhZGl0eWEs IFJLU2ltb24sIGJhYmFidWNrCgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZt L2xsdm0tcHJvamVjdC9wdWxsLzIxMjU3OQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0vLS9jb21taXQvYTlhNmVkYjU5MzVjOWY0MmM1OTI4MzY2MTIzNTZiZWE1NmUzYzA4YgoK R2l0IGNvbW1pdCA0MDJjOWY5YTc3NmRjMjBkMDNlMzNjNDQ3ZDg2NjM0YzQ4NmE1NDM0IGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIEhlbnJ5IEppYW5nKSBvbiAwNC8wOC8yMDI2IGF0IDE4OjIzLi4K W05GQ11bQ3VkYV1bdGVzdF0gRml4IENIRUNLLU5PVCBwYXR0ZXJucyBtYXRjaGluZyB0aGUgYnVp bGQgZGlyZWN0b3J5ICgjMjEzNzk5KQoKYGN1ZGEtb21wLXVuc3VwcG9ydGVkLWRlYnVnLW9wdGlv bnMuY3VgJ3MgQ09NTU9OLU5PVDogLi4ufGxsZGJ8Li4uIGNhbgptYXRjaCBhZ2FpbnN0IHRoZSBi dWlsZCBkaXJlY3RvcnkgcGF0aCB0aGF0IG1heSBjb250YWluIGBsbGRiYCBpbiB0aGUKcGF0aG5h bWUuIENoYW5nZSB0aGUgdGVzdCB0byBjaGVjayB0aGUgZXhhY3QgY2MxIGFyZ3VtZW50cy4KCnJk YXI6Ly8xODM1MDE1NTgKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29t bWl0LzQwMmM5ZjlhNzc2ZGMyMGQwM2UzM2M0NDdkODY2MzRjNDg2YTU0MzQKCkdpdCBjb21taXQg ZjU5ZDZmNWY4NjZiOTc0MTM1MTBmYTExOTE0NDY1MWZiYmJjNzEyMyBieSBHaXRIdWIgKG9uIGJl aGFsZiBvZiBVc2FtYSBIYW1lZWQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6NDkuLgpbY2xhbmddW3Rl c3RdIEFkZCB0ZXN0IGZvciBzdGFja19wcm90ZWN0b3JfaWdub3JlIGluIHN5c3RlbSBtYWNyb3Mg KCMyMTM3NzApCgpkMzE4NGJjNmM2YTggKCJbY2xhbmddIERvbid0IHdhcm4gb24gc3RhY2tfcHJv dGVjdG9yX2lnbm9yZSBpbiBzeXN0ZW0KbWFjcm9zIikgYWRkZWQgU3VwcHJlc3NJblN5c3RlbU1h Y3JvIHRvCndhcm5fc3RhY2tfcHJvdGVjdGlvbl9pZ25vcmVfYXR0cmlidXRlIGJ1dCBvbmx5IGFk ZGVkIGFuIExMVk0gQ29kZUdlbgp0ZXN0IGZvciB0aGUgc3RhY2stcHJvdGVjdG9yIG1ldGFkYXRh LCBzbyB0aGUgZGlhZ25vc3RpYyBjaGFuZ2UgaXRzZWxmCndhcyB1bnRlc3RlZC4KCkFkZCBhIHRl c3QgdXNpbmcgdGhlIHNlbGYtaW5jbHVkZSBzeXN0ZW1faGVhZGVyIGlkaW9tOiB0aGUgYXR0cmli dXRlCmZyb20gYSBzeXN0ZW0gaGVhZGVyIG1hY3JvIGRvZXMgbm90IHdhcm4gdW5kZXIgLWZzdGFj ay1wcm90ZWN0b3ItYWxsLAp3aGlsZSBvbmUgd3JpdHRlbiBpbiB1c2VyIGNvZGUgc3RpbGwgZG9l cy4KCnJkYXI6Ly8xODM5NjI5ODUKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt Ly0vY29tbWl0L2Y1OWQ2ZjVmODY2Yjk3NDEzNTEwZmExMTkxNDQ2NTFmYmJiYzcxMjMKCkdpdCBj b21taXQgNDM3NmI4ZDY2OTYxZGIzNjA5NDVkYjQ0YWJlNTEwZDlmMTNhYmY2MSBieSBHaXRIdWIg KG9uIGJlaGFsZiBvZiBBbGV4ZXkgQmF0YWV2KSBvbiAwNC8wOC8yMDI2IGF0IDE4OjU3Li4KW1NM UF1GbGF0dGVuIGFkZC9zdWIgYW5kIGZhZGQvZnN1YiBjaGFpbnMgaW50byBvbmUgcmVhc3NvY2lh dGVkIG5vZGUKCkEgcGVlbGVkIHN1YnRyYWN0IGtlZXBzIHRoZSBjb2x1bW4gc2lnbiBmb3IgaXRz IGZpcnN0IG9wZXJhbmQgYW5kIGZsaXBzCml0IGZvciB0aGUgc2Vjb25kLCBzbyBtaXhlZCBhZGQv c3ViIChmYWRkL2ZzdWIgd2l0aCByZWFzc29jKSBjaGFpbnMKbGluZWFyaXplIGludG8gcG9zaXRp dmUgYW5kIG5lZ2F0aXZlIG9wZXJhbmQgY29sdW1ucyBjb21iaW5pbmcgYXMKc3VtKHBvc2l0aXZl KSAtIHN1bShuZWdhdGl2ZSksIHdpdGggc3VidHJhaGVuZCBjb2x1bW5zIHJlb3JkZXJlZCBieQp2 YWx1ZSBmYW1pbHkuIG51dyBpcyBub3cgYWxzbyBkcm9wcGVkIG9uIG5vbi1leGFjdCBjb21iaW5l cyB3aGVuIGEKbmVnYXRlZCBsZWFmIGV4aXN0cywgc2luY2UgYSByZWdyb3VwZWQgc3VidHJhaGVu ZCBzdW0gY2FuIGV4Y2VlZCB0aGUKb3JpZ2luYWwgcnVubmluZyB0b3RhbC4KClJldmlld2Vyczog UktTaW1vbiwgYmFiYWJ1Y2ssIGhpcmFkaXR5YQoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1 Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMTM1NDQKaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzQzNzZiOGQ2Njk2MWRiMzYwOTQ1ZGI0NGFiZTUxMGQ5 ZjEzYWJmNjEKCkdpdCBjb21taXQgYjA3ZmM4YTQ0YWE2YWMwM2VjOGUwYzc5YjA0MTM0YmRhODdi NTI3OSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBGb2xrZXJ0IGRlIFZyaWVzKSBvbiAwNC8wOC8y MDI2IGF0IDE5OjAwLi4KW1NQQVJDXSBEbyBub3QgdXNlIHRoZSB1bmltcCBzdHJ1Y3QtcmV0dXJu IGNvbnZlbnRpb24gZm9yIHplcm8tc2l6ZWQgdHlwZXMgKCMyMTM3MzMpCgpHQ0MgaGFzIHNwZWNp YWwgaGFuZGxpbmcgZm9yIGFuIGBzcmV0YCBvZiBhIHplcm8tc2l6ZWQgdHlwZSwgbWF0Y2ggdGhh dApoYW5kbGluZy4KCmh0dHBzOi8vZ29kYm9sdC5vcmcvei9UY3JhYW83clQKCkl0IHNlZW1zIHVu bGlrZWx5IHNvbWVvbmUgaXMgYWN0dWFsbHkgcmVseWluZyBvbiB0aGlzLCBzbyBJIGhhdmVuJ3QK YWRkZWQgdGhlIGFiaSBjb21wYXRpYmlsaXR5IGxvZ2ljLiBSdXN0IGhvd2V2ZXIgdXNlcyB6ZXJv LXNpemVkIHR5cGVzCnF1aXRlIGhlYXZpbHksIHNvIGhhdmluZyB0aGlzIHdvcmsgY29ycmVjdGx5 IGlzIHVzZWZ1bCB0aGVyZS4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0v Y29tbWl0L2IwN2ZjOGE0NGFhNmFjMDNlYzhlMGM3OWIwNDEzNGJkYTg3YjUyNzkKCkdpdCBjb21t aXQgOGNmMzI2OGIzYTY1ZTE4NmYxMDQxMzlhM2Y1M2QwN2RlOGQ1MDMyYSBieSBHaXRIdWIgKG9u IGJlaGFsZiBvZiBBbmR5IEtheWxvcikgb24gMDQvMDgvMjAyNiBhdCAxOToxMC4uCltDSVJdW0FB cmNoNjRdIFVzZSBDSVIncyBmbWEgYW5kIHNxcnQgZm9yIE5lb24gYnVpbHRpbnMgKCMyMTM4MDAp CgpUaGlzIGNoYW5nZSByZXBsYWNlcyBzb21lIGxvY2F0aW9ucyB3aGVyZSB0aGUgTmVvbiBidWls dGluIGhhbmRsaW5nIHdhcwpjYWxsaW5nIExMVk0gaW50cmluc2ljcyBkaXJlY3RseSBmb3IgRk1B IGFuZCBzcXJ0IG9wZXJhdGlvbnMgcmF0aGVyIHRoYW4KdXNpbmcgdGhlIENJUiBvcGVyYXRpb25z LiBVc2luZyB0aGUgQ0lSIG9wZXJhdGlvbnMgd2lsbCBiZSBuZWNlc3NhcnkgdG8KZ2V0IHRoZSBi ZXN0IGNvbnN0cmFpbmVkIEZQIGhhbmRsaW5nLgoKVGhpcyB3aWxsIHN0aWxsIHJlcXVpcmUgc2V0 dGluZyB0aGUgZmVudiBhdHRyaWJ1dGUgb24gdGhlc2Ugb3BlcmF0aW9ucwp3aGVuIG5lZWRlZC4g VGhpcyBjaGFuZ2UgaXMganVzdCB0aGUgZmlyc3Qgb2YgYSBmZXcgcHJlbGltaW5hcnkgY2hhbmdl cwpuZWVkZWQgdG8gZ2V0IHVzIGluIGEgZ29vZCBzdGF0ZSB0byBhZGQgdGhlIGNvbnN0cmFpbmVk IEZQIGhhbmRsaW5nLgoKQXNzaXN0ZWQtYnk6IEN1cnNvciAvIEdyb2sgNC41Cmh0dHBzOi8vaW52 ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC84Y2YzMjY4YjNhNjVlMTg2ZjEwNDEz OWEzZjUzZDA3ZGU4ZDUwMzJhCgpHaXQgY29tbWl0IGQ0NjI4NTI2YmRkMmM4YmQwM2FjZGNiZjBm OWQ4NzEwZWYyNDM0ODYgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQW5keSBLYXlsb3IpIG9uIDA0 LzA4LzIwMjYgYXQgMTk6MTUuLgpbQ0lSXSBBcHBseSBGUCBjb25zdHJhaW50cyB0byBnbG9iYWwg aW5pdGlhbGl6ZXJzICgjMjEzNzc2KQoKQmVjYXVzZSBDSVIgaGFuZGxlcyBnbG9iYWwgaW5pdGlh bGl6ZXJzIHVzaW5nIGEgcmVnaW9uIG9mIHRoZSBjaXIuZ2xvYmFsCm9wZXJhdGlvbiBkdXJpbmcg aW5pdGlhbCBjb2RlIGdlbmVyYXRpb24sIHRoZXNlIGluaXRpYWxpemVycyBkb24ndAphdXRvbWF0 aWNhbGx5IGdldCB0aGUgc3RyaWN0ZnAgc2V0dXAgaW4gQ0lSR2VuRnVuY3Rpb246OnN0YXJ0RnVu Y3Rpb24uCgpUaGlzIGNoYW5nZSBhZGRzIGFuIGF0dHJpYnV0ZSB0byB0aGUgY2lyLmdsb2JhbCBv cGVyYXRpb24gdG8gdHJhY2sKZmxvYXRpbmctcG9pbnQgY29uc3RyYWludHMgc28gdGhhdCB0aGUg YHN0cmljdGZwYCBhdHRyaWJ1dGUgY2FuIGJlIHNldApvbiB0aGUgaW5pdGlhbGl6YXRpb24gZnVu Y3Rpb24gd2hlbiBpdCBpcyBjcmVhdGVkIGR1cmluZyBFSEFCSSBsb3dlcmluZy4KCkFzc2lzdGVk LWJ5OiBDdXJzb3IgLyB2YXJpb3VzIG1vZGVscwpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0vLS9jb21taXQvZDQ2Mjg1MjZiZGQyYzhiZDAzYWNkY2JmMGY5ZDg3MTBlZjI0MzQ4 NgoKR2l0IGNvbW1pdCAzMmI2NDVkOWQ2OWI4YzJlNjI4OTBmZWQxOTIwMzMzN2JlZGRmNzk3IGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEVyaWMgQ2hyaXN0b3BoZXIpIG9uIDA0LzA4LzIwMjYgYXQg MTk6MjEuLgpbRGVidWdJbmZvXSBUcmVhdCB0YWcgb2Zmc2V0cyBhcyBub24tZW1pdHRpbmcgKCMy MTE5NjkpCgpEV19PUF9MTFZNX3RhZ19vZmZzZXQgZG9lc24ndCBlbWl0IGFueXRoaW5nIGludG8g dGhlIERXQVJGIGV4cHJlc3Npb24sCnNvIGxvb2sgcGFzdCBpdCB3aGVuIGRlY2lkaW5nIHdoZXRo ZXIgYSByZWdpc3RlciBleHByZXNzaW9uIGlzIGNvbXBsZXgKb3Igd2hldGhlciBhcHBlbmRUb1N0 YWNrIG5lZWRzIHRvIGFkZCBhIGRlcmVmZXJlbmNlLgoKVGVzdGVkIHdpdGggbWFrZSBjaGVjay4K CkFzc2lzdGVkIHdpdGggQUkuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8t L2NvbW1pdC8zMmI2NDVkOWQ2OWI4YzJlNjI4OTBmZWQxOTIwMzMzN2JlZGRmNzk3CgpHaXQgY29t bWl0IDcwMjUzYWY4NzA5NjE3Yjg2MDg2NWNlOGQ3NDIwNDcxOGU4YTE5NzUgYnkgR2l0SHViIChv biBiZWhhbGYgb2YgVml0YWx5IEJ1a2EpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MjcuLgpbTkZDXVts aWJGdXp6ZXJdIFJlbW92ZSB1bnVzZWQgR2V0TW9kdWxlTmFtZSBoZWxwZXIgaW4gVHJhY2VQQyAo IzIxNDAzMikKCkZpeGluZyBidWlsZCBib3RzIGFmdGVyCmh0dHBzOi8vZ2l0aHViLmNvbS9sbHZt L2xsdm0tcHJvamVjdC9wdWxsLzIwMzA4NC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFu Zy9sbHZtLy0vY29tbWl0LzcwMjUzYWY4NzA5NjE3Yjg2MDg2NWNlOGQ3NDIwNDcxOGU4YTE5NzUK CkdpdCBjb21taXQgN2Y0OThkOWQzNmQxMDJhNjUzMDg5ZTg2Y2MwN2QwYTdmOTBiZmFlYyBieSBH aXRIdWIgKG9uIGJlaGFsZiBvZiBRaW9uZ3NpIFd1KSBvbiAwNC8wOC8yMDI2IGF0IDE5OjM4Li4K W2NsYW5nXVtEZXBlbmRlbmN5U2Nhbm5pbmddIFVzZSBDb21waWxlckluc3RhbmNlV2l0aENvbnRl eHQgZm9yIFRVIFNjYW5uaW5nICgjMjExNDA4KQoKQWZ0ZXIgYENvbXBpbGVySW5zdGFuY2VXaXRo Q29udGV4dGAncyByZWxvY2F0aW9uIHRvCmBEZXBlbmRlbmN5U2Nhbm5pbmdXb3JrZXIuY3BwYCwg d2UgY2FuIHVzZSBpdCBmcmVlbHkgYXMgYW4KaW1wbGVtZW50YXRpb24gZW5naW5lIGZvciBUVSBz Y2FubmluZy4gVGhpcyBQUiBkb2VzIHRoYXQsIGFuZCB1bmlmaWVzCnRoZSBieS1uYW1lIHNjYW5u aW5nIGFuZCBUVSBzY2FubmluZyBzbyB0aGV5IGFsbCBnbyB0aHJvdWdoCmBDb21waWxlckluc3Rh bmNlV2l0aENvbnRleHRgLgoKcmRhcjovLzE2NzAzNDMwOQoKCgotLS0KCjxzdWI+U3RhY2sgY3Jl YXRlZCB3aXRoIDxhCmhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZ2gtc3RhY2siPkdp dEh1YiBTdGFja3MgQ0xJPC9hPiDigKIgPGEKaHJlZj0iaHR0cHM6Ly9naC5pby9zdGFja3MtZmVl ZGJhY2siPkdpdmUgRmVlZGJhY2sg8J+SrDwvYT48L3N1Yj4KaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzdmNDk4ZDlkMzZkMTAyYTY1MzA4OWU4NmNjMDdkMGE3 ZjkwYmZhZWMKCkdpdCBjb21taXQgMDQ3MjJhNGEzMmU2ZmVjMTg5N2NjM2NiNWE1NDgwOWZjZDhj OWNhZSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBRaW9uZ3NpIFd1KSBvbiAwNC8wOC8yMDI2IGF0 IDE5OjM4Li4KW2NsYW5nXVtEZXBlbmRlbmN5U2Nhbm5pbmddIERpc3NvbHZlIERlcGVuZGVuY3lT Y2FubmVySW1wbC5oL2NwcCAoIzIxMTQwOSkKCmBEZXBlbmRlbmN5U2Nhbm5lckltcGwuaC9jcHBg IHdlcmUgY3JlYXRlZCB0byBzaGFyZSBjb2RlIGJldHdlZW4gVFUKc2Nhbm5pbmcgYW5kIGJ5LW5h bWUgc2Nhbm5pbmcgd2hlbiB0aGV5IHdlcmUgb24gZGlmZmVyZW50IGNvZGUgcGF0aHMuCkFmdGVy IHVuaWZ5aW5nIHRoZSBpbXBsZW1lbnRhdGlvbiB0aHJvdWdoIGBDb21waWxlckluc3RhbmNlV2l0 aENvbnRleHRgLAp3ZSBubyBsb25nZXIgbmVlZCBhIHNlcGFyYXRlIGhlYWRlci9jcHAgcGFpciBh bmQgYWxsIHRoZSBjb2RlIGFyZSBtb3ZlZAppbnRvIGBEZXBlbmRlbmN5U2Nhbm5pbmdXb3JrZXIu Y3BwYC4gVGhpcyBQUiBpcyBtZWNobmljYWwgYW5kIGRvZXMgbm90CmludGVuZCB0byBpbnRyb2R1 Y2UgYmVoYXZpdm9yIGNoYW5nZXMuCgotLS0KCjxzdWI+U3RhY2sgY3JlYXRlZCB3aXRoIDxhCmhy ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZ2gtc3RhY2siPkdpdEh1YiBTdGFja3MgQ0xJ PC9hPiDigKIgPGEKaHJlZj0iaHR0cHM6Ly9naC5pby9zdGFja3MtZmVlZGJhY2siPkdpdmUgRmVl ZGJhY2sg8J+SrDwvYT48L3N1Yj4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt Ly0vY29tbWl0LzA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4YzljYWUKCkdpdCBj b21taXQgYjNjZTA3Yjk5OTkwMDBlNmZhZDFjM2FhOGY0MjllMmZmMjZiNTk4ZiBieSBHaXRIdWIg KG9uIGJlaGFsZiBvZiBBYmhpbmEgU3JlZSkgb24gMDQvMDgvMjAyNiBhdCAxOTo0MS4uCltTeXN0 ZW1aXVt6L09TXSB1c2UgTExWTV9USFJFQURfTE9DQUwgaW5zdGVhZCBvZiB0aHJlYWRfbG9jYWwg KCMyMTQwMzkpCgpUaGlzIHBhdGNoIGlzIHRvIGZpeCB0aGUgZm9sbG93aW5nIGVycm9yIG9uIHov T1MKCmBgYApsbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1BlclRocmVhZEJ1bXBQdHJBbGxvY2F0 b3IuaDo3NToxMjogZXJyb3I6IHRocmVhZC1sb2NhbCBzdG9yYWdlIGlzIG5vdCBzdXBwb3J0ZWQg Zm9yIHRoZSBjdXJyZW50IHRhcmdldAogICA3NSB8ICAgICBzdGF0aWMgdGhyZWFkX2xvY2FsIHN0 ZDo6dmVjdG9yPEFsbG9jYXRvclR5ICo+IENhY2hlOwogICAgICB8ICAgICAgICAgICAgXgpgYGAK aHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2IzY2UwN2I5OTk5 MDAwZTZmYWQxYzNhYThmNDI5ZTJmZjI2YjU5OGYKCkdpdCBjb21taXQgY2RkYzEwNzg5OWJkZjA5 ZWUzZmZkNjBiMDBiMzI0NTVlNjk5YjEzMCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBcnNlbml5 IE9ib2xlbnNraXkpIG9uIDA0LzA4LzIwMjYgYXQgMTk6NDguLgpbQU1ER1BVXSBEbyBub3Qgd2lk ZW4gY29uc3RhbnQgbG9hZHMgdGhhdCBtYXkgbm90IGJlIGRlcmVmZXJlbmNlYWJsZSAoIzE4NDc5 MCkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2NkZGMxMDc4 OTliZGYwOWVlM2ZmZDYwYjAwYjMyNDU1ZTY5OWIxMzAKCkdpdCBjb21taXQgZGVlNzBhMGZjOTQ4 Y2U5MDYwZjQyMjVlZTViNzA3YWY0Mjg3ZTVkYyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbGV4 YW5kZXIgUmljaGFyZHNvbikgb24gMDQvMDgvMjAyNiBhdCAxOTo1NS4uCltUYWJsZUdlbl0gR2Vu ZXJhdGUgYGdldFJlZ0NsYXNzRnJvbU1hdGNoS2luZCgpYCBmb3IgQXNtTWF0Y2hlcnMKClRoaXMg aGVscGVyIGNhbiBiZSB1c2VmdWwgaW4gdmFsaWRhdGVUYXJnZXRPcGVyYW5kQ2xhc3MgdG8gZ2V0 IHRoZQpNQ1JlZ2lzdGVyQ2xhc3MgZm9yIHRoZSBNQ0tfKiBlbnVtLgpNaWdyYXRlIHRoZSBSVlkg bG9naWMgdG8gdXNlIHRoaXMgbmV3IGdlbmVyYXRlZCBmdW5jdGlvbi4gQ2hlY2tpbmcgYWxsCnJl Z2lzdGVyIGNsYXNzZXMgaW5zdGVhZCBvZiBqdXN0IHRoZSBSVlkgb25lcyB3aWxsIG1hcmdpbmFs bHkgc2xvdyBkb3duCnZhbGlkYXRlVGFyZ2V0T3BlcmFuZENsYXNzLCBidXQgc2luY2UgdGhpcyBp cyBhbHJlYWR5IGEgc2xvdyBwYXRoIGl0CnNob3VsZCBub3QgbWF0dGVyLgoKSWYgbXVsdGlwbGUg UmVnaXN0ZXJPcGVyYW5kcyBzaGFyZSBhIFBhcnNlck1hdGNoQ2xhc3MgYnV0IG1hcCB0byBkaWZm ZXJlbnQKUmVnaXN0ZXJDbGFzc2VzLCBvbWl0IHRoZW0gZnJvbSB0aGUgZ2VuZXJhdGVkIGdldFJl Z0NsYXNzRnJvbU1hdGNoS2luZAptYXBwaW5nIGZ1bmN0aW9uLiBJIG9yaWdpbmFsbHkgdHJpZWQg dG8gZW1pdCBhbiBlcnJvciBoZXJlLCBidXQgaXQgdHVybnMKb3V0IHRoZXJlIGFyZSBtYW55IHRh cmdldHMgdGhhdCByZWx5IG9uIHNoYXJpbmcgdGhlIFBhcnNlck1hdGNoQ2xhc3Mgd2l0aApkaWZm ZXJlbnQgKGJ1dCBzaW1pbGFyKSBSZWdpc3RlckNsYXNzZXMgc28gaWdub3JpbmcgdGhlbSBpcyBz YWZlci4KClJldmlld2VkIEJ5OiBsZW5hcnkKClB1bGwgUmVxdWVzdDogaHR0cHM6Ly9naXRodWIu Y29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjAwNDUzCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcv cXQvY2xhbmcvbGx2bS8tL2NvbW1pdC9kZWU3MGEwZmM5NDhjZTkwNjBmNDIyNWVlNWI3MDdhZjQy ODdlNWRjCgpHaXQgY29tbWl0IDBkMWI1NDYwNGRhYzczYWRjMTZhZjE1ZjQzM2FlMGM5MjA2OWZj YzIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGFuZGVyIFJpY2hhcmRzb24pIG9uIDA0LzA4 LzIwMjYgYXQgMTk6NTcuLgpbVGFibGVHZW5dW0FzbU1hdGNoZXJdIFJlc29sdmUgUmVnQ2xhc3NC eUh3TW9kZSBraW5kcyBmb3IgYWxsIG9wZXJhbmRzCgp2YWxpZGF0ZU9wZXJhbmRDbGFzcygpIG9u bHkgcmVtYXBwZWQgYSBSZWdDbGFzc0J5SHdNb2RlIG9wZXJhbmQga2luZAp3aGVuIHRoZSBhY3R1 YWwgcGFyc2VkIG9wZXJhbmQgd2FzIGEgcmVnaXN0ZXIuIFdoZW4gdGhlIG9wZXJhbmQgd2FzCnNv bWV0aGluZyBlbHNlIGVudGlyZWx5IChlLmcuIGEgYmFyZSBpbW1lZGlhdGUgd2hlcmUgYSByZWdp c3RlciB3YXMKZXhwZWN0ZWQpLCB0aGlzIGZlbGwgdGhyb3VnaCB0byB0aGUgZ2VuZXJpYyAiS2lu ZCA8PSBNQ0tfTEFTVF9SRUdJU1RFUiIKZGlhZ25vc3RpYyBjaGVjaywgc28gd2UgZW5kIHVwIHdp dGggYSBnZW5lcmljIE1hdGNoX0ludmFsaWRPcGVyYW5kLgoKTm8gdGVzdCBjaGFuZ2VzIGhlcmUs IGJ1dCB0aGlzIGlzIG5lZWRlZCB0byBhdm9pZCBkaWFnbm9zdGljIHJlZ3Jlc3Npb25zCndpdGgg dGhlIFJWWSBsb2FkL3N0b3JlIHN1cHBvcnQgKFBSICMxNzcwNzMpLgoKUHVsbCBSZXF1ZXN0OiBo dHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC8yMTM0NzkKaHR0cHM6Ly9p bnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzBkMWI1NDYwNGRhYzczYWRjMTZh ZjE1ZjQzM2FlMGM5MjA2OWZjYzIKCkdpdCBjb21taXQgYzc0MGM1NDUxN2ZhZmRmYjZhM2RkMzUy MjcwMDA3NmQ1MTg0Yzg0MiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBYmhpbmEgU3JlZSkgb24g MDQvMDgvMjAyNiBhdCAxOTo1Ny4uCltTeXN0ZW1aXVt6L09TXSBBZGQgZ3VhcmQgZm9yIFNJX1VT RVIgICgjMjEzMTAxKQoKU0lfVVNFUiBpcyBub3QgZGVmaW5lZCBvbiB6L09TIGFuZCBpcyBjYXVz aW5nIHRoZSBmb2xsb3dpbmcgYnVpbGQKZmFpbHVyZS4gYGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdTSV9VU0VSJ2AgClRoaXMgcGF0Y2ggYWRkcyBhIGd1YXJkIHRvIGNoZWNr IHdoZXRoZXIgU0lfVVNFUiBpcyBkZWZpbmVkCmJlZm9yZSB1c2luZyBpdC4KaHR0cHM6Ly9pbnZl bnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0L2M3NDBjNTQ1MTdmYWZkZmI2YTNkZDM1 MjI3MDAwNzZkNTE4NGM4NDIKCkdpdCBjb21taXQgODM0M2M1MzhmMGU3ZWRlZThiZmMyYzgwMGY2 ZDFiZmFlZjY2NGMxMiBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBmb3JraW5nLWdvb2dsZS1iYXpl bC1ib3RbYm90XSkgb24gMDQvMDgvMjAyNiBhdCAyMDowOS4uCltCYXplbF0gRml4ZXMgMDQ3MjJh NCAoIzIxNDA0OSkKClRoaXMgZml4ZXMgMDQ3MjJhNGEzMmU2ZmVjMTg5N2NjM2NiNWE1NDgwOWZj ZDhjOWNhZSAoIzIxMTQwOSkuCgpCdWlsZGtpdGUgZXJyb3IgbGluazoKaHR0cHM6Ly9idWlsZGtp dGUuY29tL2xsdm0tcHJvamVjdC91cHN0cmVhbS1iYXplbC9idWlsZHM/Y29tbWl0PTA0NzIyYTRh MzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4YzljYWUKCkNvLWF1dGhvcmVkLWJ5OiBHb29nbGUg QmF6ZWwgQm90IDxnb29nbGUtYmF6ZWwtYm90QGdvb2dsZS5jb20+Cmh0dHBzOi8vaW52ZW50Lmtk ZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC84MzQzYzUzOGYwZTdlZGVlOGJmYzJjODAwZjZk MWJmYWVmNjY0YzEyCgpHaXQgY29tbWl0IDQ0YzZhZWQ5YmQ5YjljZGE5OTNmNGU5M2YyY2JkYjRm YmJhODkwZDAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU3BlbmNlciBCcnluZ2Vsc29uKSBvbiAw NC8wOC8yMDI2IGF0IDIwOjE1Li4KW2ZsYW5nXVtPcGVuTVBdIERpYWdub3NlIGZhaWxlZCBjb25z dHJ1Y3QgZGVjb21wb3NpdGlvbiBpbnN0ZWFkIG9mIGZhbGxpbmcgdGhyb3VnaCAoIzIxNDAxMikK CmBidWlsZENvbnN0cnVjdFF1ZXVlYCBhc3NlcnRzIHRoYXQgZGVjb21wb3NpdGlvbiBwcm9kdWNl ZCBvdXRwdXQ6CgpgYGBjcHAKQ29uc3RydWN0RGVjb21wb3NpdGlvbiBkZWNvbXBvc2UobW9kT3As IHNlbWFDdHgsIGV2YWwsIGNvbXBvdW5kLCBjbGF1c2VzKTsKYXNzZXJ0KCFkZWNvbXBvc2Uub3V0 cHV0LmVtcHR5KCkgJiYgIkNvbnN0cnVjdCBkZWNvbXBvc2l0aW9uIGZhaWxlZCIpOwpgYGAKClJl bGVhc2UgYnVpbGRzIGhhdmUgbm8gY2hlY2ssIHNvIHRoZSBlbXB0eSBxdWV1ZSBmYWxscyB0aHJv dWdoIHRvIHRoZQpsb29wIGJlbG93IGFuZCBvdXQgdG8gdGhlCmNhbGxlci4gVGhhdCBpcyB1bmRl ZmluZWQgYmVoYXZpb3VyLCBhbmQgaXQgaXMgcmVhY2hhYmxlIOKAlCBzZW1hbnRpY3MKZG9lcyBu b3QgY2F0Y2ggZXZlcnkKZGlyZWN0aXZlL2NsYXVzZSBjb21iaW5hdGlvbiB0aGF0IGNhbm5vdCBi ZSBkZWNvbXBvc2VkLiBUaGUgcmVzdWx0IGlzIGFuCmludGVybWl0dGVudCBzZWdmYXVsdApyYXRo ZXIgdGhhbiBhIGRpYWdub3N0aWMuCgojMjExNDMwIGlzIG9uZSB3YXkgaW46IGBhbGxvY2F0ZWAg aXMgYW4gT3Blbk1QIDUuMCBjbGF1c2UsIGJ1dCBtb3N0CmRpcmVjdGl2ZXMgZGVjbGFyZSBpdCBp bgpgT01QLnRkYCB3aXRob3V0IGEgbWluaW11bSB2ZXJzaW9uLCBzbyBzZW1hbnRpY3MgYWNjZXB0 cyBpdCBiZWxvdyA1LjAKYW5kIGRlY29tcG9zaXRpb24gdGhlbgpjb3JyZWN0bHkgcmVmdXNlcyBp dC4gZmxhbmcgZGVmYXVsdHMgdG8gT3Blbk1QIDMuMSwgc28gbm8gdW51c3VhbCBmbGFncwphcmUg bmVlZGVkLiBUaGUKaW50ZXJtaXR0ZW5jeSBpcyB3aGF0IG1hZGUgdGhhdCByZXBvcnQgaGFyZCB0 byBwaW4gZG93biDigJQgNDAgdHJpYWxzIGF0CmAtZm9wZW5tcC12ZXJzaW9uPTMxYDoKCnwgfCBz ZWdmYXVsdHMgfAp8LS0tfC0tLXwKfCBBU0xSIG9uIHwgMjUvNDAgfAp8IEFTTFIgb2ZmIChgc2V0 YXJjaCAtUmApIHwgMC80MCB8Cgp3aGljaCBpcyBhbiB1bmluaXRpYWxpemVkIHJlYWQuCgpBZnRl ciB0aGlzIHBhdGNoIHRoZSBzYW1lIGlucHV0IGZhaWxzIGRldGVybWluaXN0aWNhbGx5IHdpdGgg YSBsb2NhdGVkCmRpYWdub3N0aWMsIDQwLzQwOgoKYGBgCmVycm9yOiBsb2MoInJlcHJvLmY5MCI6 NjoxMSk6IE9wZW5NUCBjb25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBmYWlsZWQ6IGEgY2xhdXNlIG9u CiAgICAgICAndGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8nIGNhbm5vdCBiZSBh cHBsaWVkIHRvIGFueSBvZiBpdHMgbGVhZiBjb25zdHJ1Y3RzCmBgYAoKYGdlbkNyYXNoRGlhZz1m YWxzZWAgc28gaXQgZXhpdHMgbm9uLXplcm8gd2l0aG91dCBhIGJhY2t0cmFjZSwgcmF0aGVyCnRo YW4gcHJlc2VudGluZyBhcyBhIGNvbXBpbGVyCmNyYXNoLgoKVGhpcyBpcyBhIGhhcmRlbmluZyBm aXggZm9yIHRoZSBsb3dlcmluZyBwYXRoIGFuZCBpcyBpbmRlcGVuZGVudCBvZiBhbnkKcGFydGlj dWxhciBjbGF1c2U6IGl0IGNvdmVycwpldmVyeSBjb21iaW5hdGlvbiB0aGF0IGRlY29tcG9zZXMg ZW1wdHkuIEl0IGRvZXMgbm90IG1ha2UgdGhlIGBhbGxvY2F0ZWAKY2FzZSBhICpnb29kKiBkaWFn bm9zdGljIOKAlAp0aGF0IGJlbG9uZ3MgaW4gc2VtYW50aWNzLCBhbmQgIzIxMzk4MCBpcyB0aGUg c2VwYXJhdGUgY2hhbmdlIGZvciBpdC4KCmBjaGVjay1mbGFuZ2AgaXMgY2xlYW4gKDQ4MDggdGVz dHMpLiBObyB0ZXN0IGlzIGFkZGVkOiB0aGUgb25seSBpbi10cmVlCndheSB0byByZWFjaCB0aGlz IHBhdGggaXMKdGhyb3VnaCB0aGUgYE9NUC50ZGAgZ2FwIHRoYXQgIzIxMzk4MCBmaXhlcywgc28g YSB0ZXN0IGhlcmUgd291bGQgZW5jb2RlCnRoYXQgZ2FwIGFzIGV4cGVjdGVkCmJlaGF2aW91ciBh bmQgaGF2ZSB0byBiZSByZW1vdmVkIHdoZW4gaXQgbGFuZHMuIEhhcHB5IHRvIGFkZCBvbmUgaWYK eW91J2QgcHJlZmVyLgoKCi0tLQoKUGFydHMgb2YgdGhpcyBjaGFuZ2Ugd2VyZSB3cml0dGVuIG9y IGF1ZGl0ZWQgd2l0aCBDbGF1ZGUgQ29kZS4gSSBoYXZlCnJldmlld2VkIGFsbCBvZiBpdCBhbmQg dGFrZQpmdWxsIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY29udHJpYnV0aW9uLiBTZWUKYGxsdm0v ZG9jcy9BSVRvb2xQb2xpY3kubWRgLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0vLS9jb21taXQvNDRjNmFlZDliZDliOWNkYTk5M2Y0ZTkzZjJjYmRiNGZiYmE4OTBkMAoKR2l0 IGNvbW1pdCA4M2ZiNzJhOTA0ZTgyMzFiZjY4NzkwNzZiOWMxMGJkYmYyNWU0NzQ0IGJ5IEdpdEh1 YiAob24gYmVoYWxmIG9mIEFydGh1ciBFdWJhbmtzKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjIwLi4K W0RXUF0gRWFnZXJseSBjbGVhciBidWZmZXJzIGFmdGVyIHdyaXRpbmcgKCMyMTMzNDUpCgpMb3dl cnMgcGVhayBtZW1vcnkgdXNhZ2Ugb24gYSBsbHZtLWR3cCBpbnZvY2F0aW9uIGZyb20gMTIuMzdH QiAtPgoxMS4xOUdCLgoKVGhpcyBhY3R1YWxseSBub3cgYmVhdHMgb3V0IEdOVSBkd3AgKDExLjM1 R0IpIGF0IGxlYXN0IHdoZW4gdGhlIG91dHB1dApmaWxlIGlzIGluIHRtcGZzLgpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvODNmYjcyYTkwNGU4MjMxYmY2ODc5 MDc2YjljMTBiZGJmMjVlNDc0NAoKR2l0IGNvbW1pdCBkNTJlOTg4MTRjNDE0ODdlNTYzNWExODZk OTdiZjU4MDNlMjAyNDU3IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEhlbnJ5IEppYW5nKSBvbiAw NC8wOC8yMDI2IGF0IDIwOjI1Li4KW05GQ11bQU1ER1BVXSBGaXggZXhpdCBjb2RlIG1pc21hdGNo IHdpdGggRVhQRU5TSVZFX0NIRUNLIGluIHNjaGVkdWxl4oCmICgjMjE0MDI3KQoK4oCmLWFtZGdw dS10cmFja2VyLXBoeXNyZWctY3Jhc2gubGwKCk9ic2VydmVkIGluCmh0dHBzOi8vY2kuc3dpZnQu b3JnL2pvYi9sbHZtLm9yZy9qb2IvY2xhbmctc3RhZ2UxLVJBLWV4cGVuc2l2ZS9qb2IvbWFpbi8x MTU1CndpdGggTExWTV9FTkFCTEVfRVhQRU5TSVZFX0NIRUNLUyBlbmFibGVkLApgQ29kZUdlbi9B TURHUFUvc2NoZWR1bGUtYW1kZ3B1LXRyYWNrZXItcGh5c3JlZy1jcmFzaC5sbGAgZmFpbHMgZHVl IHRvCk1hY2hpbmVWZXJpZmllciBydW5uaW5nLCBjYXVzaW5nIGFuIGV4aXQgMS4KCk1vZGlmaWVk IHRvIGFsd2F5cyBydW4gdGhlIGAtdmVyaWZ5LW1hY2hpbmVpbnN0cnNgLgoKcmRhcjovLzE4NDAx MDc2NgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvZDUyZTk4 ODE0YzQxNDg3ZTU2MzVhMTg2ZDk3YmY1ODAzZTIwMjQ1NwoKR2l0IGNvbW1pdCBmMjBiNjRmZmU1 YzgxZTBlZjM1YmNmOTk5MGY2MGExZmY5MTU3ZjdiIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIERt aXRyeSBWYXNpbHlldikgb24gMDQvMDgvMjAyNiBhdCAyMDoyNi4uCltsbGRiXSBEaXNhYmxlIFRl c3RQcm9jZXNzU2F2ZUNvcmVNaW5pZHVtcFNpemVNaXNtYXRjaCBvbiBXaW5kb3dzIGhvc3RzICgj MjE0MDQ0KQoKVGhlIGJ1aWxkYm90CltsbGRiLXJlbW90ZS1saW51eC13aW5dKGh0dHBzOi8vbGFi Lmxsdm0ub3JnL2J1aWxkYm90LyMvYnVpbGRlcnMvMTk3KSBpcwpyZWQgYWZ0ZXIgIzIxMjg2MS4g IzIxMjg2MSBjYW5ub3QgYmUgcmV2ZXJ0ZWQgYXV0b21hdGljYWxseSBub3cgYmVjYXVzZSBvZgoj MjEyNjQxLiBTbyBkaXNhYmxlIFRlc3RQcm9jZXNzU2F2ZUNvcmVNaW5pZHVtcFNpemVNaXNtYXRj aCBvbiBXaW5kb3dzCmhvc3RzIHRvIG1ha2UgdGhlIGJ1aWxkYm90IGdyZWVuIGFnYWluLgpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvZjIwYjY0ZmZlNWM4MWUw ZWYzNWJjZjk5OTBmNjBhMWZmOTE1N2Y3YgoKR2l0IGNvbW1pdCAwM2Y4NmM2ZDRkNTU4MDlmOTUz MWI1ZTM3ZWI4MjQ5ZTU2OTc0NmFhIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIERhdmlkIFlvdW5n KSBvbiAwNC8wOC8yMDI2IGF0IDIwOjMyLi4KW1N1cHBvcnRdW0RyaXZlcl1bTExEQl0gR3VhcmQg V0lOMzJfTEVBTl9BTkRfTUVBTiBkZWZpbml0aW9ucyB3aXRoICNpZm5kZWYgKCMyMTMwNDUpCgpT ZXZlcmFsIFdpbmRvd3MgaGVhZGVycy9UVXMgdW5jb25kaXRpb25hbGx5IGAjZGVmaW5lCldJTjMy X0xFQU5fQU5EX01FQU5gLiBXaGVuIGEgYnVpbGQgcHJlZGVmaW5lcyB0aGUgbWFjcm8gb24gdGhl IGNvbXBpbGVyCmNvbW1hbmQgbGluZSAoZS5nLiBhIHRvb2xjaGFpbiB0aGF0IHBhc3NlcyAtRFdJ TjMyX0xFQU5fQU5EX01FQU4sIHdoaWNoCmNsYW5nIHRyZWF0cyBhcyBgI2RlZmluZSBXSU4zMl9M RUFOX0FORF9NRUFOIDFgKSwgdGhlIGRpZmZlcmluZyB0b2tlbgpsaXN0cyB0cmlnZ2VyIC1XbWFj cm8tcmVkZWZpbmVkLCB3aGljaCBiZWNvbWVzIGEgaGFyZCBlcnJvciB1bmRlcgotV2Vycm9yLgoK R3VhcmQgdGhlIGRlZmluaXRpb25zIHdpdGggI2lmbmRlZiwgbWF0Y2hpbmcgdGhlIGFkamFjZW50 IE5PTUlOTUFYCmhhbmRsaW5nIGFuZCB0aGUgZXhpc3RpbmcgcGF0dGVybiBpbgpsbHZtL2xpYi9T dXBwb3J0L3JwbWFsbG9jL3JwbWFsbG9jLmMuIFRoZSBtYWNybyBpcyBvbmx5IGEgcHJlc2VuY2Ug ZmxhZywKc28ga2VlcGluZyBhbiBleHRlcm5hbGx5LXByb3ZpZGVkIGRlZmluaXRpb24gaXMgY29y cmVjdC4KClNpdGVzIGd1YXJkZWQ6CiAgbGx2bS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9XaW5kb3dz L1dpbmRvd3NTdXBwb3J0LmgKICBsbHZtL2xpYi9XaW5kb3dzRHJpdmVyL01TVkNQYXRocy5jcHAK ICBjbGFuZy9saWIvRHJpdmVyL1Rvb2xDaGFpbnMvTVNWQy5jcHAKICBsbGRiL2luY2x1ZGUvbGxk Yi9Ib3N0L3dpbmRvd3Mvd2luZG93cy5oCgpNZXRhIHJhbiBpbnRvIHRoaXMgaW50ZXJuYWxseSBi dWlsZGluZyBsbGRiIG9uIHdpbmRvdyBhZnRlciBhIHN5bmMgd2l0aAp1cHN0cmVhbSBmcm9tIEp1 bHkgY29tbWl0LCBzbyBhZGRpbmcgZ3VhcmRzIHdvdWxkIGFsbG93IHVzIHRvIGRyb3AgYQp3b3Jr YXJvdW5kIG9mIGlnbm9yaW5nIHRoZSBkdXBsaWNhdGUgZGVmaW5lcy4KCkVycm9yOgpsbHZtXGlu Y2x1ZGVcbGx2bS9TdXBwb3J0L1dpbmRvd3MvV2luZG93c1N1cHBvcnQuaCgyOSw5KTogZXJyb3I6 CidXSU4zMl9MRUFOX0FORF9NRUFOJyBtYWNybyByZWRlZmluZWQgWy1XZXJyb3IsLVdtYWNyby1y ZWRlZmluZWRdCiAgIDI5IHwgI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCiAgICAgIHwgICAg ICAgICBeCjxjb21tYW5kIGxpbmU+KDEwLDkpOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIGlz IGhlcmUKICAgMTAgfCAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4gMQogICAgICB8ICAgICAg ICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9s bHZtLy0vY29tbWl0LzAzZjg2YzZkNGQ1NTgwOWY5NTMxYjVlMzdlYjgyNDllNTY5NzQ2YWEKCkdp dCBjb21taXQgMzc1OTMyMTk4MTY1MjU3NTdhOGIxMzY3NDU5MzI0YjYyYjljYTk0MSBieSBDaGkt Q2h1biwgQ2hlbiAob24gYmVoYWxmIG9mIENoaSBDaHVuLCBDaGVuKSBvbiAwNC8wOC8yMDI2IGF0 IDIxOjI5Li4KW0ZsYW5nXVtPcGVuTVBdIFN1cHBvcnQgaXRlcmF0b3IgbW9kaWZpZXJzIGluIG1h cCBhbmQgbW90aW9uIGNsYXVzZXMKClN1cHBvcnQgaXRlcmF0ZWQgYXJyYXkgZWxlbWVudHMgYW5k IGFycmF5IHNlY3Rpb25zIGluIG1hcCBhbmQgbW90aW9uIGNsYXVzZXMgZm9yCnRhcmdldCBkYXRh LCB0YXJnZXQgZW50ZXIgZGF0YSwgdGFyZ2V0IGV4aXQgZGF0YSwgYW5kIHRhcmdldCB1cGRhdGUg Y29uc3RydWN0cy4KClByZXNlcnZlIG1hcHBlciByZXNvbHV0aW9uIGZvciBpdGVyYXRlZCBlbnRy aWVzLCBpbmNsdWRpbmcgZXhwbGljaXQgbWFwcGVycywKdXNlci1kZWZpbmVkIGRlZmF1bHQgbWFw cGVycywgZGVjbGFyZSBtYXBwZXIgZW50cmllcywgYW5kIGltcGxpY2l0IGRlZmF1bHQKbWFwcGVy cy4KClRoaXMgUFIgc3RhY2tlZCBvbiB0b3Agb2YgIzE5NzA0NyBhbmQgIzE5Nzc1Mi4KClRoaXMg cGF0Y2ggaXMgcGFydCBvZiB0aGUgZmVhdHVyZSB3b3JrIGZvciAjMTg4MDYxLgoKQXNzaXN0ZWQg d2l0aCBjb3BpbG90LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21t aXQvMzc1OTMyMTk4MTY1MjU3NTdhOGIxMzY3NDU5MzI0YjYyYjljYTk0MQoKR2l0IGNvbW1pdCAy OGNmZmYyZjFhNGE5OTcxM2UyNDk0Mzg5NjFhMDc3OTFkMDhkM2ZmIGJ5IENoaS1DaHVuLCBDaGVu IChvbiBiZWhhbGYgb2YgQ2hpIENodW4sIENoZW4pIG9uIDA0LzA4LzIwMjYgYXQgMjE6MjkuLgpS ZXNvbHZlIGZlZWRiYWNrIGFib3V0IE1hcEluZm9GaW5hbGl6YXRpb24KCktlZXAgTWFwSW5mb0Zp bmFsaXphdGlvbiBmcm9tIGV4cGFuZGluZyBgb21wLm1hcC5pbmZvYCBvcGVyYXRpb25zIG5lc3Rl ZAppbiBvbXAuaXRlcmF0b3IgcmVnaW9ucy4gVGhvc2UgbWFwcyBhcmUgeWllbGRlZCB0aHJvdWdo IHRoZSBpdGVyYXRvcgpyZXN1bHQsIHNvIHJld3JpdGluZyB0aGVtIGFzIG91dGVyIHRhcmdldCBv cGVyYW5kcyBjYW4gdmlvbGF0ZSBTU0EKZG9taW5hbmNlLgpodHRwczovL2ludmVudC5rZGUub3Jn L3F0L2NsYW5nL2xsdm0vLS9jb21taXQvMjhjZmZmMmYxYTRhOTk3MTNlMjQ5NDM4OTYxYTA3Nzkx ZDA4ZDNmZgoKR2l0IGNvbW1pdCBjZGQ0YzZjNDcxMzBiNjlkMTIwNmZiODUwODY2YmQ5NWM3NTA5 YzAxIGJ5IENoaS1DaHVuLCBDaGVuIChvbiBiZWhhbGYgb2YgQ2hpIENodW4sIENoZW4pIG9uIDA0 LzA4LzIwMjYgYXQgMjE6MjkuLgpSZXNvbHZlIGZlZWRiYWNrIGFib3V0IGNyZWF0ZU1hcEluZm9P cCB1c2FnZQoKQnVpbGQgaXRlcmF0b3ItZ2VuZXJhdGVkIG1hcCBlbnRyaWVzIHRocm91Z2ggdGhl IHNoYXJlZCBjcmVhdGVNYXBJbmZvT3AKaGVscGVyIHdoaWxlIHByZXNlcnZpbmcgdGhlIEZJUiBg dmFyX3B0cmAgdHlwZSB1c2VkIHRvIGRlcml2ZSB0aGUgT3Blbk1QCmB2YXJQdHJUeXBlYCBmb3Ig YCFsbHZtLnB0cmAgaXRlcmF0b3IgcmVzdWx0cy4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9j bGFuZy9sbHZtLy0vY29tbWl0L2NkZDRjNmM0NzEzMGI2OWQxMjA2ZmI4NTA4NjZiZDk1Yzc1MDlj MDEKCkdpdCBjb21taXQgYWU0MzVkY2QxYTIwYWY0NGNlNzlhMWQwNDY1NzBhNTQwZmY5MDZiNiBi eSBDaGktQ2h1biwgQ2hlbiAob24gYmVoYWxmIG9mIENoaSBDaHVuLCBDaGVuKSBvbiAwNC8wOC8y MDI2IGF0IDIxOjI5Li4KUmVzb2x2ZSBmZWVkYmFjayBhYm91dCBpdGVyYXRvciBtZW1iZXIgbWFw cwoKUmVqZWN0IGl0ZXJhdG9yLWRlcGVuZGVudCBkZXJpdmVkIHR5cGUgbWVtYmVyIG1hcHMgZm9y IG5vdy4gVGhlc2UgbWFwcwp3b3VsZCBvdGhlcndpc2UgYnlwYXNzIHRoZSBwYXJlbnQvbWVtYmVy IGJvb2trZWVwaW5nIGluIHByb2Nlc3NNYXBPYmplY3RzLAppbmNsdWRpbmcgcGFyZW50TWVtYmVy SW5kaWNlcyBjb25zdHJ1Y3Rpb24gYW5kIG1hcHBlciByZXNvbHV0aW9uIHdpdGgKaGFzUGFyZW50 T2JqPXRydWUuCgpXaXRob3V0IHRoYXQgYm9va2tlZXBpbmcsIGxvd2VyaW5nIG1hcChpdGVyYXRv ciguLi4pOiB4JWEoaSkpIGNvdWxkIGVtaXQKYW4gaW5jb21wbGV0ZSBwYXJlbnQgcGFydGlhbCBt YXAuIEVtaXQgYSBUT0RPIGluc3RlYWQgb2Ygc2lsZW50bHkgZ2VuZXJhdGluZwppbmNvcnJlY3Qg b3IgaW5jb21wbGV0ZSBtYXBwaW5nIElSLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0vLS9jb21taXQvYWU0MzVkY2QxYTIwYWY0NGNlNzlhMWQwNDY1NzBhNTQwZmY5MDZiNgoK R2l0IGNvbW1pdCAyZWJhMzk4OGNkNjg3M2ZlY2E5NTYxNmM3ZmNmZjAzNTY1ODMwODdmIGJ5IENo aS1DaHVuLCBDaGVuIChvbiBiZWhhbGYgb2YgQ2hpIENodW4sIENoZW4pIG9uIDA0LzA4LzIwMjYg YXQgMjE6MjkuLgpBZGQgY29tbWVudCBhYm91dCBpdGVyYXRvciBtYXAgYm91bmRzCgpDbGFyaWZ5 IHdoeSBpdGVyYXRvciBtYXAgbG93ZXJpbmcga2VlcHMgYSBzdGFibGUgYmFzZSBhZGRyZXNzIHdo aWxlCmxvd2VyaW5nIGl0ZXJhdG9yLWRlcGVuZGVudCBzdWJzY3JpcHRzIGluc2lkZSB0aGUgb21w Lml0ZXJhdG9yIGJvZHkuClRoaXMgZG9jdW1lbnRzIHRoZSBkaWZmZXJlbmNlIGZyb20gb3JkaW5h cnkgbWFwIGJvdW5kcyBnZW5lcmF0aW9uLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0vLS9jb21taXQvMmViYTM5ODhjZDY4NzNmZWNhOTU2MTZjN2ZjZmYwMzU2NTgzMDg3ZgoK R2l0IGNvbW1pdCAzODRiYmZjN2VlZmIxODNjMmY2NzA0NzEwN2IwY2U1ZDE1MDczODA5IGJ5IENo aS1DaHVuLCBDaGVuIChvbiBiZWhhbGYgb2YgQ2hpIENodW4sIENoZW4pIG9uIDA0LzA4LzIwMjYg YXQgMjE6MjkuLgpQcmVzZXJ2ZSBpdGVyYXRvci1kZXBlbmRlbnQgbG9jYXRvcnMgaW4gc2hhcmVk IG1hcCBsb3dlcmluZwoKU2hhcmUgdGhlIGl0ZXJhdGVkLW1hcCBoYW5kbGluZyBiZXR3ZWVuIG1h cCBhbmQgbW90aW9uIGNsYXVzZXMgd2hpbGUKcHJlc2VydmluZyBpdGVyYXRvci1kZXBlbmRlbnQg bG9jYXRvcnMgb24gbWFwX2l0ZXJhdGVkIGFuZCBrZWVwaW5nCnN0YW5kYXJkIG1hcCBsb3dlcmlu ZyBmb3Igb3RoZXIgY2xhdXNlIG9iamVjdHMuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS8tL2NvbW1pdC8zODRiYmZjN2VlZmIxODNjMmY2NzA0NzEwN2IwY2U1ZDE1MDczODA5 CgpHaXQgY29tbWl0IGYxMDQwMzk0Y2E2MzhmMWU4NjEwNTBlNTE4NzliOGY4NjUxMTk3YzIgYnkg Q2hpLUNodW4sIENoZW4gKG9uIGJlaGFsZiBvZiBDaGkgQ2h1biwgQ2hlbikgb24gMDQvMDgvMjAy NiBhdCAyMToyOS4uClByZXNlcnZlIGRlc2NyaXB0b3Igc3RyaWRlcyBmb3IgaXRlcmF0b3IgbWFw IGJvdW5kcwoKSXRlcmF0b3IgbWFwIGxvd2VyaW5nIGtlZXBzIGEgc3RhYmxlIGFycmF5IGJhc2Ug cG9pbnRlciBhbmQgZGVzY3JpYmVzIHRoZQpzZWxlY3RlZCBlbGVtZW50IG9yIHNlY3Rpb24gd2l0 aCBib3VuZHMgaW5zaWRlIG9tcC5pdGVyYXRvci4gRm9yIGJveGVkIGFycmF5cywKdGhvc2UgYm91 bmRzIG11c3QgdXNlIHRoZSBieXRlIHN0cmlkZSBzdG9yZWQgZm9yIGVhY2ggZGVzY3JpcHRvciBk aW1lbnNpb24uCgpVc2UgZmlyLmJveF9kaW1zIGZvciBib3hlZCBpdGVyYXRvciBtYXAgYm91bmRz IGFuZCBwYXNzIHRocm91Z2ggZWFjaApkaW1lbnNpb24ncyBkZXNjcmlwdG9yIGJ5dGUgc3RyaWRl LiBUaGlzIHByZXNlcnZlcyBub24tY29udGlndW91cwphc3N1bWVkLXNoYXBlIGFjdHVhbHMgd2hp bGUga2VlcGluZyB1bml0IGVsZW1lbnQgc3RyaWRlcyBmb3Igbm9uLWJveCBhcnJheXMuCmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS8tL2NvbW1pdC9mMTA0MDM5NGNhNjM4ZjFl ODYxMDUwZTUxODc5YjhmODY1MTE5N2MyCgpHaXQgY29tbWl0IDY5OGY3MWU3ZjhiOTA1YTA1NWE4 M2VkYzAzZjRmNWJkOGM4NmUyNjkgYnkgQ2hpLUNodW4sIENoZW4gKG9uIGJlaGFsZiBvZiBDaGkg Q2h1biwgQ2hlbikgb24gMDQvMDgvMjAyNiBhdCAyMToyOS4uClJlbW92ZSB1bm5lY2Vzc2FyeSBs YW1iZGEgYW5kIGhlbHBlcnMKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0v Y29tbWl0LzY5OGY3MWU3ZjhiOTA1YTA1NWE4M2VkYzAzZjRmNWJkOGM4NmUyNjkKCkdpdCBjb21t aXQgNTc4ZGIzOTYzMzA1OTA4MDgxN2Y5OTZjNWIxOGU5OTg5OTA5NmZlYiBieSBDaGktQ2h1biwg Q2hlbiAob24gYmVoYWxmIG9mIENoaSBDaHVuLCBDaGVuKSBvbiAwNC8wOC8yMDI2IGF0IDIxOjI5 Li4KRml4IGl0ZXJhdG9yIG1hcCB2YXJfcHRyIGZvciBhbGxvY2F0YWJsZS9wb2ludGVyIGFycmF5 cwoKRm9yIGFsbG9jYXRhYmxlIG9yIHBvaW50ZXIgYXJyYXlzIHVzZWQgaW4gaXRlcmF0b3IgbWFw L21vdGlvbiBsb2NhdG9ycyAoZm9yCmV4YW1wbGUsIGB0YXJnZXQgdXBkYXRlIHRvKGl0ZXJhdG9y KGkgPSAxOm4pOiBhKGkpKWApLCBnZXRJdGVyYXRvck1hcEVudGl0eQpyZXR1cm5lZCB0aGUgZGVz Y3JpcHRvciBhZGRyZXNzLCBjYXVzaW5nIG9tcC5tYXAuaW5mbyB0byByZWNvcmQgdGhlIEZvcnRy YW4KZGVzY3JpcHRvciBpbiB2YXJfcHRyIGluc3RlYWQgb2YgdGhlIGFycmF5IGRhdGEuIFRoaXMg YWZmZWN0ZWQgYm90aCB3aG9sZS1hcnJheQpsb2NhdG9ycyBhbmQgZGVyaXZlZC10eXBlIGNvbXBv bmVudCBsb2NhdG9ycyBzdWNoIGFzIHYlYShpKSAodmlhIGRlY2xhcmUKbWFwcGVycykuCgpMb2Fk IHRoZSBkZXNjcmlwdG9yIGluIGdldEl0ZXJhdG9yTWFwRW50aXR5IGFuZCB1c2UgZmlyLmJveF9h ZGRyIGZvciB2YXJfcHRyLAp3aGlsZSBjb250aW51aW5nIHRvIGRlcml2ZSBib3VuZHMgYW5kIGJ5 dGUgc3RyaWRlcyBmcm9tIHRoZSBkZXNjcmlwdG9yLgpBc3N1bWVkLXNoYXBlIGFuZCBub24tYWxs b2NhdGFibGUgZW50aXRpZXMgYXJlIHVuYWZmZWN0ZWQuCgpBbHNvIHJlcGxhY2UgdGhlIGluZGly ZWN0IGBkaXJlY3RpdmUgIT0gT01QRF91bmtub3duYCBkZWNsYXJlLW1hcHBlciBjaGVjayB3aXRo CmEgZGlyZWN0IGxvb2t1cCBvZiBhbiBlbmNsb3Npbmcgb21wLmRlY2xhcmVfbWFwcGVyIHJlZ2lv bi4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzU3OGRiMzk2 MzMwNTkwODA4MTdmOTk2YzViMThlOTk4OTkwOTZmZWIKCkdpdCBjb21taXQgOTMyZmZiYmZiZjVl ZWQzOTRmMTQzZmFkMTc1NzI0NTU0Yzk5NmY1ZCBieSBDaGktQ2h1biwgQ2hlbiBvbiAwNC8wOC8y MDI2IGF0IDIxOjI5Li4KUmVqZWN0IHRhcmdldCBtYXAgaXRlcmF0b3IgbW9kaWZpZXJzCgpFeGVj dXRhYmxlIHRhcmdldCByZWdpb25zIG5lZWQgc3RhYmxlIGJsb2NrIGFyZ3VtZW50cyBmb3IgaXRl cmF0b3ItbWFwcGVkCm9iamVjdHMuIFdpdGhvdXQgc2VwYXJhdGUgY2FwdHVyZXMsIGltcGxpY2l0 IGxvd2VyaW5nIGFkZHMgYSB3aG9sZS1vYmplY3QKYHRvZnJvbWAgbWFwIHRoYXQgY2hhbmdlcyB0 aGUgcmVxdWVzdGVkIGV4dGVudCBhbmQgZGlyZWN0aW9uLgoKUmVqZWN0IHRoaXMgdW5zdXBwb3J0 ZWQgY2FzZSB1bnRpbCB0YXJnZXQgbWFwIGl0ZXJhdG9yIGNhcHR1cmVzIGFyZQphdmFpbGFibGUs IGFuZCBhZGQgVE9ETyBjb3ZlcmFnZSBmb3IgdGhlIHJlcG9ydGVkIGFycmF5IHVzZS4KaHR0cHM6 Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29tbWl0LzkzMmZmYmJmYmY1ZWVkMzk0 ZjE0M2ZhZDE3NTcyNDU1NGM5OTZmNWQKCkdpdCBjb21taXQgZmRhZGYyZjMwOGIwNjU3ZTU5MDNk M2I5ODBlOTc3YzBiY2U3M2ZlMSBieSBDaGktQ2h1biwgQ2hlbiBvbiAwNC8wOC8yMDI2IGF0IDIx OjI5Li4KTWFrZSBpdGVyYXRvciBtYXAgZmluYWxpemF0aW9uIG1vcmUgcm9idXN0CgpNYXBJbmZv RmluYWxpemF0aW9uIHNraXBzIG1hcHMgbmVzdGVkIGluIGBvbXAuaXRlcmF0b3JgLCBzbyBkZXNj cmlwdG9yLWJhY2tlZAppdGVyYXRvciBtYXBzIGFyZSBub3QgZXhwYW5kZWQuIEFkZCBlbmQtdG8t ZW5kIEZvcnRyYW4gY292ZXJhZ2UgZm9yCmFzc3VtZWQtc2hhcGUgYW5kIGFsbG9jYXRhYmxlIGFy cmF5cy4KCk1ha2UgdGhlIGl0ZXJhdG9yIGd1YXJkIGV4cGxpY2l0IGluIHRoZSByZWNvcmQtbWVt YmVyIHdhbGsgYW5kIHJlbW92ZSB0aGUKdW5yZWFjaGFibGUgYG9tcC55aWVsZGAgdHJhdmVyc2Fs IGZyb20gYGdldEZpcnN0VGFyZ2V0VXNlcmAuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xh bmcvbGx2bS8tL2NvbW1pdC9mZGFkZjJmMzA4YjA2NTdlNTkwM2QzYjk4MGU5NzdjMGJjZTczZmUx CgpHaXQgY29tbWl0IDdjMzBmNjc1NDdkOWJjZTRiZGU5ODAxMTFmMGFmN2YyYmYzMWRkMGUgYnkg Q2hpLUNodW4sIENoZW4gb24gMDQvMDgvMjAyNiBhdCAyMToyOS4uCkFsaWduIGRlc2NyaXB0b3Ig d2FybmluZ3Mgd2l0aCBpdGVyYXRvciBtYXBzCgpJdGVyYXRvciBtYXBzIGxvd2VyIGRlc2NyaXB0 b3ItYmFja2VkIGFycmF5cyB0byBkYXRhLW9ubHkgZW50cmllcy4gU2tpcCB0aGUKdGVtcG9yYXJ5 LWRlc2NyaXB0b3Igd2FybmluZyBmb3IgdGhvc2UgbWFwcyBhbmQgZG9jdW1lbnQgdGhlIGNvbnRy YWN0LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0vLS9jb21taXQvN2MzMGY2 NzU0N2Q5YmNlNGJkZTk4MDExMWYwYWY3ZjJiZjMxZGQwZQoKR2l0IGNvbW1pdCA2N2MzMDM5MGYw NDliZTJkNjI3ODAwZjQxOTYzYTNjZjI1NDAwYzhiIGJ5IENoaS1DaHVuLCBDaGVuIG9uIDA0LzA4 LzIwMjYgYXQgMjE6MzcuLgpSZWplY3Qgb3B0aW9uYWwgaXRlcmF0b3IgbG9jYXRvcnMKCk9wdGlv bmFsIGl0ZXJhdG9yIGxvY2F0b3JzIHJlcXVpcmUgcHJlc2VuY2UtYXdhcmUgbWFwIGNvbnN0cnVj dGlvbi4gUmVqZWN0CnRoZW0gdW50aWwgbG93ZXJpbmcgY2FuIG9taXQgYWJzZW50IG9wdGlvbmFs IGxpc3QgaXRlbXMgc2FmZWx5LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0v LS9jb21taXQvNjdjMzAzOTBmMDQ5YmUyZDYyNzgwMGY0MTk2M2EzY2YyNTQwMGM4YgoKR2l0IGNv bW1pdCA0NTlkNmE5MzY4YjNlMWYzOWJlOGYxM2NkNDU1ZGUxZmI3NTkyYmU2IGJ5IENoaS1DaHVu LCBDaGVuIG9uIDA0LzA4LzIwMjYgYXQgMjE6NTMuLgpBcHBseSBjbGFuZy1mb3JtYXQgdG8gaXRl cmF0b3IgbG93ZXJpbmcKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLy0vY29t bWl0LzQ1OWQ2YTkzNjhiM2UxZjM5YmU4ZjEzY2Q0NTVkZTFmYjc1OTJiZTYK