[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 00:14:46 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
R2l0IHJlcG9zaXRvcnkgY2hhbmdlIHN1bW1hcnkgZm9yIHF0L2NsYW5nL2xsdm0tcHJvamVjdApQ dXNoZWQgYnkgbWlycm9yLXNlcnZpY2UgaW50byBicmFuY2ggJ3Vwc3RyZWFtL3VzZXJzL2FyaWNo YXJkc29uL3Nwci9tYWluLnJpc2N2LWNoYW5nZS1yaXNjdmFiaWNvbXB1dGV0YXJnZXRhYmktdG8t cmV0dXJuLWV4cGVjdGVkYWJpJy4KQ2hhbmdlZCBmcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAgdG8gNmYwNTZjNWUzZjFjNmM1YzczMmM4MGY0N2RjMDFjMGQ1YzAw YTQwNQpBY2tub3dsZWRnZW1lbnQgd2FzIHJlY2VpdmVkIHRoYXQgdGhpcyBjaGFuZ2UgaW50cm9k dWNlcyBvbmx5IGV4aXN0aW5nIGNvZGUgdGhhdCBoYXMgYmVlbiBwdXNoZWQgdG8gYW5vdGhlciBw dWJsaWMgb3BlbiBzb3VyY2UgcmVwb3NpdG9yeS4KClRoaXMgY2hhbmdlIGNvbnRhaW5zIHRoZSBm b2xsb3dpbmcgbmV3IGNvbW1pdHM6CgpHaXQgY29tbWl0IDc2MDljYjgzYmY1ZmM1YzI1ZTI4Nzc3 MGRiMjc3ZGJiMzRlNjc0YjggYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRmlubiBQbHVtbWVyKSBv biAwNC8wOC8yMDI2IGF0IDE3OjMzLi4KW0RpcmVjdFhdIFByZXZlbnQgYGR4aWwtcmVzb3VyY2Ut YWNjZXNzYCBmcm9tIGluc2VydGluZyBhIHJlc291cmNlIGFjY2VzcyBpbi1iZXR3ZWVuIHBoaSBu b2RlcyAoIzIxMTM0MykKClRoZSBwYXNzIGNhbiBpbmNvcnJlY3RseSBwbGFjZSBhIGxvYWQvc3Rv cmUgd2l0aGluIHRoZSBwaGkgbm9kZXMgYXQgdG9wCm9mIHRoZSBiYXNpYyBibG9jazogaHR0cHM6 Ly9nb2Rib2x0Lm9yZy96L3g1RWM0R1dHVAoKVGhpcyBpcyByZXNvbHZlZCBieSB1cGRhdGluZyBg cmVwbGFjZUhhbmRsZVdpdGhJbmRpY2VzYCB0byBhZGp1c3QgdGhlCmluc2VydGlvbiBwb2ludCB3 aGVuIHRoZSBwdHIgY29tZXMgZnJvbSBhIHBoaSBub2RlLgoKUmVzb2x2ZXMsIGluIHBhcnQsIGh0 dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMvMjExMTIxCgpBc3Npc3Rl ZCBieTogQ2xhdWRlIE9wdXMgNC44Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2 bS1wcm9qZWN0Ly0vY29tbWl0Lzc2MDljYjgzYmY1ZmM1YzI1ZTI4Nzc3MGRiMjc3ZGJiMzRlNjc0 YjgKCkdpdCBjb21taXQgNTM4MmY3ZDY0ZmY1OWQxOTgwOTFmZmQyNjNkN2FkZWNmNWQ3ZGQ1YSBi eSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBCZW5qYW1pbiBNYXh3ZWxsKSBvbiAwNC8wOC8yMDI2IGF0 IDE3OjQ4Li4KW0Nvc3RNb2RlbF1bQUFyY2g2NF0gQWRkIGluaXRpYWwgY29zdHMgZm9yIGBtYXNr ZWQuY29tcHJlc3NzdG9yZWAgKCMyMTM3MTIpCgpUaGlzIGFkZHMgYW4gaW5pdGlhbCBjb3N0IG1v ZGVsIGZvciBgbWFza2VkLmNvbXByZXNzc3RvcmVgLiBUaGUgdGVzdHMKYXJlIGJhc2VkIG9uIGBt YXNrZWRfZXhwYW5kX2xvYWQubGxgLCB3aGljaCBjb3ZlcnMgYWxsIGNvbmZpZ3VyYXRpb25zCmZv ciB0aGUgYGV4cGFuZGAvYGNvbXBhY3RgIGluc3RydWN0aW9ucy4KCk5vdGU6IFJpZ2h0IG5vdywg d2Ugb25seSByZXBvcnQgdmFsaWQgY29zdHMgZm9yIGBtYXNrZWQuY29tcHJlc3NzdG9yZWAKb3Bl cmF0aW9ucyB0aGF0IGNhbiBiZSBsb3dlcmVkIHdpdGggU1ZFMSAoYXMgdGhhdCdzIGFsbCB3ZSBo YW5kbGUgSVNFTApmb3IgYXQgdGhlIG1vbWVudCkuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQv Y2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzUzODJmN2Q2NGZmNTlkMTk4MDkxZmZkMjYzZDdh ZGVjZjVkN2RkNWEKCkdpdCBjb21taXQgYWYxNDQ1NmEyYmFjNTUwMjZiMmQ1N2NiZjE0YjM5MDVj NDUyYjhhNCBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBhcnNueWRlcjE2KSBvbiAwNC8wOC8yMDI2 IGF0IDE3OjUyLi4KW09wZW5NUF0gU2ltcGxpZnkgZ2VuZXJpYyBtaWNyb3Rhc2sgZGlzcGF0Y2gg KCMyMTQwMDQpCgpSZXBsYWNlIHRoZSBnZW5lcmljIG1pY3JvdGFzayBkaXNwYXRjaGVyJ3MgaGFu ZHdyaXR0ZW4gZnVuY3Rpb24tcG9pbnRlcgp0eXBlcyBhbmQgY2FsbHMgd2l0aCBhIHZhcmlhZGlj LXRlbXBsYXRlIGhlbHBlciBhbmQgYSBtYWNybyBmb3IgZWFjaApzdXBwb3J0ZWQgYXJndW1lbnQg Y291bnQuCgpUaGUgZGlzcGF0Y2hlciBzdGlsbCBjYXN0cyBlYWNoIG1pY3JvdGFzayB0byB0aGUg ZXhhY3QgZml4ZWQtYXJpdHkKc2lnbmF0dXJlIHJlcXVpcmVkIGJ5IHBsYXRmb3JtcyBzdWNoIGFz IFdlYkFzc2VtYmx5LiBUaGlzIGlzIGludGVuZGVkIGFzCmEgcmVmYWN0b3Igb25seTogdGhlIGV4 aXN0aW5nIGxpbWl0IG9mIDE1IG1pY3JvdGFzayBhcmd1bWVudHMgYW5kIHRoZQpkaWFnbm9zdGlj IGZvciBsYXJnZXIgYXJndW1lbnQgY291bnRzIHJlbWFpbiB1bmNoYW5nZWQuCgpUaGlzIHJlZHVj ZXMgdGhlIHJlcGV0aXRpdmUgY29kZSBhbmQgbWFrZXMgZnV0dXJlIGNoYW5nZXMgdG8gdGhlCnN1 cHBvcnRlZCBhcmd1bWVudCByYW5nZSBlYXNpZXIgdG8gcmV2aWV3LgoKU3BsaXQgb3V0IGZyb20g IzIxMTA3MQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2Nv bW1pdC9hZjE0NDU2YTJiYWM1NTAyNmIyZDU3Y2JmMTRiMzkwNWM0NTJiOGE0CgpHaXQgY29tbWl0 IDJhMmFkZGUzNTkzNzY2N2RkOTNkYzU1OTRhYzVkNTI4NDJlMTE2ZDIgYnkgR2l0SHViIChvbiBi ZWhhbGYgb2YgQ2hpbm1heSBEZXNocGFuZGUpIG9uIDA0LzA4LzIwMjYgYXQgMTc6NTYuLgpbQU1E R1BVXVtHSVNlbF0gQWRkIFJlZ0JhbmtMZWdhbGl6ZSBydWxlcyBmb3IgbGx2bS5hbWRnY24uZmRv dDIuYmYxNi5iZjE2ICgjMjE0MDEzKQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xs dm0tcHJvamVjdC8tL2NvbW1pdC8yYTJhZGRlMzU5Mzc2NjdkZDkzZGM1NTk0YWM1ZDUyODQyZTEx NmQyCgpHaXQgY29tbWl0IDUwMDk2MjI5OGQ2MjRhNzRhZGU1OGMyYWViNjUzMTNmYjMyZGRhNWEg YnkgR2l0SHViIChvbiBiZWhhbGYgb2YgQWxleGV5IEJhdGFldikgb24gMDQvMDgvMjAyNiBhdCAx Nzo1Ny4uCltJbnN0Q29tYmluZV1Gb2xkIGZjbXArc2VsZWN0IHRvIG1pbi9tYXggaWYgaXRzIHpl cm8gc2lnbiBpcyBtaXNzaW5nCgpMb29rIHRocm91Z2ggcGhpcywgY2hhaW5lZCBzZWxlY3RzIGFu ZCB0aGUgbG9vcCBiYWNrIGVkZ2UgdG8gdGhlCnNlbGVjdCBpdHNlbGYgYW5kIGZvbGQgaWYgbm8g dXNlIGNhbiBvYnNlcnZlIHRoZSBzaWduIG9mIHplcm8gb2YgdGhlCnJlc3VsdC4gVGhpcyByZXN0 b3JlcyB0aGUgZm9sZCBmb3IgbG9vcC1jYXJyaWVkIGFuZCB1bnJvbGxlZCBydW5uaW5nCm1pbi9t YXggdmFsdWVzIChmY3NlbCAtPiBmbWlubm0gb24gQUFyY2g2NCkgbG9zdCB0byB0aGUgc2lnbmVk IHplcm8KaGFuZGxpbmcgZml4IGluIG1hdGNoU2VsZWN0UGF0dGVybiAoIzIxMDA3NykuCgpSZXZp ZXdlcnM6IG5pa2ljLCBkdGN4enl3CgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9s bHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzEzMwpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC81MDA5NjIyOThkNjI0YTc0YWRlNThjMmFlYjY1MzEz ZmIzMmRkYTVhCgpHaXQgY29tbWl0IDcwZWNjNWJiNjIxODdjYTcwZTZmZTRlNTYzZGJkNjBmODhj MmU3YTAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVGltdXIgR29sdWJvdmljaCkgb24gMDQvMDgv MjAyNiBhdCAxNzo1OC4uClJldmVydCAiW0dsb2JhbElTZWxdIENvbWJpbmUgbWVyZ2UtdW5tZXJn ZSB3aXRoIG1peGVkIHNjYWxhciBhbmQgdmVjdG9yIHR5cGVzIiAoIzIxNDAxMCkKClJldmVydHMg bGx2bS9sbHZtLXByb2plY3QjMjEzMDg2Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcv bGx2bS1wcm9qZWN0Ly0vY29tbWl0LzcwZWNjNWJiNjIxODdjYTcwZTZmZTRlNTYzZGJkNjBmODhj MmU3YTAKCkdpdCBjb21taXQgNjMyNmYxNGNkYzEyYmFiZmRjNDM1OWY1ZGRkNGRmY2Q2NmI1M2Yz MyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBZGFtIFNtaXRoKSBvbiAwNC8wOC8yMDI2IGF0IDE4 OjAzLi4KW0NJUl0gTG93ZXIgdmFyaWFkaWMgY2FsbHMgaW4gQ2FsbENvbnZMb3dlcmluZyBmb3Ig eDg2XzY0ICgjMjEzMzE1KQoKQ2FsbENvbnZMb3dlcmluZyBjbGFzc2lmaWVkIGVhY2ggZnVuY3Rp b24gb25jZSBmcm9tIGl0cyBkZWNsYXJlZApzaWduYXR1cmUgYW5kIHJldXNlZCB0aGF0IGNsYXNz aWZpY2F0aW9uIGF0IGV2ZXJ5IGNhbGwgc2l0ZS4gQW4gYXJndW1lbnQKcGFzc2VkIHRocm91Z2gg YW4gZWxsaXBzaXMgaGFzIG5vIGVudHJ5IGluIHRoZSBjYWxsZWUncyBwYXJhbWV0ZXIgbGlzdCwK c28gb24geDg2XzY0IGFuIGVsbGlwc2lzIGFyZ3VtZW50IHRoYXQgbmVlZGVkIGFuIGV4dGVuc2lv biBhdHRyaWJ1dGUsIGEKcmVnaXN0ZXIgY29lcmNpb24sIG9yIGEgYnl2YWwgc2xvdCB3YXMgZW1p dHRlZCB1bmNoYW5nZWQgd2hlbmV2ZXIgdGhlCmNhbGxlZSdzIGRlY2xhcmVkIHBhcmFtZXRlcnMg aGFwcGVuZWQgdG8gbmVlZCBubyByZXdyaXRlLCBhbmQgcmVwb3J0ZWQKTllJIHdoZW4gdGhleSBk aWQuCgpBbiBlbGxpcHNpcyBhcmd1bWVudCBjb21wZXRlcyBmb3IgdGhlIHNhbWUgcmVnaXN0ZXJz IGFzIGEgZGVjbGFyZWQgb25lLApzbyB0aGUgc2FtZSB0d28tZWlnaHRieXRlIHJlY29yZCBnb2Vz IGluIGEgcmVnaXN0ZXIgcGFpciBlYXJseSBpbiB0aGUKbGlzdCBhbmQgYnl2YWwgb25jZSB0aGUg aW50ZWdlciByZWdpc3RlcnMgYXJlIGdvbmUuIFZhcmlhZGljIGNhbGwgc2l0ZXMKdW5kZXIgdGhl IHg4Nl82NCBkcml2ZXIgYXJlIG5vdyBjbGFzc2lmaWVkIGZyb20gdGhlIGNhbGwncyBvd24gb3Bl cmFuZAp0eXBlcywgYW5kIHRoZSBkZWNsYXJlZCBwYXJhbWV0ZXIgY291bnQgcmVhY2hlcwpgbGx2 bTo6YWJpOjpGdW5jdGlvbkluZm86OmNyZWF0ZWAgYXMgaXRzIGBOdW1SZXF1aXJlZGAgYXJndW1l bnQsIHdoaWNoCmlzIHdoYXQgbGV0cyB0aGUgY2xhc3NpZmllciB0ZWxsIGEgbmFtZWQgYXJndW1l bnQgZnJvbSBvbmUgcGFzc2VkCnRocm91Z2ggdGhlIGVsbGlwc2lzLiBUb2RheSB0aGF0IGZsYWcg b25seSBkZWNpZGVzIHdoZXRoZXIgYSBsYXJnZQp2ZWN0b3IgZ29lcyBpbiBhIHJlZ2lzdGVyLCBh bmQgdGhlIENJUiB0eXBlIGJyaWRnZSBhZG1pdHMgbm8gdmVjdG9yCnR5cGVzLCBzbyB0aGUgYm91 bmRhcnkgY2hhbmdlcyBubyBvdXRwdXQgeWV0LgoKYHByZXBlbmRJbmRpcmVjdENhbGxlZWAgYWxz byByZWJ1aWx0IHRoZSBjYWxsZWUgcG9pbnRlcidzIHBvaW50ZWUKd2l0aG91dCBgaXNWYXJBcmdg LCBkcm9wcGluZyB0aGUgZWxsaXBzaXMgZnJvbSBhIGxvd2VyZWQgaW5kaXJlY3QgY2FsbAphbmQg d2l0aCBpdCB0aGUgdmVjdG9yLXJlZ2lzdGVyIGNvdW50IHRoZSB4ODZfNjQgU3lzViBBQkkgcGFz c2VzIGluIEFMLgpBIHZvaWQgcmV0dXJuIGFuZCBhIHJldHVybiB0aGUgQUJJIGRyb3BzLCBzdWNo IGFzIGFuIGVtcHR5IHJlY29yZCwgYm90aApjbGFzc2lmeSBhcyBgSWdub3JlYCB3aGlsZSBuZWVk aW5nIG9wcG9zaXRlIHRyZWF0bWVudCwgc28KYEZ1bmN0aW9uQ2xhc3NpZmljYXRpb25gIG5vdyBy ZWNvcmRzIHdoaWNoIG9uZSBpdCB3YXMgd2hlcmUgdGhlCmNsYXNzaWZpY2F0aW9uIGlzIHByb2R1 Y2VkLiBgbmVlZHNSZXdyaXRlYCBtb3ZlcyBmcm9tIHRoZSBDSVIgcmV3cml0ZXIKdG8gYG1saXIv aW5jbHVkZS9tbGlyL0FCSS9BQklSZXdyaXRlQ29udGV4dC5oYCwgb3ZlciBhIG5ldyBwZXItYXJn dW1lbnQKYGlzUGFzc1Rocm91Z2hgLCBzbyB0aGUgcGFzcyBhbmQgdGhlIHJld3JpdGVyIHNoYXJl IG9uZSBkZWZpbml0aW9uLgoKVHdvIHRoaW5ncyBhcmUgbmV3bHkgZGlhZ25vc2VkIHJhdGhlciB0 aGFuIG5ld2x5IGJyb2tlbi4gVGhlCm9wZXJhbmQtY291bnQgY2hlY2sgbW92ZXMgYWhlYWQgb2Yg dGhlIHBhc3MtdGhyb3VnaCBlYXJseSByZXR1cm4sIHNvIGEKY2FsbCB3aG9zZSBvcGVyYW5kIGNv dW50IGRpc2FncmVlcyB3aXRoIGEgYG5vX3Byb3RvYCBjYWxsZWUncwpkZWNsYXJhdGlvbiBpcyBy ZXBvcnRlZCBpbnN0ZWFkIG9mIGxvd2VyZWQgd2l0aCBvcGVyYW5kcyB0aGUKY2xhc3NpZmljYXRp b24gbmV2ZXIgY292ZXJlZC4gQW5kIHRoZSBpbmRpcmVjdC1jYWxsIHdhbGsgdmlzaXRzCmBjaXI6 OkNJUkNhbGxPcEludGVyZmFjZWAgcmF0aGVyIHRoYW4gb25seSBgY2lyLmNhbGxgLCBzbyBhIHZh cmlhZGljCmluZGlyZWN0IGBjaXIudHJ5X2NhbGxgIGlzIGFjY291bnRlZCBmb3IsIGFuZCBvbmUg dGhhdCBuZWVkcyBhIHJld3JpdGUKaXMgcmVwb3J0ZWQgaW5zdGVhZCBvZiBsZWZ0IGFzIHdyaXR0 ZW4gd2hpbGUgdGhlIHNpZ25hdHVyZSBhcm91bmQgaXQgaXMKY29lcmNlZC4gQSBub24tdmFyaWFk aWMgaW5kaXJlY3QgYGNpci50cnlfY2FsbGAgaXMgZmlsdGVyZWQgb3V0IHdoZXJlCnRoZSB3YWxr IGNvbGxlY3RzLCBzaW5jZSByZXdyaXRpbmcgb25lIGlzIHVuaW1wbGVtZW50ZWQgZWl0aGVyIHdh eSBhbmQKdGhhdCBnYXAgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgZWxsaXBzaXMuIFJlcG9y dGVkIE5ZSTogdmFyaWFkaWMKaW5kaXJlY3QgY2FsbHMgdGhhdCBuZWVkIGEgcmV3cml0ZSwgdmFy aWFkaWMgY2FsbHMgdW5kZXIgdGhlIG90aGVyCmRyaXZlcnMsIGFuZCBhbiBlbGxpcHNpcyBhcmd1 bWVudCB3aG9zZSBBQkkgY29lcmNpb24gdGhlIHR5cGUgYnJpZGdlCmNhbm5vdCByZXByZXNlbnQu Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzYz MjZmMTRjZGMxMmJhYmZkYzQzNTlmNWRkZDRkZmNkNjZiNTNmMzMKCkdpdCBjb21taXQgYzlmMmJh MjI4NDllNTBkZjEyNzdkYjgyMjVhNjQxMGJhOWRkY2I1ZSBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBTYW0gRWxsaW90dCkgb24gMDQvMDgvMjAyNiBhdCAxODowOS4uCltSSVNDVl0gRml4IFhxY2kg RnVzaW9ucyB3aXRoIEZyYW1lIEluZGV4ZXMgKCMyMTM4MTUpCgpQcmUtUkEsIHRoZSBBRERJIGNh biBjb250YWluIGEgZnJhbWUgaW5kZXggcmF0aGVyIHRoYW4gYSByZWdpc3Rlciwgd2hpY2gKY2F1 c2VzIGBnZXRSZWcoKWAgdG8gYXNzZXJ0LiBUaGVzZSB3ZXJlIG1pc3NpbmcgdGhlIGBDaGVja0lz UmVnT3BlcmFuZGAKdGhhdCBtb3N0IG90aGVyIGZ1c2lvbnMgaGF2ZS4KaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYzlmMmJhMjI4NDllNTBkZjEy NzdkYjgyMjVhNjQxMGJhOWRkY2I1ZQoKR2l0IGNvbW1pdCBjYWZkMzZiZmNlNjc2ODIxOTNjM2Q1 ZGE1OTFiMDUxYTQ2MGU1MGY2IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEVyaWNoIEtlYW5lKSBv biAwNC8wOC8yMDI2IGF0IDE4OjExLi4KW05GQ11bQ0lSXSBQcm9wYWdhdGUgU3ltYm9sVGFibGVz IGJldHRlciAoIzIxMzk3MikKClRoaXMgY2FtZSB1cCBkdXJpbmcgc2VsZi1idWlsZCwgd2UgYXJl IHNwZW5kaW5nIGEgbG90IG9mIHRpbWUgaW4gc29tZQpjYXNlcyBsb29raW5nIHVwIHVzaW5nIHRo ZSBnbG9iYWwgc3ltYm9sIHRhYmxlLCB3aGljaCBkb2VzIG5vIGNhY2hpbmcuClByZXZpb3VzbHkg d2UnZCBwcm9wYWdhdGVkIHRoaXMgaW4gYSBmZXcgcGxhY2VzLCBidXQgdGhpcyBwYXRjaCByZW1v dmVzCmFsbCB1c2VzIG9mIFN5bWJvbFRhYmxlOjpsb29rdXAgYW5kIGFkZHMgdGhlIGNhY2hlIGV2 ZXJ5d2hlcmUuCgpUaGlzIGludm9sdmVkIGNoYW5naW5nIHRoZSB0YWJsZWdlbiB0byBpbmNsdWRl IGl0IGluIGVhY2ggb2Ygb3VyCnJld3JpdGVycywgcGx1cyB0aGUgQ2lyQXR0ciBsb3dlcmluZyBl dmVyeXdoZXJlLgoKVGhlIG9ubHkgdGhpbmcgd2UgaGF2ZSB0byB0YWtlIGNhcmUgb2YgaXMgdG8g bWFrZSBzdXJlIHdlIGludmFsaWRhdGUgdGhlCmNhY2hlL3VwZGF0ZSB0aGUgY2FjaGUgd2hlbmV2 ZXIgd2UgYWRkIHNvbWV0aGluZyB3aXRoIGEgbmFtZSAoc2VlCmNyZWF0ZUxMVk1GdW5jT3BJZk5v dEV4aXN0KS4KClRoaXMgaXMgTkZDLCBhcyBpdCBpc24ndCBvYnNlcnZhYmxlLCBvdGhlciB0aGFu IGJlaW5nIGEgYnVpbGQgdGltZQppbXByb3ZlbWVudC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9x dC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvY2FmZDM2YmZjZTY3NjgyMTkzYzNkNWRhNTkx YjA1MWE0NjBlNTBmNgoKR2l0IGNvbW1pdCAxZjY5YTE2Mjg5NDc4YzlhN2IyY2RhNWRmNGNkMTZk NjYwOWViMmMyIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNpbW9uIFBpbGdyaW0pIG9uIDA0LzA4 LzIwMjYgYXQgMTg6MTUuLgpbQ29zdE1vZGVsXVtYODZdIGdldEFyaXRobWV0aWNSZWR1Y3Rpb25D b3N0IC0gZW5zdXJlIHdlIHRlc3QgdGhlIHZYaTEgcmVkdWN0aW9ucyB0eXBlcyBiZWZvcmUgbGVn YWxpc2F0aW9uICgjMjExMDQzKQoKUHJlLUFWWDUxMiB0aGVzZSB3aWxsIGJlIGxlZ2FsaXplZCB0 byB3aWRlciB2ZWN0b3IgdHlwZXMgYW5kIG1pZ2h0IG1hdGNoCmFnYWluc3Qgb3RoZXIgcmVkdWN0 aW9ucyB0YWJsZXMuCgpOb3RpY2VkIHdoaWxlIHdvcmtpbmcgb24gaW1wcm92aW5nIGxvZ2ljIHJl ZHVjdGlvbnMsIGJ1dCBoaXQgYSBjYXNlCndpdGgvd2l0aG91dCBwb3BjbnQgZm9yIGJvb2wgc3Vt IHJlZHVjdGlvbiBwYXR0ZXJucyAtIEkndmUgYWRkZWQgYSBBVlgyCnRlc3QgcGFzcyB0byBjaGVj ayB0aGUgKGNvcnJlY3RlZCkgY29zdHMgYXJlIHN0aWxsIHdvcmtpbmcKaHR0cHM6Ly9pbnZlbnQu a2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMWY2OWExNjI4OTQ3OGM5YTdi MmNkYTVkZjRjZDE2ZDY2MDllYjJjMgoKR2l0IGNvbW1pdCAwOGE4NzM5YWM4OWEyN2M3ZGJkMDM0 OTI2NjYxMWNhOTQ4NjZhZTJmIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIE5lcml4eXopIG9uIDA0 LzA4LzIwMjYgYXQgMTg6MTYuLgpbbGxkYl1bUHl0aG9uXSBJbmxpbmUgYGxsZGJfaXRlcmAgZm9y IGJldHRlciB0eXBlIGluZmVyZW5jZSAoIzIxNDAwMCkKCkN1cnJlbnRseSwgdGhlIGBsbGRiX2l0 ZXJgIGhlbHBlciBpcyB1c2VkIGZvciBwcm92aWRpbmcgYF9faXRlcl9fYCBpbgp0aGUgUHl0aG9u IGJpbmRpbmdzOgpgYGBweXRob24KZGVmIGxsZGJfaXRlcihvYmosIGdldHNpemUsIGdldGVsZW0p OgogICAgIiIiQSBnZW5lcmF0b3IgYWRhcHRvciB0byBzdXBwb3J0IGl0ZXJhdGlvbiBmb3IgbGxk YiBjb250YWluZXIgb2JqZWN0cy4iIiIKICAgIHNpemUgPSBnZXRhdHRyKG9iaiwgZ2V0c2l6ZSkK ICAgIGVsZW0gPSBnZXRhdHRyKG9iaiwgZ2V0ZWxlbSkKICAgIGZvciBpIGluIHJhbmdlKHNpemUo KSk6CiAgICAgICAgeWllbGQgZWxlbShpKQpgYGAKCkEgdHlwZSBjaGVja2VyIG9yIExTUCBjYW4n dCBzZWUgdGhyb3VnaCB0aGlzIGZ1bmN0aW9uLiBDdXJyZW50bHksIHRoYXQncwpubyBwcm9ibGVt LCBiZWNhdXNlIGl0IGRvZXNuJ3Qga25vdyB0aGUgcmV0dXJuIHR5cGUgb2YgYW55IFN3aWcgd3Jh cHBlciwKYnV0IHdoZW4gd2UgYWRkIHR5cGUgYW5ub3RhdGlvbnMgKGhvcGVmdWxseSB3aXRoIFN3 aWcgNC41IGluICMyMTM0NjMpLApgX19pdGVyX19gIHJlbWFpbnMgdW50eXBlZC4gU28gaXRlcmF0 aW5nIHRocm91Z2ggdGhlIHdyYXBwZXJzIHdvbid0IHNob3cKdGhlIGNvcnJlY3QgdHlwZS4KCkFz IHRoZSBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBzaW1wbGUsIGl0J3MgZWFzaWVyIHRvIGlubGlu ZSBpdC4gVGhhdCdzCndoYXQgdGhpcyBQUiBkb2VzLiBUaGVuIGEgdHlwZSBjaGVja2VyIGNhbiBp bmZlciB0aGUgcmV0dXJuIHR5cGUuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2 bS1wcm9qZWN0Ly0vY29tbWl0LzA4YTg3MzlhYzg5YTI3YzdkYmQwMzQ5MjY2NjExY2E5NDg2NmFl MmYKCkdpdCBjb21taXQgYWI0ZjIxMGEzMTI3ZTNiYTE3NzM4MTg5MTE5NDE0NGY5Mjc5OGJhNiBi eSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBNYXR0IEFyc2VuYXVsdCkgb24gMDQvMDgvMjAyNiBhdCAx ODoxNy4uCmNsYW5nOiBSZXBsYWNlIElzKk9mZmxvYWRBcmNoIGZyZWUgZnVuY3Rpb25zIHdpdGgg T2ZmbG9hZEFyY2ggbWV0aG9kcyAoIzIxMzM2MykKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9j bGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvYWI0ZjIxMGEzMTI3ZTNiYTE3NzM4MTg5MTE5NDE0 NGY5Mjc5OGJhNgoKR2l0IGNvbW1pdCBhOWE2ZWRiNTkzNWM5ZjQyYzU5MjgzNjYxMjM1NmJlYTU2 ZTNjMDhiIGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIEFsZXhleSBCYXRhZXYpIG9uIDA0LzA4LzIw MjYgYXQgMTg6MTguLgpbU0xQXVZlY3Rvcml6ZSBzaW5nbGUtdXNlciBpbnN0cnVjdGlvbnMgYXMg dGhlIGxhc3QtYXR0ZW1wdCBzZWVkcwoKSW5zdHJ1Y3Rpb25zIHdpdGggdGhlIHNpbmdsZSB1c2Vy IGNvc3Qgb25lIGV4dHJhY3QgcGVyIGxhbmUsIHNvIHRoZXkgYXJlCnZlY3Rvcml6ZWQgYWZ0ZXIg YWxsIG90aGVyIHJvb3RzIGluIHRoZSBmdW5jdGlvbiBhcmUgZXhoYXVzdGVkLCBncm91cGVkIGJ5 CnRoZSBrZXkvc3Via2V5IHBhaXJzLiBMb2FkcywgYWRkcmVzc2VzLCBjb21wYXJlcyBhbmQgdGhl IG9wZXJhdGlvbnMsIGZvbGRlZAphd2F5IG9yIGNvbnRyYWN0ZWQgaW50byB0aGUgc2NhbGFyIEZN QSwgYXJlIGV4Y2x1ZGVkLiBUaGUgcmVqZWN0ZWQgYnVuZGxlcwphbmQgdGhlIG1lbWJlcnMgb2Yg dGhlIHByaWNlZCBtaW5pbWFsIG5vZGVzIGFyZSBub3QgcmV0cmllZCwgdW5sZXNzIHRoZQp0cmVl IHdhcyBkcm9wcGVkIGJ5IHRoZSByZXBhY2tpbmcgb3ZlcmhlYWQgcmF0aGVyIHRoYW4gYnkgdGhl IG1lbWJlcnMuCgpSZXZpZXdlcnM6IGhpcmFkaXR5YSwgUktTaW1vbiwgYmFiYWJ1Y2sKClB1bGwg UmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L3B1bGwvMjEyNTc5 Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2E5 YTZlZGI1OTM1YzlmNDJjNTkyODM2NjEyMzU2YmVhNTZlM2MwOGIKCkdpdCBjb21taXQgNDAyYzlm OWE3NzZkYzIwZDAzZTMzYzQ0N2Q4NjYzNGM0ODZhNTQzNCBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBIZW5yeSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAxODoyMy4uCltORkNdW0N1ZGFdW3Rlc3Rd IEZpeCBDSEVDSy1OT1QgcGF0dGVybnMgbWF0Y2hpbmcgdGhlIGJ1aWxkIGRpcmVjdG9yeSAoIzIx Mzc5OSkKCmBjdWRhLW9tcC11bnN1cHBvcnRlZC1kZWJ1Zy1vcHRpb25zLmN1YCdzIENPTU1PTi1O T1Q6IC4uLnxsbGRifC4uLiBjYW4KbWF0Y2ggYWdhaW5zdCB0aGUgYnVpbGQgZGlyZWN0b3J5IHBh dGggdGhhdCBtYXkgY29udGFpbiBgbGxkYmAgaW4gdGhlCnBhdGhuYW1lLiBDaGFuZ2UgdGhlIHRl c3QgdG8gY2hlY2sgdGhlIGV4YWN0IGNjMSBhcmd1bWVudHMuCgpyZGFyOi8vMTgzNTAxNTU4Cmh0 dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzQwMmM5 ZjlhNzc2ZGMyMGQwM2UzM2M0NDdkODY2MzRjNDg2YTU0MzQKCkdpdCBjb21taXQgZjU5ZDZmNWY4 NjZiOTc0MTM1MTBmYTExOTE0NDY1MWZiYmJjNzEyMyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBV c2FtYSBIYW1lZWQpIG9uIDA0LzA4LzIwMjYgYXQgMTg6NDkuLgpbY2xhbmddW3Rlc3RdIEFkZCB0 ZXN0IGZvciBzdGFja19wcm90ZWN0b3JfaWdub3JlIGluIHN5c3RlbSBtYWNyb3MgKCMyMTM3NzAp CgpkMzE4NGJjNmM2YTggKCJbY2xhbmddIERvbid0IHdhcm4gb24gc3RhY2tfcHJvdGVjdG9yX2ln bm9yZSBpbiBzeXN0ZW0KbWFjcm9zIikgYWRkZWQgU3VwcHJlc3NJblN5c3RlbU1hY3JvIHRvCndh cm5fc3RhY2tfcHJvdGVjdGlvbl9pZ25vcmVfYXR0cmlidXRlIGJ1dCBvbmx5IGFkZGVkIGFuIExM Vk0gQ29kZUdlbgp0ZXN0IGZvciB0aGUgc3RhY2stcHJvdGVjdG9yIG1ldGFkYXRhLCBzbyB0aGUg ZGlhZ25vc3RpYyBjaGFuZ2UgaXRzZWxmCndhcyB1bnRlc3RlZC4KCkFkZCBhIHRlc3QgdXNpbmcg dGhlIHNlbGYtaW5jbHVkZSBzeXN0ZW1faGVhZGVyIGlkaW9tOiB0aGUgYXR0cmlidXRlCmZyb20g YSBzeXN0ZW0gaGVhZGVyIG1hY3JvIGRvZXMgbm90IHdhcm4gdW5kZXIgLWZzdGFjay1wcm90ZWN0 b3ItYWxsLAp3aGlsZSBvbmUgd3JpdHRlbiBpbiB1c2VyIGNvZGUgc3RpbGwgZG9lcy4KCnJkYXI6 Ly8xODM5NjI5ODUKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3Qv LS9jb21taXQvZjU5ZDZmNWY4NjZiOTc0MTM1MTBmYTExOTE0NDY1MWZiYmJjNzEyMwoKR2l0IGNv bW1pdCA0Mzc2YjhkNjY5NjFkYjM2MDk0NWRiNDRhYmU1MTBkOWYxM2FiZjYxIGJ5IEdpdEh1YiAo b24gYmVoYWxmIG9mIEFsZXhleSBCYXRhZXYpIG9uIDA0LzA4LzIwMjYgYXQgMTg6NTcuLgpbU0xQ XUZsYXR0ZW4gYWRkL3N1YiBhbmQgZmFkZC9mc3ViIGNoYWlucyBpbnRvIG9uZSByZWFzc29jaWF0 ZWQgbm9kZQoKQSBwZWVsZWQgc3VidHJhY3Qga2VlcHMgdGhlIGNvbHVtbiBzaWduIGZvciBpdHMg Zmlyc3Qgb3BlcmFuZCBhbmQgZmxpcHMKaXQgZm9yIHRoZSBzZWNvbmQsIHNvIG1peGVkIGFkZC9z dWIgKGZhZGQvZnN1YiB3aXRoIHJlYXNzb2MpIGNoYWlucwpsaW5lYXJpemUgaW50byBwb3NpdGl2 ZSBhbmQgbmVnYXRpdmUgb3BlcmFuZCBjb2x1bW5zIGNvbWJpbmluZyBhcwpzdW0ocG9zaXRpdmUp IC0gc3VtKG5lZ2F0aXZlKSwgd2l0aCBzdWJ0cmFoZW5kIGNvbHVtbnMgcmVvcmRlcmVkIGJ5CnZh bHVlIGZhbWlseS4gbnV3IGlzIG5vdyBhbHNvIGRyb3BwZWQgb24gbm9uLWV4YWN0IGNvbWJpbmVz IHdoZW4gYQpuZWdhdGVkIGxlYWYgZXhpc3RzLCBzaW5jZSBhIHJlZ3JvdXBlZCBzdWJ0cmFoZW5k IHN1bSBjYW4gZXhjZWVkIHRoZQpvcmlnaW5hbCBydW5uaW5nIHRvdGFsLgoKUmV2aWV3ZXJzOiBS S1NpbW9uLCBiYWJhYnVjaywgaGlyYWRpdHlhCgpQdWxsIFJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHVi LmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIxMzU0NApodHRwczovL2ludmVudC5rZGUub3Jn L3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC80Mzc2YjhkNjY5NjFkYjM2MDk0NWRiNDRh YmU1MTBkOWYxM2FiZjYxCgpHaXQgY29tbWl0IGIwN2ZjOGE0NGFhNmFjMDNlYzhlMGM3OWIwNDEz NGJkYTg3YjUyNzkgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgRm9sa2VydCBkZSBWcmllcykgb24g MDQvMDgvMjAyNiBhdCAxOTowMC4uCltTUEFSQ10gRG8gbm90IHVzZSB0aGUgdW5pbXAgc3RydWN0 LXJldHVybiBjb252ZW50aW9uIGZvciB6ZXJvLXNpemVkIHR5cGVzICgjMjEzNzMzKQoKR0NDIGhh cyBzcGVjaWFsIGhhbmRsaW5nIGZvciBhbiBgc3JldGAgb2YgYSB6ZXJvLXNpemVkIHR5cGUsIG1h dGNoIHRoYXQKaGFuZGxpbmcuCgpodHRwczovL2dvZGJvbHQub3JnL3ovVGNyYWFvN3JUCgpJdCBz ZWVtcyB1bmxpa2VseSBzb21lb25lIGlzIGFjdHVhbGx5IHJlbHlpbmcgb24gdGhpcywgc28gSSBo YXZlbid0CmFkZGVkIHRoZSBhYmkgY29tcGF0aWJpbGl0eSBsb2dpYy4gUnVzdCBob3dldmVyIHVz ZXMgemVyby1zaXplZCB0eXBlcwpxdWl0ZSBoZWF2aWx5LCBzbyBoYXZpbmcgdGhpcyB3b3JrIGNv cnJlY3RseSBpcyB1c2VmdWwgdGhlcmUuCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcv bGx2bS1wcm9qZWN0Ly0vY29tbWl0L2IwN2ZjOGE0NGFhNmFjMDNlYzhlMGM3OWIwNDEzNGJkYTg3 YjUyNzkKCkdpdCBjb21taXQgOGNmMzI2OGIzYTY1ZTE4NmYxMDQxMzlhM2Y1M2QwN2RlOGQ1MDMy YSBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBBbmR5IEtheWxvcikgb24gMDQvMDgvMjAyNiBhdCAx OToxMC4uCltDSVJdW0FBcmNoNjRdIFVzZSBDSVIncyBmbWEgYW5kIHNxcnQgZm9yIE5lb24gYnVp bHRpbnMgKCMyMTM4MDApCgpUaGlzIGNoYW5nZSByZXBsYWNlcyBzb21lIGxvY2F0aW9ucyB3aGVy ZSB0aGUgTmVvbiBidWlsdGluIGhhbmRsaW5nIHdhcwpjYWxsaW5nIExMVk0gaW50cmluc2ljcyBk aXJlY3RseSBmb3IgRk1BIGFuZCBzcXJ0IG9wZXJhdGlvbnMgcmF0aGVyIHRoYW4KdXNpbmcgdGhl IENJUiBvcGVyYXRpb25zLiBVc2luZyB0aGUgQ0lSIG9wZXJhdGlvbnMgd2lsbCBiZSBuZWNlc3Nh cnkgdG8KZ2V0IHRoZSBiZXN0IGNvbnN0cmFpbmVkIEZQIGhhbmRsaW5nLgoKVGhpcyB3aWxsIHN0 aWxsIHJlcXVpcmUgc2V0dGluZyB0aGUgZmVudiBhdHRyaWJ1dGUgb24gdGhlc2Ugb3BlcmF0aW9u cwp3aGVuIG5lZWRlZC4gVGhpcyBjaGFuZ2UgaXMganVzdCB0aGUgZmlyc3Qgb2YgYSBmZXcgcHJl bGltaW5hcnkgY2hhbmdlcwpuZWVkZWQgdG8gZ2V0IHVzIGluIGEgZ29vZCBzdGF0ZSB0byBhZGQg dGhlIGNvbnN0cmFpbmVkIEZQIGhhbmRsaW5nLgoKQXNzaXN0ZWQtYnk6IEN1cnNvciAvIEdyb2sg NC41Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0 LzhjZjMyNjhiM2E2NWUxODZmMTA0MTM5YTNmNTNkMDdkZThkNTAzMmEKCkdpdCBjb21taXQgZDQ2 Mjg1MjZiZGQyYzhiZDAzYWNkY2JmMGY5ZDg3MTBlZjI0MzQ4NiBieSBHaXRIdWIgKG9uIGJlaGFs ZiBvZiBBbmR5IEtheWxvcikgb24gMDQvMDgvMjAyNiBhdCAxOToxNS4uCltDSVJdIEFwcGx5IEZQ IGNvbnN0cmFpbnRzIHRvIGdsb2JhbCBpbml0aWFsaXplcnMgKCMyMTM3NzYpCgpCZWNhdXNlIENJ UiBoYW5kbGVzIGdsb2JhbCBpbml0aWFsaXplcnMgdXNpbmcgYSByZWdpb24gb2YgdGhlIGNpci5n bG9iYWwKb3BlcmF0aW9uIGR1cmluZyBpbml0aWFsIGNvZGUgZ2VuZXJhdGlvbiwgdGhlc2UgaW5p dGlhbGl6ZXJzIGRvbid0CmF1dG9tYXRpY2FsbHkgZ2V0IHRoZSBzdHJpY3RmcCBzZXR1cCBpbiBD SVJHZW5GdW5jdGlvbjo6c3RhcnRGdW5jdGlvbi4KClRoaXMgY2hhbmdlIGFkZHMgYW4gYXR0cmli dXRlIHRvIHRoZSBjaXIuZ2xvYmFsIG9wZXJhdGlvbiB0byB0cmFjawpmbG9hdGluZy1wb2ludCBj b25zdHJhaW50cyBzbyB0aGF0IHRoZSBgc3RyaWN0ZnBgIGF0dHJpYnV0ZSBjYW4gYmUgc2V0Cm9u IHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aGVuIGl0IGlzIGNyZWF0ZWQgZHVyaW5nIEVI QUJJIGxvd2VyaW5nLgoKQXNzaXN0ZWQtYnk6IEN1cnNvciAvIHZhcmlvdXMgbW9kZWxzCmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2Q0NjI4NTI2 YmRkMmM4YmQwM2FjZGNiZjBmOWQ4NzEwZWYyNDM0ODYKCkdpdCBjb21taXQgMzJiNjQ1ZDlkNjli OGMyZTYyODkwZmVkMTkyMDMzMzdiZWRkZjc5NyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBFcmlj IENocmlzdG9waGVyKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjIxLi4KW0RlYnVnSW5mb10gVHJlYXQg dGFnIG9mZnNldHMgYXMgbm9uLWVtaXR0aW5nICgjMjExOTY5KQoKRFdfT1BfTExWTV90YWdfb2Zm c2V0IGRvZXNuJ3QgZW1pdCBhbnl0aGluZyBpbnRvIHRoZSBEV0FSRiBleHByZXNzaW9uLApzbyBs b29rIHBhc3QgaXQgd2hlbiBkZWNpZGluZyB3aGV0aGVyIGEgcmVnaXN0ZXIgZXhwcmVzc2lvbiBp cyBjb21wbGV4Cm9yIHdoZXRoZXIgYXBwZW5kVG9TdGFjayBuZWVkcyB0byBhZGQgYSBkZXJlZmVy ZW5jZS4KClRlc3RlZCB3aXRoIG1ha2UgY2hlY2suCgpBc3Npc3RlZCB3aXRoIEFJLgpodHRwczov L2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8zMmI2NDVkOWQ2 OWI4YzJlNjI4OTBmZWQxOTIwMzMzN2JlZGRmNzk3CgpHaXQgY29tbWl0IDcwMjUzYWY4NzA5NjE3 Yjg2MDg2NWNlOGQ3NDIwNDcxOGU4YTE5NzUgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgVml0YWx5 IEJ1a2EpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MjcuLgpbTkZDXVtsaWJGdXp6ZXJdIFJlbW92ZSB1 bnVzZWQgR2V0TW9kdWxlTmFtZSBoZWxwZXIgaW4gVHJhY2VQQyAoIzIxNDAzMikKCkZpeGluZyBi dWlsZCBib3RzIGFmdGVyCmh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxs LzIwMzA4NC4KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9j b21taXQvNzAyNTNhZjg3MDk2MTdiODYwODY1Y2U4ZDc0MjA0NzE4ZThhMTk3NQoKR2l0IGNvbW1p dCA3ZjQ5OGQ5ZDM2ZDEwMmE2NTMwODllODZjYzA3ZDBhN2Y5MGJmYWVjIGJ5IEdpdEh1YiAob24g YmVoYWxmIG9mIFFpb25nc2kgV3UpIG9uIDA0LzA4LzIwMjYgYXQgMTk6MzguLgpbY2xhbmddW0Rl cGVuZGVuY3lTY2FubmluZ10gVXNlIENvbXBpbGVySW5zdGFuY2VXaXRoQ29udGV4dCBmb3IgVFUg U2Nhbm5pbmcgKCMyMTE0MDgpCgpBZnRlciBgQ29tcGlsZXJJbnN0YW5jZVdpdGhDb250ZXh0YCdz IHJlbG9jYXRpb24gdG8KYERlcGVuZGVuY3lTY2FubmluZ1dvcmtlci5jcHBgLCB3ZSBjYW4gdXNl IGl0IGZyZWVseSBhcyBhbgppbXBsZW1lbnRhdGlvbiBlbmdpbmUgZm9yIFRVIHNjYW5uaW5nLiBU aGlzIFBSIGRvZXMgdGhhdCwgYW5kIHVuaWZpZXMKdGhlIGJ5LW5hbWUgc2Nhbm5pbmcgYW5kIFRV IHNjYW5uaW5nIHNvIHRoZXkgYWxsIGdvIHRocm91Z2gKYENvbXBpbGVySW5zdGFuY2VXaXRoQ29u dGV4dGAuCgpyZGFyOi8vMTY3MDM0MzA5CgoKCi0tLQoKPHN1Yj5TdGFjayBjcmVhdGVkIHdpdGgg PGEKaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9naC1zdGFjayI+R2l0SHViIFN0YWNr cyBDTEk8L2E+IOKAoiA8YQpocmVmPSJodHRwczovL2doLmlvL3N0YWNrcy1mZWVkYmFjayI+R2l2 ZSBGZWVkYmFjayDwn5KsPC9hPjwvc3ViPgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0tcHJvamVjdC8tL2NvbW1pdC83ZjQ5OGQ5ZDM2ZDEwMmE2NTMwODllODZjYzA3ZDBhN2Y5 MGJmYWVjCgpHaXQgY29tbWl0IDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4Yzlj YWUgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgUWlvbmdzaSBXdSkgb24gMDQvMDgvMjAyNiBhdCAx OTozOC4uCltjbGFuZ11bRGVwZW5kZW5jeVNjYW5uaW5nXSBEaXNzb2x2ZSBEZXBlbmRlbmN5U2Nh bm5lckltcGwuaC9jcHAgKCMyMTE0MDkpCgpgRGVwZW5kZW5jeVNjYW5uZXJJbXBsLmgvY3BwYCB3 ZXJlIGNyZWF0ZWQgdG8gc2hhcmUgY29kZSBiZXR3ZWVuIFRVCnNjYW5uaW5nIGFuZCBieS1uYW1l IHNjYW5uaW5nIHdoZW4gdGhleSB3ZXJlIG9uIGRpZmZlcmVudCBjb2RlIHBhdGhzLgpBZnRlciB1 bmlmeWluZyB0aGUgaW1wbGVtZW50YXRpb24gdGhyb3VnaCBgQ29tcGlsZXJJbnN0YW5jZVdpdGhD b250ZXh0YCwKd2Ugbm8gbG9uZ2VyIG5lZWQgYSBzZXBhcmF0ZSBoZWFkZXIvY3BwIHBhaXIgYW5k IGFsbCB0aGUgY29kZSBhcmUgbW92ZWQKaW50byBgRGVwZW5kZW5jeVNjYW5uaW5nV29ya2VyLmNw cGAuIFRoaXMgUFIgaXMgbWVjaG5pY2FsIGFuZCBkb2VzIG5vdAppbnRlbmQgdG8gaW50cm9kdWNl IGJlaGF2aXZvciBjaGFuZ2VzLgoKLS0tCgo8c3ViPlN0YWNrIGNyZWF0ZWQgd2l0aCA8YQpocmVm PSJodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2doLXN0YWNrIj5HaXRIdWIgU3RhY2tzIENMSTwv YT4g4oCiIDxhCmhyZWY9Imh0dHBzOi8vZ2guaW8vc3RhY2tzLWZlZWRiYWNrIj5HaXZlIEZlZWRi YWNrIPCfkqw8L2E+PC9zdWI+Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1w cm9qZWN0Ly0vY29tbWl0LzA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4YzljYWUK CkdpdCBjb21taXQgYjNjZTA3Yjk5OTkwMDBlNmZhZDFjM2FhOGY0MjllMmZmMjZiNTk4ZiBieSBH aXRIdWIgKG9uIGJlaGFsZiBvZiBBYmhpbmEgU3JlZSkgb24gMDQvMDgvMjAyNiBhdCAxOTo0MS4u CltTeXN0ZW1aXVt6L09TXSB1c2UgTExWTV9USFJFQURfTE9DQUwgaW5zdGVhZCBvZiB0aHJlYWRf bG9jYWwgKCMyMTQwMzkpCgpUaGlzIHBhdGNoIGlzIHRvIGZpeCB0aGUgZm9sbG93aW5nIGVycm9y IG9uIHovT1MKCmBgYApsbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1BlclRocmVhZEJ1bXBQdHJB bGxvY2F0b3IuaDo3NToxMjogZXJyb3I6IHRocmVhZC1sb2NhbCBzdG9yYWdlIGlzIG5vdCBzdXBw b3J0ZWQgZm9yIHRoZSBjdXJyZW50IHRhcmdldAogICA3NSB8ICAgICBzdGF0aWMgdGhyZWFkX2xv Y2FsIHN0ZDo6dmVjdG9yPEFsbG9jYXRvclR5ICo+IENhY2hlOwogICAgICB8ICAgICAgICAgICAg XgpgYGAKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvYjNjZTA3Yjk5OTkwMDBlNmZhZDFjM2FhOGY0MjllMmZmMjZiNTk4ZgoKR2l0IGNvbW1pdCBj ZGRjMTA3ODk5YmRmMDllZTNmZmQ2MGIwMGIzMjQ1NWU2OTliMTMwIGJ5IEdpdEh1YiAob24gYmVo YWxmIG9mIEFyc2VuaXkgT2JvbGVuc2tpeSkgb24gMDQvMDgvMjAyNiBhdCAxOTo0OC4uCltBTURH UFVdIERvIG5vdCB3aWRlbiBjb25zdGFudCBsb2FkcyB0aGF0IG1heSBub3QgYmUgZGVyZWZlcmVu Y2VhYmxlICgjMTg0NzkwKQpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC9jZGRjMTA3ODk5YmRmMDllZTNmZmQ2MGIwMGIzMjQ1NWU2OTliMTMwCgpH aXQgY29tbWl0IGRlZTcwYTBmYzk0OGNlOTA2MGY0MjI1ZWU1YjcwN2FmNDI4N2U1ZGMgYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgQWxleGFuZGVyIFJpY2hhcmRzb24pIG9uIDA0LzA4LzIwMjYgYXQg MTk6NTUuLgpbVGFibGVHZW5dIEdlbmVyYXRlIGBnZXRSZWdDbGFzc0Zyb21NYXRjaEtpbmQoKWAg Zm9yIEFzbU1hdGNoZXJzCgpUaGlzIGhlbHBlciBjYW4gYmUgdXNlZnVsIGluIHZhbGlkYXRlVGFy Z2V0T3BlcmFuZENsYXNzIHRvIGdldCB0aGUKTUNSZWdpc3RlckNsYXNzIGZvciB0aGUgTUNLXyog ZW51bS4KTWlncmF0ZSB0aGUgUlZZIGxvZ2ljIHRvIHVzZSB0aGlzIG5ldyBnZW5lcmF0ZWQgZnVu Y3Rpb24uIENoZWNraW5nIGFsbApyZWdpc3RlciBjbGFzc2VzIGluc3RlYWQgb2YganVzdCB0aGUg UlZZIG9uZXMgd2lsbCBtYXJnaW5hbGx5IHNsb3cgZG93bgp2YWxpZGF0ZVRhcmdldE9wZXJhbmRD bGFzcywgYnV0IHNpbmNlIHRoaXMgaXMgYWxyZWFkeSBhIHNsb3cgcGF0aCBpdApzaG91bGQgbm90 IG1hdHRlci4KCklmIG11bHRpcGxlIFJlZ2lzdGVyT3BlcmFuZHMgc2hhcmUgYSBQYXJzZXJNYXRj aENsYXNzIGJ1dCBtYXAgdG8gZGlmZmVyZW50ClJlZ2lzdGVyQ2xhc3Nlcywgb21pdCB0aGVtIGZy b20gdGhlIGdlbmVyYXRlZCBnZXRSZWdDbGFzc0Zyb21NYXRjaEtpbmQKbWFwcGluZyBmdW5jdGlv bi4gSSBvcmlnaW5hbGx5IHRyaWVkIHRvIGVtaXQgYW4gZXJyb3IgaGVyZSwgYnV0IGl0IHR1cm5z Cm91dCB0aGVyZSBhcmUgbWFueSB0YXJnZXRzIHRoYXQgcmVseSBvbiBzaGFyaW5nIHRoZSBQYXJz ZXJNYXRjaENsYXNzIHdpdGgKZGlmZmVyZW50IChidXQgc2ltaWxhcikgUmVnaXN0ZXJDbGFzc2Vz IHNvIGlnbm9yaW5nIHRoZW0gaXMgc2FmZXIuCgpSZXZpZXdlZCBCeTogbGVuYXJ5CgpQdWxsIFJl cXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9wdWxsLzIwMDQ1Mwpo dHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9kZWU3 MGEwZmM5NDhjZTkwNjBmNDIyNWVlNWI3MDdhZjQyODdlNWRjCgpHaXQgY29tbWl0IDBkMWI1NDYw NGRhYzczYWRjMTZhZjE1ZjQzM2FlMGM5MjA2OWZjYzIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2Yg QWxleGFuZGVyIFJpY2hhcmRzb24pIG9uIDA0LzA4LzIwMjYgYXQgMTk6NTcuLgpbVGFibGVHZW5d W0FzbU1hdGNoZXJdIFJlc29sdmUgUmVnQ2xhc3NCeUh3TW9kZSBraW5kcyBmb3IgYWxsIG9wZXJh bmRzCgp2YWxpZGF0ZU9wZXJhbmRDbGFzcygpIG9ubHkgcmVtYXBwZWQgYSBSZWdDbGFzc0J5SHdN b2RlIG9wZXJhbmQga2luZAp3aGVuIHRoZSBhY3R1YWwgcGFyc2VkIG9wZXJhbmQgd2FzIGEgcmVn aXN0ZXIuIFdoZW4gdGhlIG9wZXJhbmQgd2FzCnNvbWV0aGluZyBlbHNlIGVudGlyZWx5IChlLmcu IGEgYmFyZSBpbW1lZGlhdGUgd2hlcmUgYSByZWdpc3RlciB3YXMKZXhwZWN0ZWQpLCB0aGlzIGZl bGwgdGhyb3VnaCB0byB0aGUgZ2VuZXJpYyAiS2luZCA8PSBNQ0tfTEFTVF9SRUdJU1RFUiIKZGlh Z25vc3RpYyBjaGVjaywgc28gd2UgZW5kIHVwIHdpdGggYSBnZW5lcmljIE1hdGNoX0ludmFsaWRP cGVyYW5kLgoKTm8gdGVzdCBjaGFuZ2VzIGhlcmUsIGJ1dCB0aGlzIGlzIG5lZWRlZCB0byBhdm9p ZCBkaWFnbm9zdGljIHJlZ3Jlc3Npb25zCndpdGggdGhlIFJWWSBsb2FkL3N0b3JlIHN1cHBvcnQg KFBSICMxNzcwNzMpLgoKUHVsbCBSZXF1ZXN0OiBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZt LXByb2plY3QvcHVsbC8yMTM0NzkKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZt LXByb2plY3QvLS9jb21taXQvMGQxYjU0NjA0ZGFjNzNhZGMxNmFmMTVmNDMzYWUwYzkyMDY5ZmNj MgoKR2l0IGNvbW1pdCBjNzQwYzU0NTE3ZmFmZGZiNmEzZGQzNTIyNzAwMDc2ZDUxODRjODQyIGJ5 IEdpdEh1YiAob24gYmVoYWxmIG9mIEFiaGluYSBTcmVlKSBvbiAwNC8wOC8yMDI2IGF0IDE5OjU3 Li4KW1N5c3RlbVpdW3ovT1NdIEFkZCBndWFyZCBmb3IgU0lfVVNFUiAgKCMyMTMxMDEpCgpTSV9V U0VSIGlzIG5vdCBkZWZpbmVkIG9uIHovT1MgYW5kIGlzIGNhdXNpbmcgdGhlIGZvbGxvd2luZyBi dWlsZApmYWlsdXJlLiBgZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1NJX1VT RVInYCAKVGhpcyBwYXRjaCBhZGRzIGEgZ3VhcmQgdG8gY2hlY2sgd2hldGhlciBTSV9VU0VSIGlz IGRlZmluZWQKYmVmb3JlIHVzaW5nIGl0LgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5n L2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jNzQwYzU0NTE3ZmFmZGZiNmEzZGQzNTIyNzAwMDc2ZDUx ODRjODQyCgpHaXQgY29tbWl0IDgzNDNjNTM4ZjBlN2VkZWU4YmZjMmM4MDBmNmQxYmZhZWY2NjRj MTIgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgZm9ya2luZy1nb29nbGUtYmF6ZWwtYm90W2JvdF0p IG9uIDA0LzA4LzIwMjYgYXQgMjA6MDkuLgpbQmF6ZWxdIEZpeGVzIDA0NzIyYTQgKCMyMTQwNDkp CgpUaGlzIGZpeGVzIDA0NzIyYTRhMzJlNmZlYzE4OTdjYzNjYjVhNTQ4MDlmY2Q4YzljYWUgKCMy MTE0MDkpLgoKQnVpbGRraXRlIGVycm9yIGxpbms6Cmh0dHBzOi8vYnVpbGRraXRlLmNvbS9sbHZt LXByb2plY3QvdXBzdHJlYW0tYmF6ZWwvYnVpbGRzP2NvbW1pdD0wNDcyMmE0YTMyZTZmZWMxODk3 Y2MzY2I1YTU0ODA5ZmNkOGM5Y2FlCgpDby1hdXRob3JlZC1ieTogR29vZ2xlIEJhemVsIEJvdCA8 Z29vZ2xlLWJhemVsLWJvdEBnb29nbGUuY29tPgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2Ns YW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC84MzQzYzUzOGYwZTdlZGVlOGJmYzJjODAwZjZkMWJm YWVmNjY0YzEyCgpHaXQgY29tbWl0IDQ0YzZhZWQ5YmQ5YjljZGE5OTNmNGU5M2YyY2JkYjRmYmJh ODkwZDAgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgU3BlbmNlciBCcnluZ2Vsc29uKSBvbiAwNC8w OC8yMDI2IGF0IDIwOjE1Li4KW2ZsYW5nXVtPcGVuTVBdIERpYWdub3NlIGZhaWxlZCBjb25zdHJ1 Y3QgZGVjb21wb3NpdGlvbiBpbnN0ZWFkIG9mIGZhbGxpbmcgdGhyb3VnaCAoIzIxNDAxMikKCmBi dWlsZENvbnN0cnVjdFF1ZXVlYCBhc3NlcnRzIHRoYXQgZGVjb21wb3NpdGlvbiBwcm9kdWNlZCBv dXRwdXQ6CgpgYGBjcHAKQ29uc3RydWN0RGVjb21wb3NpdGlvbiBkZWNvbXBvc2UobW9kT3AsIHNl bWFDdHgsIGV2YWwsIGNvbXBvdW5kLCBjbGF1c2VzKTsKYXNzZXJ0KCFkZWNvbXBvc2Uub3V0cHV0 LmVtcHR5KCkgJiYgIkNvbnN0cnVjdCBkZWNvbXBvc2l0aW9uIGZhaWxlZCIpOwpgYGAKClJlbGVh c2UgYnVpbGRzIGhhdmUgbm8gY2hlY2ssIHNvIHRoZSBlbXB0eSBxdWV1ZSBmYWxscyB0aHJvdWdo IHRvIHRoZQpsb29wIGJlbG93IGFuZCBvdXQgdG8gdGhlCmNhbGxlci4gVGhhdCBpcyB1bmRlZmlu ZWQgYmVoYXZpb3VyLCBhbmQgaXQgaXMgcmVhY2hhYmxlIOKAlCBzZW1hbnRpY3MKZG9lcyBub3Qg Y2F0Y2ggZXZlcnkKZGlyZWN0aXZlL2NsYXVzZSBjb21iaW5hdGlvbiB0aGF0IGNhbm5vdCBiZSBk ZWNvbXBvc2VkLiBUaGUgcmVzdWx0IGlzIGFuCmludGVybWl0dGVudCBzZWdmYXVsdApyYXRoZXIg dGhhbiBhIGRpYWdub3N0aWMuCgojMjExNDMwIGlzIG9uZSB3YXkgaW46IGBhbGxvY2F0ZWAgaXMg YW4gT3Blbk1QIDUuMCBjbGF1c2UsIGJ1dCBtb3N0CmRpcmVjdGl2ZXMgZGVjbGFyZSBpdCBpbgpg T01QLnRkYCB3aXRob3V0IGEgbWluaW11bSB2ZXJzaW9uLCBzbyBzZW1hbnRpY3MgYWNjZXB0cyBp dCBiZWxvdyA1LjAKYW5kIGRlY29tcG9zaXRpb24gdGhlbgpjb3JyZWN0bHkgcmVmdXNlcyBpdC4g ZmxhbmcgZGVmYXVsdHMgdG8gT3Blbk1QIDMuMSwgc28gbm8gdW51c3VhbCBmbGFncwphcmUgbmVl ZGVkLiBUaGUKaW50ZXJtaXR0ZW5jeSBpcyB3aGF0IG1hZGUgdGhhdCByZXBvcnQgaGFyZCB0byBw aW4gZG93biDigJQgNDAgdHJpYWxzIGF0CmAtZm9wZW5tcC12ZXJzaW9uPTMxYDoKCnwgfCBzZWdm YXVsdHMgfAp8LS0tfC0tLXwKfCBBU0xSIG9uIHwgMjUvNDAgfAp8IEFTTFIgb2ZmIChgc2V0YXJj aCAtUmApIHwgMC80MCB8Cgp3aGljaCBpcyBhbiB1bmluaXRpYWxpemVkIHJlYWQuCgpBZnRlciB0 aGlzIHBhdGNoIHRoZSBzYW1lIGlucHV0IGZhaWxzIGRldGVybWluaXN0aWNhbGx5IHdpdGggYSBs b2NhdGVkCmRpYWdub3N0aWMsIDQwLzQwOgoKYGBgCmVycm9yOiBsb2MoInJlcHJvLmY5MCI6Njox MSk6IE9wZW5NUCBjb25zdHJ1Y3QgZGVjb21wb3NpdGlvbiBmYWlsZWQ6IGEgY2xhdXNlIG9uCiAg ICAgICAndGFyZ2V0IHRlYW1zIGRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8nIGNhbm5vdCBiZSBhcHBs aWVkIHRvIGFueSBvZiBpdHMgbGVhZiBjb25zdHJ1Y3RzCmBgYAoKYGdlbkNyYXNoRGlhZz1mYWxz ZWAgc28gaXQgZXhpdHMgbm9uLXplcm8gd2l0aG91dCBhIGJhY2t0cmFjZSwgcmF0aGVyCnRoYW4g cHJlc2VudGluZyBhcyBhIGNvbXBpbGVyCmNyYXNoLgoKVGhpcyBpcyBhIGhhcmRlbmluZyBmaXgg Zm9yIHRoZSBsb3dlcmluZyBwYXRoIGFuZCBpcyBpbmRlcGVuZGVudCBvZiBhbnkKcGFydGljdWxh ciBjbGF1c2U6IGl0IGNvdmVycwpldmVyeSBjb21iaW5hdGlvbiB0aGF0IGRlY29tcG9zZXMgZW1w dHkuIEl0IGRvZXMgbm90IG1ha2UgdGhlIGBhbGxvY2F0ZWAKY2FzZSBhICpnb29kKiBkaWFnbm9z dGljIOKAlAp0aGF0IGJlbG9uZ3MgaW4gc2VtYW50aWNzLCBhbmQgIzIxMzk4MCBpcyB0aGUgc2Vw YXJhdGUgY2hhbmdlIGZvciBpdC4KCmBjaGVjay1mbGFuZ2AgaXMgY2xlYW4gKDQ4MDggdGVzdHMp LiBObyB0ZXN0IGlzIGFkZGVkOiB0aGUgb25seSBpbi10cmVlCndheSB0byByZWFjaCB0aGlzIHBh dGggaXMKdGhyb3VnaCB0aGUgYE9NUC50ZGAgZ2FwIHRoYXQgIzIxMzk4MCBmaXhlcywgc28gYSB0 ZXN0IGhlcmUgd291bGQgZW5jb2RlCnRoYXQgZ2FwIGFzIGV4cGVjdGVkCmJlaGF2aW91ciBhbmQg aGF2ZSB0byBiZSByZW1vdmVkIHdoZW4gaXQgbGFuZHMuIEhhcHB5IHRvIGFkZCBvbmUgaWYKeW91 J2QgcHJlZmVyLgoKCi0tLQoKUGFydHMgb2YgdGhpcyBjaGFuZ2Ugd2VyZSB3cml0dGVuIG9yIGF1 ZGl0ZWQgd2l0aCBDbGF1ZGUgQ29kZS4gSSBoYXZlCnJldmlld2VkIGFsbCBvZiBpdCBhbmQgdGFr ZQpmdWxsIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY29udHJpYnV0aW9uLiBTZWUKYGxsdm0vZG9j cy9BSVRvb2xQb2xpY3kubWRgLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0t cHJvamVjdC8tL2NvbW1pdC80NGM2YWVkOWJkOWI5Y2RhOTkzZjRlOTNmMmNiZGI0ZmJiYTg5MGQw CgpHaXQgY29tbWl0IDgzZmI3MmE5MDRlODIzMWJmNjg3OTA3NmI5YzEwYmRiZjI1ZTQ3NDQgYnkg R2l0SHViIChvbiBiZWhhbGYgb2YgQXJ0aHVyIEV1YmFua3MpIG9uIDA0LzA4LzIwMjYgYXQgMjA6 MjAuLgpbRFdQXSBFYWdlcmx5IGNsZWFyIGJ1ZmZlcnMgYWZ0ZXIgd3JpdGluZyAoIzIxMzM0NSkK Ckxvd2VycyBwZWFrIG1lbW9yeSB1c2FnZSBvbiBhIGxsdm0tZHdwIGludm9jYXRpb24gZnJvbSAx Mi4zN0dCIC0+CjExLjE5R0IuCgpUaGlzIGFjdHVhbGx5IG5vdyBiZWF0cyBvdXQgR05VIGR3cCAo MTEuMzVHQikgYXQgbGVhc3Qgd2hlbiB0aGUgb3V0cHV0CmZpbGUgaXMgaW4gdG1wZnMuCmh0dHBz Oi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzgzZmI3MmE5 MDRlODIzMWJmNjg3OTA3NmI5YzEwYmRiZjI1ZTQ3NDQKCkdpdCBjb21taXQgZDUyZTk4ODE0YzQx NDg3ZTU2MzVhMTg2ZDk3YmY1ODAzZTIwMjQ1NyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBIZW5y eSBKaWFuZykgb24gMDQvMDgvMjAyNiBhdCAyMDoyNS4uCltORkNdW0FNREdQVV0gRml4IGV4aXQg Y29kZSBtaXNtYXRjaCB3aXRoIEVYUEVOU0lWRV9DSEVDSyBpbiBzY2hlZHVsZeKApiAoIzIxNDAy NykKCuKApi1hbWRncHUtdHJhY2tlci1waHlzcmVnLWNyYXNoLmxsCgpPYnNlcnZlZCBpbgpodHRw czovL2NpLnN3aWZ0Lm9yZy9qb2IvbGx2bS5vcmcvam9iL2NsYW5nLXN0YWdlMS1SQS1leHBlbnNp dmUvam9iL21haW4vMTE1NQp3aXRoIExMVk1fRU5BQkxFX0VYUEVOU0lWRV9DSEVDS1MgZW5hYmxl ZCwKYENvZGVHZW4vQU1ER1BVL3NjaGVkdWxlLWFtZGdwdS10cmFja2VyLXBoeXNyZWctY3Jhc2gu bGxgIGZhaWxzIGR1ZSB0bwpNYWNoaW5lVmVyaWZpZXIgcnVubmluZywgY2F1c2luZyBhbiBleGl0 IDEuCgpNb2RpZmllZCB0byBhbHdheXMgcnVuIHRoZSBgLXZlcmlmeS1tYWNoaW5laW5zdHJzYC4K CnJkYXI6Ly8xODQwMTA3NjYKaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXBy b2plY3QvLS9jb21taXQvZDUyZTk4ODE0YzQxNDg3ZTU2MzVhMTg2ZDk3YmY1ODAzZTIwMjQ1NwoK R2l0IGNvbW1pdCBmMjBiNjRmZmU1YzgxZTBlZjM1YmNmOTk5MGY2MGExZmY5MTU3ZjdiIGJ5IEdp dEh1YiAob24gYmVoYWxmIG9mIERtaXRyeSBWYXNpbHlldikgb24gMDQvMDgvMjAyNiBhdCAyMDoy Ni4uCltsbGRiXSBEaXNhYmxlIFRlc3RQcm9jZXNzU2F2ZUNvcmVNaW5pZHVtcFNpemVNaXNtYXRj aCBvbiBXaW5kb3dzIGhvc3RzICgjMjE0MDQ0KQoKVGhlIGJ1aWxkYm90CltsbGRiLXJlbW90ZS1s aW51eC13aW5dKGh0dHBzOi8vbGFiLmxsdm0ub3JnL2J1aWxkYm90LyMvYnVpbGRlcnMvMTk3KSBp cwpyZWQgYWZ0ZXIgIzIxMjg2MS4gIzIxMjg2MSBjYW5ub3QgYmUgcmV2ZXJ0ZWQgYXV0b21hdGlj YWxseSBub3cgYmVjYXVzZSBvZgojMjEyNjQxLiBTbyBkaXNhYmxlIFRlc3RQcm9jZXNzU2F2ZUNv cmVNaW5pZHVtcFNpemVNaXNtYXRjaCBvbiBXaW5kb3dzCmhvc3RzIHRvIG1ha2UgdGhlIGJ1aWxk Ym90IGdyZWVuIGFnYWluLgpodHRwczovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJv amVjdC8tL2NvbW1pdC9mMjBiNjRmZmU1YzgxZTBlZjM1YmNmOTk5MGY2MGExZmY5MTU3ZjdiCgpH aXQgY29tbWl0IDAzZjg2YzZkNGQ1NTgwOWY5NTMxYjVlMzdlYjgyNDllNTY5NzQ2YWEgYnkgR2l0 SHViIChvbiBiZWhhbGYgb2YgRGF2aWQgWW91bmcpIG9uIDA0LzA4LzIwMjYgYXQgMjA6MzIuLgpb U3VwcG9ydF1bRHJpdmVyXVtMTERCXSBHdWFyZCBXSU4zMl9MRUFOX0FORF9NRUFOIGRlZmluaXRp b25zIHdpdGggI2lmbmRlZiAoIzIxMzA0NSkKClNldmVyYWwgV2luZG93cyBoZWFkZXJzL1RVcyB1 bmNvbmRpdGlvbmFsbHkgYCNkZWZpbmUKV0lOMzJfTEVBTl9BTkRfTUVBTmAuIFdoZW4gYSBidWls ZCBwcmVkZWZpbmVzIHRoZSBtYWNybyBvbiB0aGUgY29tcGlsZXIKY29tbWFuZCBsaW5lIChlLmcu IGEgdG9vbGNoYWluIHRoYXQgcGFzc2VzIC1EV0lOMzJfTEVBTl9BTkRfTUVBTiwgd2hpY2gKY2xh bmcgdHJlYXRzIGFzIGAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4gMWApLCB0aGUgZGlmZmVy aW5nIHRva2VuCmxpc3RzIHRyaWdnZXIgLVdtYWNyby1yZWRlZmluZWQsIHdoaWNoIGJlY29tZXMg YSBoYXJkIGVycm9yIHVuZGVyCi1XZXJyb3IuCgpHdWFyZCB0aGUgZGVmaW5pdGlvbnMgd2l0aCAj aWZuZGVmLCBtYXRjaGluZyB0aGUgYWRqYWNlbnQgTk9NSU5NQVgKaGFuZGxpbmcgYW5kIHRoZSBl eGlzdGluZyBwYXR0ZXJuIGluCmxsdm0vbGliL1N1cHBvcnQvcnBtYWxsb2MvcnBtYWxsb2MuYy4g VGhlIG1hY3JvIGlzIG9ubHkgYSBwcmVzZW5jZSBmbGFnLApzbyBrZWVwaW5nIGFuIGV4dGVybmFs bHktcHJvdmlkZWQgZGVmaW5pdGlvbiBpcyBjb3JyZWN0LgoKU2l0ZXMgZ3VhcmRlZDoKICBsbHZt L2luY2x1ZGUvbGx2bS9TdXBwb3J0L1dpbmRvd3MvV2luZG93c1N1cHBvcnQuaAogIGxsdm0vbGli L1dpbmRvd3NEcml2ZXIvTVNWQ1BhdGhzLmNwcAogIGNsYW5nL2xpYi9Ecml2ZXIvVG9vbENoYWlu cy9NU1ZDLmNwcAogIGxsZGIvaW5jbHVkZS9sbGRiL0hvc3Qvd2luZG93cy93aW5kb3dzLmgKCk1l dGEgcmFuIGludG8gdGhpcyBpbnRlcm5hbGx5IGJ1aWxkaW5nIGxsZGIgb24gd2luZG93IGFmdGVy IGEgc3luYyB3aXRoCnVwc3RyZWFtIGZyb20gSnVseSBjb21taXQsIHNvIGFkZGluZyBndWFyZHMg d291bGQgYWxsb3cgdXMgdG8gZHJvcCBhCndvcmthcm91bmQgb2YgaWdub3JpbmcgdGhlIGR1cGxp Y2F0ZSBkZWZpbmVzLgoKRXJyb3I6Cmxsdm1caW5jbHVkZVxsbHZtL1N1cHBvcnQvV2luZG93cy9X aW5kb3dzU3VwcG9ydC5oKDI5LDkpOiBlcnJvcjoKJ1dJTjMyX0xFQU5fQU5EX01FQU4nIG1hY3Jv IHJlZGVmaW5lZCBbLVdlcnJvciwtV21hY3JvLXJlZGVmaW5lZF0KICAgMjkgfCAjZGVmaW5lIFdJ TjMyX0xFQU5fQU5EX01FQU4KICAgICAgfCAgICAgICAgIF4KPGNvbW1hbmQgbGluZT4oMTAsOSk6 IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gaXMgaGVyZQogICAxMCB8ICNkZWZpbmUgV0lOMzJf TEVBTl9BTkRfTUVBTiAxCiAgICAgIHwgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpodHRw czovL2ludmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC8wM2Y4NmM2 ZDRkNTU4MDlmOTUzMWI1ZTM3ZWI4MjQ5ZTU2OTc0NmFhCgpHaXQgY29tbWl0IDQ2YjhlYjg2MTM1 MmQwZDM0NjIzYTMxMzllZDExZGU3NjMzMTczMjMgYnkgR2l0SHViIChvbiBiZWhhbGYgb2YgTmlr aXRhIFRlcmVudGV2KSBvbiAwNC8wOC8yMDI2IGF0IDIwOjM5Li4KW05GQ11bQ2xhbmddW0RvY3Nd IEZpeCBtaW5vciB0eXBvcyBpbiBDb25zdGFudCBJbnRlcnByZXRlciBkb2MuICgjMjExNjA4KQoK Rmlyc3Q6IFR5cG8gaXMgb2J2aW91cy4gClNlY29uZDogSW4gdGhlIGV4YW1wbGUsIHRoZSBhLnkg ZmllbGQgaXMgbWlzc2luZyBhbmQgZmllbGQgYS5iLnkgaXMKcmVxdWlyZWQuCmh0dHBzOi8vaW52 ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0LzQ2YjhlYjg2MTM1MmQw ZDM0NjIzYTMxMzllZDExZGU3NjMzMTczMjMKCkdpdCBjb21taXQgMjE3OGRiNmQzZGU0YWQ5ZmI5 Nzk0ZjU1ZTZkNmQzOGNkZjJiMDM0NyBieSBHaXRIdWIgKG9uIGJlaGFsZiBvZiBUaW11ciBHb2x1 Ym92aWNoKSBvbiAwNC8wOC8yMDI2IGF0IDIwOjQyLi4KW1g4Nl0gSGFuZGxlIG11bHRpLXVzZSBz ZXRjYyBpbiBjb21tdXRlU2VsZWN0ICgjMjEzNjQ1KQoKV2hlbiBhIHNldGNjIGNvbmRpdGlvbiBp cyBzaGFyZWQgYmV0d2VlbiBtdWx0aXBsZSB2c2VsZWN0cywKY29tbXV0ZVNlbGVjdCBwcmV2aW91 c2x5IGJhaWxlZCBvdXQgZHVlIHRvIHRoZSBtX09uZVVzZSBjb25zdHJhaW50LgpFeHRlbmQgaXQg dG8gY2hlY2sgYWxsIHVzZXJzIG9mIHRoZSBzZXRjYyBhbmQsIGlmIHRoZXkgYWxsIGJlbmVmaXQg ZnJvbQpjb21tdXRpbmcsIGludmVydCB0aGUgY29uZGl0aW9uIG9uY2Ugd2l0aCBSZXBsYWNlQWxs VXNlc09mVmFsdWVXaXRoIGFuZApzd2FwIGFsbCB2c2VsZWN0IG9wZXJhbmRzLgoKVGhpcyBmaXhl cyBhIHdyaXRlLW1hc2sgZnVzaW9uIHJlZ3Jlc3Npb24gd2hlcmUgbWFza2VkIG1pbi9tYXgKcmVk dWN0aW9ucyBwcm9kdWNlZCB1bmZ1c2VkIHZtaW5wcyArIHZtb3ZhcHMgeyVrfSBpbnN0ZWFkIG9m IGEgc2luZ2xlCndyaXRlLW1hc2tlZCB2bWlucHMgeyVrfS4KaHR0cHM6Ly9pbnZlbnQua2RlLm9y Zy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21taXQvMjE3OGRiNmQzZGU0YWQ5ZmI5Nzk0ZjU1 ZTZkNmQzOGNkZjJiMDM0NwoKR2l0IGNvbW1pdCBhYTc2OTYzZWMwMzlmNDg1ZDA1YzEyMzViYWM1 YTVlZGYzNjA1Mzc4IGJ5IEdpdEh1YiAob24gYmVoYWxmIG9mIFNpbW9uIFBpbGdyaW0pIG9uIDA0 LzA4LzIwMjYgYXQgMjA6NDMuLgpbWDg2XSBMb3dlclBBUklUWSAtIHVzZSBjb3VudE1heEFjdGl2 ZUJpdHMgdG8gZGV0ZXJtaW5lIGlmIHJlcHJlc2VudGFibGUgYXMgdWludDhfdC4gTkZDLiAoIzIx NDA1NikKCk11Y2ggY2xlYW5lciB0aGFuIHVzaW5nIHRoZSBNYXNrZWRWYWx1ZUlzWmVybyBjaGVj ay4KCkZpeCBpNjQgLT4geG9yKGkzMixpMzIpIHBhcml0eSBzdGFnZSBjb21tZW50IGFzIHdlbGwu Cmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvcXQvY2xhbmcvbGx2bS1wcm9qZWN0Ly0vY29tbWl0L2Fh NzY5NjNlYzAzOWY0ODVkMDVjMTIzNWJhYzVhNWVkZjM2MDUzNzgKCkdpdCBjb21taXQgY2Q0NTlm MjQ2NmU0MDhlYmY5ZGNkNDU1YzU4YTQzOTUyZDZhNTkwMyBieSBHaXRIdWIgKG9uIGJlaGFsZiBv ZiBGYXJ6b24gTG90ZmkpIG9uIDA0LzA4LzIwMjYgYXQgMjA6NDcuLgpbU1BJUlZdIFNwbGl0IHdp ZGUgc2hhZGVyIFBISXMgYmVmb3JlIGFwcGx5aW5nIGV4cGxpY2l0IHN1cHBvcnRlZCB0eXBlcyAo IzIxMzgwNikKCmZpeGVzICMyMTM4MDIKCkFwcGx5IHRoZSBtYXhpbXVtLXZlY3Rvci1zaXplIHJ1 bGUgYmVmb3JlIHRoZSBleHBsaWNpdCBQSEkgbGVnYWxpdHkKcnVsZXMgZm9yIHR5cGUuIFRoaXMg d2F5IGlmIHdlIHNlZSBhIHNpemUgMTYgdmVjdG9yIHdlIHNwbGl0IGl0CmJlZm9yZWhhbmQuCgpJ biBtb3JlIHByZWNpc2Ugd29yZHMgdGhpcyBwcmVzZXJ2ZXMgZXhpc3RpbmcgbGVnYWxpdHkgcnVs ZXMgd2hpbGUKZW5zdXJpbmcgc2hhZGVyIFBISXMgd2lkZXIgdGhhbiBmb3VyIGxhbmVzIGFyZSBz cGxpdCBmaXJzdC4KCkFzc2lzdGVkIGJ5IENvcGlsb3QgKEdQVCA1LjYgU29sKQpodHRwczovL2lu dmVudC5rZGUub3JnL3F0L2NsYW5nL2xsdm0tcHJvamVjdC8tL2NvbW1pdC9jZDQ1OWYyNDY2ZTQw OGViZjlkY2Q0NTVjNThhNDM5NTJkNmE1OTAzCgpHaXQgY29tbWl0IDZmMDU2YzVlM2YxYzZjNWM3 MzJjODBmNDdkYzAxYzBkNWMwMGE0MDUgYnkgQWxleGFuZGVyIFJpY2hhcmRzb24gb24gMDQvMDgv MjAyNiBhdCAyMTo1Mi4uClvwnZiA8J2XvfCdl79dIGNoYW5nZXMgaW50cm9kdWNlZCB0aHJvdWdo IHJlYmFzZQoKQ3JlYXRlZCB1c2luZyBzcHIgMS4zLjgtYmV0YS4xLWFyaWNoYXJkc29uCgpbc2tp cCBjaV0KaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9xdC9jbGFuZy9sbHZtLXByb2plY3QvLS9jb21t aXQvNmYwNTZjNWUzZjFjNmM1YzczMmM4MGY0N2RjMDFjMGQ1YzAwYTQwNQo=